<?xml version="1.0"?>
<project name="NUnitCore" default="build" basedir=".">

  <patternset id="source-files">
    <include name="AbstractTestCaseDecoration.cs"/>
    <include name="..\..\NUnitFramework\framework\AsyncSynchronizationContext.cs" if="${runtime.version >= '2.0'}"/>
    <include name="..\..\NUnitFramework\framework\AsyncInvocationRegion.cs" if="${runtime.version >= '2.0'}"/>
    <include name="ActionsHelper.cs" />
    <include name="AssemblyInfo.cs"/>
    <include name="AssemblyHelper.cs"/>
    <include name="AssemblyReader.cs"/>
    <include name="AssemblyResolver.cs"/>
    <include name="ContextDictionary.cs"/>
    <include name="CoreExtensions.cs"/>
    <include name="CultureDetector.cs"/>
    <include name="DirectorySwapper.cs"/>
    <include name="DomainAgent.cs"/>
    <include name="EventListenerTextWriter.cs"/>
    <include name="EventPump.cs"/>
    <include name="EventQueue.cs"/>
    <include name="ExpectedExceptionProcessor.cs"/>
    <include name="ExtensionHost.cs"/>
    <include name="ExtensionPoint.cs"/>
    <include name="IgnoreDecorator.cs"/>
    <include name="InternalTrace.cs"/>
    <include name="InternalTraceWriter.cs"/>
    <include name="InvalidSuiteException.cs"/>
    <include name="InvalidTestFixtureException.cs"/>
    <include name="LegacySuite.cs"/>
    <include name="Log4NetCapture.cs"/>
    <include name="Logger.cs"/>
    <include name="MethodHelper.cs"/>
    <include name="NamespaceSuite.cs"/>
    <include name="NamespaceTreeBuilder.cs"/>
    <include name="NoTestFixturesException.cs"/>
    <include name="NullListener.cs"/>
    <include name="NUnitAsyncTestMethod.cs" if="${runtime.version >= '2.0'}"/>
    <include name="NUnitConfiguration.cs"/>
    <include name="NUnitException.cs"/>
    <include name="NUnitFramework.cs"/>
    <include name="NUnitTestFixture.cs"/>
    <include name="NUnitTestMethod.cs"/>
    <include name="ParameterizedFixtureSuite.cs"/>
    <include name="ParameterizedTestMethodSuite.cs"/>
    <include name="PlatformHelper.cs"/>
    <include name="ProjectRootSuite.cs"/>
    <include name="ProxyTestRunner.cs"/>
    <include name="QueuingEventListener.cs"/>
    <include name="Reflect.cs"/>
    <include name="RemoteTestRunner.cs"/>
    <include name="SetUpFixture.cs"/>
    <include name="SimpleTestRunner.cs"/>
    <include name="StringTextWriter.cs"/>
    <include name="SuiteBuilderAttribute.cs"/>
    <include name="TestAction.cs"/>
    <include name="TestAssembly.cs"/>
    <include name="TestBuilderAttribute.cs"/>
    <include name="TestCaseBuilder.cs"/>
    <include name="TestCaseBuilderAttribute.cs"/>
    <include name="TestDecoratorAttribute.cs"/>
    <include name="TestExecutionContext.cs"/>
    <include name="TestFixture.cs"/>
    <include name="TestFixtureBuilder.cs"/>
    <include name="TestMethod.cs"/>
    <include name="TestRunnerThread.cs"/>
    <include name="TestSuite.cs"/>
    <include name="TestSuiteBuilder.cs"/>
    <include name="TestThread.cs"/>
    <include name="TextCapture.cs"/>
    <include name="ThreadedTestRunner.cs"/>
    <include name="ThreadUtility.cs"/>
    <include name="TypeHelper.cs"/>
    <include name="UnsupportedFrameworkException.cs"/>
    <include name="Builders/CombinatorialStrategy.cs"/>
    <include name="Builders/CombinatorialTestCaseProvider.cs"/>
    <include name="Builders/CombiningStrategy.cs"/>
    <include name="Builders/DatapointProvider.cs"/>
    <include name="Builders/InlineDataPointProvider.cs"/>
    <include name="Builders/LegacySuiteBuilder.cs"/>
    <include name="Builders/NUnitTestCaseBuilder.cs"/>
    <include name="Builders/NUnitTestFixtureBuilder.cs"/>
    <include name="Builders/PairwiseStrategy.cs"/>
    <include name="Builders/ProviderCache.cs"/>
    <include name="Builders/ProviderInfo.cs"/>
    <include name="Builders/SequentialStrategy.cs"/>
    <include name="Builders/SetUpFixtureBuilder.cs"/>
    <include name="Builders/TestAssemblyBuilder.cs"/>
    <include name="Builders/TestCaseParameterProvider.cs"/>
    <include name="Builders/TestCaseSourceProvider.cs"/>
    <include name="Builders/ValueSourceProvider.cs"/>
    <include name="Extensibility/DataPointProviders.cs"/>
    <include name="Extensibility/EventListenerCollection.cs"/>
    <include name="Extensibility/FrameworkRegistry.cs"/>
    <include name="Extensibility/SuiteBuilderCollection.cs"/>
    <include name="Extensibility/TestCaseProviders.cs"/>
    <include name="Extensibility/TestCaseBuilderCollection.cs"/>
    <include name="Extensibility/TestDecoratorCollection.cs"/>
  </patternset>

  <target name="build">
    <csc target="library" 
        output="${current.lib.dir}/nunit.core.dll"
        debug="${build.debug}" 
        define="${build.defines}">
      <sources>
        <patternset refid="source-files"/>
    <include name="../../GeneratedAssemblyInfo.cs"/>
      </sources>
      <nowarn>
        <warning number="618,1699" if="${runtime.version>='2.0'}"/>
      </nowarn>
      <references>
    <include name="System.Configuration.dll"/>
    <include name="${current.lib.dir}/nunit.core.interfaces.dll"/>
      </references>
    </csc>
  </target>

  <target name="package">
    <copy todir="${package.src.dir}/NUnitCore/core">
      <fileset>
        <patternset refid="source-files"/>
        <include name="summary.xslt"/>    <!-- and this -->
        <include name="nunit.core.dll.csproj"/>
        <include name="nunit.core.build"/>
      </fileset>
    </copy>
  </target>

</project>
