Apktool/build.gradle
2013-01-10 14:19:57 -06:00

148 lines
3.9 KiB
Groovy

apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'license'
ext.apktoolversion = '1.5.2-SNAPSHOT'
ext.fullrev = '';
ext.gitrev_version = '';
import org.apache.tools.ant.filters.*
repositories {
mavenCentral()
}
sourceCompatibility = 1.6
targetCompatibility = 1.6
class Compatibility {
String version
Compatibility(String versionValue) {
def matcher = (versionValue =~ /Java (\d)/)
version = matcher[0][1]
}
String toString() { version }
}
dependencies {
}
task wrapper(type: Wrapper) {
gradleVersion = '1.3'
}
// If anyone uses this outside of GoogleCode (Apktool) developers. I will hunt you down and hurt you.
// This is for official releases only.
task release {
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'nl.javadude.gradle.plugins:license-gradle-plugin:0.5.0'
}
}
subprojects {
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'idea'
repositories {
mavenCentral()
}
dependencies {
testCompile 'junit:junit:4.8.2'
}
}
project(':brut.j.common') {
dependencies {
testCompile "junit:junit:3.8.1"
}
}
project(':brut.j.util') {
dependencies {
compile project(':brut.j.common'), "commons-io:commons-io:2.4"
testCompile "junit:junit:3.8.1"
}
}
project(':brut.j.dir') {
dependencies {
compile project(':brut.j.common'), project(':brut.j.util')
testCompile "junit:junit:3.8.1"
}
}
project(':brut.apktool.smali:util') {
dependencies {
compile 'commons-cli:commons-cli:1.2'
testCompile 'junit:junit:4.6'
}
}
project(':brut.apktool.smali:dexlib') {
dependencies {
compile 'com.google.code.findbugs:jsr305:1.3.9'
compile 'com.google.collections:google-collections:1.0'
}
}
project(':brut.apktool.smali:baksmali') {
dependencies {
compile project(':brut.apktool.smali:util'), project(':brut.apktool.smali:dexlib')
compile 'commons-cli:commons-cli:1.2'
compile 'com.google.code.findbugs:jsr305:1.3.9'
}
}
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, failonerror: false);
if (ant.properties[fullrev] == null) {
gitrev_version = "SNAPSHOT_DEV";
println "Building SNAPSHOT (no .git folder found)";
} else {
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'
filter(ReplaceTokens, tokens: [version: apktoolversion, gitrev: gitrev_version] )
}
from('src/main/resources/') {
include '**/*.jar'
}
includeEmptyDirs = false
}
dependencies {
compile ("junit:junit:4.10") {
exclude(module: 'hamcrest-core')
}
compile project(':brut.j.dir'), project(':brut.j.util'), project(':brut.j.common'), project(':brut.apktool.smali:util'),
project(':brut.apktool.smali:dexlib'), project(':brut.apktool.smali:baksmali'),project(':brut.apktool.smali:smali'),
"org.yaml:snakeyaml:1.11", "xpp3:xpp3:1.1.4c","xmlunit:xmlunit:1.3", "com.google.guava:guava:12.0",
"org.apache.commons:commons-lang3:3.1"
}
}
project(':brut.apktool:apktool-cli') {
version = apktoolversion
gradle.taskGraph.whenReady {
jar {
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
manifest {
attributes("Main-Class": "brut.apktool.Main")
}
}
}
dependencies {
compile project(':brut.apktool:apktool-lib')
}
}