logging-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bode...@apache.org
Subject svn commit: r1539058 - in /logging/log4net/trunk: log4net.build log4net.include tests/nant.build
Date Tue, 05 Nov 2013 16:57:08 GMT
Author: bodewig
Date: Tue Nov  5 16:57:07 2013
New Revision: 1539058

URL: http://svn.apache.org/r1539058
Log:
reduce redundancy in build files

Modified:
    logging/log4net/trunk/log4net.build
    logging/log4net/trunk/log4net.include
    logging/log4net/trunk/tests/nant.build

Modified: logging/log4net/trunk/log4net.build
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/log4net.build?rev=1539058&r1=1539057&r2=1539058&view=diff
==============================================================================
--- logging/log4net/trunk/log4net.build (original)
+++ logging/log4net/trunk/log4net.build Tue Nov  5 16:57:07 2013
@@ -153,440 +153,79 @@ limitations under the License.
       <call target="compile-netcf-2.0" />
     </if>
     <!-- NET_2_0 -->
-    <if test="${framework::exists('net-2.0')}">
-      <call target="compile-net-2.0" />
-    </if>
-    <if test="${not framework::exists('net-2.0')}">
-      <if test="${property::exists('project.build.package') and project.build.package and not(directory::exists(path::combine(bin.dir, 'net/2.0/debug')) and directory::exists(path::combine(bin.dir, 'net/2.0/release')) and directory::exists(path::combine(bin.dir, 'net/2.0/oldkey')))}">
-        <fail message="The .NET Framework 2.0 is not available." />
-      </if>
-      <if test="${not(property::exists('project.build.package') and project.build.package)}">
-        <echo message="The .NET Framework 2.0 is not available. Build skipped." />
-      </if>
-    </if>
+    <property name="required.target" value="net-2.0"/>
+    <property name="required.target.name" value=".NET Framework 2.0"/>
+    <property name="required.target.dir" value="net/2.0"/>
+    <call target="-compile-or-fail"/>
     <!-- NET_3_5 -->
+    <property name="required.target" value="net-3.5"/>
+    <property name="required.target.name" value=".NET Framework 3.5"/>
+    <property name="required.target.dir" value="net/3.5"/>
+    <call target="-compile-or-fail"/>
     <if test="${framework::exists('net-3.5')}">
-      <call target="compile-net-3.5" />
       <call target="compile-net-3.5-cp" />
     </if>
-    <if test="${not framework::exists('net-3.5')}">
-      <if test="${property::exists('project.build.package') and project.build.package and not(directory::exists(path::combine(bin.dir, 'net/3.5/debug')) and directory::exists(path::combine(bin.dir, 'net/3.5/release')) and directory::exists(path::combine(bin.dir, 'net/3.5/oldkey')) and directory::exists(path::combine(bin.dir, 'net-cp/3.5/debug')) and directory::exists(path::combine(bin.dir, 'net-cp/3.5/release')) and directory::exists(path::combine(bin.dir, 'net-cp/3.5/oldkey')))}">
-        <fail message="The .NET Framework 3.5 is not available." />
-      </if>
-      <if test="${not(property::exists('project.build.package') and project.build.package)}">
-        <echo message="The .NET Framework 3.5 is not available. Build skipped." />
-      </if>
-    </if>
     <!-- NET_4_0 -->
+    <property name="required.target" value="net-4.0"/>
+    <property name="required.target.name" value=".NET Framework 4.0"/>
+    <property name="required.target.dir" value="net/4.0"/>
+    <call target="-compile-or-fail"/>
     <if test="${framework::exists('net-4.0')}">
-      <call target="compile-net-4.0" />
       <call target="compile-net-4.0-cp" />
     </if>
-    <if test="${not framework::exists('net-4.0')}">
-      <if test="${property::exists('project.build.package') and project.build.package and not(directory::exists(path::combine(bin.dir, 'net/4.0/debug')) and directory::exists(path::combine(bin.dir, 'net/4.0/release')) and directory::exists(path::combine(bin.dir, 'net/4.0/oldkey')) and directory::exists(path::combine(bin.dir, 'net-cp/4.0/debug')) and directory::exists(path::combine(bin.dir, 'net-cp/4.0/release')) and directory::exists(path::combine(bin.dir, 'net-cp/4.0/oldkey')))}">
-        <fail message="The .NET Framework 4.0 is not available." />
-      </if>
-      <if test="${not(property::exists('project.build.package') and project.build.package)}">
-        <echo message="The .NET Framework 4.0 is not available. Build skipped." />
-      </if>
-    </if>
     <!-- MONO_2_0 -->
-    <if test="${framework::exists('mono-2.0')}">
-      <call target="compile-mono-2.0" />
-    </if>
-    <if test="${not framework::exists('mono-2.0')}">
-      <if test="${property::exists('project.build.package') and project.build.package and not(directory::exists(path::combine(bin.dir, 'mono/2.0/debug')) and directory::exists(path::combine(bin.dir, 'mono/2.0/release')) and directory::exists(path::combine(bin.dir, 'mono/2.0/oldkey')))}">
-        <fail message="Mono 2.0 is not available." />
+    <property name="required.target" value="mono-2.0"/>
+    <property name="required.target.name" value="Mono 2.0"/>
+    <property name="required.target.dir" value="mono/2.0"/>
+    <call target="-compile-or-fail"/>
+  </target>
+
+  <!-- Oh, how I wish NAnt had macros -->
+  <target name="-compile-or-fail">
+    <if test="${framework::exists(required.target)}">
+      <call target="compile-${required.target}" />
+    </if>
+    <if test="${not framework::exists(required.target)}">
+      <if test="${property::exists('project.build.package') and project.build.package and not(directory::exists(path::combine(bin.dir, required.target.dir + '/debug')) and directory::exists(path::combine(bin.dir, required.target.dir + '/release')) and directory::exists(path::combine(bin.dir, required.target.dir + '/oldkey')))}">
+        <fail message="The ${required.target.name} is not available." />
       </if>
       <if test="${not(property::exists('project.build.package') and project.build.package)}">
-        <echo message="Mono 2.0 is not available. Build skipped." />
+        <echo message="The ${required.target.name} is not available. Build skipped." />
       </if>
     </if>
   </target>
+
   <target name="compile" description="Builds the current build configuration for the current target framework." depends="check-current-build-config">
     <call target="compile-${framework::get-target-framework()}" />
   </target>
