How can I log in based on user input in MSBuild?

How can I stop or continue building based on user input using MSBuild?

I currently have this in the project file:

<Target Name="Afterbuild">
    <MSBuild.ExtensionPack.UI.Dialog TaskAction="Confirm" Title="Production Deployment" Button1Text="Continue" Button2Text="Cancel" Text="WARNING !!! You are about to overwrite code on the prodution server. Please confirm!">
        <Output TaskParameter="ButtonClickedText" PropertyName="Clicked"/>            
    </MSBuild.ExtensionPack.UI.Dialog>

    <Message Text="User Clicked: $(Clicked)"/>
    <Message Text="User Typed: $(Typed)"/>
</Target>

I am not sure how to proceed.

+3
source share
1 answer

You can use the error task with the condition:

<Target Name="Afterbuild">
  <MSBuild.ExtensionPack.UI.Dialog TaskAction="Confirm" Title="Production Deployment" Button1Text="Continue" Button2Text="Cancel" Text="WARNING !!! You are about to overwrite code on the prodution server. Please confirm!">
    <Output TaskParameter="ButtonClickedText" PropertyName="Clicked"/>            
  </MSBuild.ExtensionPack.UI.Dialog>

  <Error Condition="'$(Clicked)' == 'Cancel'"
         Text="Build have been canceled by user"/>

  <CallTarget Condition="'$(Clicked)' == 'Continue'"
              Targets="ContinueBuild"
              Text="Proceed with build"/>
</Target>
+4
source

Source: https://habr.com/ru/post/1732462/


All Articles