
Buenas
have unos días comenté como utilizar el elemento <BuildStep /> para publicar mensajes al formulario de progreso de build de Microsoft Visual Studio 2008 y de Team System Web Access. Pero como ando un poco corto de cerebro, me dejé uno de los detalles más interesantes de este elemento.
En realidad, además de generar una nueva línea de notificacion dentro de la ventana de progreso, luego podremos trabajar con el contenido de la misma. Por ejemplo, en el siguiente script en la línea 8, defino un nuevo mensajes notificando el comienzo de la publicación con ClickOnce del proyecto y luego en la línea 10 obtengo el id de este mensaje con el par de atributos @TaskParameterId y @PropertyName en una variable llamada “ClickOnceDeployId”.
1 <!--
2 =================================
3 DEPLOY WITH CLICK ONCE
4 ================================= -->
5
6 <Target Name="AfterCompile" DependsOnTargets="BuildNumberOverrideTarget">
7
8 <BuildStep TeamFoundationServerUrl="$(TeamFoundationServerUrl)" BuildUri="$(BuildUri)" Name="ClickOnceDeploy"
9 Message="Start Click Once Deploy to "\\TFSRTM08\ClickOnce\" Version=$(VersionMajor).$(VersionMinor).$(VersionBuild).$(VersionRevision)">
10 <Output TaskParameter="Id" PropertyName="ClickOnceDeployId" />
11 </BuildStep>
12
13 <sleep sleepTimeOut="1000"></sleep>
14 <MSBuild Projects="$(SolutionRoot)\ClickOnceDemo\ClickOnceDemo\ClickOnceDemo.csproj"
15 Properties="PublishDir=\\TFSRTM08\ClickOnce\;ApplicationVersion=$(VersionMajor).$(VersionMinor).$(VersionBuild).$(VersionRevision)"
16 Targets="Publish" />
17 <sleep sleepTimeOut="1000"></sleep>
18
19 <BuildStep TeamFoundationServerUrl="$(TeamFoundationServerUrl)" BuildUri="$(BuildUri)"
20 Name="EndClickOnce" Id="$(ClickOnceDeployId)" Message="Click Once Deployed" Status="Succeeded" />
21
22 </Target>
Posteriormente en el siguiente <BuildStep /> en la línea 19, modifico el contenido del mensaje original gracias al Id obtenido anteriormente. Como con un par de imágenes no queda visible, lo mejor es un pequeño video de la ejecución de la Build.
El paso de ClickOnce está en el segundo 24 aproximadamente y se puede ver como el mismo, tarda 2 segs o más y cambia su contenido luego de ser ejecutado.
Video
Saludos @ Home
El Bruno
Crossposting from
ElBruno.com