activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jgo...@apache.org
Subject svn commit: r709288 - in /activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk: nant-common.xml vs2008-msmq-test.csproj vs2008-msmq.csproj
Date Thu, 30 Oct 2008 23:23:17 GMT
Author: jgomes
Date: Thu Oct 30 16:23:17 2008
New Revision: 709288

URL: http://svn.apache.org/viewvc?rev=709288&view=rev
Log:
Implemented installing and downloading of assemblies to and from the local NAnt repository.
Fixes [AMQNET-121]. (See https://issues.apache.org/activemq/browse/AMQNET-121)

Modified:
    activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/nant-common.xml
    activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/vs2008-msmq-test.csproj
    activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/vs2008-msmq.csproj

Modified: activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/nant-common.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/nant-common.xml?rev=709288&r1=709287&r2=709288&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/nant-common.xml (original)
+++ activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/nant-common.xml Thu Oct 30 16:23:17 2008
@@ -18,13 +18,13 @@
 <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                               
              -->
+  <!--    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
== 'release', '', '-' + project.release.type)}" dynamic="true" />
+  <property name="project.version.full"  value="${project.version + if(project.release.type
== 'snapshot', '-' + 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"
/>
@@ -35,9 +35,19 @@
   <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="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"/>
+
+  <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')}"
@@ -59,60 +69,15 @@
   <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>
+  <!-- ============================================================================================
-->
+  <!--      I N I T I A L I Z A T I O N     T A R G E T S                            
              -->
+  <!-- ============================================================================================
-->
 
   <target name="release-init" description="Initializes release build properties">
     <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}/activemq-dotnet.snk" if="${not property::exists('snk.file')}"/>
-    <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">
@@ -128,10 +93,8 @@
     <!-- 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" />
+       <call target="release-init"/>
+       <property name="build.skip" value="false"/>
     </if>
     <if test="${not framework::exists(current.build.framework)}">
        <if test="${build.noskip}">
@@ -151,81 +114,106 @@
       </if>
     </if>
 
+   <property name="current.build.keysign" value="${current.build.config=='release' and
file::exists(snk.file) and current.build.framework.sign}"/>
+   <property name="build.bin.dir" value="${basedir}/build/${nant.settings.currentframework}/${current.build.config}"
/>
     <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>
+    <call target="dependency-init"/>
+  </target>
+
+  <!-- Generate assemblyinfo.cs files -->
+  <target name="generate-assemblyinfo" 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) 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>
   </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 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="csc.debug"                    value="true" />
-    <property name="csc.optimize"                 value="false" />
+    <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" />
+    <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" />
+    <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" />
+    <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" />
+    <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="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}"
/>
@@ -233,12 +221,12 @@
   </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" />
+    <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>
@@ -247,54 +235,33 @@
   <!-- ============================================================================================
-->
   <!--     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"
/>
+      <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="conditional-compile" depends="init" unless="${build.skip}"
+  <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" depends="compile-main,compile-test" description="Compile everything"/>
+  <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"/>
 
-    <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>
+    <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}"
@@ -325,34 +292,14 @@
   <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>
+    <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
-->
-        <warning number="0618" /> <!-- do not report deprecation warnings -->
       </nowarn>
       <sources failonempty="true">
           <include name="src/test/csharp/**.cs" />
@@ -364,7 +311,6 @@
       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" />
@@ -391,31 +337,19 @@
 
   <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" />
+    <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="compile" description="Install the artifacts into the
nant 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">
@@ -423,13 +357,62 @@
         <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}"/>
+        <property name="repo.task.artifact" value="${path}/${path::get-file-name(install.filename)}"/>
+        <property name="repo.task.src" value="${install.filename}"/>
         <call target="repo-install"/>
       </do>
     </foreach>
   </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>
+
+  <!-- ============================================================================================
-->
+  <!--      R E P O    D O W N L O A D     T A R G E T S                             
              -->
+  <!-- ============================================================================================
-->
+
+  <target name="download-vendor-all" depends="release-init" 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="${vendor.group}/${vendor.name}/${vendor.version}/${vendor.build.framework}/${vendor.build.config}"/>
+      <property name="vendor.repo" value="vendor/${vendor.name}/${vendor.build.framework}"
/>
+
+      <foreach item="String" in="${vendor.filenames}" delim="," property="repo.task.artifact">
+        <property name="repo.task.src" value="${nant.local.repo}/${local.repo.vendor.path}/${repo.task.artifact}"/>
+        <property name="repo.task.dest" value="${vendor.repo}/${repo.task.artifact}"/>
+
+        <if test="${file::exists(repo.task.src) and not file::up-to-date(repo.task.src,
repo.task.dest)}">
+          <mkdir dir="${directory::get-parent-directory(repo.task.dest)}" />
+          <get src="${repo.task.src}" dest="${repo.task.dest}" />
+        </if>
+      </foreach>
+    </foreach>
+  </target>
+
   <!-- ============================================================================================
-->
   <!--      D E P L O Y     T A R G E T S                                            
              -->
   <!-- ============================================================================================
-->
@@ -438,11 +421,9 @@
     <echo message="Deploying release configurations for all runtime configurations." />
 
     <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"
/>
+    <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">
@@ -453,16 +434,15 @@
 	</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>
 
-  <target name="init-deploy">
-  </target>
-
   <!-- Deploy the modules to the global repo -->
-  <target name="deploy" depends="init-deploy" description="Deploy the artifacts into the
nant 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">

Modified: activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/vs2008-msmq-test.csproj
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/vs2008-msmq-test.csproj?rev=709288&r1=709287&r2=709288&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/vs2008-msmq-test.csproj (original)
+++ activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/vs2008-msmq-test.csproj Thu Oct 30 16:23:17
2008
@@ -38,6 +38,7 @@
     <SccLocalPath>Svn</SccLocalPath>
     <SccAuxPath>Svn</SccAuxPath>
     <SccProvider>SubversionScc</SccProvider>
+    <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
@@ -112,4 +113,8 @@
     </Content>
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
+  <PropertyGroup>
+    <PostBuildEvent>cd $(ProjectDir)
+nant -nologo -q install-all -D:compile.skip=true</PostBuildEvent>
+  </PropertyGroup>
 </Project>
\ No newline at end of file

Modified: activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/vs2008-msmq.csproj
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/vs2008-msmq.csproj?rev=709288&r1=709287&r2=709288&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/vs2008-msmq.csproj (original)
+++ activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/vs2008-msmq.csproj Thu Oct 30 16:23:17
2008
@@ -38,6 +38,7 @@
     <SccLocalPath>Svn</SccLocalPath>
     <SccAuxPath>Svn</SccAuxPath>
     <SccProvider>SubversionScc</SccProvider>
+    <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
@@ -106,4 +107,10 @@
     </BootstrapperPackage>
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
+  <PropertyGroup>
+    <PreBuildEvent>cd $(ProjectDir)
+nant -nologo download-vendor -D:vendor.build.config=$(ConfigurationName) -D:vendor.build.framework=net-2.0</PreBuildEvent>
+    <PostBuildEvent>cd $(ProjectDir)
+nant -nologo -q install-all -D:compile.skip=true</PostBuildEvent>
+  </PropertyGroup>
 </Project>
\ No newline at end of file



Mime
View raw message