-  <target name="compile-netcf-2.0" description="Builds .NET Compact Framework 2.0 version" depends="set-netcf-2.0-runtime-configuration, check-log4net-basedir, clean-current-bin-dir">
-    <!-- initialize the temp.build.skip property to false -->
-    <property name="temp.build.skip" value="false" />
-    <if test="${current.build.config.release}">
-      <!-- check if the old log4net key file is available -->
-      <if test="${not file::exists(log4net.basedir + '/old-log4net.snk')}">
-        <if test="${property::exists('project.build.package') and project.build.package}">
-          <fail message="Old key file not found." />
-        </if>
-        <if test="${not(property::exists('project.build.package') and project.build.package)}">
-          <echo message="Old key file not found."/>
-          <echo message="The release build using the old key will be skipped." />
-          <property name="temp.build.skip" value="true" />
-        </if>
-      </if>
-    </if>
-    <if test="${not temp.build.skip}">
-      <csc if="${current.build.config.release}" keyfile="${path::combine(log4net.basedir, 'old-log4net.snk')}" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/../oldkey/log4net.dll" doc="${current.bin.dir}/../oldkey/log4net.xml">
-        <sources basedir="${log4net.basedir}/src">
-          <include name="**/*.cs" />
-        </sources>
-        <resources failonempty="true">
-          <include name="${log4net.basedir}/NOTICE" />
-          <include name="${log4net.basedir}/LICENSE" />
-        </resources>
-        <references>
-          <include name="mscorlib.dll" />
-          <include name="System.dll" />
-          <include name="System.Data.dll" />
-          <include name="System.Xml.dll" />
-          <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-          <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-        </references>
-      </csc>
-    </if>
-    <csc if="${current.build.config.release}" keyfile="${path::combine(log4net.basedir, 'log4net.snk')}" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.dll" doc="${current.bin.dir}/log4net.xml">
-      <sources basedir="${log4net.basedir}/src">
-        <include name="**/*.cs" />
-      </sources>
-      <resources failonempty="true">
-        <include name="${log4net.basedir}/NOTICE" />
-        <include name="${log4net.basedir}/LICENSE" />
-      </resources>
-      <references>
-        <include name="mscorlib.dll" />
-        <include name="System.dll" />
-        <include name="System.Data.dll" />
-        <include name="System.Xml.dll" />
-        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-      </references>
-    </csc>
-    <csc if="${current.build.config.debug}" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.dll" doc="${current.bin.dir}/log4net.xml">
-      <sources basedir="${log4net.basedir}/src">
-        <include name="**/*.cs" />
-      </sources>
-      <resources failonempty="true">
-        <include name="${log4net.basedir}/NOTICE" />
-        <include name="${log4net.basedir}/LICENSE" />
-      </resources>
-      <references>
-        <include name="mscorlib.dll" />
-        <include name="System.dll" />
-        <include name="System.Data.dll" />
-        <include name="System.Xml.dll" />
-        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-      </references>
-    </csc>
-  </target>
-  <target name="compile-net-2.0" description="Builds .NET Framework 2.0 version" depends="set-net-2.0-runtime-configuration, check-log4net-basedir, clean-current-bin-dir">
-    <!-- initialize the temp.build.skip property to false -->
-    <property name="temp.build.skip" value="false" />
-    <if test="${current.build.config.release}">
-      <!-- check if the old log4net key file is available -->
-      <if test="${not file::exists(log4net.basedir + '/old-log4net.snk')}">
-        <if test="${property::exists('project.build.package') and project.build.package}">
-          <fail message="Old key file not found." />
-        </if>
-        <if test="${not(property::exists('project.build.package') and project.build.package)}">
-          <echo message="Old key file not found."/>
-          <echo message="The release build using the old key will be skipped." />
-          <property name="temp.build.skip" value="true" />
-        </if>
-      </if>
-    </if>
-    <if test="${not temp.build.skip}">
-      <csc if="${current.build.config.release}" keyfile="${path::combine(log4net.basedir, 'old-log4net.snk')}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/../oldkey/log4net.dll" doc="${current.bin.dir}/../oldkey/log4net.xml">
-        <sources basedir="${log4net.basedir}/src">
-          <include name="**/*.cs" />
-        </sources>
-        <resources failonempty="true">
-          <include name="${log4net.basedir}/NOTICE" />
-          <include name="${log4net.basedir}/LICENSE" />
-        </resources>
-        <references>
-          <include name="mscorlib.dll" />
-          <include name="System.dll" />
-          <include name="System.Data.dll" />
-          <include name="System.Web.dll" />
-          <include name="System.Xml.dll" />
-          <include name="System.Configuration.dll" />
-          <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-          <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-        </references>
-      </csc>
-    </if>
-    <csc if="${current.build.config.release}" keyfile="${path::combine(log4net.basedir, 'log4net.snk')}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.dll" doc="${current.bin.dir}/log4net.xml">
-      <sources basedir="${log4net.basedir}/src">
-        <include name="**/*.cs" />
-      </sources>
-      <resources failonempty="true">
-        <include name="${log4net.basedir}/NOTICE" />
-        <include name="${log4net.basedir}/LICENSE" />
-      </resources>
-      <references>
-        <include name="mscorlib.dll" />
-        <include name="System.dll" />
-        <include name="System.Data.dll" />
-        <include name="System.Web.dll" />
-        <include name="System.Xml.dll" />
-        <include name="System.Configuration.dll" />
-        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-      </references>
-    </csc>
-    <csc if="${current.build.config.debug}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.dll" doc="${current.bin.dir}/log4net.xml">
-      <sources basedir="${log4net.basedir}/src">
-        <include name="**/*.cs" />
-      </sources>
-      <resources failonempty="true">
-        <include name="${log4net.basedir}/NOTICE" />
-        <include name="${log4net.basedir}/LICENSE" />
-      </resources>
-      <references>
-        <include name="mscorlib.dll" />
-        <include name="System.dll" />
-        <include name="System.Data.dll" />
-        <include name="System.Web.dll" />
-        <include name="System.Xml.dll" />
-        <include name="System.Configuration.dll" />
-        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-      </references>
-    </csc>
-  </target>
-  <target name="compile-net-3.5" description="Builds .NET Framework 3.5 version" depends="set-net-3.5-runtime-configuration, check-log4net-basedir, clean-current-bin-dir">
-    <!-- initialize the temp.build.skip property to false -->
-    <property name="temp.build.skip" value="false" />
-    <if test="${current.build.config.release}">
-      <!-- check if the old log4net key file is available -->
-      <if test="${not file::exists(log4net.basedir + '/old-log4net.snk')}">
-        <if test="${property::exists('project.build.package') and project.build.package}">
-          <fail message="Old key file not found." />
-        </if>
-        <if test="${not(property::exists('project.build.package') and project.build.package)}">
-          <echo message="old key file not found."/>
-          <echo message="The release build using the old key will be skipped." />
-          <property name="temp.build.skip" value="true" />
-        </if>
-      </if>
-    </if>
-    <if test="${not temp.build.skip}">
-      <csc if="${current.build.config.release}" keyfile="${path::combine(log4net.basedir, 'old-log4net.snk')}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/../oldkey/log4net.dll" doc="${current.bin.dir}/../oldkey/log4net.xml">
-        <sources basedir="${log4net.basedir}/src">
-          <include name="**/*.cs" />
-        </sources>
-        <resources failonempty="true">
-          <include name="${log4net.basedir}/NOTICE" />
-          <include name="${log4net.basedir}/LICENSE" />
-        </resources>
-        <references>
-          <include name="mscorlib.dll" />
-          <include name="System.dll" />
-          <include name="System.Core.dll" />
-          <include name="System.Data.dll" />
-          <include name="System.Web.dll" />
-          <include name="System.Xml.dll" />
-          <include name="System.Configuration.dll" />
-          <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-          <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-        </references>
-      </csc>
-    </if>
-    <csc if="${current.build.config.release}" keyfile="${path::combine(log4net.basedir, 'log4net.snk')}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.dll" doc="${current.bin.dir}/log4net.xml">
-      <sources basedir="${log4net.basedir}/src">
-        <include name="**/*.cs" />
-      </sources>
-      <resources failonempty="true">
-        <include name="${log4net.basedir}/NOTICE" />
-        <include name="${log4net.basedir}/LICENSE" />
-      </resources>
-      <references>
-        <include name="mscorlib.dll" />
-        <include name="System.dll" />
-        <include name="System.Core.dll" />
-        <include name="System.Data.dll" />
-        <include name="System.Web.dll" />
-        <include name="System.Xml.dll" />
-        <include name="System.Configuration.dll" />
-        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-      </references>
-    </csc>
-    <csc if="${current.build.config.debug}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.dll" doc="${current.bin.dir}/log4net.xml">
-      <sources basedir="${log4net.basedir}/src">
-        <include name="**/*.cs" />
-      </sources>
-      <resources failonempty="true">
-        <include name="${log4net.basedir}/NOTICE" />
-        <include name="${log4net.basedir}/LICENSE" />
-      </resources>
-      <references>
-        <include name="mscorlib.dll" />
-        <include name="System.dll" />
-        <include name="System.Core.dll" />
-        <include name="System.Data.dll" />
-        <include name="System.Web.dll" />
-        <include name="System.Xml.dll" />
-        <include name="System.Configuration.dll" />
-        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-      </references>
-    </csc>
-  </target>
-  <target name="compile-net-3.5-cp" description="Builds .NET Framework 3.5 Client Profile version" depends="set-net-3.5-cp-runtime-configuration, check-log4net-basedir, clean-current-bin-dir">
-    <!-- initialize the temp.build.skip property to false -->
-    <property name="temp.build.skip" value="false" />
-    <if test="${current.build.config.release}">
-      <!-- check if the old log4net key file is available -->
-      <if test="${not file::exists(log4net.basedir + '/old-log4net.snk')}">
-        <if test="${property::exists('project.build.package') and project.build.package}">
-          <fail message="Old key file not found." />
-        </if>
-        <if test="${not(property::exists('project.build.package') and project.build.package)}">
-          <echo message="Old key file not found."/>
-          <echo message="The release build using the old key will be skipped." />
-          <property name="temp.build.skip" value="true" />
-        </if>
-      </if>
-    </if>
-    <if test="${not temp.build.skip}">
-      <csc if="${current.build.config.release}" keyfile="${path::combine(log4net.basedir, 'old-log4net.snk')}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/../oldkey/log4net.dll" doc="${current.bin.dir}/../oldkey/log4net.xml">
-        <sources basedir="${log4net.basedir}/src">
-          <include name="**/*.cs" />
-        </sources>
-        <resources failonempty="true">
-          <include name="${log4net.basedir}/NOTICE" />
-          <include name="${log4net.basedir}/LICENSE" />
-        </resources>
-        <references>
-          <include name="mscorlib.dll" />
-          <include name="System.dll" />
-          <include name="System.Core.dll" />
-          <include name="System.Data.dll" />
-          <include name="System.Xml.dll" />
-          <include name="System.Configuration.dll" />
-          <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-          <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-        </references>
-      </csc>
-    </if>
-    <csc if="${current.build.config.release}" keyfile="${path::combine(log4net.basedir, 'log4net.snk')}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.dll" doc="${current.bin.dir}/log4net.xml">
-      <sources basedir="${log4net.basedir}/src">
-        <include name="**/*.cs" />
-      </sources>
-      <resources failonempty="true">
-        <include name="${log4net.basedir}/NOTICE" />
-        <include name="${log4net.basedir}/LICENSE" />
-      </resources>
-      <references>
-        <include name="mscorlib.dll" />
-        <include name="System.dll" />
-        <include name="System.Core.dll" />
-        <include name="System.Data.dll" />
-        <include name="System.Xml.dll" />
-        <include name="System.Configuration.dll" />
-        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-      </references>
-    </csc>
-    <csc if="${current.build.config.debug}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.dll" doc="${current.bin.dir}/log4net.xml">
-      <sources basedir="${log4net.basedir}/src">
-        <include name="**/*.cs" />
-      </sources>
-      <resources failonempty="true">
-        <include name="${log4net.basedir}/NOTICE" />
-        <include name="${log4net.basedir}/LICENSE" />
-      </resources>
-      <references>
-        <include name="mscorlib.dll" />
-        <include name="System.dll" />
-        <include name="System.Core.dll" />
-        <include name="System.Data.dll" />
-        <include name="System.Xml.dll" />
-        <include name="System.Configuration.dll" />
-        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-      </references>
-    </csc>
-  </target>
-  <target name="compile-net-4.0" description="Builds .NET Framework 4.0 version" depends="set-net-4.0-runtime-configuration, check-log4net-basedir, clean-current-bin-dir">
-    <!-- initialize the temp.build.skip property to false -->
-    <property name="temp.build.skip" value="false" />
-    <if test="${current.build.config.release}">
-      <!-- check if the old log4net key file is available -->
-      <if test="${not file::exists(log4net.basedir + '/old-log4net.snk')}">
-        <if test="${property::exists('project.build.package') and project.build.package}">
-          <fail message="Old key file not found." />
-        </if>
-        <if test="${not(property::exists('project.build.package') and project.build.package)}">
-          <echo message="Old key file not found."/>
-          <echo message="The release build using the old key will be skipped." />
-          <property name="temp.build.skip" value="true" />
-        </if>
-      </if>
-    </if>
-    <if test="${not temp.build.skip}">
-      <csc if="${current.build.config.release}" keyfile="${path::combine(log4net.basedir, 'old-log4net.snk')}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/../oldkey/log4net.dll" doc="${current.bin.dir}/../oldkey/log4net.xml">
-        <sources basedir="${log4net.basedir}/src">
-          <include name="**/*.cs" />
-        </sources>
-        <resources failonempty="true">
-          <include name="${log4net.basedir}/NOTICE" />
-          <include name="${log4net.basedir}/LICENSE" />
-        </resources>
-        <references>
-          <include name="mscorlib.dll" />
-          <include name="System.dll" />
-          <include name="System.Core.dll" />
-          <include name="System.Data.dll" />
-          <include name="System.Web.dll" />
-          <include name="System.Xml.dll" />
-          <include name="System.Configuration.dll" />
-          <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-          <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-        </references>
-      </csc>
-    </if>
-    <csc if="${current.build.config.release}" keyfile="${path::combine(log4net.basedir, 'log4net.snk')}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.dll" doc="${current.bin.dir}/log4net.xml">
-      <sources basedir="${log4net.basedir}/src">
-        <include name="**/*.cs" />
-      </sources>
-      <resources failonempty="true">
-        <include name="${log4net.basedir}/NOTICE" />
-        <include name="${log4net.basedir}/LICENSE" />
-      </resources>
-      <references>
-        <include name="mscorlib.dll" />
-        <include name="System.dll" />
-        <include name="System.Core.dll" />
-        <include name="System.Data.dll" />
-        <include name="System.Web.dll" />
-        <include name="System.Xml.dll" />
-        <include name="System.Configuration.dll" />
-        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-      </references>
-    </csc>
-    <csc if="${current.build.config.debug}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.dll" doc="${current.bin.dir}/log4net.xml">
-      <sources basedir="${log4net.basedir}/src">
-        <include name="**/*.cs" />
-      </sources>
-      <resources failonempty="true">
-        <include name="${log4net.basedir}/NOTICE" />
-        <include name="${log4net.basedir}/LICENSE" />
-      </resources>
-      <references>
-        <include name="mscorlib.dll" />
-        <include name="System.dll" />
-        <include name="System.Core.dll" />
-        <include name="System.Data.dll" />
-        <include name="System.Web.dll" />
-        <include name="System.Xml.dll" />
-        <include name="System.Configuration.dll" />
-        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-      </references>
-    </csc>
-  </target>
-  <target name="compile-net-4.0-cp" description="Builds .NET Framework 4.0 Client Profile version" depends="set-net-4.0-cp-runtime-configuration, check-log4net-basedir, clean-current-bin-dir">
+  <target name="compile-netcf-2.0" description="Builds .NET Compact Framework 2.0 version" depends="set-netcf-2.0-runtime-configuration,-compile-specific-build"/>
+  <target name="compile-net-2.0" description="Builds .NET Framework 2.0 version" depends="set-net-2.0-runtime-configuration,-compile-specific-build"/>
+  <target name="compile-net-3.5" description="Builds .NET Framework 3.5 version" depends="set-net-3.5-runtime-configuration,-compile-specific-build"/>
+  <target name="compile-net-3.5-cp" description="Builds .NET Framework 3.5 Client Profile version" depends="set-net-3.5-cp-runtime-configuration,-compile-specific-build"/>
+  <target name="compile-net-4.0" description="Builds .NET Framework 4.0 version" depends="set-net-4.0-runtime-configuration,-compile-specific-build"/>
+  <target name="compile-net-4.0-cp" description="Builds .NET Framework 4.0 Client Profile version" depends="set-net-4.0-cp-runtime-configuration,-compile-specific-build"/>
+  <target name="compile-mono-2.0" description="Builds Mono 2.0 version" depends="set-mono-2.0-runtime-configuration,-compile-specific-build"/>
+
+  <target name="-compile-specific-build" depends="check-log4net-basedir, clean-current-bin-dir">
+    <resourcefileset id="nl-files" failonempty="true">
+      <include name="${log4net.basedir}/NOTICE" />
+      <include name="${log4net.basedir}/LICENSE" />
+    </resourcefileset>
+    <fileset id="sources" basedir="${log4net.basedir}/src">
+      <include name="**/*.cs" />
+    </fileset>
+    <assemblyfileset id="references">
+      <include name="mscorlib.dll"/>
+      <include name="System.dll" />
+      <include name="System.Core.dll" if="${current.build.has.systemcore}"/>
+      <include name="System.Data.dll" />
+      <include name="System.Web.dll" if="${current.build.has.systemweb}"/>
+      <include name="System.Xml.dll" />
+      <include name="System.Configuration.dll" if="${current.build.has.systemconfiguration}"/>
+      <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
+      <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
+    </assemblyfileset>
+
     <!-- initialize the temp.build.skip property to false -->
     <property name="temp.build.skip" value="false" />
     <if test="${current.build.config.release}">
