Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

hacket/gradle-tips

Repository files navigation

Gradle Tips

实用的Gradle技巧

Gradle插件

一键打包上传到蒲公英,并发送钉钉消息到群,极大地提升分发包的效率

特性:

  1. 打包完毕后,上传包到蒲公英
  2. 发消息到钉钉,并支持@人
  3. 支持配合Jenkins,支持按包类型、分支、代理、@人及32位和64位等功能

使用:

apply plugin: 'dingPgyer'
dingPgyerConfig {
 pgyerApiKey = "xxx" // 蒲公英ApiKey
 apiToken = "xxx" // 钉钉群机器人toekn
 atMobiles = ['135xxx','136xxx'] // 群@人的手机号
 enableByVariant = { variantName -> // 对哪些flavor开启
 variantName.toLowerCase().contains("dev-preview") || variantName.toLowerCase().contains("product-release")
 }
 changeLog = "${getGitLog(5)}" // build log,获取前5条git log
}
/**
 * 获取git log
 * @param pre 多少条git log
 * @return
 */
private String getGitLog(int pre) {
 def diffLog = new StringBuffer()
 def err = new StringBuffer()
 def workspaceFile = rootDir
 def gitChangeLogScript = new StringBuilder()
 gitChangeLogScript.append("git log --no-merges --pretty=format:\"%s\" -${pre}")
 println(gitChangeLogScript)
 def changeLogProc = gitChangeLogScript.toString().execute(null, workspaceFile)
 changeLogProc.waitForProcessOutput(diffLog, err)
 def diffLogStr = diffLog.toString()
 diffLogStr = diffLogStr.replaceAll("\"", "")
 diffLogStr = diffLogStr.replaceAll("\n", "\n\n > ")
 if (diffLogStr.length() > 1000) {
 diffLogStr = diffLogStr.substring(0, 999)
 }
 return diffLogStr
}

打包发送到钉钉消息效果图:

组件化过程中,module和aar切换

配置module_dependency.json:

{
 "useModule": true,
 "module_name": "Modularization1",
 "module_dir": "Modularization1",
 "module_group": "me.hacket:Modularization1"
}
  • useModule true表示module依赖,false表示aar依赖
  • module_name module的name
  • module_dir module路径
  • module_group module对应的远端aar的group和artifactId

About

一些实用的gradle技巧、gradle插件

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /