Skip to content

Instantly share code, notes, and snippets.

@guiguegon
Created September 22, 2016 06:20
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save guiguegon/9ae8632e2ee3c9a1b235d035d3a824ab to your computer and use it in GitHub Desktop.
Save guiguegon/9ae8632e2ee3c9a1b235d035d3a824ab to your computer and use it in GitHub Desktop.
Gradle rename plugin
class CustomPlugin implements Plugin<Project> {
@Override
void apply(Project project) {
project.task('renameAppVersionName', type: RenameAppVersionNameTask)
project.tasks.getByName('preBuild').dependsOn('renameAppVersionName')
}
}
class RenameAppVersionNameTask extends DefaultTask {
@TaskAction
def run() {
project.configure(project) {
// Check if plugin works on an Android module
if (it.hasProperty("android")) {
// Iterate over app build variants (build types + flavors)
project.android.applicationVariants.all { variant ->
// Only change debug build type variants
if (variant.buildType.name == project.android.buildTypes.debug.name) {
// Rename versionName
def customVersionName = variant.mergedFlavor.versionName
variant.mergedFlavor.versionName = customVersionName + " custom"
}
}
}
}
}
RenameAppVersionNameTask() {
group = 'customPlugin'
description = 'Renames versionName of the app depends on the current git branch name'
}
}
// Use
apply plugin: CustomPlugin
// src
buildSrc/src/main/groovy/es/guiguegon
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment