Permalink
Browse files

add API documentation support using sandcastle

  • Loading branch information...
lahma committed Feb 2, 2014
1 parent bd04696 commit f52e5bb98d0389b451ce30625d2928ddeeae24ce
Showing with 139 additions and 71 deletions.
  1. +41 −71 Quartz.build
  2. +1 −0 doc/footer.template
  3. +13 −0 doc/header.template
  4. +7 −0 doc/quartznet-1.0.targets
  5. +7 −0 doc/quartznet-2.0.targets
  6. +70 −0 doc/quartznet.shfbproj
View
@@ -398,56 +398,49 @@
</delete>
</target>
- <target name="doc" depends="build">
-
- <mkdir dir="doc\apidoc" />
+ <target name="apidoc">
<property name="dir.ndoc.target.binaries" value="${dir.build}\Quartz\" />
- <echo message="Building documentation using binaries found from ${dir.ndoc.target.binaries}" />
-
- <ndoc>
- <assemblies basedir="${dir.ndoc.target.binaries}">
- <include name="Quartz.dll" />
- </assemblies>
-
- <summaries basedir="${dir.src}\">
- <include name="NamespaceSummary.xml" />
- </summaries>
- <documenters>
- <documenter name="MSDN">
- <property name="OutputDirectory" value="doc\apidoc" />
- <property name="HtmlHelpName" value="Quartz.NET" />
- <property name="HtmlHelpCompilerFilename" value="hhc.exe" />
- <property name="IncludeFavorites" value="False" />
- <property name="Title" value="Quartz.NET Class Library" />
- <property name="SplitTOCs" value="False" />
- <property name="DefaulTOC" value="" />
- <property name="ShowVisualBasic" value="False" />
- <property name="ShowMissingSummaries" value="False" />
- <property name="ShowMissingRemarks" value="False" />
- <property name="ShowMissingParams" value="False" />
- <property name="ShowMissingReturns" value="False" />
- <property name="ShowMissingValues" value="False" />
- <property name="DocumentInternals" value="False" />
- <property name="DocumentProtected" value="True" />
- <property name="DocumentPrivates" value="False" />
- <property name="DocumentEmptyNamespaces" value="False" />
- <property name="IncludeAssemblyVersion" value="True" />
- <property name="CopyrightText" value="Copyright 2001-2009 Terracotta Inc. and partially Marko Lahma" />
- <property name="CopyrightHref" value="" />
- </documenter>
- </documenters>
- </ndoc>
- <!-- clean unwanted items -->
- <delete>
- <fileset>
- <include name="doc\apidoc\**\ndoc_msdn_temp" />
- <include name="doc\apidoc\**\*.chm" />
- <include name="doc\apidoc\**\*.hhc" />
- <include name="doc\apidoc\**\*.hhk" />
- <include name="doc\apidoc\**\*.hhp" />
- </fileset>
- </delete>
+ <echo message="Building documentation...." />
+
+ <exec
+ program="C:\Program Files (x86)\MSBuild\12.0\Bin\msbuild.exe"
+ commandline="/p:Configuration=Release Quartz.2010.sln"
+ />
+
+ <exec
+ program="C:\Program Files (x86)\MSBuild\12.0\Bin\msbuild.exe"
+ commandline="/p:CleanIntermediates=True /p:Configuration=Release /p:CustomBeforeSHFBTargets=doc/quartznet-2.0.targets &quot;doc/quartznet.shfbproj&quot;"
+ />
+
+ <call target="apidoc-post-process" />
+
+ </target>
+
+ <target name="apidoc-post-process">
+
+ <!-- far easier just to post-process html files than try to get SHFB to work with html in footer -->
+ <loadfile file="doc/header.template" property="header.content" failonerror="true" />
+ <loadfile file="doc/footer.template" property="footer.content" failonerror="true" />
+ <foreach item="File" property="filename">
+ <in>
+ <items>
+ <include name="build/apidoc/**/*.htm" />
+ <include name="build/apidoc/**/*.html" />
+ </items>
+ </in>
+ <do>
+ <loadfile file="${filename}" property="file.to.process">
+ <filterchain>
+ <replacetokens>
+ <token key="FOOTER" value="${footer.content}" />
+ <token key="HEADER" value="${header.content}" />
+ </replacetokens>
+ </filterchain>
+ </loadfile>
+ <echo file="${filename}">${file.to.process}</echo>
+ </do>
+ </foreach>
</target>
<target name="package-release">
@@ -555,28 +548,5 @@
<property name="log4net-dll" value="packages/log4net.2.0.0/lib/${nuget-framework}-full/log4net.dll" unless="${client-profile}" />
<property name="log4net-dll" value="packages/log4net.2.0.0/lib/${nuget-framework}-client/log4net.dll" if="${client-profile}" />
</target>
-
- <target name="build-website">
-
- <loadtasks assembly="lib\other\Anakia.dll" verbose="true" />
- <mkdir dir="website" failonerror="false" />
- <property name="website.src" value="../website" />
-
- <anakia
- navigationfile="${website.src}/navigation.xml"
- templatefile="${website.src}/site.vsl"
- projectfile="${website.src}/project.xml"
- targetdir="website\"
- >
-
- <source basedir="${website.src}">
- <include name="**.*" />
-
- <exclude name="**/project.xml" />
- <exclude name="**/*.vsl" />
- <exclude name="**/*.dtd" />
- </source>
- </anakia>
- </target>
</project>
View
@@ -0,0 +1 @@
+<div align="center"><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-pub-2642923360660292" data-ad-slot="5493492127"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div>
View
@@ -0,0 +1,13 @@
+<script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-1433901-1']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+
+</script>
@@ -0,0 +1,7 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <HelpTitle>Quartz.NET 1.0 API Documentation</HelpTitle>
+ <OutputPath>..\build\apidoc\1.0\</OutputPath>
+ <BuildLogFile>..\build\apidoc\log-1.0.txt</BuildLogFile>
+ </PropertyGroup>
+</Project>
@@ -0,0 +1,7 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <HelpTitle>Quartz.NET 2.0 API Documentation</HelpTitle>
+ <OutputPath>..\build\apidoc\2.0\</OutputPath>
+ <BuildLogFile>..\build\apidoc\log-2.0.txt</BuildLogFile>
+ </PropertyGroup>
+</Project>
View
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+ <PropertyGroup>
+ <!-- The configuration and platform will be used to determine which assemblies to include from solution and
+ project documentation sources -->
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{f2d9ee1c-030c-4f0a-a80d-ce0bb813da68}</ProjectGuid>
+ <SHFBSchemaVersion>1.9.9.0</SHFBSchemaVersion>
+ <!-- AssemblyName, Name, and RootNamespace are not used by SHFB but Visual Studio adds them anyway -->
+ <AssemblyName>Documentation</AssemblyName>
+ <RootNamespace>Documentation</RootNamespace>
+ <Name>Documentation</Name>
+ <!-- SHFB properties -->
+ <FrameworkVersion>.NET Framework 4.0</FrameworkVersion>
+ <OutputPath>..\build\apidoc\2.0\</OutputPath>
+ <HtmlHelpName>Documentation</HtmlHelpName>
+ <Language>en-US</Language>
+ <BuildAssemblerVerbosity>OnlyWarningsAndErrors</BuildAssemblerVerbosity>
+ <HelpFileFormat>Website</HelpFileFormat>
+ <IndentHtml>False</IndentHtml>
+ <KeepLogFile>True</KeepLogFile>
+ <DisableCodeBlockComponent>False</DisableCodeBlockComponent>
+ <CppCommentsFixup>False</CppCommentsFixup>
+ <CleanIntermediates>True</CleanIntermediates>
+ <DocumentationSources>
+ <DocumentationSource sourceFile="..\src\Quartz\Quartz.2010.csproj" />
+ </DocumentationSources>
+ <BuildLogFile>..\build\apidoc\log-2.0.txt</BuildLogFile>
+ <CopyrightText>
+ </CopyrightText>
+ <CopyrightHref>
+ </CopyrightHref>
+ <RootNamespaceTitle>Root Namespace Container</RootNamespaceTitle>
+ <FooterText>%40FOOTER%40</FooterText>
+ <MaximumGroupParts>2</MaximumGroupParts>
+ <NamespaceGrouping>False</NamespaceGrouping>
+ <SyntaxFilters>C#</SyntaxFilters>
+ <SdkLinkTarget>Blank</SdkLinkTarget>
+ <RootNamespaceContainer>False</RootNamespaceContainer>
+ <PresentationStyle>VS2010</PresentationStyle>
+ <Preliminary>False</Preliminary>
+ <NamingMethod>Guid</NamingMethod>
+ <HelpTitle>Quartz.NET API Documentation</HelpTitle>
+ <ContentPlacement>AboveNamespaces</ContentPlacement>
+ <HeaderText>%40HEADER%40</HeaderText>
+ <MissingTags>Summary, Parameter, Returns, AutoDocumentCtors, TypeParameter, AutoDocumentDispose</MissingTags>
+ </PropertyGroup>
+ <!-- There are no properties for these groups. AnyCPU needs to appear in order for Visual Studio to perform
+ the build. The others are optional common platform types that may appear. -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|Win32' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|Win32' ">
+ </PropertyGroup>
+ <!-- Import the SHFB build targets -->
+ <Import Project="$(SHFBROOT)\SandcastleHelpFileBuilder.targets" />
+</Project>

0 comments on commit f52e5bb

Please sign in to comment.