我正在使用maven和aspectj插件,并且很好,最近我移动到gradle,我已经有了配置来构建/编译方面,并且工作正常,但是对于集成测试不是工作正常。 我有以下的配置集成测试+ aspectJ + gradle
sourceSets {
main {
java {
srcDir 'src/main/java'
}
resources {
srcDir "src/main/resources/"
}
}
integrationTest {
java {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
srcDir file('src/test/it')
}
resources.srcDir file('src/test/resources')
}
generated {
java {
srcDirs = [
"src/main/generated"
]
}
compileClasspath += sourceSets.main.output
}
}
,但各方面并不编译/中集成测试工作正常。我试图做的是以下配置
compileIntegrationTestJava{
sourceCompatibility="1.7"
targetCompatibility="1.7"
dependsOn generateQueryDSL
source generateQueryDSL.destinationDir
dependsOn configurations.ajc.getTaskDependencyFromProjectDependency(true, "compileJava")
doLast{
ant.taskdef(resource:"org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties", classpath: configurations.ajc.asPath)
ant.iajc(source:"1.7", target:"1.7",
destDir:sourceSets.integrationTest.output.classesDir.absolutePath, maxmem:"512m", fork:"true",
aspectPath:configurations.aspects.asPath,
sourceRootCopyFilter:"**/.svn/*,**/*.java",classpath:configurations.compile.asPath){
sourceroots{
sourceSets.main.java.srcDirs.each{
pathelement(location:it.absolutePath)
}
sourceSets.integrationTest.java.srcDirs.each{
pathelement(location:it.absolutePath)
}
}
}
}
}
我得到这个错误。
[ant:iajc] [error] build config error: bad sourceroot: \src\integrationTest\java
如果我更改sourceSets.test.java.srcDirs.each
行sourceSets.integrationTest.java.srcDirs.each
,/src/test/it
下的IT不被编译,不会移动到正确的包,但如果我把我的IT测试/src/test/java
下是正确编译。
我想知道如何把正确的sourceSets
点src/test/it
以及如何添加到类路径,而不是一些类添加
sourceroots{
sourceSets.main.java.srcDirs.each
,因为这会使整个班级被添加到clasess/test/
目录
如果你有任何链接或指导做到这一点,将是真正的赞赏
嗨,Koitoer,你有没有得到这个地方?因为这也是我的问题。 – HankCa