В общем все стандартно, после знакомства с msbuild, кроме одной фишки, которая жутко понравилась - возможность прямо в скрипте подключить расширение написанное на Java.
Для Delphi и msbuild приходится извращаться, компилить промежуточные exe-шники, писать утилитки и т.п.
Хотя наверное можно попробовать набросать какую-то мелочь на .Net - там тоже можно динамически подключить таск.
...после некоторых копаний...
Сделать можно, и довольно таки просто, см. пример ниже. По сути - мы на лету, внутри самого проекта, компилим расширение msbuild написанное на c#, подключаем его в этот же проект и в нем же используем. Благо оказалось что с .Net SDK идет компилятор С#.
Все полностью
<Project DefaultTargets = "MyTarget"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<UsingTask TaskName="SimpleTask.HelloTask" AssemblyFile="C:\iqs.tools\tests\msbuild_test\HelloTask.dll"/>
<ItemGroup>
<CSFile Include = "HelloTask.cs"/>
</ItemGroup>
<Target Name = "Compile">
<CSC
Sources = "@(CSFile)"
References = "Microsoft.Build.Framework.dll; Microsoft.Build.Tasks.dll; Microsoft.Build.Utilities.dll"
TargetType = "library"/>
</Target>
<Target Name="MyTarget">
<CallTarget Targets="Compile" />
<HelloTask MyProperty="Hello!"/>
</Target>
</Project>
2 комментария:
Ппц дорогая редакция, чтобы сделать мульку для сборки нужна dll-ка, написанная под .net!
Где баш? где перл? где нормальные скриптовые языки?
Дожили. Не дай бог вернуться под эту "платформу".
Это ж проклятие!
Как компилил из линукса под винду, так и буду компилить. Вот.
Скриптовые языки?? Без нормальной поддержки привычных инструментов разработки?
Ретроградстов какое-то... :)
Отправить комментарий