[prev in list] [next in list] [prev in thread] [next in thread] 

List:       activemq-commits
Subject:    svn commit: r806659 [2/5] - in /activemq/activemq-dotnet:
From:       jgomes () apache ! org
Date:       2009-08-21 18:00:26
Message-ID: 20090821180027.288AF23888EC () eris ! apache ! org
[Download RAW message or body]

Modified: activemq/activemq-dotnet/Apache.NMS.EMS/trunk/nant-common.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.EMS/trunk/nant-common.xml?rev=806659&r1=806658&r2=806659&view=diff
 ==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.EMS/trunk/nant-common.xml (original)
+++ activemq/activemq-dotnet/Apache.NMS.EMS/trunk/nant-common.xml Fri Aug 21 18:00:26 \
2009 @@ -1,658 +1,648 @@
-<?xml version="1.0" ?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<project xmlns="http://nant.sourceforge.net/release/0.85/nant.xsd">
-
-  <!-- ============================================================================================ \
                -->
-  <!--    P R O P E R T Y    D E F I N I T I O N S                                   \
                -->
-  <!-- ============================================================================================ \
                -->
-
-  <!-- global project settings -->
-  <property name="project.cls.compliant" value="true" \
                unless="${property::exists('project.cls.compliant')}"/>
-  <property name="project.release.type"  value="SNAPSHOT" \
                unless="${property::exists('project.release.type')}" />
-  <property name="project.version.full"  value="${project.version + \
if(project.release.type == 'snapshot', '-' + project.release.type, '')}" \
                dynamic="true" />
-  <property name="project.startyear"     value="2005" />
-  <property name="build.dir"             value="${basedir}/build" />
-  <property name="doc.dir"               value="${build.dir}/doc" />
-  <property name="lib.dir"               value="${path::combine(basedir, 'lib')}" \
                dynamic="true" />
-  <property name="lib.family.dir"        value="${path::combine(lib.dir, \
                framework::get-family(framework::get-target-framework()))}" \
                dynamic="true" />
-  <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="build.defines"           value=""/>
-  <property name="build.noskip"            value="false"/>
-  <property name="build.skip"              value="false"/>
-  <property name="build.skip.release"      value="false" \
                unless="${property::exists('build.skip.release')}" />
-  <property name="compile.skip"            value="false" \
                unless="${property::exists('compile.skip')}" />
-  <property name="current.build.config"    value="${if(project.release.type == \
                'release', 'release', 'debug')}" overwrite="false"/>
-  <property name="current.build.framework" \
                value="${framework::get-target-framework()}"  overwrite="false"/>
-  <property name="current.build.defines"   value="${build.defines}" />
-  <property name="build.framework.strings" \
                value="net-1.1,net-2.0,net-3.5,mono-2.0,netcf-2.0"/>
-  <property name="current.build.framework.assembly.dir" \
value="${framework::get-assembly-directory(framework::get-target-framework())}" \
                dynamic="true"/>
-
-  <if test="${build.skip.release}">
-    <property name="build.config.strings"  value="debug"/>
-  </if>
-  <if test="${not(build.skip.release)}">
-    <property name="build.config.strings"  value="debug,release"/>
-  </if>
-
-  <!-- Figure out the user's HOME directory -->
-  <property name="user.home" value="${environment::get-variable('HOME')}"
-            if="${environment::variable-exists('HOME') and platform::is-unix()}"
-            unless="${property::exists('user.home')}"/>
-  <property name="user.home" value="${environment::get-variable('USERPROFILE')}"
-            if="${environment::variable-exists('USERPROFILE') and \
                platform::is-windows()}"
-            unless="${property::exists('user.home')}"/>
-
-  <fail message="The HOME environment variable is not defined.  Please set it to \
                your home directory."
-            unless="${property::exists('user.home')}" if="${platform::is-unix()}"/>
-  <fail message="The USERPROFILE environment variable is not defined.  Please set it \
                to your home directory."
-            unless="${property::exists('user.home')}" \
                if="${platform::is-windows()}"/>
-
-  <!-- Figure out the NANT repositories -->
-  <property name="nant.remote.repo" \
                value="${environment::get-variable('NANT_REMOTE_REPO')}"
-            if="${environment::variable-exists('NANT_REMOTE_REPO')}"
-            unless="${property::exists('nant.remote.repo')}"/>
-  <property name="nant.local.repo" \
                value="${environment::get-variable('NANT_REPO')}/local"
-            if="${environment::variable-exists('NANT_REPO')}"
-            unless="${property::exists('nant.local.repo')}"/>
-  <property name="nant.local.repo" value="${user.home}/.nant/repository/local"
-            unless="${property::exists('nant.local.repo')}"/>
-
-  <!-- Figure out the keyfile location -->
-  <property name="snk.file"  \
                value="${environment::get-variable('ACTIVEMQ_DOTNET_SNK')}"
-            if="${environment::variable-exists('ACTIVEMQ_DOTNET_SNK')}"
-            unless="${property::exists('snk.file')}"/>
-  <property name="snk.file"  value="${basedir}/keyfile/NMSKey.snk" if="${not \
                property::exists('snk.file')}"/>
-
-  <!-- ============================================================================================ \
                -->
-  <!--      I N I T I A L I Z A T I O N     T A R G E T S                            \
                -->
-  <!-- ============================================================================================ \
                -->
-
-  <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)}">
-       <property name="build.skip" value="false"/>
-    </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>
-
-    <!-- Check to see if we should skip this build framework. -->
-    <if test="${not(build.skip)}">
-      <if test="${property::exists('build.'+current.build.framework+'.skip')}">
-        <property name="build.skip" value="true"/>
-        <echo message="The '${current.build.framework}' framework is not supported \
                by this version of ActiveMQ .NET" />
-      </if>
-    </if>
-
-   <property name="current.build.keysign" value="${current.build.framework.sign}"/>
-   <property name="build.bin.dir" \
                value="${build.dir}/${nant.settings.currentframework}/${current.build.config}" \
                />
-    <if test="${not(build.skip)}">
-       <echo message="Doing ${if(current.build.keysign,'a signed','an unsigned')} \
                ${current.build.config} build for the ${current.build.framework.name} \
                framework" />
-       <mkdir dir="${build.bin.dir}"/>
-    </if>
-    <call target="dependency-init"/>
-  </target>
-
-  <target name="generate-build-number">
-    <script language="C#">
-       <imports>
-           <import namespace="System.Globalization" />
-           <import namespace="System.Threading" />
-       </imports>
-
-       <code>
-       <!-- Format for assembly revision is the number of days from the year the \
                project 'started', property project.startyear.  -->
-           <![CDATA[
-               public static void ScriptMain(Project project)
-               {
-                   int startYear = \
                Convert.ToInt32(project.Properties["project.startyear"]);
-                   DateTime start = new DateTime(startYear, 1, 1);
-                   TimeSpan ts = DateTime.Now - start;
-                   project.Properties["project.version.numeric"] = \
                project.Properties["project.version"].ToString() + "." + \
                ts.Days.ToString();
-               }
-           ]]>
-       </code>
-    </script>
-  </target>
-
-  <!-- Generate assemblyinfo.cs files -->
-  <target name="generate-assemblyinfo" depends="generate-build-number" \
                description="Generate the assembly info for the path in \
                assemblyinfo.filename">
