Gradle Multi Project - примените «чистую» задачу для каждого проекта библиотеки Java перед «jar» - PullRequest
0 голосов
/ 11 июля 2019

, как было упомянуто в заголовке «У меня есть Gradle Multi-Project», содержит java-библиотеку.Я не могу найти способ добавить задачу clean и javadoc до jar выполнения задачи.

Это мой текущий файл build.gradle

apply plugin:'java'

task printRootProjectInfo{
    println '----- Project info -----'
    println 'Project name: ' + rootProject.name
    println 'Subprojects: '
    subprojects.findAll { subproject -> println "    $subproject.name" }
}

allprojects {
    repositories {
        mavenCentral()
        jcenter()
    }
}

subprojects{
    jar {
        dependsOn clean
    }
}

//todo: add `clean` task before each `jar` task for subprojects
//def printProjectInfo  = {
//    println '====== Start processing subproject ======'
//    println "______ $rootProject.name ==>  $project.name"
//}

Я нашел код в StackOverFlow, гдекто-то может вызвать простую команду печати для каждого проекта, но не может найти пример с синтаксисом dependOn.

Я пытаюсь использовать синтаксис:

subprojects{
    jar {
        dependsOn clean
    }
}

, но, похоже, это не дает никакого эффекта.

Не могли бы вы привести пример?

Я использую Gradle 5.5.1

1 Ответ

0 голосов
/ 16 июля 2019

Если кому-то нужен ответ для этого, вот синтаксис, который работает для меня:

subprojects {
    apply plugin: 'java-library'
    sourceCompatibility = '1.8'
    targetCompatibility = '1.8'

    tasks.jar.dependsOn("clean")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...