2016-11-19 12 views
1

私のプロジェクトの最上位ディレクトリを乱雑にしないために、gradle wrapper JARをサブディレクトリに格納したいとします。 infra。私はこのような何かのために行くよ:Gradle Wrapperへのパスを定義する

root 
L .infra 
    L gradle 
     L wrapper 
      L gradle-wrapper.jar 
      L gradle-wrapper.properties 

私はarchiveBaseまたはdistributionBaseが私を得るだろうが、でも、ブルートは、これらの設定を強制する場合、私はまだトップレベルでgradleで終わることを期待しました。

configure(rootProject) { 

    task wrapper(type: Wrapper) { 
     description = 'Generates gradlew and gradlew.bat scripts' 
     gradleVersion = '3.2' 
     archiveBase = Wrapper.PathBase.PROJECT 
     archivePath = ".infra/" 
     distributionBase = Wrapper.PathBase.PROJECT 
     distributionPath = ".infra/" 
    } 

} 

私は間違っていますか?

+1

カスタムディレクトリレイアウトの欠点の1つは、他の人が容易に道を見つけることができないことです。 – Henry

+0

私はそれに同意しますが、理解しているように、 'gradle'フォルダには直接対話する必要があります。 – Nicolai

答えて

2

これらのパスはgradle/wrapper/gradle-wrapper.propertiesに設定されます。

distributionBase=PROJECT 
distributionPath=infra/ <---- 
zipStoreBase=PROJECT 
zipStorePath=infra/ <---- 

あなたは、次のプロパティを使用してラッパースクリプトへのパスを設定することができます。

jarFile = "${project.projectDir}/.infra/gradle-wrapper.jar" // archive 
scriptFile = "${project.projectDir}/.infra/gradlew" // wrapper script 
+0

しかし、ファイルを 'gradle/wrapper'に置いておきたいのではなく、' .infra/gradle/wrapper'で始めたいと思います。 – Nicolai

+0

私は自分の答えを更新しました。見てください。 – mallaudin

+1

よかった、ありがとう! :) – Nicolai

関連する問題