-    <asminfo output="${assemblyinfo.filename}" language="CSharp">
-      <imports>
-        <import namespace="System" />
-        <import namespace="System.Reflection" />
-        <import namespace="System.Runtime.InteropServices" />
-      </imports>
-      <attributes>
-        <attribute type="ComVisibleAttribute"            value="false" />
-        <attribute type="CLSCompliantAttribute"          \
                value="${project.cls.compliant}" />
-        <attribute type="AssemblyTitleAttribute"         \
                value="${project.short_description}" />
-        <attribute type="AssemblyDescriptionAttribute"   \
                value="${project.description}" />
-        <attribute type="AssemblyConfigurationAttribute" \
                value="${project.release.type}" />
-        <attribute type="AssemblyCompanyAttribute"       \
                value="http://activemq.apache.org/nms" />
-        <attribute type="AssemblyProductAttribute"       \
                value="${project.short_description}" />
-        <attribute type="AssemblyCopyrightAttribute"     value="Copyright (C) \
${project.startyear}-${datetime::get-year(datetime::now())} Apache Software \
                Foundation" />
-        <attribute type="AssemblyTrademarkAttribute"     value="" />
-        <attribute type="AssemblyCultureAttribute"       value="" />
-        <attribute type="AssemblyVersionAttribute"       \
                value="${project.version.numeric}" />
-        <attribute type="AssemblyInformationalVersionAttribute" \
                value="${project.version}" />
-      </attributes>
-    </asminfo>
-  </target>
-
-  <!-- ============================================================================================ \
                -->
-  <!--    C O N F I G U R A T I O N     T A R G E T S                                \
                -->
-  <!-- ============================================================================================ \
                -->
-
-  <target name="set-noskip-configuration" description="Disable skipping 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="current.build.defines"          \
                value="${build.defines}DEBUG,TRACE," dynamic="true" />
-    <property name="csc.debug"                      value="Full" />
-    <property name="csc.optimize"                   value="false" />
-  </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="Full" />
-    <property name="csc.optimize"                   value="true" />
-  </target>
-
-  <target name="set-net-1.1-framework-configuration">
-    <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="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_v2_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-3.5-framework-configuration">
-    <property name="current.build.framework"        value="net-3.5" />
-    <property name="current.build.framework.name"   value=".NET 3.5"/>
-    <property name="current.build.defines"          \
                value="${build.defines}NET,NET_2_0,NET_3_5" dynamic="true" />
-    <property name="current.build.framework.sign"   value="true"/>
-    <property name="link.sdkdoc.version"            value="SDK_v6_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-2.0-framework-configuration">
-    <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>
-
-  <!-- ============================================================================================ \
                -->
-  <!--     C O M P I L E    T A R G E T S                                            \
                -->
-  <!-- ============================================================================================ \
                -->
-
-  <target name="compile-all" description="Compile all build configurations for all \
                runtime configurations">
-    <echo message="Compiling all build configurations for all runtime \
                configurations." />
-      <foreach item="String" in="${build.framework.strings}" delim="," \
                property="current.build.framework">
-      <foreach item="String" in="${build.config.strings}" delim="," \
                property="current.build.config">
-        <call target="compile-target" />
-      </foreach>
-    </foreach>
-  </target>
-
-  <target name="compile-target" depends="init, conditional-compile"/>
-
-  <target name="conditional-compile" depends="init" unless="${build.skip or \
                compile.skip}"
-      description="Conditionaly compiles all the modules if build framework and type \
                are supported">
-    <call target="compile" />
-  </target>
-
-  <target name="compile" description="Compile everything">
-    <call target="compile-main" cascade="false" />
-    <call target="compile-test" cascade="false" />
-  </target>
-
-  <target name="compile-main" depends="init" description="Build the main library">
-    <echo message="Building the ${project.name} library"/>
-
-    <property name="assemblyinfo.filename" \
                value="src/main/csharp/CommonAssemblyInfo.cs"/>
-    <call target="generate-assemblyinfo"/>
-
-    <csc if="${current.build.keysign}" keyfile="${snk.file}" target="library"
-      define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" \
                optimize="${csc.optimize}"
-      output="${build.bin.dir}/${project.name}.dll" \
                doc="${build.bin.dir}/${project.name}.xml">
-      <nowarn>
-        <warning number="1591" /> <!-- do not report warnings for missing XML \
                comments -->
-      </nowarn>
-      <sources failonempty="true">
-        <include name="src/main/csharp/**.cs" />
-      </sources>
-      <references refid="dependencies" />
-    </csc>
-    <csc if="${not current.build.keysign}" target="library"
-      define="${current.build.defines}" warnaserror="false" debug="${csc.debug}"  \
                optimize="${csc.optimize}"
-      output="${build.bin.dir}/${project.name}.dll" \
                doc="${build.bin.dir}/${project.name}.xml">
-      <nowarn>
-        <warning number="1591" /> <!-- do not report warnings for missing XML \
                comments -->
-      </nowarn>
-      <sources failonempty="true">
-        <include name="src/main/csharp/**.cs" />
-      </sources>
-      <references refid="dependencies" />
-    </csc>
-    <call target="copy-content"/>
-  </target>
-
-  <!-- Compile the nms-test module -->
-  <target name="compile-test" depends="compile-main" description="Build the test \
                library">
-    <echo message="Building the ${project.name}.Test library" />
-
-    <property name="assemblyinfo.filename" \
                value="src/test/csharp/CommonAssemblyInfo.cs"/>
-    <call target="generate-assemblyinfo"/>
-
-    <csc if="${current.build.keysign}" keyfile="${snk.file}" target="library"
-      define="${current.build.defines}" warnaserror="false" debug="${csc.debug}"  \
                optimize="${csc.optimize}"
-      output="${build.bin.dir}/${project.name}.Test.dll" \
                doc="${build.bin.dir}/${project.name}.Test.xml">
-      <nowarn>
-        <warning number="1591" /> <!-- do not report warnings for missing XML \
                comments -->
-      </nowarn>
-      <sources failonempty="true">
-          <include name="src/test/csharp/**.cs" />
-      </sources>
-      <references refid="test.dependencies" />
-    </csc>
-    <csc if="${not current.build.keysign}" target="library"
-      define="${current.build.defines}" warnaserror="false" debug="${csc.debug}"  \
                optimize="${csc.optimize}"
-      output="${build.bin.dir}/${project.name}.Test.dll" \
                doc="${build.bin.dir}/${project.name}.Test.xml">
-      <nowarn>
-        <warning number="1591" /> <!-- do not report warnings for missing XML \
                comments -->
-      </nowarn>
-      <sources failonempty="true">
-        <include name="src/test/csharp/**.cs" />
-      </sources>
-      <references refid="test.dependencies" />
-    </csc>
-    <call target="copy-content"/>
-  </target>
-
-  <target name="copy-content">
-    <foreach item="File" property="content.filename">
-      <in>
-        <items refid="content.filenames" />
-      </in>
-      <do>
-        <copy todir="${build.bin.dir}" file="${content.filename}" if="${not \
                file::up-to-date(content.filename, \
                '${build.bin.dir}/${content.filename}')}" />
-      </do>
-    </foreach>
-  </target>
-
-  <!-- ============================================================================================ \
                -->
-  <!--      I N S T A L L     T A R G E T S                                          \
                -->
-  <!-- ============================================================================================ \
                -->
-
-  <target name="install-all" description="Install all build configurations for all \
                runtime configurations">
-    <echo message="Installing all build configurations for all runtime \
                configurations." />