@@ -604,152 +243,23 @@ limitations under the License.
     </if>
     <if test="${not temp.build.skip}">
       <csc if="${current.build.config.release}" keyfile="${path::combine(log4net.basedir, 'old-log4net.snk')}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/../oldkey/log4net.dll" doc="${current.bin.dir}/../oldkey/log4net.xml">
-        <sources basedir="${log4net.basedir}/src">
-          <include name="**/*.cs" />
-        </sources>
-        <resources failonempty="true">
-          <include name="${log4net.basedir}/NOTICE" />
-          <include name="${log4net.basedir}/LICENSE" />
-        </resources>
-        <references>
-          <include name="mscorlib.dll" />
-          <include name="System.dll" />
-          <include name="System.Core.dll" />
-          <include name="System.Data.dll" />
-          <include name="System.Xml.dll" />
-          <include name="System.Configuration.dll" />
-          <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-          <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-        </references>
+        <sources refid="sources"/>
+        <resources refid="nl-files"/>
+        <references refid="references"/>
       </csc>
     </if>
     <csc if="${current.build.config.release}" keyfile="${path::combine(log4net.basedir, 'log4net.snk')}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.dll" doc="${current.bin.dir}/log4net.xml">
-      <sources basedir="${log4net.basedir}/src">
-        <include name="**/*.cs" />
-      </sources>
-      <resources failonempty="true">
-        <include name="${log4net.basedir}/NOTICE" />
-        <include name="${log4net.basedir}/LICENSE" />
-      </resources>
-      <references>
-        <include name="mscorlib.dll" />
-        <include name="System.dll" />
-        <include name="System.Core.dll" />
-        <include name="System.Data.dll" />
-        <include name="System.Xml.dll" />
-        <include name="System.Configuration.dll" />
-        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-      </references>
+      <sources refid="sources"/>
+      <resources refid="nl-files"/>
+      <references refid="references"/>
     </csc>
     <csc if="${current.build.config.debug}" nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.dll" doc="${current.bin.dir}/log4net.xml">
