Сборка Java от MSBuild - PullRequest
       19

Сборка Java от MSBuild

6 голосов
/ 14 января 2010

Мы используем MSBuild для запуска нашей сборки, которая компилирует и выводит ряд .NET проектов / сборок. Теперь мы столкнулись с необходимостью включения java-версии on наших сборок и не уверены, как нам следует интегрировать сборку этого java-источника в MSBuild.

Всегда есть возможность выложить оболочку в командную строку и заставить ее выполнить компиляцию и сборку вручную, но есть ли другие и более изящные способы использования java-сборки в MSBuild?

Ответы [ 4 ]

2 голосов
/ 14 января 2010

Exec task - идеальная вещь. Легко, работает. Не уверен, что это то, что вы подразумеваете под «Shell out».

1 голос
/ 01 декабря 2012

Я использую Инструмент Microsoft Team Foundation Server Build Powers Декабрь 2011

У него есть задача Ant для MSBuild.

Документация кажется скудной, но она взята из Teamprise Build Extensions , в которой есть хорошее руководство в формате PDF

Пост

@ tsu1980 содержит хороший пример кода MSBuild.

0 голосов
/ 28 апреля 2011

Я бы написал пользовательскую задачу для вызова Ant из MSBuild.

https://github.com/sumi2/AntTask

Вы можете вызвать скрипт Ant следующим образом

<PropertyGroup>
  <JavaHome>$(MSBuildProjectDirectory)\build\tools\jdk1.6.0_25</JavaHome>
  <AntHome>$(MSBuildProjectDirectory)\build\tools\apache-ant-1.8.2</AntHome>
</PropertyGroup>

<!-- Call Ant with 'jar' target. -->
<Ant 
  BuildFile="$(MSBuildProjectDirectory)\YourJavaProject\build.xml"
  Target="jar"
  AntHome="$(AntHome)"
  JavaHome="$(JavaHome)"
 />
0 голосов
/ 14 января 2010

Возможно создание вашей собственной задачи msbuild для компиляции java (я сделал одну для компиляции кода VB6 с MSBuild), но если это хорошая идея, другой вопрос .. ( YAGNI и все такое)

Если обстрел из командной строки работает, это может быть просто ОК.

Моя интуиция говорит, что оболочка для процесса Ant, так как Ant знает немного больше о Java.

...