activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chir...@apache.org
Subject svn commit: r513012 - /activemq/activemq-dotnet/trunk/nant.build
Date Wed, 28 Feb 2007 22:22:47 GMT
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>



Mime
View raw message