-      <sources basedir="${log4net.basedir}/src">
-        <include name="**/*.cs" />
-      </sources>
-      <resources failonempty="true">
-        <include name="${log4net.basedir}/NOTICE" />
-        <include name="${log4net.basedir}/LICENSE" />
-      </resources>
-      <references>
-        <include name="mscorlib.dll" />
-        <include name="System.dll" />
-        <include name="System.Core.dll" />
-        <include name="System.Data.dll" />
-        <include name="System.Xml.dll" />
-        <include name="System.Configuration.dll" />
-        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-      </references>
-    </csc>
-  </target>
-  <target name="compile-mono-2.0" description="Builds Mono 2.0 version" depends="set-mono-2.0-runtime-configuration, check-log4net-basedir, clean-current-bin-dir">
-    <!-- initialize the temp.build.skip property to false -->
-    <property name="temp.build.skip" value="false" />
-    <if test="${current.build.config.release}">
-      <!-- check if the old log4net key file is available -->
-      <if test="${not file::exists(log4net.basedir + '/old-log4net.snk')}">
-        <if test="${property::exists('project.build.package') and project.build.package}">
-          <fail message="Old key file not found." />
-        </if>
-        <if test="${not(property::exists('project.build.package') and project.build.package)}">
-          <echo message="Old key file not found."/>
-          <echo message="The release build using the old key will be skipped." />
-          <property name="temp.build.skip" value="true" />
-        </if>
-      </if>
-      <if test="${file::exists(log4net.basedir + '/old-log4net.snk')}">
-        <mkdir dir="${current.bin.dir}/../oldkey" />
-      </if>
-    </if>
-    <if test="${not temp.build.skip}">
-      <csc if="${current.build.config.release}" keyfile="${path::combine(log4net.basedir, 'old-log4net.snk')}" nostdlib="false" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/../oldkey/log4net.dll" doc="${current.bin.dir}/../oldkey/log4net.xml">
-        <nowarn>
-          <!-- workaround for Mono bug #61902 -->
-          <warning number="0618" />
-        </nowarn>
-        <sources basedir="${log4net.basedir}/src">
-          <include name="**/*.cs" />
-        </sources>
-        <resources failonempty="true">
-          <include name="${log4net.basedir}/NOTICE" />
-          <include name="${log4net.basedir}/LICENSE" />
-        </resources>
-        <references>
-          <include name="System.dll" />
-          <include name="System.Data.dll" />
-          <include name="System.Web.dll" />
-          <include name="System.Xml.dll" />
-          <include name="System.Configuration.dll" />
-          <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-          <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-        </references>
-      </csc>
-    </if>
-    <csc if="${current.build.config.release}" keyfile="${path::combine(log4net.basedir, 'log4net.snk')}" nostdlib="false" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.dll" doc="${current.bin.dir}/log4net.xml">
-      <nowarn>
-        <!-- workaround for Mono bug #61902 -->
-        <warning number="0618" />
-      </nowarn>
-      <sources basedir="${log4net.basedir}/src">
-        <include name="**/*.cs" />
-      </sources>
-      <resources failonempty="true">
-        <include name="${log4net.basedir}/NOTICE" />
-        <include name="${log4net.basedir}/LICENSE" />
-      </resources>
-      <references>
-        <include name="System.dll" />
-        <include name="System.Data.dll" />
-        <include name="System.Web.dll" />
-        <include name="System.Xml.dll" />
-        <include name="System.Configuration.dll" />
-        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-      </references>
-    </csc>
-    <csc if="${current.build.config.debug}" nostdlib="false" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.dll" doc="${current.bin.dir}/log4net.xml">
-      <nowarn>
-        <!-- workaround for Mono bug #61902 -->
-        <warning number="0618" />
-      </nowarn>
-      <sources basedir="${log4net.basedir}/src">
-        <include name="**/*.cs" />
-      </sources>
-      <resources failonempty="true">
-        <include name="${log4net.basedir}/NOTICE" />
-        <include name="${log4net.basedir}/LICENSE" />
-      </resources>
-      <references>
-        <include name="System.dll" />
-        <include name="System.Data.dll" />
-        <include name="System.Web.dll" />
-        <include name="System.Xml.dll" />
-        <include name="System.Configuration.dll" />
-        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
-        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
-      </references>
+      <sources refid="sources"/>
+      <resources refid="nl-files"/>
+      <references refid="references"/>
     </csc>
   </target>
