¿Cómo se configura un alojamiento a la salida de un comando en msbuild / xbuild
-
30-09-2019 - |
Pregunta
En msbuild / xbuild Me gustaría tener una propiedad "libpath" que puede ser ovveridden en la línea de comandos usando /p:libpath="/path/to/all/libs"
. Pero cuando esta propiedad no está definida Quiero llamar pkg-config --retrieve-Path somePackage
para obtener la ruta sistemas actuales.
aquí necesito la salida de un comando para ser almacenados en una propiedad.
El comando devuelve siempre una línea de salida.
He tryied algo así como
<PropertyGroup>
<LibPath />
</PropertyGroup>
<Task ....>
<Exec Command="pkg-config --retrieve-Path somePackage"
Condition="$(LibPath)' == ''">
<OutputTaskParameter="output"
PropertyName="LibPath" />
</Exec>
</Task>
Pero eso no funcionó.
Solución
No se puede hacer que el uso de exec porque la tarea Exec no puede reunir salida de la herramienta o comando que se ejecuta.
tendrá que escribir una tarea msbuild a medida que las llamadas de pkg-config y se reúnen esta salida en una propiedad.
Otros consejos
Yo tenía algunas ideas sobre cómo lograr esto.
He creado una tarea personalizada xbuild / msbuild simplemente ejecutar un comando dado y hacer que la salida utilizable.
Los resultados se pueden ver aquí .