From 9d19ad13554eefa47969c402f1aa671388553fba Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Wed, 19 Dec 2012 18:19:20 -0600 Subject: [PATCH] adding support for release / snapshot builds via gradle. kudos to #smali --- .../src/main/java/brut/androlib/Androlib.java | 2 +- build.gradle | 20 ++++++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java index 37b08521..c762d757 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java @@ -509,7 +509,7 @@ public class Androlib { return version.endsWith("-SNAPSHOT") ? version.substring(0, version.length() - 9) + '.' + ApktoolProperties.get("git.commit.id.abbrev") - : version; + : version.substring(0,version.length() - 1); } private File[] parseUsesFramework(Map usesFramework) diff --git a/build.gradle b/build.gradle index 8eecb384..2dec8391 100644 --- a/build.gradle +++ b/build.gradle @@ -2,6 +2,8 @@ apply plugin: 'java' apply plugin: 'maven' apply plugin: 'license' ext.apktoolversion = '1.5.1-SNAPSHOT' +ext.fullrev = ''; +ext.gitrev_version = ''; import org.apache.tools.ant.filters.* repositories { @@ -26,6 +28,10 @@ task wrapper(type: Wrapper) { gradleVersion = '1.3' } +// If anyone uses this outside of GoogleCode (Apktool) developers. I will hunt you down and hurt you. +task release { +} + buildscript { repositories { mavenCentral() @@ -84,14 +90,22 @@ subprojects { } } project(':brut.apktool:apktool-lib') { + + // kudos #smali - JesusFreke, for how to build release task + if (!('release' in gradle.startParameter.taskNames)) { + ant.loadfile(srcFile: "../../.git/refs/heads/master", property: fullrev) + gitrev_version = ant.properties[fullrev].substring(0,10); + println "Building SNAPSHOT: " + gitrev_version; + } else { + gitrev_version = ''; + println "Building RELEASE: " + apktoolversion; + } processResources { from('src/main/resources/properties') { include '**/*.properties' into 'properties' - ext.fullrev = '' - ant.loadfile(srcFile: "../../.git/refs/heads/master", property: ext.fullrev) - filter(ReplaceTokens, tokens: [version: apktoolversion, gitrev: ant.properties[ext.fullrev].substring(0,10)]) + filter(ReplaceTokens, tokens: [version: apktoolversion, gitrev: gitrev_version] ) } from('src/main/resources/') { include '**/*.jar'