+
   <!-- Target for generating docs for all runtime configurations -->
   <target name="generate-sdkdoc-all" depends="check-current-build-config">
     <echo message="Generating SDK documentation temporarily disabled." />

Modified: logging/log4net/trunk/log4net.include
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/log4net.include?rev=1539058&r1=1539057&r2=1539058&view=diff
==============================================================================
--- logging/log4net/trunk/log4net.include (original)
+++ logging/log4net/trunk/log4net.include Tue Nov  5 16:57:07 2013
@@ -211,6 +211,9 @@ limitations under the License.
       <property name="current.build.api" value=""/>
       <property name="current.build.api.true" value=""/>
       <property name="current.build.api.slash_d" value=""/>
+      <property name="current.build.has.systemcore" value="false"/>
+      <property name="current.build.has.systemweb" value="true"/>
+      <property name="current.build.has.systemconfiguration" value="true"/>
       <call target="-set-framework-configuration"/>
     </target>
     <!-- uses NET_2_0 defines plus FRAMEWORK_3_5-->
@@ -220,6 +223,9 @@ limitations under the License.
       <property name="current.build.api" value=",FRAMEWORK_3_5_OR_ABOVE"/>
       <property name="current.build.api.true" value=",FRAMEWORK_3_5_OR_ABOVE=True"/>
       <property name="current.build.api.slash_d" value=" /D FRAMEWORK_3_5_OR_ABOVE"/>
+      <property name="current.build.has.systemcore" value="true"/>
+      <property name="current.build.has.systemweb" value="true"/>
+      <property name="current.build.has.systemconfiguration" value="true"/>
       <call target="-set-framework-configuration"/>
     </target>
     <!-- uses NET_2_0 defines plus FRAMEWORK_3_5 and CLIENT_PROFILE-->
@@ -229,6 +235,9 @@ limitations under the License.
       <property name="current.build.api" value=",FRAMEWORK_3_5_OR_ABOVE,CLIENT_PROFILE"/>
       <property name="current.build.api.true" value=",FRAMEWORK_3_5_OR_ABOVE=True,CLIENT_PROFILE=True"/>
       <property name="current.build.api.slash_d" value=" /D FRAMEWORK_3_5_OR_ABOVE /D CLIENT_PROFILE"/>
+      <property name="current.build.has.systemcore" value="true"/>
+      <property name="current.build.has.systemweb" value="false"/>
+      <property name="current.build.has.systemconfiguration" value="true"/>
       <call target="-set-framework-configuration"/>
     </target>
     <!-- uses NET_3_5 plus FRAMEWORK_4_0_OR_ABOVE defines -->
