Mik*_*der 9 java intellij-idea gradle
IntelliJ如何知道目录是"源"还是"测试源"?如何将目录标记为"测试源"?
build.gradle 1
apply plugin: 'java'
apply plugin: 'idea'
idea {
    module {
        sourceDirs += file('src/main/java')
        testSourceDirs += file('src/awesome-test/java')
    }
}
使用"build.gradle 1"文件,src/awesome-test/java标记为"测试源".
build.gradle 2
apply plugin: 'java'
apply plugin: 'idea'
idea {
    module {
        sourceDirs += file('src/main/java')
        testSourceDirs += file('src/awesome-test/java')
    }
}
sourceSets {
    'awesome-test' {
        java {
            srcDir 'src/awesome-test/java'
        }
        compileClasspath += sourceSets.main.runtimeClasspath
    }
}
但是,只要添加引用此目录的源集("build.gradle 2"),就会src/awesome-test/java将其标记为"源".
build.gradle 3
apply plugin: 'java'
apply plugin: 'idea'
idea {
    module {
        sourceDirs += file('src/main/java')
        testSourceDirs += file('src/awesome-test/java')
    }
}
sourceSets {
    'awesome-test' {
        java {
            srcDir 'src/awesome-test/java'
        }
        compileClasspath += sourceSets.main.runtimeClasspath
    }
}
task awesomeTest(type: Test) {
    testClassesDir = sourceSets.'awesome-test'.output.classesDir
    classpath += sourceSets.'awesome-test'.runtimeClasspath
}
只是为了混淆超出任何理解希望的东西,如果我添加一个Test类型任务,那么src/awesome-test/java再次标记为"测试源".
注意: IntelliJ 13.0.2,Gradle 1.9
“IntelliJ 如何知道目录是‘源’还是‘测试源’?”
Gradle API 告诉 IntelliJ 哪些目录被标记为源,哪些目录被标记为测试源。
关于你的例子:
awesome-test源集定义src/awesome-test/java为源。由于测试源路径包含源路径,所以这里不存在冲突。并将 gradle/IntelliJ 正确标记src/awesome-test/java为源。awesome-test源集已添加到测试任务中,因此显然它没有被用作源,因此将其标记为测试源。希望能帮助到你。
| 归档时间: | 
 | 
| 查看次数: | 4748 次 | 
| 最近记录: |