代码之家  ›  专栏  ›  技术社区  ›  guenhter

如何使用gradle kotlin dsl添加新的源集

  •  30
  • guenhter  · 技术社区  · 8 年前

    src/gen/java . 对于groovy,这相当简单,在中已经描述过 https://discuss.gradle.org/t/how-to-use-gradle-with-generated-sources/9401/5

    sourceSets {
       gen {
            java.srcDir "src/gen/java"
        }
    }
    

    java {
        sourceSets {
    
        }
    }
    

    有人能帮忙吗

    7 回复  |  直到 8 年前
        1
  •  21
  •   guenhter    8 年前

    对于添加新的源集,@s1m0nw1的答案是正确的。

    java.sourceSets["main"].java {
        srcDir("src/gen/java")
    }
    
        2
  •  16
  •   s1m0nw1    7 年前

    java.sourceSets.create("src/gen/java")
    

    希望这是你需要的!

        3
  •  14
  •   Andrej Urvantsev    7 年前

    在Gradle 4.10.2上为我工作:

    sourceSets.create("integrationTest") {
        java.srcDir("src/integrationTest/java")
        java.srcDir("build/generated/source/apt/integrationTest")
        resources.srcDir("src/integrationTest/resources")
    }
    
        4
  •  13
  •   joeaniu    6 年前

    sourceSets.getByName("main") {
        java.srcDir("src/main/java")
        java.srcDir("src/main/kotlin")
    }
    sourceSets.getByName("test") {
        java.srcDir("src/test/java")
        java.srcDir("src/test/kotlin")
    }
    

    上述代码也可用于 subprojects

        5
  •  6
  •   CorayThan    7 年前

    我想添加一个名为“测试集成”的源集和源目录 src/test-integration/kotlin

    java.sourceSets.create("test-integration").java {
        srcDir("src/test-integration/kotlin")
    }
    
        6
  •  4
  •   Abhijith mogaveera    3 年前

    kotlin dsl

    sourceSets {
            this.getByName("androidTest"){
                //Adds the given source directory to this set.
                this.java.srcDir("src/mock/java")
            }
            this.getByName("test"){
                this.java.srcDir("src/mock/java")
            }
        }
    
        7
  •  -1
  •   Dharman vijay    4 年前

    这是我之前的经历:

    main.kotlin.srcDirs = main.java.srcDirs = ['src']
    test.kotlin.srcDirs = test.java.srcDirs = ['test']
    main.resources.srcDirs = ['resources']
    test.resources.srcDirs = ['testresources']
    

    以上内容现在可以翻译为:

    sourceSets {
    main {
        java {
            srcDirs("src")
        }
        resources {
            srcDirs("resources")
        }
    }
    test {
        java {
            srcDirs("test")
        }
        resources {
            srcDirs("testresources")
        }
    }}