@@ -238,6 +247,9 @@ limitations under the License.
       <property name="current.build.api" value=",FRAMEWORK_3_5_OR_ABOVE,FRAMEWORK_4_0_OR_ABOVE"/>
       <property name="current.build.api.true" value=",FRAMEWORK_3_5_OR_ABOVE=True,FRAMEWORK_4_0_OR_ABOVE=True"/>
       <property name="current.build.api.slash_d" value=" /D FRAMEWORK_3_5_OR_ABOVE /D FRAMEWORK_4_0_OR_ABOVE"/>
+      <property name="current.build.has.systemcore" value="true"/>
+      <property name="current.build.has.systemweb" value="true"/>
+      <property name="current.build.has.systemconfiguration" value="true"/>
       <call target="-set-framework-configuration"/>
     </target>
     <!-- uses NET_3_5 plus FRAMEWORK_4_0_OR_ABOVE and CLIENT_PROFILE defines -->
@@ -247,6 +259,9 @@ limitations under the License.
       <property name="current.build.api" value=",FRAMEWORK_3_5_OR_ABOVE,FRAMEWORK_4_0_OR_ABOVE,CLIENT_PROFILE"/>
       <property name="current.build.api.true" value=",FRAMEWORK_3_5_OR_ABOVE=True,FRAMEWORK_4_0_OR_ABOVE=True,CLIENT_PROFILE=True"/>
       <property name="current.build.api.slash_d" value=" /D FRAMEWORK_3_5_OR_ABOVE /D FRAMEWORK_4_0_OR_ABOVE /D CLIENT_PROFILE"/>
+      <property name="current.build.has.systemcore" value="true"/>
+      <property name="current.build.has.systemweb" value="false"/>
+      <property name="current.build.has.systemconfiguration" value="true"/>
       <call target="-set-framework-configuration"/>
     </target>
     <target name="set-netcf-2.0-runtime-configuration">
@@ -255,6 +270,9 @@ limitations under the License.
       <property name="current.build.api" value=""/>
       <property name="current.build.api.true" value=""/>
       <property name="current.build.api.slash_d" value=""/>
+      <property name="current.build.has.systemcore" value="false"/>
+      <property name="current.build.has.systemweb" value="false"/>
+      <property name="current.build.has.systemconfiguration" value="false"/>
       <call target="-set-framework-configuration"/>
     </target>
     <target name="set-mono-2.0-runtime-configuration">
@@ -263,6 +281,9 @@ limitations under the License.
       <property name="current.build.api" value=""/>
       <property name="current.build.api.true" value=""/>
       <property name="current.build.api.slash_d" value=""/>
+      <property name="current.build.has.systemcore" value="false"/>
+      <property name="current.build.has.systemweb" value="true"/>
+      <property name="current.build.has.systemconfiguration" value="true"/>
       <call target="-set-framework-configuration"/>
     </target>
     <target name="-set-framework-configuration" depends="-check-bin-dir, -check-sdkdoc-dir, -check-sdkdoc-debug, check-current-build-config, -check-build-debug, -check-build-defines">

Modified: logging/log4net/trunk/tests/nant.build
URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/nant.build?rev=1539058&r1=1539057&r2=1539058&view=diff
==============================================================================
--- logging/log4net/trunk/tests/nant.build (original)
+++ logging/log4net/trunk/tests/nant.build Tue Nov  5 16:57:07 2013
@@ -32,387 +32,84 @@ limitations under the License.
         <if test="${framework::exists('net-2.0')}">
             <call target="compile-net-2.0" />
         </if>
-        <if test="${not framework::exists('net-2.0')}">
-            <if test="${property::exists('project.build.package') and project.build.package}">
-                <fail message="The .NET Framework 2.0 is not available." />
-            </if>
-            <if test="${not(property::exists('project.build.package') and project.build.package)}">
-                <echo message="The .NET Framework 2.0 is not available. Build skipped." />
-            </if>
-        </if>
 
         <if test="${framework::exists('mono-2.0')}">
             <call target="compile-mono-2.0" />
         </if>
-        <if test="${not framework::exists('mono-2.0')}">
-            <if test="${property::exists('project.build.package') and project.build.package}">
-                <fail message="The Mono Framework 2.0 is not available." />
-            </if>
-            <if test="${not(property::exists('project.build.package') and project.build.package)}">
-                <echo message="The Mono Framework 2.0 is not available. Build skipped." />
-            </if>
-        </if>
 
         <if test="${framework::exists('net-3.5')}">
             <call target="compile-net-3.5" />
             <call target="compile-net-3.5-cp" />
         </if>
-        <if test="${not framework::exists('net-3.5')}">
-            <if test="${property::exists('project.build.package') and project.build.package}">
-                <fail message="The .NET Framework 3.5 is not available." />
-            </if>
-            <if test="${not(property::exists('project.build.package') and project.build.package)}">
-                <echo message="The .NET Framework 3.5 is not available. Build skipped." />
-            </if>
-        </if>
 
         <if test="${framework::exists('net-4.0')}">
             <call target="compile-net-4.0" />
             <call target="compile-net-4.0-cp" />
         </if>
-        <if test="${not framework::exists('net-4.0')}">
-            <if test="${property::exists('project.build.package') and project.build.package}">
-                <fail message="The .NET Framework 4.0 is not available." />
-            </if>
-            <if test="${not(property::exists('project.build.package') and project.build.package)}">
-                <echo message="The .NET Framework 4.0 is not available. Build skipped." />
-            </if>
-        </if>
 
     </target>
 
