activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jgo...@apache.org
Subject svn commit: r703220 - in /activemq/activemq-dotnet/BuildScripts: ./ tags/ tags/1.0.0/ tags/1.0.0/nant-common.xml trunk/ trunk/nant-common.xml
Date Thu, 09 Oct 2008 18:24:46 GMT
Author: jgomes
Date: Thu Oct  9 11:24:45 2008
New Revision: 703220

URL: http://svn.apache.org/viewvc?rev=703220&view=rev
Log:
Check-in common build scripts.

Added:
    activemq/activemq-dotnet/BuildScripts/
    activemq/activemq-dotnet/BuildScripts/tags/
    activemq/activemq-dotnet/BuildScripts/tags/1.0.0/
    activemq/activemq-dotnet/BuildScripts/tags/1.0.0/nant-common.xml   (with props)
    activemq/activemq-dotnet/BuildScripts/trunk/
    activemq/activemq-dotnet/BuildScripts/trunk/nant-common.xml

Added: activemq/activemq-dotnet/BuildScripts/tags/1.0.0/nant-common.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/BuildScripts/tags/1.0.0/nant-common.xml?rev=703220&view=auto
==============================================================================
--- activemq/activemq-dotnet/BuildScripts/tags/1.0.0/nant-common.xml (added)
+++ activemq/activemq-dotnet/BuildScripts/tags/1.0.0/nant-common.xml Thu Oct  9 11:24:45 2008
@@ -0,0 +1,541 @@
+<?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">
+
+  <!-- ============================================================================================ -->
+  <!--    I N I T I A L I Z A T I O N    T A R G E T 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 == 'release', '', '-' + project.release.type)}" dynamic="true" />
+  <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="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}" />
+
+  <!-- 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-win32()}"
+            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-win32()}"/>
+
+  <!-- Figure out the NANT repositories-->
+  <property name="nant.repo" value="${environment::get-variable('NANT_REPO')}"
+            if="${environment::variable-exists('NANT_REPO')}"
+            unless="${property::exists('nant.repo')}"/>
+  <property name="nant.local.repo" value="${user.home}/.nant/repository"
+            unless="${property::exists('nant.local.repo')}"/>
+
+  <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.remote.repo" value="http://people.apache.org/~chirino/nant-repo"
+          unless="${property::exists('nant.remote.repo')}"/>
+
+  <!-- Nant Repo Tasks -->
+  <target name="repo-download" description="Download a dependency from the remote repo to the local repo">
+    <fail message="The repo.task.artifact variable has not been set.  Please set it before you call this task." unless="${property::exists('repo.task.artifact')}"/>
+
+    <property name="repo.task.src" value="${nant.remote.repo}/${repo.task.artifact}"/>
+    <property name="repo.task.dest" value="${nant.local.repo}/${repo.task.artifact}"/>
+
+    <property name="repo.task.download" value="false"/>
+    <if test="${not file::exists(repo.task.dest)}">
+      <property name="repo.task.download" value="true"/>
+    </if>
+
+    <if test="${file::exists(repo.task.dest)}">
+      <!-- TODO: we could also download if the file is a SNAPSHOT and is stale -->
+      <property name="repo.task.download" value="false"/>
+      <echo message="Artifact: ${nant.remote.repo}/${repo.task.artifact} is up to date."/>
+    </if>
+
+    <if test="${repo.task.download}">
+      <echo message="Downloading artifact: ${repo.task.src}"/>
+      <mkdir dir="${directory::get-parent-directory(repo.task.dest)}" />
+      <get src="${repo.task.src}" dest="${repo.task.dest}"/>
+    </if>
+  </target>
+
+  <target name="repo-install" description="Install a dependency to the local repo">
+    <fail message="The repo.task.artifact variable has not been set.  Please set it before you call this task." unless="${property::exists('repo.task.artifact')}"/>
+    <fail message="The repo.task.src variable has not been set.  Please set it before you call this task." unless="${property::exists('repo.task.src')}"/>
+
+    <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}"/>
+  </target>
+
+  <target name="repo-deploy" description="Deploy a dependency to the deployment repo">
+    <fail message="Then nant.deploy.repo variable has not been set.  Please set it before you call this task." unless="${property::exists('nant.deploy.repo')}"/>
+    <fail message="The repo.task.artifact variable has not been set.  Please set it before you call this task." unless="${property::exists('repo.task.artifact')}"/>
+    <fail message="The repo.task.src variable has not been set.  Please set it before you call this task." unless="${property::exists('repo.task.src')}"/>
+
+    <property name="repo.task.dest" value="${nant.deploy.repo}/${repo.task.artifact}"/>
+    <mkdir dir="${directory::get-parent-directory(repo.task.dest)}" />
+    <copy file="${repo.task.src}" tofile="${repo.task.dest}"/>
+  </target>
+
+  <target name="release-init" description="Initializes release build properties">
+    <property name="snk.file"  value="${environment::get-variable('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 activemq-dotnet.snk'.  Then set the ACTIVEMQ_DOTNET_SNK environment variable to the full pathname of the file." />
+      </if>
+      <property name="build.skip.release" value="true" />
+    </if>
+    <if test="${file::exists(snk.file)}">
+      <property name="build.skip.release" value="false" />
+    </if>
+  </target>
+
+  <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"/>
+       </if>
+       <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>
+
+    <if test="${not(build.skip)}">
+       <property name="current.build.keysign" value="${current.build.config=='release' and file::exists(snk.file) 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}"/>
+       <call target="dependency-init"/>
+    </if>
+  </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 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" />
+    <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="true" />
+    <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_0a" />
+    <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" 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.1-framework-configuration"  /><call target="conditional-compile" />
+    <call target="set-net-2.0-framework-configuration"  /><call target="conditional-compile" />
+    <call target="set-net-3.5-framework-configuration"  /><call target="conditional-compile" />
+    <call target="set-mono-2.0-framework-configuration" /><call target="conditional-compile" />
+    <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-compile" />
+
+    <call target="set-release-configuration" />
+    <call target="set-net-1.1-framework-configuration"  /><call target="conditional-compile" />
+    <call target="set-net-2.0-framework-configuration"  /><call target="conditional-compile" />
+    <call target="set-net-3.5-framework-configuration"  /><call target="conditional-compile" />
+    <call target="set-mono-2.0-framework-configuration" /><call target="conditional-compile" />
+    <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-compile" />
+  </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="compile" depends="compile-main,compile-test" description="Compile everything"/>
+
+  <target name="compile-main" depends="init" description="Build the main library">
+    <echo message="Building the ${project.name} library"/>
+
+    <asminfo output="src/main/csharp/CommonAssemblyInfo.cs" 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) 2005-${datetime::get-year(datetime::now())} Apache Software Foundation" />
+        <attribute type="AssemblyTrademarkAttribute"     value="" />
+        <attribute type="AssemblyCultureAttribute"       value="" />
+        <attribute type="AssemblyVersionAttribute"       value="${project.version}" />
+        <attribute type="AssemblyInformationalVersionAttribute" value="${project.version}" />
+      </attributes>
+    </asminfo>
+
+    <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" />
+
+    <asminfo output="src/test/csharp/CommonAssemblyInfo.cs" 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) 2005-${datetime::get-year(datetime::now())} Apache Software Foundation" />
+        <attribute type="AssemblyTrademarkAttribute"     value="" />
+        <attribute type="AssemblyCultureAttribute"       value="" />
+        <attribute type="AssemblyVersionAttribute"       value="${project.version}" />
+        <attribute type="AssemblyInformationalVersionAttribute" value="${project.version}" />
+      </attributes>
+    </asminfo>
+
+    <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 -->
+        <warning number="0618" /> <!-- do not report deprecation warnings -->
+      </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 -->
+        <warning number="0618" /> <!-- do not report deprecation warnings -->
+      </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" depends="release-init" description="Install all build configurations for all runtime configurations">
+    <echo message="Installing all build configurations for all runtime configurations." />
+    <call target="set-debug-configuration" />
+    <call target="set-net-1.1-framework-configuration"  /><call target="conditional-install" />
+    <call target="set-net-2.0-framework-configuration"  /><call target="conditional-install" />
+    <call target="set-net-3.5-framework-configuration"  /><call target="conditional-install" />
+    <call target="set-mono-2.0-framework-configuration" /><call target="conditional-install" />
+    <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-install" />
+
+    <!-- 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.1-framework-configuration"  /><call target="conditional-install" />
+      <call target="set-net-2.0-framework-configuration"  /><call target="conditional-install" />
+      <call target="set-net-3.5-framework-configuration"  /><call target="conditional-install" />
+      <call target="set-mono-2.0-framework-configuration" /><call target="conditional-install" />
+      <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-install" />
+    </if>
+  </target>
+
+  <target name="conditional-install" depends="init" unless="${build.skip}"
+      description="Conditionaly install all the modules if build framework and type are supported">
+    <call target="install" />
+  </target>
+
+  <!-- Install the modules to the local repo -->
+  <target name="install" depends="compile" 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}/${install.filename}"/>
+        <property name="repo.task.src" value="${build.bin.dir}/${install.filename}"/>
+        <call target="repo-install"/>
+      </do>
+    </foreach>
+  </target>
+
+  <!-- ============================================================================================ -->
+  <!--      D E P L O Y     T A R G E T S                                                           -->
+  <!-- ============================================================================================ -->
+
+  <target name="deploy-all" depends="release-init" description="Deploy all build configurations for all runtime configurations">
+    <echo message="Deploying all build configurations for all runtime configurations." />
+
+    <call target="set-debug-configuration" />
+    <call target="set-net-1.1-framework-configuration"  /><call target="conditional-deploy" />
+    <call target="set-net-2.0-framework-configuration"  /><call target="conditional-deploy" />
+    <call target="set-net-3.5-framework-configuration"  /><call target="conditional-deploy" />
+    <call target="set-mono-2.0-framework-configuration" /><call target="conditional-deploy" />
+    <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-deploy" />
+
+    <!-- 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.1-framework-configuration"  /><call target="conditional-deploy" />
+      <call target="set-net-2.0-framework-configuration"  /><call target="conditional-deploy" />
+      <call target="set-net-3.5-framework-configuration"  /><call target="conditional-deploy" />
+      <call target="set-mono-2.0-framework-configuration" /><call target="conditional-deploy" />
+      <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-deploy" />
+    </if>
+  </target>
+
+  <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>
+
+  <target name="init-deploy">
+     <fail message="Then nant.deploy.repo variable has not been set.  Please set it before you call this task." unless="${property::exists('nant.deploy.repo')}"/>
+  </target>
+
+  <!-- Deploy the modules to the local repo -->
+  <target name="deploy" depends="init-deploy, install" description="Deploy 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="deploy.filename">
+      <in>
+        <items refid="deploy.filenames" />
+      </in>
+      <do>
+        <property name="repo.task.artifact" value="${path}/${deploy.filename}"/>
+        <property name="repo.task.src" value="${build.bin.dir}/${deploy.filename}"/>
+        <call target="repo-deploy"/>
+      </do>
+    </foreach>
+
+  </target>
+
+  <!-- ============================================================================================ -->
+  <!--      M I S C E L L A N E O U S    T A R G E T S                                              -->
+  <!-- ============================================================================================ -->
+
+  <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')}" />
+  </target>
+
+  <target name="doc" depends="compile">
+    <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="False" />
+          <property name="CopyrightText" value="" />
+          <property name="CopyrightHref" value="" />
+        </documenter>
+      </documenters>
+    </ndoc>
+  </target>
+
+</project>