-    <foreach item="String" in="${build.framework.strings}" delim="," \
                property="current.build.framework">
-      <foreach item="String" in="${build.config.strings}" delim="," \
                property="current.build.config">
-        <call target="install" />
-      </foreach>
-    </foreach>
-  </target>
-
-  <!-- Install the modules to the local repo -->
-  <target name="install" depends="init, conditional-compile, conditional-install"
-              description="Install the artifacts into the nant repo" />
-
-  <target name="conditional-install" unless="${build.skip}"
-          description="Install the artifacts into the nant repo">
-    <property name="path" \
value="${project.group}/${project.name}/${project.version.full}/${current.build.framework}/${current.build.config}"/>
                
-
-    <foreach item="File" property="install.filename">
-      <in>
-        <items refid="install.filenames" />
-      </in>
-      <do>
-        <property name="repo.task.artifact" \
                value="${path}/${path::get-file-name(install.filename)}"/>
-        <property name="repo.task.src" value="${install.filename}"/>
-        <property name="repo.task.dest" \
                value="${nant.local.repo}/${repo.task.artifact}"/>
-        <mkdir dir="${directory::get-parent-directory(repo.task.dest)}" />
-        <copy file="${repo.task.src}" tofile="${repo.task.dest}"/>
-      </do>
-    </foreach>
-  </target>
-
-  <!-- ============================================================================================ \
                -->
-  <!--      R E P O    D O W N L O A D     T A R G E T S                             \
                -->
-  <!-- ============================================================================================ \
                -->
-
-  <target name="download-vendor-all" description="Download vendor files for all \
                runtime configurations">
-    <echo message="Downloading vendor files for all runtime configurations." />
-    <property name="vendor.build.config" value="release" />
-    <foreach item="String" in="${build.framework.strings}" delim="," \
                property="vendor.build.framework">
-      <call target="download-vendor" />
-    </foreach>
-  </target>
-
-  <target name="download-vendor" depends="vendor-init, conditional-download"
-              description="Download the vendor artifacts from the nant repo" />
-
-  <target name="conditional-download" unless="${build.skip}"
-          description="Download the artifacts from the nant repo">
-
-    <!-- Iterate over the defined vendor filesets. -->
-    <foreach item="String" in="${vendor.fileset.names}" delim="," \
                property="current.vendor">
-      <property name="vendor.name" value="${property::get-value(current.vendor + \
                '.name')}"/>
-      <property name="vendor.group" value="${property::get-value(current.vendor + \
                '.group')}"/>
-      <property name="vendor.version" value="${property::get-value(current.vendor + \
                '.version')}"/>
-      <property name="vendor.filenames" value="${property::get-value(current.vendor \
                + '.filenames')}"/>
-
-      <property name="local.repo.vendor.path" \
value="${nant.local.repo}/${vendor.group}/${vendor.name}/${vendor.version}/${vendor.build.framework}/${vendor.build.config}"/>
                
-      <property name="vendor.path" \
                value="vendor/${vendor.name}/${vendor.build.framework}" />
-      <property name="lib.path" value="lib/${vendor.name}/${vendor.build.framework}" \
                />
-
-      <!--
-           Update the LIB folder with the latest version of the file.  By default, \
                the file from the
-           VENDOR folder will be used.  However, if there is a newer version \
                installed in the local
-           repository, then that version will be copied into the LIB folder.
-       -->
-      <foreach item="String" in="${vendor.filenames}" delim="," \
                property="repo.task.artifact">
-        <property name="lib.task.dest" value="${lib.path}/${repo.task.artifact}"/>
-        <mkdir dir="${directory::get-parent-directory(lib.task.dest)}" />
-
-        <property name="vendor.task.src" \
                value="${vendor.path}/${repo.task.artifact}"/>
-        <property name="repo.task.src" \
                value="${local.repo.vendor.path}/${repo.task.artifact}"/>
-
-        <copy file="${repo.task.src}" tofile="${lib.task.dest}" \
                if="${file::exists(repo.task.src)}"/>
-        <if test="${not file::exists(repo.task.src)}">
-          <copy file="${vendor.task.src}" tofile="${lib.task.dest}" \
                if="${file::exists(vendor.task.src)}"/>
-        </if>
-      </foreach>
-    </foreach>
-  </target>
-
-  <!-- ============================================================================================ \
                -->
-  <!--      D E P L O Y     T A R G E T S                                            \
                -->
-  <!-- ============================================================================================ \
                -->
-
-  <target name="deploy-all" depends="generate-build-number" description="Deploy all \
                build configurations for all runtime configurations">
-    <echo message="Deploying release configurations for all runtime configurations." \
                />
-
-    <call target="set-release-configuration" />
-    <foreach item="String" in="${build.framework.strings}" delim="," \
                property="current.build.framework">
-      <call target="deploy-target" />
-    </foreach>
-
-	<!-- Commit the deployed files to repository.  This completes the deployment. -->
-	<exec program="svn" failonerror="false">
-		<arg value="commit"/>
-		<arg value="deploy"/>
-		<arg value="-m"/>
-		<arg value="Deploy ${project.name} ${project.version.numeric}"/>
-	</exec>
-  </target>
-
-  <target name="deploy-target" depends="init, conditional-deploy"/>
-
-  <target name="conditional-deploy" depends="init" unless="${build.skip}"
-      description="Conditionaly deploy all the modules if build framework and type \
                are supported">
-    <call target="deploy" />
-  </target>
-
-  <!-- Deploy the modules to the global repo -->
-  <target name="deploy" description="Deploy the artifacts into the subversion repo">
-    <property name="repo.dir" value="deploy/${current.build.framework}"/>
-
-    <foreach item="File" property="deploy.filename">
-      <in>
-        <items refid="deploy.filenames" />
-      </in>
-      <do>
-		<property name="repo.task.dest" value="${path::get-file-name(deploy.filename)}"/>
-		<copy file="${deploy.filename}" todir="${repo.dir}" \
                unless="${file::up-to-date(deploy.filename, \
                '${repo.dir}/${repo.task.dest}')}" />
-      </do>
-    </foreach>
-
-  </target>
-
-  <!-- ============================================================================================ \
                -->
-  <!--      T E S T     T A R G E T S                                                \
                -->
-  <!-- ============================================================================================ \
                -->
-
-  <target name="test" depends="test-debug" description="Alias test target to \
                test-debug"/>
-  <target name="test-all" depends="test-debug, test-release" description="Test all \
                build configurations for all runtime configurations"/>
-
-  <target name="test-debug" depends="" description="Test debug build configurations \
                for all runtime configurations">
-	<property name="current.build.config" value="debug"/>
-    <call target="test-frameworks" />
-  </target>
-
-  <target name="test-release" depends="" description="Test release build \
                configurations for all runtime configurations">
-	<property name="current.build.config" value="release"/>
-    <call target="test-frameworks" />
-  </target>
-
-  <target name="test-frameworks">
-    <foreach item="String" in="${build.framework.strings}" delim="," \
                property="current.build.framework">
-      <call target="init" />
-	  <if test="${not build.skip}">
-	    <exec program="nunit-console" failonerror="true" \
                workingdir="build/${current.build.framework}/${current.build.config}">
                
-	      <arg value="${NUnit.Projectfile}"/>
-	      <arg value="/labels"/>
-	      <arg value="/xml=Nunit.TestOutput.xml"/>
-	    </exec>
-	  </if>
-    </foreach>
-  </target>
-
-  <!-- ============================================================================================ \
                -->
