Gradle вызывает метод в конце компиляции - PullRequest
0 голосов
/ 12 июня 2018

Предположим, у меня есть функция, скажем, encode, написанная в java-файле.принимая это то, что делает android studio, Компиляция java-файлов -> создает файлы классов -> создает apk с файлами классов.

Теперь я хочу, чтобы функция вызывалась сразу после создания файлов классов и доФайлы классов преобразуются в apk.

Я работаю на терминале MacOS для Gradle, и я создал файл build.gradle.

Файл build.gradle находится ниже

    apply plugin : "java"
    apply plugin : "application"
    mainClassName = "com.YYYY.XXXX.Main"

    repositories{
        mavenCentral()
    }

    dependencies{
        compile "asm:asm:3.3.1"
        compile "com.google.code.gson:gson:2.8.5"
        compile "org.ow2.asm:asm-all:5.0.3"
        compile "org.apache.commons:commons-lang3:3.7"
        compile "com.googlecode.json-simple:json-simple:1.1.1"
        compile fileTree(dir: 'libs', includes: ['*.jar'])

    }

    sourceSets{
        main.java.srcDir "src/main"
    }
    jar{
        from configurations.compile.collect {zipTree it}
        manifest.attributes "Main-Class":"com.YYYY.XXXX.Main"
    }
    task run(type: Exec,dependsOn: jar,overwrite: true){
        executable 'java'
        args '-jar',"$jar.archivePath",'/Users/XXXX/Desktop/','/Users/XXXX/Downloads/cloud/'
        doLast{
            println "Successfully done the obfuscation"
        }
    }

Здесь используется класс Main, предназначенный для запуска.Как я могу достичь вышеупомянутой цели?

1 Ответ

0 голосов
/ 12 июня 2018

Взгляните на метод finalizedBy () из Задачи:

https://docs.gradle.org/current/dsl/org.gradle.api.Task.html#org.gradle.api.Task:finalizedBy(java.lang.Object[])

Это должно сделать то, что вам нужно:

compileJava.finalizedBy "run" 

Кстати, естьболее специализированная задача JavaExec для выполнения Java-приложений:

https://docs.gradle.org/current/dsl/org.gradle.api.tasks.JavaExec.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...