簡體   English   中英

Gradle增量構建不在目標路徑中生成文件夾結構

[英]Gradle Incremental Build not generate folder structure in target path

Gradle Incremental Build 任務從項目中檢測已更改的文件,並僅編譯這些文件並將其放入目標目錄。

問題是,當它把這些更改文件放入目標目錄時,但它沒有制作 package.json 文件。

例如:假設我在使用 gradle 運行任務時有包 'org/example/test.java' 並且它檢測到 test.java 文件更改然后它被編譯並放入目標目錄中,如:'target/project/WEB-INF/classes /test.class' 不做任何包。 但我需要“目標/項目/WEB-INF/classes/org/example/test.class”

任何幫助表示贊賞。 我把我的gradle任務代碼放在下面:

task incrementalReverse(type: IncrementalReverseTask) {
    inputDir = file('src/java')
    outputDir = file("${tempBuildPath}/WEB-INF/classes")
}


class IncrementalReverseTask extends DefaultTask {

@InputDirectory
def File inputDir

@OutputDirectory
def File outputDir

@TaskAction
void execute(IncrementalTaskInputs inputs) {
    println inputs.incremental ? "CHANGED inputs considered out of date"
                               : "ALL inputs considered out of date"
    if (!inputs.incremental)
        project.delete(outputDir.listFiles())

    inputs.outOfDate { change ->
        println "out of date: ${change.file.name}"
        def targetFile = new File(outputDir, change.file.name)
        targetFile.text = change.file.text.reverse()
    }

    inputs.removed { change ->
        println "removed: ${change.file.name}"
        def targetFile = new File(outputDir, change.file.name)
        targetFile.delete()
    }
}
} 
def targetFile = new File(outputDir, change.file.name)
targetFile.parentFile.mkdirs()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM