1

タスクの構成フェーズで、いくつかのディレクトリを として登録しbuiltBy: thisTaskます。ソースが変更されたかどうかをgradleが自動的に検出することを期待していますが、タスクは常に実行されています。
タスクは次のとおりです。

subprojects {

    def srcMainMirah = file('src/main/mirah')
    if (srcMainMirah.exists()) {

        idea.module.sourceDirs += srcMainMirah

        task compileMirah {

            def classesMirahMain = file("$buildDir/classes-mirah/main")

            inputs.sourceDir srcMainMirah
            def thisTask = delegate
            sourceSets.main {
                output.dir(classesMirahMain, builtBy: thisTask)
                java.srcDir srcMainMirah
            }
            dependsOn tasks.compileJava

            doFirst {
                def classpath = files("$buildDir/classes/main").plus(configurations.compile)
                mirahc(srcMainMirah, classesMirahMain, classpath)
            }
        }
    }
}

*.classjava コンパイラと同じようにファイルを生成する mirah 言語でソースをコンパイルするためのものです。

4

1 に答える 1