added a 'doc' goal which uses NDoc to create static html documentation (which doesn't render too well on FireFox and lousy on Safari but I assume it must render OK on IE :). Would be nice to get this documentation auto-deployed on the site

git-svn-id: https://svn.apache.org/repos/asf/incubator/activemq/trunk@426497 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
James Strachan 2006-07-28 13:13:37 +00:00
parent 795166e87a
commit 1d1f6597df
3 changed files with 289 additions and 224 deletions

11
activemq-dotnet/.project Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>activemq-dotnet</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

View File

@ -1,234 +1,283 @@
<?xml version="1.0" ?> <?xml version="1.0" ?>
<project name="openwire" default="build"> <project name="openwire" default="build">
<!-- set build.date property to current date in format yyyy-MM-dd --> <!-- set build.date property to current date in format yyyy-MM-dd -->
<tstamp property="build.date" pattern="yyyy-MM-dd" /> <tstamp property="build.date" pattern="yyyy-MM-dd" />
<!-- global project settings --> <!-- global project settings -->
<property name="project.name" value="activemq-dotnet"/> <property name="project.name" value="activemq-dotnet" />
<property name="project.version" value="4.0" unless="${property::exists('project.version')}"/> <property name="project.version" value="4.0" unless="${property::exists('project.version')}" />
<property name="project.release.type" value="SNAPSHOT" unless="${property::exists('project.release.type')}"/> <property name="project.release.type" value="SNAPSHOT" unless="${property::exists('project.release.type')}" />
<property name="project.version.full" value="${project.version + if(project.release.type == 'release', '', '-' + project.release.type)}" dynamic="true" /> <property name="project.version.full"
value="${project.version + if(project.release.type == 'release', '', '-' + project.release.type)}" dynamic="true" />
<!-- <!--
specifies whether the CommonAssemblyInfo.cs file should be created. specifies whether the CommonAssemblyInfo.cs file should be created.
we do not want this for releases (whether they're beta or release) as we do not want this for releases (whether they're beta or release) as
this would cause the build number to be updated this would cause the build number to be updated
--> -->
<property name="create.assemblyinfo" value="true" /> <property name="create.assemblyinfo" value="true" />
<!-- global build settings --> <!-- global build settings -->
<property name="lib.dir" value="${path::combine(build.dir, 'bin/lib')}" dynamic="true" /> <property name="lib.dir" value="${path::combine(build.dir, 'bin/lib')}" dynamic="true" />
<property name="lib.family.dir" value="${path::combine(lib.dir, framework::get-family(framework::get-target-framework()))}" dynamic="true" /> <property name="lib.family.dir" value="${path::combine(lib.dir, framework::get-family(framework::get-target-framework()))}"
<property name="lib.framework.dir" value="${path::combine(lib.family.dir, version::to-string(framework::get-version(framework::get-target-framework())))}" dynamic="true" /> dynamic="true" />
<property name="lib.framework.dir"
value="${path::combine(lib.family.dir, version::to-string(framework::get-version(framework::get-target-framework())))}"
dynamic="true" />
<!-- default configuration --> <!-- default configuration -->
<property name="project.config" value="debug" /> <!-- debug|release --> <property name="project.config" value="debug" /><!-- debug|release -->
<property name="build.defines" value="" /> <property name="build.defines" value="" />
<property name="build.number" value="${math::abs(math::floor(timespan::get-total-days(datetime::now() - datetime::parse('01/01/2000'))))}" /> <property name="build.number"
value="${math::abs(math::floor(timespan::get-total-days(datetime::now() - datetime::parse('01/01/2000'))))}" />
<!-- platform specific properties. These are the defaults --> <!-- platform specific properties. These are the defaults -->
<property name="current.build.defines" value="${build.defines}" /> <property name="current.build.defines" value="${build.defines}" />
<!-- Named project configurations (used by self-test and self-doc tasks) --> <!-- Named project configurations (used by self-test and self-doc tasks) -->
<target name="debug" description="Perform a 'debug' build"> <target name="debug" description="Perform a 'debug' build">
<property name="project.config" value="debug" /> <property name="project.config" value="debug" />
<property name="build.debug" value="true" /> <property name="build.debug" value="true" />
<property name="build.dir" value="${project::get-base-directory()}/build/${framework::get-target-framework()}.${platform::get-name()}/${project.name}-${project.version}-${project.config}" /> <property name="build.dir"
</target> value="${project::get-base-directory()}/build/${framework::get-target-framework()}.${platform::get-name()}/${project.name}-${project.version}-${project.config}" />
</target>
<target name="release" description="Perform a 'release' build"> <target name="release" description="Perform a 'release' build">
<property name="project.config" value="release" /> <property name="project.config" value="release" />
<property name="build.debug" value="false" /> <property name="build.debug" value="false" />
<property name="build.dir" value="${project::get-base-directory()}/build/${project.name}-${project.version.full}" /> <property name="build.dir" value="${project::get-base-directory()}/build/${project.name}-${project.version.full}" />
</target> </target>
<!-- Framework support targets --> <!-- Framework support targets -->
<target name="set-framework-configuration"> <target name="set-framework-configuration">
<if test="${not(target::exists('set-'+framework::get-target-framework()+'-framework-configuration'))}"> <if test="${not(target::exists('set-'+framework::get-target-framework()+'-framework-configuration'))}">
<fail message="The '${framework::get-target-framework()}' framework is not supported by this version of ActiveMQ .NET" /> <fail message="The '${framework::get-target-framework()}' framework is not supported by this version of ActiveMQ .NET" />
</if> </if>
<call target="set-${framework::get-target-framework()}-framework-configuration" /> <call target="set-${framework::get-target-framework()}-framework-configuration" />
</target> </target>
<target name="set-net-1.0-framework-configuration"> <target name="set-net-1.0-framework-configuration">
<property name="nant.settings.currentframework" value="net-1.0" /> <property name="nant.settings.currentframework" value="net-1.0" />
<property name="current.build.defines" value="${build.defines}NET,NET_1_0" dynamic="true" /> <property name="current.build.defines" value="${build.defines}NET,NET_1_0" dynamic="true" />
<property name="link.sdkdoc.version" value="SDK_v1_0" /> <property name="link.sdkdoc.version" value="SDK_v1_0" />
<property name="link.sdkdoc.web" value="true" /> <property name="link.sdkdoc.web" value="true" />
</target> </target>
<target name="set-net-1.1-framework-configuration"> <target name="set-net-1.1-framework-configuration">
<property name="nant.settings.currentframework" value="net-1.1" /> <property name="nant.settings.currentframework" value="net-1.1" />
<property name="current.build.defines" value="${build.defines}NET,NET_1_1" dynamic="true" /> <property name="current.build.defines" value="${build.defines}NET,NET_1_1" dynamic="true" />
<property name="link.sdkdoc.version" value="SDK_v1_1" /> <property name="link.sdkdoc.version" value="SDK_v1_1" />
<property name="link.sdkdoc.web" value="true" /> <property name="link.sdkdoc.web" value="true" />
</target> </target>
<target name="set-net-2.0-framework-configuration"> <target name="set-net-2.0-framework-configuration">
<property name="nant.settings.currentframework" value="net-2.0" /> <property name="nant.settings.currentframework" value="net-2.0" />
<property name="current.build.defines" value="${build.defines}NET,NET_2_0" dynamic="true" /> <property name="current.build.defines" value="${build.defines}NET,NET_2_0" dynamic="true" />
<property name="link.sdkdoc.version" value="SDK_v1_1" /> <property name="link.sdkdoc.version" value="SDK_v1_1" />
<property name="link.sdkdoc.web" value="true" /> <property name="link.sdkdoc.web" value="true" />
</target> </target>
<target name="set-netcf-1.0-framework-configuration"> <target name="set-netcf-1.0-framework-configuration">
<property name="nant.settings.currentframework" value="netcf-1.0" /> <property name="nant.settings.currentframework" value="netcf-1.0" />
<property name="current.build.defines" value="${build.defines}NETCF,NETCF_1_0" dynamic="true" /> <property name="current.build.defines" value="${build.defines}NETCF,NETCF_1_0" dynamic="true" />
<property name="link.sdkdoc.version" value="SDK_v1_1" /> <property name="link.sdkdoc.version" value="SDK_v1_1" />
<property name="link.sdkdoc.web" value="true" /> <property name="link.sdkdoc.web" value="true" />
</target> </target>
<target name="set-mono-1.0-framework-configuration"> <target name="set-mono-1.0-framework-configuration">
<property name="nant.settings.currentframework" value="mono-1.0" /> <property name="nant.settings.currentframework" value="mono-1.0" />
<property name="current.build.defines" value="${build.defines}MONO,MONO_1_0" dynamic="true" /> <property name="current.build.defines" value="${build.defines}MONO,MONO_1_0" dynamic="true" />
<property name="link.sdkdoc.version" value="SDK_v1_1" /> <property name="link.sdkdoc.version" value="SDK_v1_1" />
<property name="link.sdkdoc.web" value="true" /> <property name="link.sdkdoc.web" value="true" />
</target> </target>
<target name="set-mono-2.0-framework-configuration"> <target name="set-mono-2.0-framework-configuration">
<property name="nant.settings.currentframework" value="mono-2.0" /> <property name="nant.settings.currentframework" value="mono-2.0" />
<property name="current.build.defines" value="${build.defines}MONO,MONO_2_0" dynamic="true" /> <property name="current.build.defines" value="${build.defines}MONO,MONO_2_0" dynamic="true" />
<property name="link.sdkdoc.version" value="SDK_v1_1" /> <property name="link.sdkdoc.version" value="SDK_v1_1" />
<property name="link.sdkdoc.web" value="true" /> <property name="link.sdkdoc.web" value="true" />
</target> </target>
<target name="set-sscli-1.0-framework-configuration"> <target name="set-sscli-1.0-framework-configuration">
<property name="nant.settings.currentframework" value="sscli-1.0" /> <property name="nant.settings.currentframework" value="sscli-1.0" />
<property name="current.build.defines" value="${build.defines}SSCLI,SSCLI_1_0" dynamic="true" /> <property name="current.build.defines" value="${build.defines}SSCLI,SSCLI_1_0" dynamic="true" />
<property name="link.sdkdoc.version" value="SDK_v1_0" /> <property name="link.sdkdoc.version" value="SDK_v1_0" />
<property name="link.sdkdoc.web" value="true" /> <property name="link.sdkdoc.web" value="true" />
</target> </target>
<!-- build tasks --> <!-- build tasks -->
<target name="init" description="Initializes build properties"> <target name="init" description="Initializes build properties">
<call target="${project.config}" /> <call target="${project.config}" />
<call target="set-framework-configuration" /> <call target="set-framework-configuration" />
</target> </target>
<!-- cleans the build --> <!-- cleans the build -->
<target name="clean" depends="init" description="Deletes build"> <target name="clean" depends="init" description="Deletes build">
<delete dir="build" if="${directory::exists('build')}" /> <delete dir="build" if="${directory::exists('build')}" />
</target> </target>
<target name="create-common-assemblyinfo" if="${create.assemblyinfo}" depends="init" description="Generate CommonAssemblyInfo.cs"> <target name="create-common-assemblyinfo" if="${create.assemblyinfo}" depends="init"
description="Generate CommonAssemblyInfo.cs">
<!-- ensure src/main/csharp/CommonAssemblyInfo.cs is writable if it already exists --> <!-- ensure src/main/csharp/CommonAssemblyInfo.cs is writable if it already exists -->
<attrib file="src/main/csharp/CommonAssemblyInfo.cs" readonly="false" if="${file::exists('src/main/csharp/CommonAssemblyInfo.cs')}" /> <attrib file="src/main/csharp/CommonAssemblyInfo.cs" readonly="false"
if="${file::exists('src/main/csharp/CommonAssemblyInfo.cs')}" />
<!-- generate the source file holding the common assembly-level attributes --> <!-- generate the source file holding the common assembly-level attributes -->
<asminfo output="src/main/csharp/CommonAssemblyInfo.cs" language="CSharp"> <asminfo output="src/main/csharp/CommonAssemblyInfo.cs" language="CSharp">
<imports> <imports>
<import namespace="System" /> <import namespace="System" />
<import namespace="System.Reflection" /> <import namespace="System.Reflection" />
<import namespace="System.Runtime.InteropServices" /> <import namespace="System.Runtime.InteropServices" />
</imports> </imports>
<attributes> <attributes>
<attribute type="ComVisibleAttribute" value="false" /> <attribute type="ComVisibleAttribute" value="false" />
<attribute type="CLSCompliantAttribute" value="true" /> <attribute type="CLSCompliantAttribute" value="true" />
<attribute type="AssemblyTitleAttribute" value="ActiveMQ .NET" /> <attribute type="AssemblyTitleAttribute" value="ActiveMQ .NET" />
<attribute type="AssemblyDescriptionAttribute" value="A .NET Library for talking to ActiveMQ" /> <attribute type="AssemblyDescriptionAttribute" value="A .NET Library for talking to ActiveMQ" />
<attribute type="AssemblyConfigurationAttribute" value="${project.release.type}" /> <attribute type="AssemblyConfigurationAttribute" value="${project.release.type}" />
<attribute type="AssemblyCompanyAttribute" value="http://activemq.org/" /> <attribute type="AssemblyCompanyAttribute" value="http://activemq.org/" />
<attribute type="AssemblyProductAttribute" value="ActiveMQ" /> <attribute type="AssemblyProductAttribute" value="ActiveMQ" />
<attribute type="AssemblyCopyrightAttribute" value="Copyright (C) 2005-${datetime::get-year(datetime::now())} Apache Software Foundation" /> <attribute type="AssemblyCopyrightAttribute"
<attribute type="AssemblyTrademarkAttribute" value="" /> value="Copyright (C) 2005-${datetime::get-year(datetime::now())} Apache Software Foundation" />
<attribute type="AssemblyCultureAttribute" value="" /> <attribute type="AssemblyTrademarkAttribute" value="" />
<attribute type="AssemblyVersionAttribute" value="${project.version}.${build.number}.0" /> <attribute type="AssemblyCultureAttribute" value="" />
<attribute type="AssemblyInformationalVersionAttribute" value="${project.version}" /> <attribute type="AssemblyVersionAttribute" value="${project.version}.${build.number}.0" />
</attributes> <attribute type="AssemblyInformationalVersionAttribute" value="${project.version}" />
</asminfo> </attributes>
</asminfo>
<!-- ensure src/test/csharp/CommonAssemblyInfo.cs is writable if it already exists --> <!-- ensure src/test/csharp/CommonAssemblyInfo.cs is writable if it already exists -->
<attrib file="src/test/csharp/CommonAssemblyInfo.cs" readonly="false" if="${file::exists('src/test/csharp/CommonAssemblyInfo.cs')}" /> <attrib file="src/test/csharp/CommonAssemblyInfo.cs" readonly="false"
if="${file::exists('src/test/csharp/CommonAssemblyInfo.cs')}" />
<!-- generate the source file holding the common assembly-level attributes --> <!-- generate the source file holding the common assembly-level attributes -->
<asminfo output="src/test/csharp/CommonAssemblyInfo.cs" language="CSharp"> <asminfo output="src/test/csharp/CommonAssemblyInfo.cs" language="CSharp">
<imports> <imports>
<import namespace="System" /> <import namespace="System" />
<import namespace="System.Reflection" /> <import namespace="System.Reflection" />
<import namespace="System.Runtime.InteropServices" /> <import namespace="System.Runtime.InteropServices" />
</imports> </imports>
<attributes> <attributes>
<attribute type="ComVisibleAttribute" value="false" /> <attribute type="ComVisibleAttribute" value="false" />
<attribute type="CLSCompliantAttribute" value="false" /> <attribute type="CLSCompliantAttribute" value="false" />
<attribute type="AssemblyTitleAttribute" value="ActiveMQ .NET Test" /> <attribute type="AssemblyTitleAttribute" value="ActiveMQ .NET Test" />
<attribute type="AssemblyDescriptionAttribute" value="A .NET Library for testing the ActiveMQ .NET Library" /> <attribute type="AssemblyDescriptionAttribute" value="A .NET Library for testing the ActiveMQ .NET Library" />
<attribute type="AssemblyConfigurationAttribute" value="${project.release.type}" /> <attribute type="AssemblyConfigurationAttribute" value="${project.release.type}" />
<attribute type="AssemblyCompanyAttribute" value="http://activemq.org/" /> <attribute type="AssemblyCompanyAttribute" value="http://activemq.org/" />
<attribute type="AssemblyProductAttribute" value="ActiveMQ" /> <attribute type="AssemblyProductAttribute" value="ActiveMQ" />
<attribute type="AssemblyCopyrightAttribute" value="Copyright (C) 2005-${datetime::get-year(datetime::now())} Apache Software Foundation" /> <attribute type="AssemblyCopyrightAttribute"
<attribute type="AssemblyTrademarkAttribute" value="" /> value="Copyright (C) 2005-${datetime::get-year(datetime::now())} Apache Software Foundation" />
<attribute type="AssemblyCultureAttribute" value="" /> <attribute type="AssemblyTrademarkAttribute" value="" />
<attribute type="AssemblyVersionAttribute" value="${project.version}.${build.number}.0" /> <attribute type="AssemblyCultureAttribute" value="" />
<attribute type="AssemblyInformationalVersionAttribute" value="${project.version}" /> <attribute type="AssemblyVersionAttribute" value="${project.version}.${build.number}.0" />
</attributes> <attribute type="AssemblyInformationalVersionAttribute" value="${project.version}" />
</asminfo> </attributes>
</asminfo>
</target> </target>
<!-- Compile the main sources --> <!-- Compile the main sources -->
<target name="build-main" depends="create-common-assemblyinfo"> <target name="build-main" depends="create-common-assemblyinfo">
<echo message="Build Directory is ${build.dir}" /> <echo message="Build Directory is ${build.dir}" />
<mkdir dir="${build.dir}/bin" /> <mkdir dir="${build.dir}/bin" />
<csc target="library" define="${current.build.defines}" warnaserror="false" debug="${build.debug}" output="${build.dir}/bin/${project.name}.dll" doc="${build.dir}/bin/${project.name}.xml"> <csc target="library" define="${current.build.defines}" warnaserror="false" debug="${build.debug}"
<nowarn> output="${build.dir}/bin/${project.name}.dll" doc="${build.dir}/bin/${project.name}.xml">
<!-- do not report warnings for missing XML comments --> <nowarn>
<warning number="1591" /> <!-- do not report warnings for missing XML comments -->
<!-- do not report deprecation warnings --> <warning number="1591" />
<warning number="0618" /> <!-- do not report deprecation warnings -->
</nowarn> <warning number="0618" />
<sources failonempty="true"> </nowarn>
<include name="src/main/csharp/**/*.cs" /> <sources failonempty="true">
<include name="src/main/csharp/CommonAssemblyInfo.cs" /> <include name="src/main/csharp/**/*.cs" />
</sources> <include name="src/main/csharp/CommonAssemblyInfo.cs" />
<resources basedir="src/main/resources"> </sources>
<include name="**/*"/> <resources basedir="src/main/resources">
</resources> <include name="**/*" />
<!-- </resources>
<references> <!--
<include name="${build.dir}/bin/log4net.dll"/> <references>
<include name="System.Web.dll"/> <include name="${build.dir}/bin/log4net.dll"/>
</references> <include name="System.Web.dll"/>
--> </references>
</csc> -->
</target> </csc>
</target>
<target name="build-test" depends="create-common-assemblyinfo, build-main"> <target name="doc" depends="build-main">
<csc target="library" define="${current.build.defines}" warnaserror="false" debug="${build.debug}" output="${build.dir}/bin/${project.name}.test.dll"> <ndoc>
<nowarn> <assemblies basedir="${build.dir}">
<!-- do not report warnings for missing XML comments --> <include name="bin/${project.name}.dll" />
<warning number="1591" /> </assemblies>
<!-- do not report deprecation warnings --> <summaries basedir="src/main/ndoc">
<warning number="0618" /> <include name="NamespaceSummary.xml" />
</nowarn> </summaries>
<sources failonempty="true"> <documenters>
<include name="src/test/csharp/**/*.cs" /> <documenter name="MSDN">
<include name="src/test/csharp/CommonAssemblyInfo.cs" /> <property name="OutputDirectory" value="${build.dir}/doc" />
</sources> <property name="HtmlHelpName" value="NMS" />
<resources basedir="src/test/resources"> <property name="HtmlHelpCompilerFilename" value="hhc.exe" />
<include name="**/*"/> <property name="IncludeFavorites" value="False" />
</resources> <property name="Title" value="The NMS Class Library (.Net Messaging Library)" />
<references defaultexcludes="true"> <property name="SplitTOCs" value="False" />
<include name="mscorlib.dll" /> <property name="DefaulTOC" value="" />
<include name="System.dll" /> <!--
<include name="nunit.framework.dll" /> <property name="ShowVisualBasic" value="True" />
<include name="${build.dir}/bin/${project.name}.dll" /> <property name="ShowMissingSummaries" value="True" />
</references> <property name="ShowMissingRemarks" value="True" />
<!-- <property name="ShowMissingParams" value="True" />
<resources failonempty="false" basedir="Resources" <property name="ShowMissingReturns" value="True" />
dynamicprefix="true" prefix="XML:"> <property name="ShowMissingValues" value="True" />
<include name="**/*.xml" /> -->
</resources> <property name="DocumentInternals" value="False" />
--> <property name="DocumentProtected" value="True" />
</csc> <property name="DocumentPrivates" value="False" />
</target> <property name="DocumentEmptyNamespaces" value="False" />
<property name="IncludeAssemblyVersion" value="False" />
<property name="CopyrightText" value="" />
<property name="CopyrightHref" value="" />
</documenter>
</documenters>
</ndoc>
</target>
<target name="build" depends="build-test">
</target>
<target name="test" depends="build-test"> <target name="build-test" depends="create-common-assemblyinfo, build-main">
<nunit2> <csc target="library" define="${current.build.defines}" warnaserror="false" debug="${build.debug}"
<formatter type="Plain" /> output="${build.dir}/bin/${project.name}.test.dll">
<test assemblyname="${build.dir}/bin/${project.name}.test.dll"> <nowarn>
</test> <!-- do not report warnings for missing XML comments -->
</nunit2> <warning number="1591" />
</target> <!-- do not report deprecation warnings -->
<warning number="0618" />
</nowarn>
<sources failonempty="true">
<include name="src/test/csharp/**/*.cs" />
<include name="src/test/csharp/CommonAssemblyInfo.cs" />
</sources>
<resources basedir="src/test/resources">
<include name="**/*" />
</resources>
<references defaultexcludes="true">
<include name="mscorlib.dll" />
<include name="System.dll" />
<include name="nunit.framework.dll" />
<include name="${build.dir}/bin/${project.name}.dll" />
</references>
<!--
<resources failonempty="false" basedir="Resources"
dynamicprefix="true" prefix="XML:">
<include name="**/*.xml" />
</resources>
-->
</csc>
</target>
<target name="build" depends="build-test"></target>
<target name="test" depends="build-test">
<nunit2>
<formatter type="Plain" />
<test assemblyname="${build.dir}/bin/${project.name}.test.dll"></test>
</nunit2>
</target>
</project> </project>

View File

@ -0,0 +1,5 @@
<namespaces>
<namespace name="NMS">
The <b>NMS</b> namespace defines the .Net Message System API which is an interface to messaging systems rather like JMS is for Java.
</namespace>
</namespaces>