Propchange: activemq/activemq-dotnet/BuildScripts/tags/1.0.0/nant-common.xml
------------------------------------------------------------------------------
    svn:mergeinfo = 

Added: activemq/activemq-dotnet/BuildScripts/trunk/nant-common.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/BuildScripts/trunk/nant-common.xml?rev=703220&view=auto
==============================================================================
--- activemq/activemq-dotnet/BuildScripts/trunk/nant-common.xml (added)
+++ activemq/activemq-dotnet/BuildScripts/trunk/nant-common.xml Thu Oct  9 11:24:45 2008
@@ -0,0 +1,541 @@
+<?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">
+
+  <!-- ============================================================================================ -->
+  <!--    I N I T I A L I Z A T I O N    T A R G E T 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 == 'release', '', '-' + project.release.type)}" dynamic="true" />
+  <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="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}" />
+
+  <!-- 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-win32()}"
+            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-win32()}"/>
+
+  <!-- Figure out the NANT repositories-->
+  <property name="nant.repo" value="${environment::get-variable('NANT_REPO')}"
+            if="${environment::variable-exists('NANT_REPO')}"
+            unless="${property::exists('nant.repo')}"/>
+  <property name="nant.local.repo" value="${user.home}/.nant/repository"
+            unless="${property::exists('nant.local.repo')}"/>
+
+  <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.remote.repo" value="http://people.apache.org/~chirino/nant-repo"
+          unless="${property::exists('nant.remote.repo')}"/>
+
+  <!-- Nant Repo Tasks -->
+  <target name="repo-download" description="Download a dependency from the remote repo to the local repo">
+    <fail message="The repo.task.artifact variable has not been set.  Please set it before you call this task." unless="${property::exists('repo.task.artifact')}"/>
+
+    <property name="repo.task.src" value="${nant.remote.repo}/${repo.task.artifact}"/>
+    <property name="repo.task.dest" value="${nant.local.repo}/${repo.task.artifact}"/>
+
+    <property name="repo.task.download" value="false"/>
+    <if test="${not file::exists(repo.task.dest)}">
+      <property name="repo.task.download" value="true"/>
+    </if>
+
+    <if test="${file::exists(repo.task.dest)}">
+      <!-- TODO: we could also download if the file is a SNAPSHOT and is stale -->
+      <property name="repo.task.download" value="false"/>
+      <echo message="Artifact: ${nant.remote.repo}/${repo.task.artifact} is up to date."/>
+    </if>
+
+    <if test="${repo.task.download}">
+      <echo message="Downloading artifact: ${repo.task.src}"/>
+      <mkdir dir="${directory::get-parent-directory(repo.task.dest)}" />
+      <get src="${repo.task.src}" dest="${repo.task.dest}"/>
+    </if>
+  </target>
+
+  <target name="repo-install" description="Install a dependency to the local repo">
+    <fail message="The repo.task.artifact variable has not been set.  Please set it before you call this task." unless="${property::exists('repo.task.artifact')}"/>
+    <fail message="The repo.task.src variable has not been set.  Please set it before you call this task." unless="${property::exists('repo.task.src')}"/>
+
+    <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}"/>
+  </target>
+
+  <target name="repo-deploy" description="Deploy a dependency to the deployment repo">
+    <fail message="Then nant.deploy.repo variable has not been set.  Please set it before you call this task." unless="${property::exists('nant.deploy.repo')}"/>
+    <fail message="The repo.task.artifact variable has not been set.  Please set it before you call this task." unless="${property::exists('repo.task.artifact')}"/>
+    <fail message="The repo.task.src variable has not been set.  Please set it before you call this task." unless="${property::exists('repo.task.src')}"/>
+
+    <property name="repo.task.dest" value="${nant.deploy.repo}/${repo.task.artifact}"/>
+    <mkdir dir="${directory::get-parent-directory(repo.task.dest)}" />
+    <copy file="${repo.task.src}" tofile="${repo.task.dest}"/>
+  </target>
+
+  <target name="release-init" description="Initializes release build properties">
+    <property name="snk.file"  value="${environment::get-variable('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 activemq-dotnet.snk'.  Then set the ACTIVEMQ_DOTNET_SNK environment variable to the full pathname of the file." />
+      </if>
+      <property name="build.skip.release" value="true" />
+    </if>
+    <if test="${file::exists(snk.file)}">
+      <property name="build.skip.release" value="false" />
+    </if>
+  </target>
+
+  <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"/>
+       </if>
+       <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>
+
+    <if test="${not(build.skip)}">
+       <property name="current.build.keysign" value="${current.build.config=='release' and file::exists(snk.file) 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}"/>
+       <call target="dependency-init"/>
+    </if>
+  </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 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" />
+    <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="true" />
+    <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_0a" />
+    <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" 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.1-framework-configuration"  /><call target="conditional-compile" />
+    <call target="set-net-2.0-framework-configuration"  /><call target="conditional-compile" />
+    <call target="set-net-3.5-framework-configuration"  /><call target="conditional-compile" />
+    <call target="set-mono-2.0-framework-configuration" /><call target="conditional-compile" />
+    <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-compile" />
+
+    <call target="set-release-configuration" />
+    <call target="set-net-1.1-framework-configuration"  /><call target="conditional-compile" />
+    <call target="set-net-2.0-framework-configuration"  /><call target="conditional-compile" />
+    <call target="set-net-3.5-framework-configuration"  /><call target="conditional-compile" />
+    <call target="set-mono-2.0-framework-configuration" /><call target="conditional-compile" />
+    <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-compile" />
+  </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="compile" depends="compile-main,compile-test" description="Compile everything"/>
+
+  <target name="compile-main" depends="init" description="Build the main library">
+    <echo message="Building the ${project.name} library"/>
+
+    <asminfo output="src/main/csharp/CommonAssemblyInfo.cs" 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) 2005-${datetime::get-year(datetime::now())} Apache Software Foundation" />
+        <attribute type="AssemblyTrademarkAttribute"     value="" />
+        <attribute type="AssemblyCultureAttribute"       value="" />
+        <attribute type="AssemblyVersionAttribute"       value="${project.version}" />
+        <attribute type="AssemblyInformationalVersionAttribute" value="${project.version}" />
+      </attributes>
+    </asminfo>
+
+    <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" />
+
+    <asminfo output="src/test/csharp/CommonAssemblyInfo.cs" 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) 2005-${datetime::get-year(datetime::now())} Apache Software Foundation" />
+        <attribute type="AssemblyTrademarkAttribute"     value="" />
+        <attribute type="AssemblyCultureAttribute"       value="" />
+        <attribute type="AssemblyVersionAttribute"       value="${project.version}" />
+        <attribute type="AssemblyInformationalVersionAttribute" value="${project.version}" />
+      </attributes>
+    </asminfo>
+
+    <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 -->
+        <warning number="0618" /> <!-- do not report deprecation warnings -->
+      </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 -->
+        <warning number="0618" /> <!-- do not report deprecation warnings -->
+      </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" depends="release-init" description="Install all build configurations for all runtime configurations">
+    <echo message="Installing all build configurations for all runtime configurations." />
+    <call target="set-debug-configuration" />
+    <call target="set-net-1.1-framework-configuration"  /><call target="conditional-install" />
+    <call target="set-net-2.0-framework-configuration"  /><call target="conditional-install" />
+    <call target="set-net-3.5-framework-configuration"  /><call target="conditional-install" />
+    <call target="set-mono-2.0-framework-configuration" /><call target="conditional-install" />
+    <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-install" />
+
+    <!-- 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.1-framework-configuration"  /><call target="conditional-install" />
+      <call target="set-net-2.0-framework-configuration"  /><call target="conditional-install" />
+      <call target="set-net-3.5-framework-configuration"  /><call target="conditional-install" />
+      <call target="set-mono-2.0-framework-configuration" /><call target="conditional-install" />
+      <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-install" />
+    </if>
+  </target>
+
+  <target name="conditional-install" depends="init" unless="${build.skip}"
+      description="Conditionaly install all the modules if build framework and type are supported">
+    <call target="install" />
+  </target>
+
+  <!-- Install the modules to the local repo -->
+  <target name="install" depends="compile" 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}/${install.filename}"/>
+        <property name="repo.task.src" value="${build.bin.dir}/${install.filename}"/>
+        <call target="repo-install"/>
+      </do>
+    </foreach>
+  </target>
+
+  <!-- ============================================================================================ -->
+  <!--      D E P L O Y     T A R G E T S                                                           -->
+  <!-- ============================================================================================ -->
+
+  <target name="deploy-all" depends="release-init" description="Deploy all build configurations for all runtime configurations">
+    <echo message="Deploying all build configurations for all runtime configurations." />
+
+    <call target="set-debug-configuration" />
+    <call target="set-net-1.1-framework-configuration"  /><call target="conditional-deploy" />
+    <call target="set-net-2.0-framework-configuration"  /><call target="conditional-deploy" />
+    <call target="set-net-3.5-framework-configuration"  /><call target="conditional-deploy" />
+    <call target="set-mono-2.0-framework-configuration" /><call target="conditional-deploy" />
+    <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-deploy" />
+
+    <!-- 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.1-framework-configuration"  /><call target="conditional-deploy" />
+      <call target="set-net-2.0-framework-configuration"  /><call target="conditional-deploy" />
+      <call target="set-net-3.5-framework-configuration"  /><call target="conditional-deploy" />
+      <call target="set-mono-2.0-framework-configuration" /><call target="conditional-deploy" />
+      <call target="set-netcf-2.0-framework-configuration"/><call target="conditional-deploy" />
+    </if>
+  </target>
+
+  <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>
+
+  <target name="init-deploy">
+     <fail message="Then nant.deploy.repo variable has not been set.  Please set it before you call this task." unless="${property::exists('nant.deploy.repo')}"/>
+  </target>
+
+  <!-- Deploy the modules to the local repo -->
+  <target name="deploy" depends="init-deploy, install" description="Deploy 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="deploy.filename">
+      <in>
+        <items refid="deploy.filenames" />
+      </in>
+      <do>
+        <property name="repo.task.artifact" value="${path}/${deploy.filename}"/>
+        <property name="repo.task.src" value="${build.bin.dir}/${deploy.filename}"/>
+        <call target="repo-deploy"/>
+      </do>
+    </foreach>
+
+  </target>
+
+  <!-- ============================================================================================ -->
+  <!--      M I S C E L L A N E O U S    T A R G E T S                                              -->
+  <!-- ============================================================================================ -->
+
+  <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')}" />
+  </target>
+
+  <target name="doc" depends="compile">
+    <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="False" />
+          <property name="CopyrightText" value="" />
+          <property name="CopyrightHref" value="" />
+        </documenter>
+      </documenters>
+    </ndoc>
+  </target>
+
+</project>



Mime
View raw message