aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gruver <jesusfreke@jesusfreke.com>2015-03-01 21:56:40 -0800
committerBen Gruver <jesusfreke@jesusfreke.com>2015-03-01 22:30:33 -0800
commit3279a8cd4b30a220693385b802e59948f967ebc3 (patch)
tree00ff128a92862c2e201049cf38776568906c053f
parent57bd527d431e71ecf507e18d268d04e3f68c8085 (diff)
downloadsmali-3279a8cd4b30a220693385b802e59948f967ebc3.tar.gz
Simplify how the accessorTest is built and run
-rw-r--r--dexlib2/build.gradle72
-rw-r--r--dexlib2/src/test/java/org/jf/dexlib2/AccessorTest.java (renamed from dexlib2/src/accessorTest/java/org/jf/dexlib2/AccessorTest.java)0
2 files changed, 26 insertions, 46 deletions
diff --git a/dexlib2/build.gradle b/dexlib2/build.gradle
index d39c5db9..9027132e 100644
--- a/dexlib2/build.gradle
+++ b/dexlib2/build.gradle
@@ -46,37 +46,6 @@ dependencies {
ext.testAccessorOutputDir = file("${buildDir}/generated-accessor-test-sources")
ext.testAccessorOutputFile = file("${buildDir}/generated-accessor-test-sources/org/jf/dexlib2/AccessorTypes.java")
-sourceSets {
- // The sources for building the test dex file for the accessor test
- accessorTestDex {
- java {
- srcDir testAccessorOutputDir
- }
- }
-
- // The sources for the accessor test itself
- accessorTest {
- java {
- compileClasspath += main.output
- runtimeClasspath += main.output
- }
- }
-}
-
-configurations {
- accessorTestDexCompile.extendsFrom compile
- accessorTestDexRuntime.extendsFrom runtime
-
- accessorTestCompile.extendsFrom testCompile
- accessorTestRuntime.extendsFrom testRuntime
-}
-
-idea {
- module {
- testSourceDirs += sourceSets.accessorTest.java.srcDirs
- }
-}
-
// You must manually execute this task to regenerate SyntheticAccessorFSM.java, after modifying the ragel file
// e.g. ./gradlew ragel
task ragel(type:Exec) {
@@ -87,36 +56,47 @@ task ragel(type:Exec) {
}
task generateAccessorTestSource(type: JavaExec) {
- outputs.dir file(testAccessorOutputDir)
+ doFirst {
+ file(testAccessorOutputFile.parent).mkdirs()
+ }
- mkdir(file(testAccessorOutputFile).parent)
+ outputs.dir file(testAccessorOutputDir)
+ sourceSets['test'].java.srcDir file(testAccessorOutputDir)
classpath = configurations.accessorTestGenerator
main = 'org.jf.dexlib2.AccessorTestGenerator'
args testAccessorOutputFile
}
-compileAccessorTestDexJava.dependsOn(generateAccessorTestSource)
+compileTestJava.dependsOn generateAccessorTestSource
-task generateAccessorTestDex(type: Exec, dependsOn: compileAccessorTestDexJava) {
- def outputDex = file("${sourceSets.accessorTest.output.resourcesDir}/accessorTest.dex")
- mkdir(outputDex.parent)
+task generateAccessorTestDex(type: Exec, dependsOn: compileTestJava) {
+ def outputDex = file(new File(sourceSets.test.output.resourcesDir, 'accessorTest.dex'))
- inputs.dir project.sourceSets.accessorTestDex.output.classesDir
- outputs.file outputDex
+ doFirst {
+ file(outputDex.parent).mkdirs()
+ }
- sourceSets.accessorTest.resources
+ inputs.dir(project.sourceSets.test.output.classesDir)
+ outputs.file outputDex
- workingDir project.sourceSets.accessorTestDex.output.classesDir
+ workingDir project.sourceSets.test.output.classesDir
executable 'dx'
args '--dex'
+ args '--no-strict'
args "--output=${outputDex}"
- args '.'
-}
-task accessorTest(type: Test, dependsOn: generateAccessorTestDex) {
- testClassesDir = project.sourceSets.accessorTest.output.classesDir
- classpath = project.sourceSets.accessorTest.runtimeClasspath
+ doFirst {
+ // this has to be done in doFirst, so that the generated classes will be available.
+ // otherwise, it the tree will be populated while the build is being configured,
+ // which is before the compileTestJava has run
+ fileTree(project.sourceSets.test.output.classesDir) {
+ include 'org/jf/dexlib2/AccessorTypes*.class'
+ }.each { File file ->
+ args file
+ }
+ }
}
+test.dependsOn generateAccessorTestDex
uploadArchives {
repositories.mavenDeployer {
diff --git a/dexlib2/src/accessorTest/java/org/jf/dexlib2/AccessorTest.java b/dexlib2/src/test/java/org/jf/dexlib2/AccessorTest.java
index 13e7b30f..13e7b30f 100644
--- a/dexlib2/src/accessorTest/java/org/jf/dexlib2/AccessorTest.java
+++ b/dexlib2/src/test/java/org/jf/dexlib2/AccessorTest.java