2010-02-22 15 views
9

Ho aggiunto un passaggio aggiuntivo dopo la creazione in modo da poter integrare mspec con teamcity. Tuttavia non voglio eseguire questo quando sto costruendo nell'IDE mentre allunga il tempo di costruire. È in qualche modo possibile rilevare se sto costruendo dall'IDE e non eseguo questo specifico obiettivo? Questo è quello che ho finora.È possibile rilevare quando si costruisce nell'IDE VS?

<Target Name="RunSpecs"> 
    <PropertyGroup> 
     <AdditionalSettings>--teamcity</AdditionalSettings> 
     <MSpecCommand>..\Lib\mspec\mspec.exe $(AdditionalSettings) "$(TargetDir)$(AssemblyName).dll"</MSpecCommand> 
    </PropertyGroup> 
    <Message Importance="high" Text="Running Specs with this command: $(MSpecCommand)" /> 
    <Exec Command="$(MSpecCommand)" IgnoreExitCode="true" /> 
</Target> 
<Target Name="AfterBuild" DependsOnTargets="RunSpecs" /> 

La soluzione facile è aggiungere un'altra configurazione di build ma preferirei non farlo.

Anche l'output di TeamCity che viene scaricato nella finestra di output è un po 'fastidioso. :)

+0

temporaneamente sto eseguendo solo questo nella versione di rilascio della build, ma sono ancora interessato a sapere se è possibile rilevare se la build è stata eseguita nell'IDE – Dave

risposta

9

Sì, è possibile controllare la proprietà BuildingInsideVisualStudio.

Quindi nel tuo caso si potrebbe fare qualcosa come il seguente:

<Target Name="RunSpecs" Condition=" '$(BuildingInsideVisualStudio)'!='true' "> 
    <PropertyGroup> 
     <AdditionalSettings>--teamcity</AdditionalSettings> 
     <MSpecCommand>..\Lib\mspec\mspec.exe $(AdditionalSettings) "$(TargetDir)$(AssemblyName).dll"</MSpecCommand> 
    </PropertyGroup> 
    <Message Importance="high" Text="Running Specs with this command: $(MSpecCommand)" /> 
    <Exec Command="$(MSpecCommand)" IgnoreExitCode="true" /> 
</Target> 

Avviso la condizione sul bersaglio. Cordiali saluti, in genere io generalmente advise against putting condition on targets ma questo è un buon uso per loro.

+0

Grazie mille! – Dave

Problemi correlati