-    <target name="compile-net-2.0" description="Builds log4net tests .NET Framework 2.0 version" depends="set-net-2.0-runtime-configuration, check-log4net-basedir, clean-current-bin-dir, check-log4net-assembly">
-        <!-- copy log4net build output -->
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/${current.bin.dir}">
-                <include name="*.*" />
-            </fileset>
-        </copy>
-        <!-- copy referenced libraries to build output -->
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib">
-                <include name="/*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <csc nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.Tests.dll">
-            <sources basedir="src">
-                <include name="**/*.cs" />
-                <include name="../../src/AssemblyVersionInfo.cs" />
-            </sources>
-            <references defaultexcludes="true">
-                <include name="mscorlib.dll" />
-                <include name="System.dll" />
-                <include name="System.Data.dll" />
-                <include name="System.Web.dll" />
-                <include name="System.Xml.dll" />
-                <include name="System.Runtime.Remoting.dll" />
-                <include name="${current.bin.dir}/log4net.dll" frompath="false" />
-                <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework>/<framework version>/<build configuration> directory -->
-                <include name="lib/*.dll" frompath="false" />
-                <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" frompath="false" />
-                <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/*.dll" frompath="false" />
-                <include name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" frompath="false" />
-                <include name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/*.dll" frompath="false" />
-            </references>
-        </csc>
-    </target>
-
-    <target name="compile-mono-2.0" description="Builds log4net tests Mono Framework 2.0 version" depends="set-mono-2.0-runtime-configuration, check-log4net-basedir, clean-current-bin-dir, check-log4net-assembly">
-        <!-- copy log4net build output -->
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/${current.bin.dir}">
-                <include name="*.*" />
-            </fileset>
-        </copy>
-        <!-- copy referenced libraries to build output -->
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib">
-                <include name="/*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <csc noconfig="true" warnaserror="false" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.Tests.dll">
-            <sources basedir="src">
-                <include name="**/*.cs" />
-                <include name="../../src/AssemblyVersionInfo.cs" />
-            </sources>
-            <references defaultexcludes="true">
-                <!-- include name="mscorlib.dll" / -->
-                <include name="System.dll" />
-                <include name="System.Data.dll" />
-                <include name="System.Web.dll" />
-                <include name="System.Xml.dll" />
-                <include name="System.Runtime.Remoting.dll" />
-                <include name="${current.bin.dir}/log4net.dll" frompath="false" />
-                <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework>/<framework version>/<build configuration> directory -->
-                <include name="lib/*.dll" frompath="false" />
-                <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" frompath="false" />
-                <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/*.dll" frompath="false" />
-                <include name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" frompath="false" />
-                <include name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/*.dll" frompath="false" />
-            </references>
-        </csc>
-    </target>
+    <target name="compile-net-2.0" description="Builds log4net tests .NET Framework 2.0 version" depends="set-net-2.0-runtime-configuration,-compile-tests"/>
 
-    <target name="compile-net-3.5" description="Builds log4net tests .NET Framework 3.5 version" depends="set-net-3.5-runtime-configuration, check-log4net-basedir, clean-current-bin-dir, check-log4net-assembly">
-        <!-- copy log4net build output -->
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/${current.bin.dir}">
-                <include name="*.*" />
-            </fileset>
-        </copy>
-        <!-- copy referenced libraries to build output -->
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib">
-                <include name="/*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <csc nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.Tests.dll">
-            <sources basedir="src">
-                <include name="**/*.cs" />
-                <include name="../../src/AssemblyVersionInfo.cs" />
-            </sources>
-            <references defaultexcludes="true">
-                <include name="mscorlib.dll" />
-                <include name="System.dll" />
-                <include name="System.Data.dll" />
-                <include name="System.Web.dll" />
-                <include name="System.Xml.dll" />
-                <include name="System.Runtime.Remoting.dll" />
-                <include name="${current.bin.dir}/log4net.dll" frompath="false" />
-                <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework>/<framework version>/<build configuration> directory -->
-                <include name="lib/*.dll" frompath="false" />
-                <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" frompath="false" />
-                <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/*.dll" frompath="false" />
-                <include name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" frompath="false" />
-                <include name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/*.dll" frompath="false" />
-            </references>
-        </csc>
-    </target>
+    <target name="compile-mono-2.0" description="Builds log4net tests Mono Framework 2.0 version" depends="set-mono-2.0-runtime-configuration,-compile-tests"/>
 
-    <target name="compile-net-3.5-cp" description="Builds log4net tests .NET Framework 3.5 Client Profile version" depends="set-net-3.5-cp-runtime-configuration, check-log4net-basedir, clean-current-bin-dir, check-log4net-assembly">
-        <!-- copy log4net build output -->
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/${current.bin.dir}">
-                <include name="*.*" />
-            </fileset>
-        </copy>
-        <!-- copy referenced libraries to build output -->
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib">
-                <include name="/*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}/${current.build.config}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}/${current.build.config}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <csc nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.Tests.dll">
-            <sources basedir="src">
-                <include name="**/*.cs" />
-                <include name="../../src/AssemblyVersionInfo.cs" />
-            </sources>
-            <references defaultexcludes="true">
-                <include name="mscorlib.dll" />
-                <include name="System.dll" />
-                <include name="System.Data.dll" />
-                <include name="System.Xml.dll" />
-                <include name="System.Runtime.Remoting.dll" />
-                <include name="${current.bin.dir}/log4net.dll" frompath="false" />
-                <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework>/<framework version>/<build configuration> directory -->
-                <include name="lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" frompath="false" />
-                <include name="lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}/*.dll" frompath="false" />
-                <include name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" frompath="false" />
-                <include name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}/*.dll" frompath="false" />
-            </references>
-        </csc>
-    </target>
+    <target name="compile-net-3.5" description="Builds log4net tests .NET Framework 3.5 version" depends="set-net-3.5-runtime-configuration,-compile-tests"/>
 
-    <target name="compile-net-4.0" description="Builds log4net tests .NET Framework 4.0 version" depends="set-net-4.0-runtime-configuration, check-log4net-basedir, clean-current-bin-dir, check-log4net-assembly">
-        <!-- copy log4net build output -->
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/${current.bin.dir}">
-                <include name="*.*" />
-            </fileset>
-        </copy>
-        <!-- copy referenced libraries to build output -->
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib">
-                <include name="/*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <csc nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.Tests.dll">
-            <sources basedir="src">
-                <include name="**/*.cs" />
-                <include name="../../src/AssemblyVersionInfo.cs" />
-            </sources>
-            <references defaultexcludes="true">
-                <include name="mscorlib.dll" />
-                <include name="System.dll" />
-                <include name="System.Core.dll" />
-                <include name="System.Data.dll" />
-                <include name="System.Web.dll" />
-                <include name="System.Xml.dll" />
-                <include name="System.Runtime.Remoting.dll" />
-                <include name="${current.bin.dir}/log4net.dll" frompath="false" />
-                <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework>/<framework version>/<build configuration> directory -->
-                <include name="lib/*.dll" frompath="false" />
-                <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" frompath="false" />
-                <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/*.dll" frompath="false" />
-                <include name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" frompath="false" />
-                <include name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/*.dll" frompath="false" />
-            </references>
-        </csc>
-    </target>
+    <target name="compile-net-3.5-cp" description="Builds log4net tests .NET Framework 3.5 Client Profile version" depends="set-net-3.5-cp-runtime-configuration,-compile-tests"/>
 
-    <target name="compile-net-4.0-cp" description="Builds log4net tests .NET Framework 4.0 Client Profile version" depends="set-net-4.0-cp-runtime-configuration, check-log4net-basedir, clean-current-bin-dir, check-log4net-assembly">
-        <!-- copy log4net build output -->
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/${current.bin.dir}">
-                <include name="*.*" />
-            </fileset>
-        </copy>
-        <!-- copy referenced libraries to build output -->
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib">
-                <include name="/*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}/${current.build.config}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}/${current.build.config}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <copy todir="${current.bin.dir}">
-            <fileset basedir="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}">
-                <include name="*.dll" />
-            </fileset>
-        </copy>
-        <csc nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.Tests.dll">
-            <sources basedir="src">
-                <include name="**/*.cs" />
-                <include name="../../src/AssemblyVersionInfo.cs" />
-            </sources>
-            <references defaultexcludes="true">
-                <include name="mscorlib.dll" />
-                <include name="System.dll" />
-                <include name="System.Core.dll" />
-                <include name="System.Data.dll" />
-                <include name="System.Xml.dll" />
-                <include name="System.Runtime.Remoting.dll" />
-                <include name="${current.bin.dir}/log4net.dll" frompath="false" />
-                <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework>/<framework version>/<build configuration> directory -->
-                <include name="lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" frompath="false" />
-                <include name="lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}/*.dll" frompath="false" />
-                <include name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" frompath="false" />
-                <include name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}-cp/${framework::get-version(framework::get-target-framework())}/*.dll" frompath="false" />
-            </references>
-        </csc>
+    <target name="compile-net-4.0" description="Builds log4net tests .NET Framework 4.0 version" depends="set-net-4.0-runtime-configuration,-compile-tests"/>
+
+    <target name="compile-net-4.0-cp" description="Builds log4net tests .NET Framework 4.0 Client Profile version" depends="set-net-4.0-cp-runtime-configuration,-compile-tests"/>
+
+    <target name="-compile-tests" depends="check-log4net-basedir, clean-current-bin-dir, check-log4net-assembly">
+
+      <foreach item="Folder" property="dir">
+        <in>
+          <items>
+            <!-- copy log4net build output -->
+            <include name="${log4net.basedir}/${current.bin.dir}"/>
+            <!-- copy referenced libraries to build output -->
+            <include name="lib"/>
+            <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}"/>
+            <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}"/>
+            <include name="lib/${framework::get-family(framework::get-target-framework())}/${current.build.config}"/>
+            <include name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}"/>
+          </items>
+        </in>
+        <do>
+          <copy todir="${current.bin.dir}">
+            <fileset basedir="${dir}">
+              <include name="*.dll" />
+            </fileset>
+          </copy>
+        </do>
+      </foreach>
+
+      <fileset id="sources" basedir="src">
+        <include name="**/*.cs" />
+        <include name="../../src/AssemblyVersionInfo.cs" />
+      </fileset>
+      <assemblyfileset id="references">
+        <include name="mscorlib.dll"/>
+        <include name="System.dll" />
+        <include name="System.Core.dll" if="${current.build.has.systemcore}"/>
+        <include name="System.Data.dll" />
+        <include name="System.Web.dll" if="${current.build.has.systemweb}"/>
+        <include name="System.Xml.dll" />
+        <include name="System.Configuration.dll" if="${current.build.has.systemconfiguration}"/>
+        <include name="System.Runtime.Remoting.dll" />
+        <include name="${current.bin.dir}/log4net.dll" frompath="false" />
+        <!-- allow for third party assemblies to be referenced by just storing them in the lib/<framework family>/<framework version>/<build configuration> directory -->
+        <include name="lib/*.dll" frompath="false" />
+        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll" />
+        <include name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/*.dll" />
+        <include name="lib/${framework::get-family(framework::get-target-framework())}/${current.build.config}/*.dll" />
+      </assemblyfileset>
+
+      <csc nostdlib="true" noconfig="true" warnaserror="true" target="library" debug="${current.build.debug}" define="${current.build.defines.csc}" output="${current.bin.dir}/log4net.Tests.dll">
+        <sources refid="sources"/>
+        <references refid="references"/>
+      </csc>
     </target>
 
     <!-- Currently we cannot run the tests in the environment of the target framework only in the host framework -->
@@ -442,42 +139,19 @@ limitations under the License.
 		</if>
     </target>
     
-    <target name="runtests-net-2.0" description="Runs log4net tests on .NET Framework 2.0 version" depends="compile-net-2.0">
-        <nunit2>
-            <formatter type="Plain" />
-            <test assemblyname="${current.bin.dir}/log4net.Tests.dll" />
-        </nunit2>
-    </target>
+    <target name="runtests-net-2.0" description="Runs log4net tests on .NET Framework 2.0 version" depends="compile-net-2.0,-runtests"/>
 
-    <target name="runtests-mono-2.0" description="Runs log4net tests on Mono Framework 2.0 version" depends="compile-mono-2.0">
-        <nunit2>
-            <formatter type="Plain" />
-            <test assemblyname="${current.bin.dir}/log4net.Tests.dll" />
-        </nunit2>
-    </target>
+    <target name="runtests-mono-2.0" description="Runs log4net tests on Mono Framework 2.0 version" depends="compile-mono-2.0,-runtests"/>
 
-    <target name="runtests-net-3.5" description="Runs log4net tests on .NET Framework 3.5 version" depends="compile-net-3.5">
-        <nunit2>
-            <formatter type="Plain" />
-            <test assemblyname="${current.bin.dir}/log4net.Tests.dll" />
-        </nunit2>
-    </target>
+    <target name="runtests-net-3.5" description="Runs log4net tests on .NET Framework 3.5 version" depends="compile-net-3.5,-runtests"/>
 
-    <target name="runtests-net-3.5-cp" description="Runs log4net tests on .NET Framework 3.5 Client Profile version" depends="compile-net-3.5-cp">
-        <nunit2>
-            <formatter type="Plain" />
-            <test assemblyname="${current.bin.dir}/log4net.Tests.dll" />
-        </nunit2>
-    </target>
+    <target name="runtests-net-3.5-cp" description="Runs log4net tests on .NET Framework 3.5 Client Profile version" depends="compile-net-3.5-cp,-runtests"/>
 
-    <target name="runtests-net-4.0" description="Runs log4net tests on .NET Framework 4.0 version" depends="compile-net-4.0">
-        <nunit2>
-            <formatter type="Plain" />
-            <test assemblyname="${current.bin.dir}/log4net.Tests.dll" />
-        </nunit2>
-    </target>
+    <target name="runtests-net-4.0" description="Runs log4net tests on .NET Framework 4.0 version" depends="compile-net-4.0,-runtests"/>
+
+    <target name="runtests-net-4.0-cp" description="Runs log4net tests on .NET Framework 4.0 Client Profile version" depends="compile-net-4.0-cp,-runtests"/>
 
-    <target name="runtests-net-4.0-cp" description="Runs log4net tests on .NET Framework 4.0 Client Profile version" depends="compile-net-4.0-cp">
+    <target name="-runtests">
         <nunit2>
             <formatter type="Plain" />
             <test assemblyname="${current.bin.dir}/log4net.Tests.dll" />



Mime
View raw message