-  <!--      M I S C E L L A N E O U S    T A R G E T S                               \
                -->
-  <!-- ============================================================================================ \
                -->
-
-  <target name="build" depends="default" description="Build the project." />
-  <target name="rebuild" depends="clean,build" description="Rebuild the project." />
-
-  <target name="clean" description="Deletes build">
-    <if test="${target::exists('clean-init')}">
-      <call target="clean-init"/>
-    </if>
-    <delete dir="build" if="${directory::exists('build')}" />
-    <delete dir="obj" if="${directory::exists('obj')}" />
-    <delete dir="lib" if="${directory::exists('lib')}" />
-    <delete dir="package" if="${directory::exists('package')}" />
-  </target>
-
-  <target name="doc" depends="build">
-    <mkdir dir="${doc.dir}"/>
-    <ndoc failonerror="false">
-      <assemblies basedir="${build.bin.dir}">
-        <include name="${project.name}.dll" />
-      </assemblies>
-      <summaries basedir="${basedir}/src/main/ndoc">
-        <include name="NamespaceSummary.xml" />
-      </summaries>
-      <documenters>
-        <documenter name="MSDN">
-        <property name="OutputDirectory" value="${doc.dir}" />
-          <property name="HtmlHelpName" value="${project.name}" />
-          <property name="HtmlHelpCompilerFilename" value="hhc.exe" />
-          <property name="IncludeFavorites" value="False" />
-          <property name="Title" value="${project.short_description}" />
-          <property name="SplitTOCs" value="False" />
-          <property name="DefaulTOC" value="" />
-          <!--
-            <property name="ShowVisualBasic" value="True" />
-            <property name="ShowMissingSummaries" value="True" />
-            <property name="ShowMissingRemarks" value="True" />
-            <property name="ShowMissingParams" value="True" />
-            <property name="ShowMissingReturns" value="True" />
-            <property name="ShowMissingValues" value="True" />
-          -->
-          <property name="DocumentInternals" value="False" />
-          <property name="DocumentProtected" value="True" />
-          <property name="DocumentPrivates" value="False" />
-          <property name="DocumentEmptyNamespaces" value="False" />
-          <property name="IncludeAssemblyVersion" value="True" />
-          <property name="CopyrightText" value="" />
-          <property name="CopyrightHref" value="" />
-        </documenter>
-      </documenters>
-    </ndoc>
-  </target>
-
-  <target name="sandcastle" depends="set-release-configuration, init, \
                conditional-compile">
-    <!-- Directories -->
-    <property name="sandcastle.style" value="vs2005" \
                unless="${property::exists('sandcastle.style')}"/>
-    <property name="documentation.dir" value="${build.bin.dir}" />
-    <property name="bin.intern.dir" value="${build.bin.dir}" />
-    <property name="bin.extern.dir" value="${basedir}\vendor\NUnit\net-2.0" />
-    <property name="sandcastle.dir" value="${environment::get-variable('DXROOT')}" \
                />
-    <property name="sandcastle.workingdir"  \
                value="${build.dir}\doc\${sandcastle.style}" />
-    <property name="sandcastle.output.dir" value="${sandcastle.workingdir}\Output" \
                />
-    <!-- Executables -->
-    <property name="sandcastle.mrefbuilder.exe" \
                value="${sandcastle.dir}\productiontools\mrefbuilder.exe" />
-    <property name="sandcastle.buildassembler.exe" \
                value="${sandcastle.dir}\productiontools\buildassembler.exe" />
-    <property name="sandcastle.xsltransform.exe" \
                value="${sandcastle.dir}\productiontools\xsltransform.exe" />
-    <property name="sandcastle.productiontransforms.dir" \
                value="${sandcastle.dir}\ProductionTransforms" />
-
-    <!-- Create or Cleanup Working Directory -->
-    <mkdir dir="${sandcastle.workingdir}"
-        if="${not directory::exists(sandcastle.workingdir)}" />
-    <delete>
-       <fileset basedir="${sandcastle.workingdir}">
-          <include name="**\*" />
-       </fileset>
-    </delete>
-
-    <!-- Copy configuration file, and hard code references -->
-    <copy file="${sandcastle.dir}/Presentation/${sandcastle.style}/Configuration/Sandcastle.config"
                
-          tofile="${sandcastle.workingdir}/Sandcastle.config">
-       <filterchain>
-          <replacestring from="&quot;..\..\" to="&quot;${sandcastle.dir}\" />
-          <replacestring from="&quot;..\" to="&quot;${sandcastle.dir}\Examples\" />
-          <replacestring from="&quot;.\comments.xml" \
                to="&quot;${documentation.dir}\${project.name}.xml" />
-          <replacestring \
from="&quot;%DXROOT%\Presentation\${sandcastle.style}\content\feedback_content.xml&quot;" \
                to="&quot;${basedir}/src/main/sandcastle/feedback_content.xml&quot;" \
                />
-       </filterchain>
-    </copy>
-
-    <!-- Run MRefBuilder (introspection on assemblies) to create basic Reflection \
                XML -->
-    <exec program="${sandcastle.mrefbuilder.exe}" \
                workingdir="${sandcastle.workingdir}">
-       <arg value="${bin.intern.dir}/${project.name}.dll" />
-       <arg value="/out:reflection.int.xml" />
-       <arg value="/dep:${bin.extern.dir}\*.dll" />
-    </exec>
-
-    <!-- Create Reflection XML -->
-    <exec program="${sandcastle.xsltransform.exe}" \
                workingdir="${sandcastle.workingdir}">
-       <arg value="/xsl:&quot;${sandcastle.productiontransforms.dir}\ApplyVSDocModel.xsl&quot;" \
                if="${sandcastle.style != 'prototype'}" />
-       <arg value="/xsl:&quot;${sandcastle.productiontransforms.dir}\ApplyPrototypeDocModel.xsl&quot;" \
                if="${sandcastle.style == 'prototype'}" />
-       <arg value="/xsl:&quot;${sandcastle.productiontransforms.dir}\AddFriendlyFilenames.xsl&quot;" \
                /> <!-- if="${sandcastle.style != 'prototype'}" /> -->
-       <arg value="/xsl:&quot;${sandcastle.productiontransforms.dir}\AddGuidFilenames.xsl&quot;" \
                if="${sandcastle.style == 'disabled'}" />
-       <arg value="reflection.int.xml" />
-       <arg value="/out:reflection.xml" />
-       <arg value="/arg:IncludeAllMembersTopic=true" />
-       <arg value="/arg:IncludeInheritedOverloadTopics=true" />
-    </exec>
-
-    <!-- Create Manifest (list of Topics) -->
-    <exec program="${sandcastle.xsltransform.exe}" \
                workingdir="${sandcastle.workingdir}">
-       <arg value="/xsl:&quot;${sandcastle.productiontransforms.dir}\ReflectionToManifest.xsl&quot;" \
                />
-       <arg value="reflection.xml" />
-       <arg value="/out:manifest.xml" />
-    </exec>
-
-    <!-- Create Output Environment -->
-    <mkdir dir="${sandcastle.output.dir}" />
-    <mkdir dir="${sandcastle.output.dir}/html" />
-    <copy todir="${sandcastle.output.dir}">
-        <fileset basedir="${sandcastle.dir}/Presentation/${sandcastle.style}">
-            <include name="icons/*" />
-            <include name="media/*" />
-            <include name="scripts/*" />
-            <include name="styles/*" />
-        </fileset>
-    </copy>
-
-    <!-- Run BuildAssembler (create html topic files) -->
-    <exec program="${sandcastle.buildassembler.exe}" \
                workingdir="${sandcastle.workingdir}" >
