Fix vendor download routine to ensure build configurations match.
diff --git a/nant-common.xml b/nant-common.xml
index 0ad3fcf..6e635b7 100644
--- a/nant-common.xml
+++ b/nant-common.xml
@@ -44,12 +44,7 @@
<property name="build.framework.strings" value="net-1.1,net-2.0,net-3.5,mono-2.0,netcf-2.0"/>
<property name="current.build.framework.assembly.dir" value="${framework::get-assembly-directory(framework::get-target-framework())}" dynamic="true"/>
- <if test="${build.skip.release}">
- <property name="build.config.strings" value="debug"/>
- </if>
- <if test="${not(build.skip.release)}">
- <property name="build.config.strings" value="debug,release"/>
- </if>
+ <property name="build.config.strings" value="${if(property::exists('configuration'), configuration, if(build.skip.release == 'true', 'debug', 'debug,release'))}" dynamic="true" />
<!-- Figure out the user's HOME directory -->
<property name="user.home" value="${environment::get-variable('HOME')}"
@@ -201,7 +196,7 @@
<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="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)}">
@@ -277,7 +272,7 @@
<call target="compile" />
</target>
- <target name="compile" description="Compile everything">
+ <target name="compile" depends="download-vendor" description="Compile everything">
<call target="compile-main" cascade="false" />
<call target="compile-test" cascade="false" />
</target>
@@ -397,8 +392,8 @@
<target name="download-vendor-all" description="Download vendor files for all runtime configurations">
<echo message="Downloading vendor files for all runtime configurations." />
- <property name="vendor.build.config" value="release" />
- <foreach item="String" in="${build.framework.strings}" delim="," property="vendor.build.framework">
+ <property name="current.build.config" value="release" />
+ <foreach item="String" in="${build.framework.strings}" delim="," property="current.build.framework">
<call target="download-vendor" />
</foreach>
</target>
@@ -416,9 +411,8 @@
<property name="vendor.version" value="${property::get-value(current.vendor + '.version')}"/>
<property name="vendor.filenames" value="${property::get-value(current.vendor + '.filenames')}"/>
- <property name="local.repo.vendor.path" value="${nant.local.repo}/${vendor.group}/${vendor.name}/${vendor.version}/${vendor.build.framework}/${vendor.build.config}"/>
- <property name="vendor.path" value="vendor/${vendor.name}/${vendor.build.framework}" />
- <property name="lib.path" value="lib/${vendor.name}/${vendor.build.framework}" />
+ <property name="local.repo.vendor.path" value="${nant.local.repo}/${vendor.group}/${vendor.name}/${vendor.version}/${current.build.framework}/${current.build.config}" />
+ <property name="lib.path" value="lib/${vendor.name}/${current.build.framework}" />
<!--
Update the LIB folder with the latest version of the file. By default, the file from the
@@ -428,63 +422,13 @@
<foreach item="String" in="${vendor.filenames}" delim="," property="repo.task.artifact">
<property name="lib.task.dest" value="${lib.path}/${repo.task.artifact}"/>
<mkdir dir="${directory::get-parent-directory(lib.task.dest)}" />
-
- <property name="vendor.task.src" value="${vendor.path}/${repo.task.artifact}"/>
<property name="repo.task.src" value="${local.repo.vendor.path}/${repo.task.artifact}"/>
-
<copy file="${repo.task.src}" tofile="${lib.task.dest}" if="${file::exists(repo.task.src)}"/>
- <if test="${not file::exists(repo.task.src)}">
- <copy file="${vendor.task.src}" tofile="${lib.task.dest}" if="${file::exists(vendor.task.src)}"/>
- </if>
</foreach>
</foreach>
</target>
<!-- ============================================================================================ -->
- <!-- D E P L O Y T A R G E T S -->
- <!-- ============================================================================================ -->
-
- <target name="deploy-all" depends="generate-build-number" description="Deploy all build configurations for all runtime configurations">
- <echo message="Deploying release configurations for all runtime configurations." />
-
- <call target="set-release-configuration" />
- <foreach item="String" in="${build.framework.strings}" delim="," property="current.build.framework">
- <call target="deploy-target" />
- </foreach>
-
- <!-- Commit the deployed files to repository. This completes the deployment. -->
- <exec program="svn" failonerror="false">
- <arg value="commit"/>
- <arg value="deploy"/>
- <arg value="-m"/>
- <arg value="Deploy ${project.name} ${project.version.numeric}"/>
- </exec>
- </target>
-
- <target name="deploy-target" depends="init, conditional-deploy"/>
-
- <target name="conditional-deploy" depends="init" unless="${build.skip}"
- description="Conditionaly deploy all the modules if build framework and type are supported">
- <call target="deploy" />
- </target>
-
- <!-- Deploy the modules to the global repo -->
- <target name="deploy" description="Deploy the artifacts into the subversion repo">
- <property name="repo.dir" value="deploy/${current.build.framework}"/>
-
- <foreach item="File" property="deploy.filename">
- <in>
- <items refid="deploy.filenames" />
- </in>
- <do>
- <property name="repo.task.dest" value="${path::get-file-name(deploy.filename)}"/>
- <copy file="${deploy.filename}" todir="${repo.dir}" unless="${file::up-to-date(deploy.filename, '${repo.dir}/${repo.task.dest}')}" />
- </do>
- </foreach>
-
- </target>
-
- <!-- ============================================================================================ -->
<!-- T E S T T A R G E T S -->
<!-- ============================================================================================ -->
@@ -531,7 +475,7 @@
<delete dir="package" if="${directory::exists('package')}" />
</target>
- <target name="doc" depends="compile">
+ <target name="doc" depends="build">
<mkdir dir="${doc.dir}"/>
<ndoc failonerror="false">
<assemblies basedir="${build.bin.dir}">
diff --git a/nant.build b/nant.build
index 9465907..135a7bc 100644
--- a/nant.build
+++ b/nant.build
@@ -123,7 +123,7 @@
</fileset>
</target>
- <target name="default" depends="download-vendor-all, install-all" />
+ <target name="default" depends="install-all" />
<!-- Load the common target definitions -->
<include buildfile="${basedir}/nant-common.xml"/>