2017-05-02 1 views
0

Ich versuche, eine Build-Nummer für ein Artefakt mit einer Aufgabe zu generieren und dann das in meine Abhängigkeit stecken. Meine Aufgabe sieht ungefähr so ​​aus:Generieren Sie eine Abhängigkeitserstellungsnummer mit einer Aufgabe

task getCurrentBuild() { 
doFirst{ 
    if(! file('/folder/dailyBuildNumber.txt').exists()) { 
     assert false,'Cannot find latest runtime build at /folder/dailyBuildNumber.txt' 
    } 
    else { 
     ext.set("myVersion", file('folder/dailyBuildNumber.txt').getText('UTF-8')) 
    } 
    } 
} 

während meine Abhängigkeiten wie folgt aussehen:

latestArtifactCompile "com.example.1.0-${project.ext.get("myVersion")}" 

ich Fehler bin immer, dass es nicht die extra finden können oder die Eigenschaft gilt: MyVersion

Antwort

1

doFirst Verschlüsse erhalten werden ausgeführt während Ausführungsphase, aber die dependencies Schließung wird vor ausgeführt, während der Konfigurationsphase.

Warum möchten Sie Ihre Abhängigkeit in einer Aufgabe generieren? Dies scheint mir eine reguläre und obligatorische Konfiguration zu sein, die für jeden Build erforderlich ist und nicht von den Aufgaben abhängt, die Sie ausführen.

+0

Ich verwende es für Build-Automatisierung und wir testen mit der neuesten Version einer internen Bibliothek. Dies fängt frühe Regressionen ein, bevor sie zu einem Problem werden. –

+1

Ja, ich verstehe, was Sie erreichen möchten, aber ich verstehe nicht, warum Sie eine Aufgabe verwenden. Gradle-Build-Skripte sind Groovy-Skripte. Sie können Ihre Logik direkt in der Definition der Abhängigkeit anwenden, anstatt eine Aufgabe zu verwenden. –

+0

Das ist, was ich getan habe. –

Verwandte Themen