-       <arg value="/config:Sandcastle.config" />
-       <arg value="manifest.xml" />
-    </exec>
-
-  </target>
-
-  <target name="sandcastle-all" description="Generate all formats of the Sandcastle \
                documentation files.">
-    <foreach item="String" in="vs2005,prototype,hana" delim="," \
                property="sandcastle.style">
-      <call target="sandcastle" />
-    </foreach>
-  </target>
-</project>
+ï » ¿<?xml version="1.0"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<project xmlns="http://nant.sourceforge.net/release/0.85/nant.xsd">
+
+	<!-- ============================================================================================ \
--> +	<!--    P R O P E R T Y    D E F I N I T I O N S                                \
--> +	<!-- ============================================================================================ \
--> +
+	<!-- global project settings -->
+	<property name="project.cls.compliant"   value="true" \
unless="${property::exists('project.cls.compliant')}" /> +	<property \
name="project.release.type"    value="SNAPSHOT" \
unless="${property::exists('project.release.type')}" /> +	<property \
name="project.version.full"    value="${project.version + if(project.release.type == \
'snapshot', '-' + project.release.type, '')}" dynamic="true" /> +	<property \
name="project.startyear"       value="2005" /> +	<property name="build.dir"           \
value="${basedir}/build" /> +	<property name="doc.dir"                 \
value="${build.dir}/doc" /> +	<property name="lib.dir"                 \
value="${path::combine(basedir, 'lib')}" dynamic="true" /> +	<property \
name="lib.family.dir"          value="${path::combine(lib.dir, \
framework::get-family(framework::get-target-framework()))}" dynamic="true" /> \
+	<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="build.defines"           value="" />
+	<property name="build.noskip"            value="false" />
+	<property name="build.skip"              value="false" />
+	<property name="build.skip.release"      value="false" \
unless="${property::exists('build.skip.release')}" /> +	<property name="compile.skip" \
value="false" unless="${property::exists('compile.skip')}" /> +	<property \
name="current.build.config"    value="${if(project.release.type == 'release', \
'release', 'debug')}" overwrite="false" /> +	<property name="current.build.framework" \
value="${framework::get-target-framework()}" overwrite="false" /> +	<property \
name="current.build.defines"   value="${build.defines}" /> +	<property \
name="build.framework.strings" value="net-1.1,net-2.0,net-3.5,mono-2.0,netcf-2.0" /> \
+	<property name="current.build.framework.assembly.dir" \
value="${framework::get-assembly-directory(framework::get-target-framework())}" \
dynamic="true" /> +
+	<if test="${build.skip.release}">
+		<property name="build.config.strings" value="debug" />
+	</if>
+	<if test="${not(build.skip.release)}">
+		<property name="build.config.strings" value="debug,release" />
+	</if>
+
+	<!-- Figure out the user's HOME directory -->
+	<property name="user.home" value="${environment::get-variable('HOME')}"
+			if="${environment::variable-exists('HOME') and platform::is-unix()}"
+			unless="${property::exists('user.home')}" />
+	<property name="user.home" value="${environment::get-variable('USERPROFILE')}"
+			if="${environment::variable-exists('USERPROFILE') and platform::is-windows()}"
+			unless="${property::exists('user.home')}" />
+	<fail message="The HOME environment variable is not defined.  Please set it to your \
home directory." +			unless="${property::exists('user.home')}" \
if="${platform::is-unix()}" /> +	<fail message="The USERPROFILE environment variable \
is not defined.  Please set it to your home directory." \
+			unless="${property::exists('user.home')}" if="${platform::is-windows()}" /> +
+	<!-- Figure out the NANT repositories -->
+	<property name="nant.remote.repo" \
value="${environment::get-variable('NANT_REMOTE_REPO')}" \
+			if="${environment::variable-exists('NANT_REMOTE_REPO')}" \
+			unless="${property::exists('nant.remote.repo')}" /> +	<property \
name="nant.local.repo" value="${environment::get-variable('NANT_REPO')}/local" \
+			if="${environment::variable-exists('NANT_REPO')}" \
+			unless="${property::exists('nant.local.repo')}" /> +	<property \
name="nant.local.repo" value="${user.home}/.nant/repository/local" \
+			unless="${property::exists('nant.local.repo')}" /> +
+	<!-- Figure out the keyfile location -->
+	<property name="snk.file" \
value="${environment::get-variable('ACTIVEMQ_DOTNET_SNK')}" \
+			if="${environment::variable-exists('ACTIVEMQ_DOTNET_SNK')}" \
+			unless="${property::exists('snk.file')}" /> +	<property name="snk.file" \
value="${basedir}/keyfile/NMSKey.snk" +			if="${not property::exists('snk.file')}" />
+
+	<!-- ============================================================================================ \
--> +	<!--      I N I T I A L I Z A T I O N     T A R G E T S                         \
--> +	<!-- ============================================================================================ \
--> +
+	<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)}">
+			<property name="build.skip" value="false" />
+		</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>
+
+		<!-- Check to see if we should skip this build framework. -->
+		<if test="${not(build.skip)}">
+			<if test="${property::exists('build.'+current.build.framework+'.skip')}">
+				<property name="build.skip" value="true" />
+				<echo message="The '${current.build.framework}' framework is not supported by \
this version of ActiveMQ .NET" /> +			</if>
+		</if>
+
+		<property name="current.build.keysign" value="${current.build.framework.sign}" />
+		<property name="build.bin.dir" \
value="${build.dir}/${nant.settings.currentframework}/${current.build.config}" /> \
+		<if test="${not(build.skip)}"> +			<echo message="Doing \
${if(current.build.keysign,'a signed','an unsigned')} ${current.build.config} build \
for the ${current.build.framework.name} framework" /> +			<mkdir \
dir="${build.bin.dir}" /> +		</if>
+		<call target="dependency-init" />
+	</target>
+
+	<target name="generate-build-number">
+		<script language="C#">
+			<imports>
+				<import namespace="System.Globalization" />
+				<import namespace="System.Threading" />
+			</imports>
+			<code>
+				<!-- Format for assembly revision is the number of days from the year the \
project 'started', property project.startyear.  --> +				<![CDATA[
+					public static void ScriptMain(Project project)
+					{
+						int startYear = Convert.ToInt32(project.Properties["project.startyear"]);
+						DateTime start = new DateTime(startYear, 1, 1);
+						TimeSpan ts = DateTime.Now - start;
+						project.Properties["project.version.numeric"] = \
project.Properties["project.version"].ToString() + "." + ts.Days.ToString(); +					}
+				]]>
+			</code>
+		</script>
+	</target>
+
+	<!-- Generate assemblyinfo.cs files -->
+	<target name="generate-assemblyinfo" depends="generate-build-number" \
description="Generate the assembly info for the path in assemblyinfo.filename"> \
+		<asminfo output="${assemblyinfo.filename}" language="CSharp"> +			<imports>
+				<import namespace="System" />
+				<import namespace="System.Reflection" />
+				<import namespace="System.Runtime.InteropServices" />
+			</imports>
+			<attributes>
+				<attribute type="ComVisibleAttribute" value="false" />
+				<attribute type="CLSCompliantAttribute" value="${project.cls.compliant}" />
+				<attribute type="AssemblyTitleAttribute" value="${project.short_description}" />
+				<attribute type="AssemblyDescriptionAttribute" value="${project.description}" />
+				<attribute type="AssemblyConfigurationAttribute" value="${project.release.type}" \
/> +				<attribute type="AssemblyCompanyAttribute" \
value="http://activemq.apache.org/nms" /> +				<attribute \
type="AssemblyProductAttribute" value="${project.short_description}" /> \
+				<attribute type="AssemblyCopyrightAttribute" value="Copyright (C) \
${project.startyear}-${datetime::get-year(datetime::now())} Apache Software \
Foundation" /> +				<attribute type="AssemblyTrademarkAttribute" value="" />
+				<attribute type="AssemblyCultureAttribute" value="" />
+				<attribute type="AssemblyVersionAttribute" value="${project.version.numeric}" />
+				<attribute type="AssemblyInformationalVersionAttribute" \
value="${project.version}" /> +			</attributes>
+		</asminfo>
+	</target>
+
+	<!-- ============================================================================================ \
--> +	<!--    C O N F I G U R A T I O N     T A R G E T S                             \
--> +	<!-- ============================================================================================ \
--> +
+	<target name="set-noskip-configuration" description="Disable skipping 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="current.build.defines" value="${build.defines}DEBUG,TRACE," \
dynamic="true" /> +		<property name="csc.debug" value="Full" />
+		<property name="csc.optimize" value="false" />
+	</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="Full" />
+		<property name="csc.optimize" value="true" />
+	</target>
+
+	<target name="set-net-1.1-framework-configuration">
+		<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="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_v2_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-3.5-framework-configuration">
+		<property name="current.build.framework" value="net-3.5" />
+		<property name="current.build.framework.name" value=".NET 3.5" />
+		<property name="current.build.defines" value="${build.defines}NET,NET_2_0,NET_3_5" \
dynamic="true" /> +		<property name="current.build.framework.sign" value="true" />
+		<property name="link.sdkdoc.version" value="SDK_v6_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-2.0-framework-configuration">
+		<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>
+
+	<!-- ============================================================================================ \
--> +	<!--     C O M P I L E    T A R G E T S                                         \
--> +	<!-- ============================================================================================ \
--> +
+	<target name="compile-all" description="Compile all build configurations for all \
runtime configurations"> +		<echo message="Compiling all build configurations for all \
runtime configurations." /> +		<foreach item="String" in="${build.framework.strings}" \
delim="," property="current.build.framework"> +			<foreach item="String" \
in="${build.config.strings}" delim="," property="current.build.config"> +				<call \
target="compile-target" /> +			</foreach>
+		</foreach>
+	</target>
+
+	<target name="compile-target" depends="init, conditional-compile" />
+
+	<target name="conditional-compile" depends="init" unless="${build.skip or \
compile.skip}" +			description="Conditionaly compiles all the modules if build \
framework and type are supported"> +		<call target="compile" />
+	</target>
+
+	<target name="compile" description="Compile everything">
+		<call target="compile-main" cascade="false" />
+		<call target="compile-test" cascade="false" />
+	</target>
+
+	<target name="compile-main" depends="init" description="Build the main library">
+		<echo message="Building the ${project.name} library" />
+		<property name="assemblyinfo.filename" \
value="src/main/csharp/CommonAssemblyInfo.cs" /> +		<call \
target="generate-assemblyinfo" /> +
+		<csc if="${current.build.keysign}" keyfile="${snk.file}" target="library"
+				define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" \
optimize="${csc.optimize}" +				output="${build.bin.dir}/${project.name}.dll" \
doc="${build.bin.dir}/${project.name}.xml"> +			<nowarn>
+				<warning number="1591" /> <!-- do not report warnings for missing XML comments \
--> +			</nowarn>
+			<sources failonempty="true">
+				<include name="src/main/csharp/**.cs" />
+			</sources>
+			<references refid="dependencies" />
+		</csc>
+		<csc if="${not current.build.keysign}" target="library"
+				define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" \
optimize="${csc.optimize}" +				output="${build.bin.dir}/${project.name}.dll" \
doc="${build.bin.dir}/${project.name}.xml"> +			<nowarn>
+				<warning number="1591" /> <!-- do not report warnings for missing XML comments \
--> +			</nowarn>
+			<sources failonempty="true">
+				<include name="src/main/csharp/**.cs" />
+			</sources>
+			<references refid="dependencies" />
+		</csc>
+		<call target="copy-content" />
+	</target>
+
+	<!-- Compile the nms-test module -->
+	<target name="compile-test" depends="compile-main" description="Build the test \
library"> +		<echo message="Building the ${project.name}.Test library" />
+		<property name="assemblyinfo.filename" \
value="src/test/csharp/CommonAssemblyInfo.cs" /> +		<call \
target="generate-assemblyinfo" /> +
+		<csc if="${current.build.keysign}" keyfile="${snk.file}" target="library"
+				define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" \
optimize="${csc.optimize}" +				output="${build.bin.dir}/${project.name}.Test.dll" \
doc="${build.bin.dir}/${project.name}.Test.xml"> +			<nowarn>
+				<warning number="1591" /> <!-- do not report warnings for missing XML comments \
--> +			</nowarn>
+			<sources failonempty="true">
+				<include name="src/test/csharp/**.cs" />
+			</sources>
+			<references refid="test.dependencies" />
+		</csc>
+		<csc if="${not current.build.keysign}" target="library"
+				define="${current.build.defines}" warnaserror="false" debug="${csc.debug}" \
optimize="${csc.optimize}" +				output="${build.bin.dir}/${project.name}.Test.dll" \
doc="${build.bin.dir}/${project.name}.Test.xml"> +			<nowarn>
+				<warning number="1591" /> <!-- do not report warnings for missing XML comments \
--> +			</nowarn>
+			<sources failonempty="true">
+				<include name="src/test/csharp/**.cs" />
+			</sources>
+			<references refid="test.dependencies" />
+		</csc>
+		<call target="copy-content" />
+	</target>
+
+	<target name="copy-content">
+		<foreach item="File" property="content.filename">
+			<in>
+				<items refid="content.filenames" />
+			</in>
+			<do>
+				<copy todir="${build.bin.dir}" file="${content.filename}" if="${not \
file::up-to-date(content.filename, '${build.bin.dir}/${content.filename}')}" /> \
+			</do> +		</foreach>
+	</target>
+
+	<!-- ============================================================================================ \
--> +	<!--      I N S T A L L     T A R G E T S                                       \
--> +	<!-- ============================================================================================ \
--> +
+	<target name="install-all" description="Install all build configurations for all \
runtime configurations"> +		<echo message="Installing all build configurations for \
all runtime configurations." /> +		<foreach item="String" \
in="${build.framework.strings}" delim="," property="current.build.framework"> \
+			<foreach item="String" in="${build.config.strings}" delim="," \
property="current.build.config"> +				<call target="install" />
+			</foreach>
+		</foreach>
+	</target>
+
+	<!-- Install the modules to the local repo -->
+	<target name="install" depends="init, conditional-compile, conditional-install"
+			description="Install the artifacts into the nant repo" />
+
+	<target name="conditional-install" unless="${build.skip}"
+			description="Install the artifacts into the nant repo">
+		<property name="path" \
value="${project.group}/${project.name}/${project.version.full}/${current.build.framework}/${current.build.config}" \
/> +		<foreach item="File" property="install.filename">
+			<in>
+				<items refid="install.filenames" />
+			</in>
+			<do>
+				<property name="repo.task.artifact" \
value="${path}/${path::get-file-name(install.filename)}" /> +				<property \
name="repo.task.src" value="${install.filename}" /> +				<property \
name="repo.task.dest" value="${nant.local.repo}/${repo.task.artifact}" /> +				<mkdir \
dir="${directory::get-parent-directory(repo.task.dest)}" /> +				<copy \
file="${repo.task.src}" tofile="${repo.task.dest}" /> +			</do>
+		</foreach>
+	</target>
+
+	<!-- ============================================================================================ \
--> +	<!--      R E P O    D O W N L O A D     T A R G E T S                          \
--> +	<!-- ============================================================================================ \
--> +
+	<target name="download-vendor-all" description="Download vendor files for all \
runtime configurations"> +		<echo message="Downloading vendor files for all runtime \
configurations." /> +		<property name="vendor.build.config" value="release" />
+		<foreach item="String" in="${build.framework.strings}" delim="," \
property="vendor.build.framework"> +			<call target="download-vendor" />
+		</foreach>
+	</target>
+
+	<target name="download-vendor" depends="vendor-init, conditional-download"
+				description="Download the vendor artifacts from the nant repo" />
+
+	<target name="conditional-download" unless="${build.skip}"
+				description="Download the artifacts from the nant repo">
+		<!-- Iterate over the defined vendor filesets. -->
+		<foreach item="String" in="${vendor.fileset.names}" delim="," \
property="current.vendor"> +			<property name="vendor.name" \
value="${property::get-value(current.vendor + '.name')}" /> +			<property \
name="vendor.group" value="${property::get-value(current.vendor + '.group')}" /> \
+			<property name="vendor.version" value="${property::get-value(current.vendor + \
'.version')}" /> +			<property name="vendor.filenames" \
value="${property::get-value(current.vendor + '.filenames')}" /> +			<property \
name="local.repo.vendor.path" \
value="${nant.local.repo}/${vendor.group}/${vendor.name}/${vendor.version}/${vendor.build.framework}/${vendor.build.config}" \
/> +			<property name="vendor.path" \
value="vendor/${vendor.name}/${vendor.build.framework}" /> +			<property \
name="lib.path" value="lib/${vendor.name}/${vendor.build.framework}" /> +			<!--
+			Update the LIB folder with the latest version of the file.  By default, the file \
from the +			VENDOR folder will be used.  However, if there is a newer version \
installed in the local +			repository, then that version will be copied into the LIB \
folder. +			-->
+			<foreach item="String" in="${vendor.filenames}" delim="," \
property="repo.task.artifact"> +				<property name="lib.task.dest" \
value="${lib.path}/${repo.task.artifact}" /> +				<mkdir \
dir="${directory::get-parent-directory(lib.task.dest)}" /> +				<property \
name="vendor.task.src" value="${vendor.path}/${repo.task.artifact}" /> +				<property \
name="repo.task.src" value="${local.repo.vendor.path}/${repo.task.artifact}" /> \
+				<copy file="${repo.task.src}" tofile="${lib.task.dest}" \
if="${file::exists(repo.task.src)}" /> +				<if test="${not \
file::exists(repo.task.src)}"> +					<copy file="${vendor.task.src}" \
tofile="${lib.task.dest}" if="${file::exists(vendor.task.src)}" /> +				</if>
+			</foreach>
+		</foreach>
+	</target>
+
+	<!-- ============================================================================================ \
--> +	<!--      D E P L O Y     T A R G E T S                                         \
--> +	<!-- ============================================================================================ \
--> +
+	<target name="deploy-all" depends="generate-build-number" description="Deploy all \
build configurations for all runtime configurations"> +		<echo message="Deploying \
release configurations for all runtime configurations." /> +		<call \
target="set-release-configuration" /> +		<foreach item="String" \
in="${build.framework.strings}" delim="," property="current.build.framework"> \
+			<call target="deploy-target" /> +		</foreach>
+
+		<!-- Commit the deployed files to repository.  This completes the deployment. -->
+		<exec program="svn" failonerror="false">
+			<arg value="commit" />
+			<arg value="deploy" />
+			<arg value="-m" />
+			<arg value="Deploy ${project.name} ${project.version.numeric}" />
+		</exec>
+	</target>
+
+	<target name="deploy-target" depends="init, conditional-deploy" />
+
+	<target name="conditional-deploy" depends="init" unless="${build.skip}"
+				description="Conditionaly deploy all the modules if build framework and type are \
supported"> +		<call target="deploy" />
+	</target>
+
+	<!-- Deploy the modules to the global repo -->
+	<target name="deploy" description="Deploy the artifacts into the subversion repo">
+		<property name="repo.dir" value="deploy/${current.build.framework}" />
+		<foreach item="File" property="deploy.filename">
+			<in>
+				<items refid="deploy.filenames" />
+			</in>
+			<do>
+				<property name="repo.task.dest" value="${path::get-file-name(deploy.filename)}" \
/> +				<copy file="${deploy.filename}" todir="${repo.dir}" \
unless="${file::up-to-date(deploy.filename, '${repo.dir}/${repo.task.dest}')}" /> \
+			</do> +		</foreach>
+	</target>
+
+	<!-- ============================================================================================ \
--> +	<!--      T E S T     T A R G E T S                                             \
--> +	<!-- ============================================================================================ \
--> +
+	<target name="test" depends="test-debug" description="Alias test target to \
test-debug" /> +
+	<target name="test-all" depends="test-debug, test-release" description="Test all \
build configurations for all runtime configurations" /> +
+	<target name="test-debug" depends="" description="Test debug build configurations \
for all runtime configurations"> +		<property name="current.build.config" \
value="debug" /> +		<call target="test-frameworks" />
+	</target>
+
+	<target name="test-release" depends="" description="Test release build \
configurations for all runtime configurations"> +		<property \
name="current.build.config" value="release" /> +		<call target="test-frameworks" />
+	</target>
+
+	<target name="test-frameworks">
+		<foreach item="String" in="${build.framework.strings}" delim="," \
property="current.build.framework"> +			<call target="init" />
+			<if test="${not build.skip}">
+				<exec program="nunit-console" failonerror="true" \
workingdir="build/${current.build.framework}/${current.build.config}"> +					<arg \
value="${NUnit.Projectfile}" /> +					<arg value="-labels" />
+					<arg value="-xml=Nunit.TestOutput.xml" />
+				</exec>
+			</if>
+		</foreach>
+	</target>
+
+	<!-- ============================================================================================ \
--> +	<!--      M I S C E L L A N E O U S    T A R G E T S                            \
--> +	<!-- ============================================================================================ \
--> +
+	<target name="build" depends="default" description="Build the project." />
+
+	<target name="rebuild" depends="clean,build" description="Rebuild the project." />
+
+	<target name="clean" description="Deletes build">
+		<if test="${target::exists('clean-init')}">
+			<call target="clean-init" />
+		</if>
+		<delete dir="build" if="${directory::exists('build')}" />
+		<delete dir="obj" if="${directory::exists('obj')}" />
+		<delete dir="lib" if="${directory::exists('lib')}" />
+		<delete dir="package" if="${directory::exists('package')}" />
+	</target>
+
+	<target name="doc" depends="build">
+		<mkdir dir="${doc.dir}" />
+		<ndoc failonerror="false">
+			<assemblies basedir="${build.bin.dir}">
+				<include name="${project.name}.dll" />
+			</assemblies>
+			<summaries basedir="${basedir}/src/main/ndoc">
+				<include name="NamespaceSummary.xml" />
+			</summaries>
+			<documenters>
+				<documenter name="MSDN">
+					<property name="OutputDirectory" value="${doc.dir}" />
+					<property name="HtmlHelpName" value="${project.name}" />
+					<property name="HtmlHelpCompilerFilename" value="hhc.exe" />
+					<property name="IncludeFavorites" value="False" />
+					<property name="Title" value="${project.short_description}" />
+					<property name="SplitTOCs" value="False" />
+					<property name="DefaulTOC" value="" />
+					<!--
+					<property name="ShowVisualBasic" value="True" />
+					<property name="ShowMissingSummaries" value="True" />
+					<property name="ShowMissingRemarks" value="True" />
+					<property name="ShowMissingParams" value="True" />
+					<property name="ShowMissingReturns" value="True" />
+					<property name="ShowMissingValues" value="True" />
+					-->
+					<property name="DocumentInternals" value="False" />
+					<property name="DocumentProtected" value="True" />
+					<property name="DocumentPrivates" value="False" />
+					<property name="DocumentEmptyNamespaces" value="False" />
+					<property name="IncludeAssemblyVersion" value="True" />
+					<property name="CopyrightText" value="" />
+					<property name="CopyrightHref" value="" />
+				</documenter>
+			</documenters>
+		</ndoc>
+	</target>
+
+	<target name="sandcastle" depends="set-release-configuration, init, \
conditional-compile"> +		<!-- Directories -->
+		<property name="sandcastle.style" value="vs2005" \
unless="${property::exists('sandcastle.style')}" /> +		<property \
name="documentation.dir" value="${build.bin.dir}" /> +		<property \
name="bin.intern.dir" value="${build.bin.dir}" /> +		<property name="bin.extern.dir" \
value="${basedir}\vendor\NUnit\net-2.0" /> +		<property name="sandcastle.dir" \
value="${environment::get-variable('DXROOT')}" /> +		<property \
name="sandcastle.workingdir" value="${build.dir}\doc\${sandcastle.style}" /> \
+		<property name="sandcastle.output.dir" value="${sandcastle.workingdir}\Output" /> \
+ +		<!-- Executables -->
+		<property name="sandcastle.mrefbuilder.exe" \
value="${sandcastle.dir}\productiontools\mrefbuilder.exe" /> +		<property \
name="sandcastle.buildassembler.exe" \
value="${sandcastle.dir}\productiontools\buildassembler.exe" /> +		<property \
name="sandcastle.xsltransform.exe" \
value="${sandcastle.dir}\productiontools\xsltransform.exe" /> +		<property \
name="sandcastle.productiontransforms.dir" \
value="${sandcastle.dir}\ProductionTransforms" /> +
+		<!-- Create or Cleanup Working Directory -->
+		<mkdir dir="${sandcastle.workingdir}"
+				if="${not directory::exists(sandcastle.workingdir)}" />
+		<delete>
+			<fileset basedir="${sandcastle.workingdir}">
+				<include name="**\*" />
+			</fileset>
+		</delete>
+
+		<!-- Copy configuration file, and hard code references -->
+		<copy file="${sandcastle.dir}/Presentation/${sandcastle.style}/Configuration/Sandcastle.config"
 +				tofile="${sandcastle.workingdir}/Sandcastle.config">
