2013-01-16 23:06:32 +01:00
/ * *
* Copyright 2011 Ryszard Wiśniewski < brut . alll @gmail.com >
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http: //www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing , software
* distributed under the License is distributed on an "AS IS" BASIS ,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
* See the License for the specific language governing permissions and
* limitations under the License .
* /
2012-09-20 03:19:12 +02:00
apply plugin: 'java'
apply plugin: 'maven'
2013-06-20 15:27:13 +02:00
2014-02-04 16:54:00 +01:00
def apktoolversion_major = '2.0.0'
2014-04-14 03:42:24 +02:00
def apktoolversion_minor = 'RC1' ;
2014-02-04 16:54:00 +01:00
if ( ! ( 'release' in gradle . startParameter . taskNames ) ) {
def hash = getCheckedOutGitCommitHash ( ) ;
if ( hash = = null ) {
project . ext . set ( "hash" , "dirty" )
project . ext . set ( "apktool_version" , apktoolversion_major + "-dirty" )
println "Building SNAPSHOT (no .git folder found)" ;
} else {
project . ext . set ( "hash" , hash ) ;
project . ext . set ( "apktool_version" , apktoolversion_major + "-" + hash + "-SNAPSHOT" ) ;
println "Building SNAPSHOT (" + getCheckedOutBranch ( ) + "): " + hash ;
}
} else {
project . ext . set ( "hash" , "" )
project . ext . set ( "apktool_version" , apktoolversion_major + "-" + apktoolversion_minor ) ;
println "Building RELEASE (" + getCheckedOutBranch ( ) + "): " + apktoolversion_major + "-" + apktoolversion_minor ;
}
// https://gist.github.com/JonasGroeger/7620911
def getCheckedOutGitCommitHash ( ) {
def gitFolder = "$projectDir/.git/"
def takeFromHash = 6
def head
try {
head = new File ( gitFolder + "HEAD" ) . text . split ( ":" )
} catch ( Exception e ) {
return null ;
}
def isCommit = head . length = = 1
if ( isCommit ) return head [ 0 ] . trim ( ) . take ( takeFromHash )
def refHead = new File ( gitFolder + head [ 1 ] . trim ( ) )
refHead . text . trim ( ) . take takeFromHash
}
def getCheckedOutBranch ( ) {
def gitFolder = "$projectDir/.git/"
def head
try {
head = new File ( gitFolder + "HEAD" ) . text . split ( "/" )
2014-05-09 17:58:12 +02:00
return head [ 2 ] . trim ( ) ;
2014-02-04 16:54:00 +01:00
} catch ( Exception e ) {
return "" ;
}
2014-05-09 17:58:12 +02:00
return "SNAPSHOT" ;
2014-02-04 16:54:00 +01:00
}
2012-09-20 03:19:12 +02:00
repositories {
mavenCentral ( )
}
2013-07-08 21:03:13 +02:00
sourceCompatibility = 1.7
targetCompatibility = 1.7
build . doFirst {
def javaVersion = System . getProperty ( "java.version" )
//fail the build if we don't have the expected Java version
if ( ! javaVersion . startsWith ( "1.7" ) ) {
throw new GradleException ( "You can fix this problem!\nWe found a " + javaVersion + " JDK\nPlease update JAVA_HOME to use a 1.7 JDK\nCurrently it is set to: " + System . getProperty ( "java.home" ) ) ;
}
}
2012-09-21 04:52:44 +02:00
2012-09-20 03:19:12 +02:00
task wrapper ( type: Wrapper ) {
2014-02-09 00:55:53 +01:00
gradleVersion = '1.10'
2012-09-20 03:19:12 +02:00
}
2014-02-04 16:54:00 +01:00
// used for official releases only. Please don't use
2012-12-20 01:19:20 +01:00
task release {
}
2012-09-21 02:28:24 +02:00
buildscript {
2014-02-10 14:14:44 +01:00
repositories {
mavenCentral ( )
}
tasks . withType ( Compile ) {
options . encoding = "UTF-8"
}
dependencies {
classpath 'eu.appsatori:gradle-fatjar-plugin:0.2-rc1'
}
2012-09-21 02:28:24 +02:00
}
2012-09-20 03:19:12 +02:00
subprojects {
2013-01-17 02:18:32 +01:00
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'idea'
2013-06-20 15:27:13 +02:00
ext {
depends = [ guava: 'com.google.guava:guava:14.0' ,
findbugs: 'com.google.code.findbugs:jsr305:1.3.9' ,
junit: 'junit:junit:4.6' ,
antlr_runtime: 'org.antlr:antlr-runtime:3.5' ,
antlr: 'org.antlr:antlr:3.5' ,
commons_cli: 'commons-cli:commons-cli:1.2' ,
jflex: 'de.jflex:jflex:1.4.3' ,
proguard: 'net.sf.proguard:proguard-base:4.8'
]
}
2013-01-17 02:18:32 +01:00
repositories {
mavenCentral ( )
}
2013-06-20 15:27:13 +02:00
2013-01-17 02:18:32 +01:00
dependencies {
testCompile 'junit:junit:4.8.2'
}
2014-02-10 01:49:59 +01:00
test {
testLogging {
exceptionFormat = 'full'
}
}
2013-01-30 04:01:31 +01:00
}