2016-11-19 5 views
1

Um das Top-Level-Verzeichnis meines Projekts nicht zu überladen, möchte ich, dass die GRADLE-Wrapper-JAR in einem Unterverzeichnis landet, z. infra. Ich werde für so etwas wie folgt aus:Pfad zu Gradle Wrapper definieren

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

Ich hoffte, dass archiveBase oder distributionBase würde mich dort aber selbst wenn Brute diese Einstellungen zu zwingen, habe ich noch mit gradle in der obersten Ebene enden.

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/" 
    } 

} 

Was mache ich falsch?

+1

Ein Nachteil eines benutzerdefinierten Verzeichnis-Layouts ist, dass andere Leute ihren Weg nicht so leicht finden werden. – Henry

+0

Ich stimme zu, aber so wie ich es verstehe, enthält der 'grdle'-Ordner nichts, mit dem man direkt interagieren muss. – Nicolai

Antwort

2

Diese Pfade werden im gradle/wrapper/gradle-wrapper.properties festgelegt.

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

Sie können den Pfad zu Wrapper-Skript gesetzt und jar durch folgende Eigenschaften verwenden.

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

Aber ich will nicht, dass die Datei in 'grdle/wrapper' ist, ich will es in' .infra/gradle/wrapper' haben. – Nicolai

+0

Ich habe meine Antwort aktualisiert. Bitte guck dir das an. – mallaudin

+1

Großartig, danke! :) – Nicolai

Verwandte Themen