+			<filterchain>
+				<replacestring from="&quot;..\..\" to="&quot;${sandcastle.dir}\" />
+				<replacestring from="&quot;..\" to="&quot;${sandcastle.dir}\Examples\" />
+				<replacestring from="&quot;.\comments.xml" \
to="&quot;${documentation.dir}\${project.name}.xml" /> +				<replacestring \
from="&quot;%DXROOT%\Presentation\${sandcastle.style}\content\feedback_content.xml&quot;" \
to="&quot;${basedir}/src/main/sandcastle/feedback_content.xml&quot;" /> \
+			</filterchain> +		</copy>
+
+		<!-- Run MRefBuilder (introspection on assemblies) to create basic Reflection XML \
--> +		<exec program="${sandcastle.mrefbuilder.exe}" \
workingdir="${sandcastle.workingdir}"> +			<arg \
value="${bin.intern.dir}/${project.name}.dll" /> +			<arg \
value="/out:reflection.int.xml" /> +			<arg value="/dep:${bin.extern.dir}\*.dll" />
+		</exec>
+
+		<!-- Create Reflection XML -->
+		<exec program="${sandcastle.xsltransform.exe}" \
workingdir="${sandcastle.workingdir}"> +			<arg \
value="/xsl:&quot;${sandcastle.productiontransforms.dir}\ApplyVSDocModel.xsl&quot;" \
if="${sandcastle.style != 'prototype'}" /> +			<arg \
value="/xsl:&quot;${sandcastle.productiontransforms.dir}\ApplyPrototypeDocModel.xsl&quot;" \
if="${sandcastle.style == 'prototype'}" /> +			<arg \
value="/xsl:&quot;${sandcastle.productiontransforms.dir}\AddFriendlyFilenames.xsl&quot;" \
/> <!-- if="${sandcastle.style != 'prototype'}" /> --> +			<arg \
value="/xsl:&quot;${sandcastle.productiontransforms.dir}\AddGuidFilenames.xsl&quot;" \
if="${sandcastle.style == 'disabled'}" /> +			<arg value="reflection.int.xml" />
+			<arg value="/out:reflection.xml" />
+			<arg value="/arg:IncludeAllMembersTopic=true" />
+			<arg value="/arg:IncludeInheritedOverloadTopics=true" />
+		</exec>
+
+		<!-- Create Manifest (list of Topics) -->
+		<exec program="${sandcastle.xsltransform.exe}" \
workingdir="${sandcastle.workingdir}"> +			<arg \
value="/xsl:&quot;${sandcastle.productiontransforms.dir}\ReflectionToManifest.xsl&quot;" \
/> +			<arg value="reflection.xml" />
+			<arg value="/out:manifest.xml" />
+		</exec>
+
+		<!-- Create Output Environment -->
+		<mkdir dir="${sandcastle.output.dir}" />
+		<mkdir dir="${sandcastle.output.dir}/html" />
+		<copy todir="${sandcastle.output.dir}">
+			<fileset basedir="${sandcastle.dir}/Presentation/${sandcastle.style}">
+				<include name="icons/*" />
+				<include name="media/*" />
+				<include name="scripts/*" />
+				<include name="styles/*" />
+			</fileset>
+		</copy>
+
+		<!-- Run BuildAssembler (create html topic files) -->
+		<exec program="${sandcastle.buildassembler.exe}" \
workingdir="${sandcastle.workingdir}"> +			<arg value="/config:Sandcastle.config" />
+			<arg value="manifest.xml" />
+		</exec>
+	</target>
+
+	<target name="sandcastle-all" description="Generate all formats of the Sandcastle \
documentation files."> +		<foreach item="String" in="vs2005,prototype,hana" delim="," \
property="sandcastle.style"> +			<call target="sandcastle" />
+		</foreach>
+	</target>
+</project>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic