Commit a7247e8a authored by Skylot's avatar Skylot

build: remove unused test-app submodule

parent c10a3034
[submodule "jadx-test-app/test-app"]
path = jadx-test-app/test-app
url = git://github.com/skylot/jadx-test-app.git
......@@ -100,7 +100,7 @@ spotless {
}
format 'misc', {
target '**/*.gradle', '**/*.md', '**/*.xml', '**/.gitignore', '**/.properties'
targetExclude "jadx-test-app/test-app/**", ".gradle/**", ".idea/**"
targetExclude ".gradle/**", ".idea/**"
lineEndings(LineEnding.UNIX)
encoding("UTF-8")
......@@ -152,10 +152,6 @@ task samples(dependsOn: 'jadx-samples:samples') {
group 'jadx'
}
task testAppCheck(dependsOn: 'jadx-test-app:testAppCheck') {
group 'jadx'
}
task cleanBuildDir(type: Delete) {
group 'jadx'
delete buildDir
......
### Run jadx on test android application
This module contains build scripts for test recompilation of simple android app from:
https://github.com/skylot/jadx-test-app
For run tests type follow commands in jadx root directory:
```java
git submodule init
git submodule update
./gradlew testAppCheck
```
Note: You will need connected device or emulator for success
ext {
testAppDir = 'test-app'
testAppTmpDir = 'test-app-tmp'
tmpBuildFile = "${testAppTmpDir}/build.gradle"
apkFile = "${testAppTmpDir}/build/outputs/apk/test-app-tmp-debug.apk"
outCodeDir = "${testAppTmpDir}/src/main"
checkTask = 'connectedCheck'
}
dependencies {
compile(project(":jadx-cli"))
}
task deleteTmp(type:Delete) {
delete testAppTmpDir
}
task copyApp(type:Copy, dependsOn: deleteTmp) {
from testAppDir
into testAppTmpDir
}
task buildApp(type:Exec, dependsOn: copyApp) {
workingDir testAppTmpDir
commandLine "./gradlew clean build ${checkTask}".split(' ')
}
task removeSource(type:Delete, dependsOn: buildApp) {
delete outCodeDir
}
task runJadx(type: JavaExec, dependsOn: removeSource) {
classpath = sourceSets.main.output + configurations.compile
main = project(':jadx-cli').mainClassName
args = ['-d', testAppTmpDir, apkFile, '-v', '-e']
}
task decompile(dependsOn: runJadx) {
doLast {
injectDependencies()
}
}
def injectDependencies() {
def fileContent = file(tmpBuildFile).getText('UTF-8')
def updatedContent = fileContent.replaceAll(
'// some dependencies',
"""
androidTestCompile 'junit:junit:4.12'
androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
""")
file(tmpBuildFile).write(updatedContent, 'UTF-8')
}
task runChecks(type:Exec, dependsOn: decompile) {
workingDir testAppTmpDir
commandLine "./gradlew clean build ${checkTask}".split(' ')
}
task testAppCheck(dependsOn: runChecks) {
doFirst {
def buildFile = file(buildFile)
if (!buildFile.exists() || !buildFile.isFile()) {
throw new StopExecutionException("Test app not found")
}
}
}
clean.dependsOn deleteTmp
Subproject commit 2f34a777adf9c4b303e2627c95a41d28204bdc4c
......@@ -4,4 +4,3 @@ include 'jadx-core'
include 'jadx-cli'
include 'jadx-gui'
include 'jadx-samples'
include 'jadx-test-app'
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment