2017-03-20 4 views
0

So legen Sie eine Eigenschaft fest basierend darauf, ob der Wert für einen Parameter verfügbar ist (aus Jenkins Job) oder nicht. Wenn verfügbar, muss ich diesen Wert verwenden, ansonsten einen Standardwert in MSBuild.Einstellungswert für eine Eigenschaft MSBuild

Danke ...

+0

Was haben Sie bisher versucht? – haindl

+0

Ich setze wie zip in Eigenschaftsgruppe. Aber ich muss diesen Typ Wert ändern, basierend auf einem Parameter ist empty oder nicht. – Minu

Antwort

2

Sie tun dies über "Bedingung". (und optional können Sie sie bei Bedarf stapeln)

Erstes Beispiel, legen Sie eine Eigenschaft fest, wenn die Befehlszeile sie nicht gesetzt hat. Unten, wenn die Befehlszeile (was jenkins wahrscheinlich tut, wird über die Befehlszeile Eigenschaften gesendet) ......... Wenn die Befehlszeile die Eigenschaft nicht festlegt, wird die Eigenschaft zu Erdnuss aufgelöst. es wird sonst verwenden, was die Befehlszeile in gesendet.

<PropertyGroup> 
    <WorkingCheckout Condition="'$(WorkingCheckout)'!=''">peanut</WorkingCheckout> 
    </PropertyGroup> 

und für Kicks .... ein zweites Beispiel (dies Ihre Frage nicht behandelt, sondern steigert diese Antwort)

Festlegen eine Eigenschaft mit Zustand und existiert ... wenn es mehrere Möglichkeiten gibt. Die unten prüft

".." und "..\.." und "..\..\.."

für eine Datei und legen Sie es, wenn die Datei vorhanden ist. Und ich gebe eine "Fehlermeldung" ein, wenn keine Bedingung erfüllt ist. Die Ausnahmebehandlung eines armen Mannes.

<PropertyGroup> 
    <MySettingsFile>Bad_Relative_Path_Logic_Need_To_Check_All_Relative_Paths</MySettingsFile> 
    <MySettingsFile Condition="Exists('$(WorkingCheckoutMassaged)..\SomeFolder\MySettings.xml')">$(WorkingCheckoutMassaged)..\SomeFolder\MySettings.xml</MySettingsFile> 
    <MySettingsFile Condition="Exists('$(WorkingCheckoutMassaged)..\..\SomeFolder\MySettings.xml')">$(WorkingCheckoutMassaged)..\..\SomeFolder\MySettings.xml</MySettingsFile> 
    <MySettingsFile Condition="Exists('$(WorkingCheckoutMassaged)..\..\..\SomeFolder\MySettings.xml')">$(WorkingCheckoutMassaged)..\..\..\SomeFolder\MySettings.xml</MySettingsFile> 
    </PropertyGroup> 
Verwandte Themen