Gradle 2.4で構築されたJavaライブラリがあり、Java 6、Java 7、Java 8、Groovy 2.xなどがあります。そのように、などの後方互換可能な限りであることを、私はsourceCompatibility
だけでなく、1.6
のtargetCompatibility
の両方を持っているのlibを書いています:GradleとGroovy/Spockを使ってJava 6のlibやappをテストする
build.gradle
============
apply plugin: 'java'
apply plugin: 'groovy'
sourceCompatibility = '1.6'
targetCompatibility = '1.6'
repositories {
mavenCentral()
jcenter()
}
dependencies {
compile (
'org.slf4j:slf4j-api:1.7.12'
)
testCompile (
'org.codehaus.groovy:groovy-all:2.4.6'
,'org.spockframework:spock-core:1.0-groovy-2.4'
)
}
しかし、私のことができるようにはならない理由はありませんGroovy/Spockで単体テストを書いてください。 Groovyがmain/compile/runtimeクラスパスに含まれていない限り、JVM言語でテストを書くことができます。そして私はGroovy/Spockを選びました!
問題は、これまでにこのようなことをしたことはありません。 I think Groovy-AllとSpockをtestCompile
クラスパスに追加する必要がありますが、Groovyプラグインを適用するかどうか、他の設定を適用する必要があるかどうかはわかりません。再び
:
- メインコンパイル/実行時のクラスパスは、Groovyの自由でなければならないと私は
を好きなものを含むことができ、Javaの1.6
ありがとう@alexanerific(+1) - 私の編集した 'build.gradle'を見てください - それは今あなたに見えますか?再度、感謝します! – smeeb
私にはかなりおもしろい。あなたが気にしておきたいことは、Groovy 2.3以降を使用することです。 http://groovy-lang.org/download.html#requirementsでは、Groovy 2.3以上のバージョンでJava 1.7を最低限必要とする状況について説明しています。これにより、Java1.6のランタイム要件には影響しませんが、ビルド時にソースコードの互換性に影響する可能性があります。 Groovy for Spockをちょうど使用している場合は、Groovy 2.2とSpock 1.0-groovy-2.0を使用できるはずです。思考の糧。あなたと一緒にそのすべてのゲルがあれば、私の答えを受け入れる気がしますか?束の親、ありがとう、幸せなテスト。 – alexanderific