У меня смешанный проект Java / C # и я использую скрипт ant, который содержит задачу csc для компиляции dll. Это работает, но я получаю предупреждение
[csc] This task is deprecated and will be removed in a future version
[csc] of Ant. It is now part of the .NET Antlib:
[csc] http://ant.apache.org/antlibs/dotnet/index.html
Как заменить задачу csc? Я, конечно, могу создать задачу exec, вызывающую nant, с файлом project.build, но это кажется совершенно неправильным.
РЕДАКТИРОВАТЬ Чтобы уточнить: я в основном использую это в Linux, и написание сценария Nant для компиляции части C # проекта не составляет проблемы. В настоящее время я называю это из скрипта Ant
<target name="build-mono-stuff">
<exec executable="nant">
<arg value="build-stuff"/>
</exec>
</target>
но я надеялся найти лучшее решение, чем вызов exec.
РЕДАКТИРОВАТЬ 2 Поэтому я попытался заставить работать nant из .NET AntLib. Вот как далеко я добрался:
<taskdef name="mono-compile" classname="org.apache.ant.dotnet.build.NAntTask">
<classpath location="lib/ant-dotnet-1.0.jar" />
</taskdef>
<target name="build-mono-stuff">
<mono-compile buildfile="mono.build"></mono-compile>
</target>
Первый запуск:
[mono-compile] Cannot open assembly 'NAnt.exe': No such file or directory.
Затем я помещаю NAnt.exe из пакета Ubuntu nant в PATH и получаю
[mono-compile] The "nant" section in the NAnt configuration file (/bin/NAnt.exe.config) is not available.
Есть идеи?