Author: chirino
Date: Wed Feb 28 14:22:46 2007
New Revision: 513012
URL: http://svn.apache.org/viewvc?view=rev&rev=513012
Log:
Updated nant build so that it compiles under all the frameworks available on
your plaform. Also added support to sign the release builds.
Modified:
activemq/activemq-dotnet/trunk/nant.build
Modified: activemq/activemq-dotnet/trunk/nant.build
URL:
http://svn.apache.org/viewvc/activemq/activemq-dotnet/trunk/nant.build?view=diff&rev=513012&r1=513011&r2=513012
==============================================================================
--- activemq/activemq-dotnet/trunk/nant.build (original)
+++ activemq/activemq-dotnet/trunk/nant.build Wed Feb 28 14:22:46 2007
@@ -15,8 +15,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<project name="activemq-dotnet" default="build"
xmlnds="http://tempuri.org/nant-vs.xsd">
- <echo message="Using '${framework::get-target-framework()}' framework on
'${platform::get-name()}' platform." />
+<project name="activemq-dotnet" default="compile-all"
xmlnds="http://tempuri.org/nant-vs.xsd">
<!--
============================================================================================
-->
<!-- I N I T I A L I Z A T I O N
-->
@@ -37,97 +36,215 @@
<property name="lib.framework.dir"
value="${path::combine(lib.family.dir,
version::to-string(framework::get-version(framework::get-target-framework())))}"
dynamic="true" />
<!-- default configuration -->
- <property name="project.config" value="debug" /><!-- debug|release -->
- <property name="build.defines" value="" />
- <property name="current.build.defines" value="${build.defines}" />
-
- <!-- Named project configurations (used by self-test and self-doc tasks) -->
- <target name="debug" description="Perform a 'debug' build">
- <property name="project.config" value="debug" />
- <property name="build.debug" value="true" />
- </target>
-
- <target name="release" description="Perform a 'release' build">
- <property name="project.config" value="release" />
- <property name="build.debug" value="false" />
- </target>
-
- <!-- Framework support targets -->
- <target name="set-framework-configuration">
- <if
test="${not(target::exists('set-'+framework::get-target-framework()+'-framework-configuration'))}">
- <fail message="The '${framework::get-target-framework()}' framework is
not supported by this version of ActiveMQ .NET" />
- </if>
- <call
target="set-${framework::get-target-framework()}-framework-configuration" />
+ <property name="build.defines" value=""/>
+ <property name="build.noskip" value="false"/>
+ <property name="build.skip" value="false"/>
+ <property name="current.build.config" value="${if(project.release.type ==
'release', 'release', 'debug')}"/>
+ <property name="current.build.framework"
value="${framework::get-target-framework()}"/>
+ <property name="current.build.defines" value="${build.defines}" />
+
+ <!-- Helper targets used to enable build configurations -->
+ <target name="set-noskip-configuration" description="Disable skiping builds">
+ <property name="project.noskip" value="true" />
+ </target>
+ <target name="set-debug-configuration" description="Enabled 'debug' builds">
+ <property name="current.build.config" value="debug" />
+ <property name="current.build.config.debug" value="true" />
+ <property name="current.build.config.release" value="false" />
+ <property name="csc.debug" value="true" />
+ </target>
+ <target name="set-release-configuration" description="Enabled 'release'
builds">
+ <property name="current.build.config" value="release" />
+ <property name="current.build.config.release" value="true" />
+ <property name="current.build.config.debug" value="false" />
+ <property name="csc.debug" value="true" />
</target>
+
<target name="set-net-1.0-framework-configuration">
- <property name="nant.settings.currentframework" value="net-1.0" />
+ <property name="current.build.framework" value="net-1.0" />
+ <property name="current.build.framework.name" value=".NET 1.0"/>
<property name="current.build.defines" value="${build.defines}NET,NET_1_0"
dynamic="true" />
+ <property name="current.build.framework.sign" value="true" />
<property name="link.sdkdoc.version" value="SDK_v1_0" />
<property name="link.sdkdoc.web" value="true" />
+ <if test="${framework::exists(current.build.framework)}">
+ <property name="nant.settings.currentframework"
value="${current.build.framework}" />
+ </if>
</target>
<target name="set-net-1.1-framework-configuration">
- <property name="nant.settings.currentframework" value="net-1.1" />
+ <property name="current.build.framework" value="net-1.1" />
+ <property name="current.build.framework.name" value=".NET 1.1"/>
<property name="current.build.defines" value="${build.defines}NET,NET_1_1"
dynamic="true" />
+ <property name="current.build.framework.sign" value="true" />
<property name="link.sdkdoc.version" value="SDK_v1_1" />
<property name="link.sdkdoc.web" value="true" />
+ <if test="${framework::exists(current.build.framework)}">
+ <property name="nant.settings.currentframework"
value="${current.build.framework}" />
+ </if>
</target>
<target name="set-net-2.0-framework-configuration">
- <property name="nant.settings.currentframework" value="net-2.0" />
+ <property name="current.build.framework" value="net-2.0" />
+ <property name="current.build.framework.name" value=".NET 2.0"/>
<property name="current.build.defines" value="${build.defines}NET,NET_2_0"
dynamic="true" />
+ <property name="current.build.framework.sign" value="true"/>
<property name="link.sdkdoc.version" value="SDK_v1_1" />
<property name="link.sdkdoc.web" value="true" />
+ <if test="${framework::exists(current.build.framework)}">
+ <property name="nant.settings.currentframework"
value="${current.build.framework}" />
+ </if>
</target>
<target name="set-netcf-1.0-framework-configuration">
- <property name="nant.settings.currentframework" value="netcf-1.0" />
- <property name="current.build.defines"
value="${build.defines}NETCF,NETCF_1_0" dynamic="true" />
+ <property name="current.build.framework" value="netcf-1.0" />
+ <property name="current.build.framework.name" value=".NET Compact
Framework 1.0"/>
+ <property name="current.build.defines"
value="${build.defines}PocketPC,NETCF,NETCF_1_0" dynamic="true" />
+ <property name="current.build.framework.sign" value="false" />
<property name="link.sdkdoc.version" value="SDK_v1_1" />
<property name="link.sdkdoc.web" value="true" />
+ <if test="${framework::exists(current.build.framework)}">
+ <property name="nant.settings.currentframework"
value="${current.build.framework}" />
+ </if>
+ </target>
+ <target name="set-netcf-2.0-framework-configuration">
+ <property name="current.build.framework" value="netcf-2.0" />
+ <property name="current.build.framework.name" value=".NET Compact
Framework 2.0"/>
+ <property name="current.build.defines"
value="${build.defines}PocketPC,NETCF,NETCF_2_0" dynamic="true" />
+ <property name="current.build.framework.sign" value="false" />
+ <property name="link.sdkdoc.version" value="SDK_v1_1" />
+ <property name="link.sdkdoc.web" value="true" />
+ <if test="${framework::exists(current.build.framework)}">
+ <property name="nant.settings.currentframework"
value="${current.build.framework}" />
+ </if>
</target>
<target name="set-mono-1.0-framework-configuration">
- <property name="nant.settings.currentframework" value="mono-1.0" />
+ <property name="current.build.framework" value="mono-1.0" />
+ <property name="current.build.framework.name" value="Mono 1.0"/>
<property name="current.build.defines"
value="${build.defines}MONO,MONO_1_0" dynamic="true" />
+ <property name="current.build.framework.sign" value="true" />
<property name="link.sdkdoc.version" value="SDK_v1_1" />
<property name="link.sdkdoc.web" value="true" />
+ <if test="${framework::exists(current.build.framework)}">
+ <property name="nant.settings.currentframework"
value="${current.build.framework}" />
+ </if>
</target>
<target name="set-mono-2.0-framework-configuration">
- <property name="nant.settings.currentframework" value="mono-2.0" />
+ <property name="current.build.framework" value="mono-2.0" />
+ <property name="current.build.framework.name" value="Mono 2.0"/>
<property name="current.build.defines"
value="${build.defines}MONO,MONO_2_0" dynamic="true" />
+ <property name="current.build.framework.sign" value="true" />
<property name="link.sdkdoc.version" value="SDK_v1_1" />
<property name="link.sdkdoc.web" value="true" />
+ <if test="${framework::exists(current.build.framework)}">
+ <property name="nant.settings.currentframework"
value="${current.build.framework}" />
+ </if>
</target>
<target name="set-sscli-1.0-framework-configuration">
- <property name="nant.settings.currentframework" value="sscli-1.0" />
+ <property name="current.build.framework" value="sscli-1.0" />
+ <property name="current.build.framework.name" value="sscli 1.0"/>
<property name="current.build.defines"
value="${build.defines}SSCLI,SSCLI_1_0" dynamic="true" />
+ <property name="current.build.framework.sign" value="false" />
<property name="link.sdkdoc.version" value="SDK_v1_0" />
<property name="link.sdkdoc.web" value="true" />
+ <if test="${framework::exists(current.build.framework)}">
+ <property name="nant.settings.currentframework"
value="${current.build.framework}" />
+ </if>
</target>
- <target name="init" description="Initializes build properties">
- <call target="${project.config}"/>
- <call target="set-framework-configuration"/>
+ <!--
============================================================================================
-->
+ <!-- T H E M A I N B U I L D T A R G E T S
-->
+ <!--
============================================================================================
-->
- <property name="build.bin.dir"
value="${basedir}/build/${project.config}/bin" />
+ <target name="compile-all" depends="release-init" description="Compile all
build configurations for all runtime configurations">
+ <echo message="Compiling all build configurations for all runtime
configurations." />
+ <call target="set-debug-configuration" />
+ <call target="set-net-1.0-framework-configuration" /><call
target="conditional-compile" />
+ <call target="set-net-2.0-framework-configuration" /><call
target="conditional-compile" />
+ <call target="set-mono-1.0-framework-configuration" /><call
target="conditional-compile" />
+ <call target="set-mono-2.0-framework-configuration" /><call
target="conditional-compile" />
+ <call target="set-netcf-1.0-framework-configuration"/><call
target="conditional-compile" />
+ <call target="set-netcf-2.0-framework-configuration"/><call
target="conditional-compile" />
+
+ <!-- we can only do a release skip if the Key file is available -->
+ <if test="${not build.skip.release}">
+ <call target="set-release-configuration" />
+ <call target="set-net-1.0-framework-configuration" /><call
target="conditional-compile" />
+ <call target="set-net-2.0-framework-configuration" /><call
target="conditional-compile" />
+ <call target="set-mono-1.0-framework-configuration" /><call
target="conditional-compile" />
+ <call target="set-mono-2.0-framework-configuration" /><call
target="conditional-compile" />
+ <call target="set-netcf-1.0-framework-configuration"/><call
target="conditional-compile" />
+ <call target="set-netcf-2.0-framework-configuration"/><call
target="conditional-compile" />
+ </if>
- <echo message="Initializing ${build.bin.dir}" />
- <mkdir dir="${build.bin.dir}"/>
</target>
- <!--
============================================================================================
-->
- <!-- T H E M A I N B U I L D T A R G E T S
-->
- <!--
============================================================================================
-->
+ <target name="release-init" description="Initializes release build
properties">
+ <property name="snk.file" value="${basedir}/activemq-dotnet.snk" />
+ <if test="${not file::exists(snk.file)}">
+ <if test="${build.noskip}">
+ <fail message="Release key file not found. You can generate a key file
by running 'sn -k ${snk.file}'." />
+ </if>
+ <if test="${not(build.noskip)}">
+ <echo message="Release key file not found. You can generate a key file
by running 'sn -k ${snk.file}'." />
+ <echo message="The Release build will be skipped." />
+ <property name="build.skip.release" value="true"/>
+ </if>
+ </if>
+ <if test="${file::exists(snk.file)}">
+ <property name="build.skip.release" value="false" />
+ </if>
+ </target>
+
+ <target name="conditional-compile" depends="init" unless="${build.skip}"
+ description="Conditionaly compiles all the modules if build framework
and type are supported">
+ <call target="compile" />
+ </target>
- <target name="build"
+ <target name="init" description="Initializes build properties">
+ <!-- enabled the release or debug configuration -->
+ <call target="set-${current.build.config}-configuration"/>
+
+ <!-- Check to see if our build setup for the target framework -->
+ <if
test="${not(target::exists('set-'+current.build.framework+'-framework-configuration'))}">
+ <fail message="The '${current.build.framework}' framework is not
supported by this version of ActiveMQ .NET" />
+ </if>
+ <call target="set-${current.build.framework}-framework-configuration" />
+
+ <!-- Check to see current platform supports the target framework -->
+ <if test="${framework::exists(current.build.framework)}">
+ <!-- Make sure that the activemq-dotnet.snk exists for release builds
-->
+ <if test="${current.build.config.release}">
+ <call target="release-init"/>
+ <property name="build.skip" value="${build.skip.release}" />
+ </if>
+ <if test="${not current.build.config.release}">
+ <property name="build.skip" value="false" />
+ </if>
+ </if>
+ <if test="${not framework::exists(current.build.framework)}">
+ <if test="${build.noskip}">
+ <fail message="${current.build.framework.name} is not available." />
+ </if>
+ <if test="${not(build.noskip)}">
+ <echo message="${current.build.framework.name} is not available.
Build skipped." />
+ <property name="build.skip" value="true"/>
+ </if>
+ </if>
+
+ <if test="${not(build.skip)}">
+ <property name="current.build.keysign"
value="${current.build.config=='release' and current.build.framework.sign}"/>
+ <echo message="Doing ${if(current.build.keysign,'a signed','an
unsigned')} ${current.build.config} build for the
${current.build.framework.name} framework" />
+ <property name="build.bin.dir"
value="${basedir}/build/${nant.settings.currentframework}/${current.build.config}"
/>
+ <mkdir dir="${build.bin.dir}"/>
+ </if>
+
+ </target>
+
+ <target name="compile"
depends="build-nms,build-nms-test,build-activemq,build-activemq-test,build-stomp-test,build-msmq-on-windows,build-msmq-test"
- description="Build everything"/>
+ description="Build everything"/>
<!-- Compile the nms module -->
<target name="build-nms" depends="init" description="Build the NMS library">
-
- <echo message="Building the NMS library" />
-
- <echo>Creating build dir ${build.bin.dir}</echo>
- <mkdir dir="${build.bin.dir}"/>
-
+ <echo message="Building the NMS library"/>
<attrib file="src/main/csharp/NMS/CommonAssemblyInfo.cs" readonly="false"
if="${file::exists('src/main/csharp/NMS/CommonAssemblyInfo.cs')}" />
<asminfo output="src/main/csharp/NMS/CommonAssemblyInfo.cs"
language="CSharp">
@@ -152,23 +269,46 @@
</attributes>
</asminfo>
- <csc target="library" define="${current.build.defines}"
warnaserror="false" debug="${build.debug}"
+ <csc if="${current.build.keysign}" keyfile="activemq-dotnet.snk"
target="library"
+ define="${current.build.defines}" warnaserror="false"
debug="${csc.debug}"
output="${build.bin.dir}/NMS.dll" doc="${build.bin.dir}/NMS.xml">
<nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML
comments --> <warning number="0618" /> <!-- do not report deprecation
warnings -->
+ <warning number="1591" /> <!-- do not report warnings for missing XML
comments -->
+ <warning number="0618" /> <!-- do not report deprecation warnings -->
+ </nowarn>
+ <sources failonempty="true">
+ <include name="src/main/csharp/NMS/*.cs" />
+ </sources>
+ <resources failonempty="true">
+ <include name="NOTICE.txt" />
+ <include name="LICENSE.txt" />
+ </resources>
+ <references failonempty="true">
+ <include name="mscorlib.dll" asis="true"/>
+ <include name="System.dll" asis="true"/>
+ </references>
+ </csc>
+ <csc if="${not current.build.keysign}" target="library"
+ define="${current.build.defines}" warnaserror="false"
debug="${csc.debug}"
+ output="${build.bin.dir}/NMS.dll" doc="${build.bin.dir}/NMS.xml">
+ <nowarn>
+ <warning number="1591" /> <!-- do not report warnings for missing XML
comments -->
+ <warning number="0618" /> <!-- do not report deprecation warnings -->
</nowarn>
<sources failonempty="true">
<include name="src/main/csharp/NMS/*.cs" />
</sources>
- <!--
- <resources basedir="src/main/resources">
- <include name="**/*" />
+ <resources failonempty="true">
+ <include name="NOTICE.txt" />
+ <include name="LICENSE.txt" />
</resources>
- -->
<references failonempty="true">
+ <include name="mscorlib.dll" asis="true"/>
<include name="System.dll" asis="true"/>
</references>
</csc>
+
+
</target>
<!-- Compile the nms-test module -->
@@ -198,7 +338,28 @@
</attributes>
</asminfo>
- <csc target="library" define="${current.build.defines}"
warnaserror="false" debug="${build.debug}"
+ <csc if="${current.build.keysign}" keyfile="activemq-dotnet.snk"
target="library"
+ define="${current.build.defines}" warnaserror="false"
debug="${csc.debug}"
+ output="${build.bin.dir}/NMS.Test.dll"
doc="${build.bin.dir}/NMS.Test.xml">
+ <nowarn>
+ <warning number="1591" /> <!-- do not report warnings for missing XML
comments --> <warning number="0618" /> <!-- do not report deprecation
warnings -->
+ </nowarn>
+ <sources failonempty="true">
+ <include name="src/test/csharp/NMS/Test/**.cs" />
+ </sources>
+ <resources failonempty="true">
+ <include name="NOTICE.txt" />
+ <include name="LICENSE.txt" />
+ </resources>
+ <references failonempty="true">
+ <include name="mscorlib.dll" asis="true"/>
+ <include name="System.dll" asis="true"/>
+ <include name="${lib.dir}/all/nunit/nunit.framework.dll"/>
+ <include name="${build.bin.dir}/NMS.dll"/>
+ </references>
+ </csc>
+ <csc if="${not current.build.keysign}" target="library"
+ define="${current.build.defines}" warnaserror="false"
debug="${csc.debug}"
output="${build.bin.dir}/NMS.Test.dll"
doc="${build.bin.dir}/NMS.Test.xml">
<nowarn>
<warning number="1591" /> <!-- do not report warnings for missing XML
comments --> <warning number="0618" /> <!-- do not report deprecation
warnings -->
@@ -206,7 +367,12 @@
<sources failonempty="true">
<include name="src/test/csharp/NMS/Test/**.cs" />
</sources>
+ <resources failonempty="true">
+ <include name="NOTICE.txt" />
+ <include name="LICENSE.txt" />
+ </resources>
<references failonempty="true">
+ <include name="mscorlib.dll" asis="true"/>
<include name="System.dll" asis="true"/>
<include name="${lib.dir}/all/nunit/nunit.framework.dll"/>
<include name="${build.bin.dir}/NMS.dll"/>
@@ -241,7 +407,28 @@
</attributes>
</asminfo>
- <csc target="library" define="${current.build.defines}"
warnaserror="false" debug="${build.debug}"
+ <csc if="${current.build.keysign}" keyfile="activemq-dotnet.snk"
target="library"
+ define="${current.build.defines}" warnaserror="false"
debug="${csc.debug}"
+ output="${build.bin.dir}/NMS.ActiveMQ.dll"
doc="${build.bin.dir}/NMS.ActiveMQ.xml">
+ <nowarn>
+ <warning number="1591" /> <!-- do not report warnings for missing XML
comments --> <warning number="0618" /> <!-- do not report deprecation
warnings -->
+ </nowarn>
+ <sources failonempty="true">
+ <include name="src/main/csharp/ActiveMQ/**.cs" />
+ <include name="src/main/csharp/Stomp/**.cs" />
+ </sources>
+ <resources failonempty="true">
+ <include name="NOTICE.txt" />
+ <include name="LICENSE.txt" />
+ </resources>
+ <references failonempty="true">
+ <include name="mscorlib.dll" asis="true"/>
+ <include name="System.dll" asis="true"/>
+ <include name="${build.bin.dir}/NMS.dll"/>
+ </references>
+ </csc>
+ <csc if="${not current.build.keysign}" target="library"
+ define="${current.build.defines}" warnaserror="false"
debug="${csc.debug}"
output="${build.bin.dir}/NMS.ActiveMQ.dll"
doc="${build.bin.dir}/NMS.ActiveMQ.xml">
<nowarn>
<warning number="1591" /> <!-- do not report warnings for missing XML
comments --> <warning number="0618" /> <!-- do not report deprecation
warnings -->
@@ -250,7 +437,12 @@
<include name="src/main/csharp/ActiveMQ/**.cs" />
<include name="src/main/csharp/Stomp/**.cs" />
</sources>
+ <resources failonempty="true">
+ <include name="NOTICE.txt" />
+ <include name="LICENSE.txt" />
+ </resources>
<references failonempty="true">
+ <include name="mscorlib.dll" asis="true"/>
<include name="System.dll" asis="true"/>
<include name="${build.bin.dir}/NMS.dll"/>
</references>
@@ -284,7 +476,8 @@
</attributes>
</asminfo>
- <csc target="library" define="${current.build.defines}"
warnaserror="false" debug="${build.debug}"
+ <csc if="${current.build.keysign}" keyfile="activemq-dotnet.snk"
target="library"
+ define="${current.build.defines}" warnaserror="false"
debug="${csc.debug}"
output="${build.bin.dir}/NMS.ActiveMQ.Test.dll"
doc="${build.bin.dir}/NMS.ActiveMQ.Test.xml">
<nowarn>
<warning number="1591" /> <!-- do not report warnings for missing XML
comments --> <warning number="0618" /> <!-- do not report deprecation
warnings -->
@@ -292,7 +485,34 @@
<sources failonempty="true">
<include name="src/test/csharp/ActiveMQ/**.cs" />
</sources>
+ <resources failonempty="true">
+ <include name="NOTICE.txt" />
+ <include name="LICENSE.txt" />
+ </resources>
<references failonempty="true">
+ <include name="mscorlib.dll" asis="true"/>
+ <include name="System.dll" asis="true"/>
+ <include name="${lib.dir}/all/nunit/nunit.framework.dll"/>
+ <include name="${build.bin.dir}/NMS.dll"/>
+ <include name="${build.bin.dir}/NMS.Test.dll"/>
+ <include name="${build.bin.dir}/NMS.ActiveMQ.dll"/>
+ </references>
+ </csc>
+ <csc if="${not current.build.keysign}" target="library"
+ define="${current.build.defines}" warnaserror="false"
debug="${csc.debug}"
+ output="${build.bin.dir}/NMS.ActiveMQ.Test.dll"
doc="${build.bin.dir}/NMS.ActiveMQ.Test.xml">
+ <nowarn>
+ <warning number="1591" /> <!-- do not report warnings for missing XML
comments --> <warning number="0618" /> <!-- do not report deprecation
warnings -->
+ </nowarn>
+ <sources failonempty="true">
+ <include name="src/test/csharp/ActiveMQ/**.cs" />
+ </sources>
+ <resources failonempty="true">
+ <include name="NOTICE.txt" />
+ <include name="LICENSE.txt" />
+ </resources>
+ <references failonempty="true">
+ <include name="mscorlib.dll" asis="true"/>
<include name="System.dll" asis="true"/>
<include name="${lib.dir}/all/nunit/nunit.framework.dll"/>
<include name="${build.bin.dir}/NMS.dll"/>
@@ -329,15 +549,45 @@
</attributes>
</asminfo>
- <csc target="library" define="${current.build.defines}"
warnaserror="false" debug="${build.debug}"
+ <csc if="${current.build.keysign}" keyfile="activemq-dotnet.snk"
target="library"
+ define="${current.build.defines}" warnaserror="false"
debug="${csc.debug}"
output="${build.bin.dir}/NMS.Stomp.Test.dll"
doc="${build.bin.dir}/NMS.Stomp.Test.xml">
<nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML
comments --> <warning number="0618" /> <!-- do not report deprecation
warnings -->
+ <warning number="1591" /> <!-- do not report warnings for missing
XML comments -->
+ <warning number="0618" /> <!-- do not report deprecation warnings
-->
+ </nowarn>
+ <sources failonempty="true">
+ <include name="src/test/csharp/Stomp/**.cs" />
+ </sources>
+ <resources failonempty="true">
+ <include name="NOTICE.txt" />
+ <include name="LICENSE.txt" />
+ </resources>
+ <references failonempty="true">
+ <include name="mscorlib.dll" asis="true"/>
+ <include name="System.dll" asis="true"/>
+ <include name="${lib.dir}/all/nunit/nunit.framework.dll"/>
+ <include name="${build.bin.dir}/NMS.dll"/>
+ <include name="${build.bin.dir}/NMS.Test.dll"/>
+ <include name="${build.bin.dir}/NMS.ActiveMQ.dll"/>
+ </references>
+ </csc>
+ <csc if="${not current.build.keysign}" target="library"
+ define="${current.build.defines}" warnaserror="false"
debug="${csc.debug}"
+ output="${build.bin.dir}/NMS.Stomp.Test.dll"
doc="${build.bin.dir}/NMS.Stomp.Test.xml">
+ <nowarn>
+ <warning number="1591" /> <!-- do not report warnings for missing
XML comments -->
+ <warning number="0618" /> <!-- do not report deprecation warnings
-->
</nowarn>
<sources failonempty="true">
<include name="src/test/csharp/Stomp/**.cs" />
</sources>
+ <resources failonempty="true">
+ <include name="NOTICE.txt" />
+ <include name="LICENSE.txt" />
+ </resources>
<references failonempty="true">
+ <include name="mscorlib.dll" asis="true"/>
<include name="System.dll" asis="true"/>
<include name="${lib.dir}/all/nunit/nunit.framework.dll"/>
<include name="${build.bin.dir}/NMS.dll"/>
@@ -347,7 +597,7 @@
</csc>
</target>
- <target name="build-msmq-on-windows" depends="init,build-nms"
description="Build the NMS.MSMQ library" if="${platform::is-win32()}">
+ <target name="build-msmq-on-windows" depends="init,build-nms"
description="Build the NMS.MSMQ library" if="${platform::is-win32() and
framework::get-target-framework()!='netcf-2.0'}">
<call target="build-msmq" />
</target>
@@ -379,15 +629,46 @@
</attributes>
</asminfo>
- <csc target="library" define="${current.build.defines}"
warnaserror="false" debug="${build.debug}"
+ <csc if="${current.build.keysign}" keyfile="activemq-dotnet.snk"
target="library"
+ define="${current.build.defines}" warnaserror="false"
debug="${csc.debug}"
output="${build.bin.dir}/NMS.MSMQ.dll"
doc="${build.bin.dir}/NMS.MSMQ.xml">
<nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML
comments --> <warning number="0618" /> <!-- do not report deprecation
warnings -->
+ <warning number="1591" /> <!-- do not report warnings for missing
XML comments -->
+ <warning number="0618" /> <!-- do not report deprecation warnings
-->
+ </nowarn>
+ <sources failonempty="true">
+ <include name="src/main/csharp/MSMQ/**.cs" />
+ </sources>
+ <resources failonempty="true">
+ <include name="NOTICE.txt" />
+ <include name="LICENSE.txt" />
+ </resources>
+ <references failonempty="true">
+ <include name="mscorlib.dll" asis="true"/>
+ <include name="System.dll" asis="true"/>
+ <!-- TODO was using the following - I wonder if it now breaks
on windows?
+ <include name="${lib.framework.dir}/System.Messaging.dll" />
+ -->
+ <include name="System.Messaging.dll" />
+ <include name="${build.bin.dir}/NMS.dll"/>
+ </references>
+ </csc>
+ <csc if="${not current.build.keysign}" target="library"
+ define="${current.build.defines}" warnaserror="false"
debug="${csc.debug}"
+ output="${build.bin.dir}/NMS.MSMQ.dll"
doc="${build.bin.dir}/NMS.MSMQ.xml">
+ <nowarn>
+ <warning number="1591" /> <!-- do not report warnings for missing
XML comments -->
+ <warning number="0618" /> <!-- do not report deprecation warnings
-->
</nowarn>
<sources failonempty="true">
<include name="src/main/csharp/MSMQ/**.cs" />
</sources>
+ <resources failonempty="true">
+ <include name="NOTICE.txt" />
+ <include name="LICENSE.txt" />
+ </resources>
<references failonempty="true">
+ <include name="mscorlib.dll" asis="true"/>
<include name="System.dll" asis="true"/>
<!-- TODO was using the following - I wonder if it now breaks
on windows?
<include name="${lib.framework.dir}/System.Messaging.dll" />
@@ -399,7 +680,7 @@
</target>
<!-- Compile the msmq.Test module -->
- <target name="build-msmq-test"
depends="init,build-nms,build-nms-test,build-msmq-on-windows"
description="Build the NMS.MSMQ.Test library" if="${platform::is-win32()}">
+ <target name="build-msmq-test"
depends="init,build-nms,build-nms-test,build-msmq-on-windows"
description="Build the NMS.MSMQ.Test library" if="${platform::is-win32() and
framework::get-target-framework()!='netcf-2.0'}">
<echo message="Building the NMS.MSMQ.Test library" />
<attrib file="src/test/csharp/MSMQ/CommonAssemblyInfo.cs" readonly="false"
if="${file::exists('src/test/csharp/MSMQ/CommonAssemblyInfo.cs')}" />
@@ -425,15 +706,49 @@
</attributes>
</asminfo>
- <csc target="library" define="${current.build.defines}"
warnaserror="false" debug="${build.debug}"
+ <csc if="${current.build.keysign}" keyfile="activemq-dotnet.snk"
target="library"
+ define="${current.build.defines}" warnaserror="false"
debug="${csc.debug}"
output="${build.bin.dir}/NMS.MSMQ.Test.dll"
doc="${build.bin.dir}/NMS.MSMQ.Test.xml">
<nowarn>
- <warning number="1591" /> <!-- do not report warnings for missing XML
comments --> <warning number="0618" /> <!-- do not report deprecation
warnings -->
+ <warning number="1591" /> <!-- do not report warnings for missing
XML comments -->
+ <warning number="0618" /> <!-- do not report deprecation warnings
-->
+ </nowarn>
+ <sources failonempty="true">
+ <include name="src/test/csharp/MSMQ/**.cs" />
+ </sources>
+ <resources failonempty="true">
+ <include name="NOTICE.txt" />
+ <include name="LICENSE.txt" />
+ </resources>
+ <references failonempty="true">
+ <include name="mscorlib.dll" asis="true"/>
+ <include name="System.dll" asis="true"/>
+ <!-- TODO was using the following - I wonder if it now breaks
on windows?
+ <include name="${lib.framework.dir}/System.Messaging.dll" />
+ -->
+ <include name="System.Messaging.dll" />
+ <include name="${lib.dir}/all/nunit/nunit.framework.dll"/>
+ <include name="${build.bin.dir}/NMS.dll"/>
+ <include name="${build.bin.dir}/NMS.Test.dll"/>
+ <include name="${build.bin.dir}/NMS.MSMQ.dll"/>
+ </references>
+ </csc>
+ <csc if="${not current.build.keysign}" target="library"
+ define="${current.build.defines}" warnaserror="false"
debug="${csc.debug}"
+ output="${build.bin.dir}/NMS.MSMQ.Test.dll"
doc="${build.bin.dir}/NMS.MSMQ.Test.xml">
+ <nowarn>
+ <warning number="1591" /> <!-- do not report warnings for missing
XML comments -->
+ <warning number="0618" /> <!-- do not report deprecation warnings
-->
</nowarn>
<sources failonempty="true">
<include name="src/test/csharp/MSMQ/**.cs" />
</sources>
+ <resources failonempty="true">
+ <include name="NOTICE.txt" />
+ <include name="LICENSE.txt" />
+ </resources>
<references failonempty="true">
+ <include name="mscorlib.dll" asis="true"/>
<include name="System.dll" asis="true"/>
<!-- TODO was using the following - I wonder if it now breaks
on windows?
<include name="${lib.framework.dir}/System.Messaging.dll" />
@@ -478,7 +793,6 @@
<target name="clean" depends="init" description="Deletes build">
<delete dir="build" if="${directory::exists('build')}" />
- <mkdir dir="build"/>
</target>
<target name="doc" depends="build-activemq">
@@ -558,5 +872,6 @@
</ndoc>
</target>
+
</project>