root/tags/OMERO.insight_3_Beta1/build/docs.xml
| Revision 4729, 8.0 kB (checked in by jburel, 22 months ago) | |
|---|---|
|
|
| Line | |
|---|---|
| 1 | <?xml version="1.0" encoding="UTF-8"?> |
| 2 | |
| 3 | <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 4 | * Child build file to create the project documentation. |
| 5 | * This file is only meant to be used as an imported file within the |
| 6 | * OMERO.insight master build file. |
| 7 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> |
| 8 | <project name="docs" default="usage"> |
| 9 | |
| 10 | <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 11 | * Fail at import time if the external properties this child depends upon |
| 12 | * have not been defined. |
| 13 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> |
| 14 | <checkdef prop="build.dir" /> |
| 15 | <checkdef prop="base.src.dir" /> |
| 16 | <checkdef prop="base.docgen.index.file" /> |
| 17 | <checkdef prop="base.userdocs.index.file" /> |
| 18 | <checkdef prop="base.docgen.javadoc.cssfile" /> |
| 19 | <checkdef prop="base.docgen.xdocs.dir" /> |
| 20 | <checkdef prop="base.docgen.xdocs.cssfile" /> |
| 21 | <checkdef prop="base.docgen.xdocs.stylefile" /> |
| 22 | <checkdef prop="base.docgen.xdocs.xsl.dir" /> |
| 23 | <checkdef prop="base.docgen.xdocs.navig.dir" /> |
| 24 | <!-- |
| 25 | NOTE: The last dependency is app.run.classpath, which is a path ref. |
| 26 | This can only be checked after the path elements have been created, |
| 27 | which happens when the app-init target is invoked. So we're forced |
| 28 | to defer this check until the compile target has been executed. |
| 29 | --> |
| 30 | |
| 31 | <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 32 | * Settings to create the docs: |
| 33 | * + docs.dir: The documentation directory, where docs are output. |
| 34 | * + docs.javadoc.dir: The directory under which the JavaDoc is output. |
| 35 | * + docs.xml2ad.file: The XSLT file to transform one of our 'doc.xml'files |
| 36 | * into an AurigaDoc XML file. |
| 37 | * + docs.xml2fo.file: The XSLT file to transform an AurigaDoc XML file |
| 38 | * into a PDF. |
| 39 | * + docs.xml2mhtml.file: The XSLT file to transform an AurigaDoc XML file |
| 40 | * into a multi-page HTML document. |
| 41 | * + docs.xdocs.start.dir: The path, relative to ${base.docgen.xdocs.dir}, |
| 42 | * specifying the root of the tree containing the xdoc directories. |
| 43 | * + docs.xdocs.src.dir: Absolute path to the root of the tree containing |
| 44 | * the xdoc directories. |
| 45 | * |
| 46 | * NOTE: You can override ${docs.xdocs.start.dir} (typically from the command |
| 47 | * line) to have the xdocs target generate only a subset of all xml |
| 48 | * docs. |
| 49 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> |
| 50 | <property name="docs.dir" location="${build.dir}/docs" /> |
| 51 | <property name="docs.userdocs.dir" location="${build.dir}/docs/userdocs" /> |
| 52 | <property name="docs.javadoc.dir" location="${docs.dir}/javadoc" /> |
| 53 | <property name="docs.xml2ad.file" |
| 54 | location="${base.docgen.xdocs.xsl.dir}/xml2ad.xsl" /> |
| 55 | <property name="docs.xml2fo.file" |
| 56 | location="${base.docgen.xdocs.xsl.dir}/xml2fo.xsl" /> |
| 57 | <property name="docs.xml2mhtml.file" |
| 58 | location="${base.docgen.xdocs.xsl.dir}/xml2mhtml.xsl" /> |
| 59 | <property name="docs.xdocs.start.dir" value="docs" /> |
| 60 | <property name="docs.xdocs.src.dir" |
| 61 | location="${base.docgen.xdocs.dir}/${docs.xdocs.start.dir}" /> |
| 62 | |
| 63 | |
| 64 | |
| 65 | <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 66 | * Create ${docs.dir}. |
| 67 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> |
| 68 | <target name="docs-init" depends="init"> |
| 69 | <mkdir dir="${docs.dir}" /> |
| 70 | <copy todir="${docs.dir}" file="${base.docgen.index.file}" /> |
| 71 | <copy todir="${docs.userdocs.dir}" file="${base.userdocs.index.file}" /> |
| 72 | </target> |
| 73 | |
| 74 | <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 75 | * Generate the JavaDoc in ${docs.javadoc.dir}. |
| 76 | * The JavaDoc is customized with the ${base.docgen.javadoc.cssfile}. |
| 77 | * |
| 78 | * NOTE: We also verify that app.run.classpath has been defined. |
| 79 | * Because we turn this path ref into a string, we can only check for |
| 80 | * existence after all its path elements have been created (otherwise |
| 81 | * we get the empty string). This happens in app-init; because compile |
| 82 | * depends on app-init, we defer this check until compile has been called. |
| 83 | * |
| 84 | * |
| 85 | * TODO: Currently we include all org.openmicroscopy.* classes. This should |
| 86 | * be set to the set of all files within ${base.src.dir} matching the |
| 87 | * app.sources pattern. (Otherwise we end up documenting files excluded |
| 88 | * from compilation.) Figure out how to do it! (FileSet seem not to work.) |
| 89 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> |
| 90 | <target name="javadocs" depends="docs-init,compile"> |
| 91 | <checkdef ref="app.run.classpath" /> |
| 92 | <javadoc sourcepath="${base.src.dir}" |
| 93 | packagenames="org.openmicroscopy.*" |
| 94 | destdir="${docs.javadoc.dir}" |
| 95 | windowtitle="OMERO.insight JavaDoc" |
| 96 | use="yes" |
| 97 | author="yes" |
| 98 | version="yes" |
| 99 | private="yes" |
| 100 | stylesheetfile="${base.docgen.javadoc.cssfile}" |
| 101 | verbose="yes"> |
| 102 | <classpath refid="app.run.classpath" /> |
| 103 | <bottom> |
| 104 | <![CDATA[<p><i>Copyright © 2006 Open Microscopy Environment. |
| 105 | All Rights reserved.</i></p>]]> |
| 106 | </bottom> |
| 107 | </javadoc> |
| 108 | </target> |
| 109 | |
| 110 | <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 111 | * Generates project documentation under ${docs.dir}. |
| 112 | * This target produces a PDF/HTML documentation set for every xdoc |
| 113 | * directory found under ${docs.xdocs.src.dir}. The whole directory |
| 114 | * tree is scanned to detect directories containing a 'doc.xml' file. |
| 115 | * Each of those directories is taken to be an xdoc directory, that is |
| 116 | * one containing an XML/HTML set of files that haveto be transformed |
| 117 | * into PDF and HTML. |
| 118 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> |
| 119 | <target name="xdocs" depends="docs-init"> |
| 120 | <xdoc srcdir="${docs.xdocs.src.dir}" |
| 121 | destdir="${docs.dir}" |
| 122 | auriga="${docs.xml2ad.file}" |
| 123 | fo="${docs.xml2fo.file}" |
| 124 | pdfstyle="${base.docgen.xdocs.stylefile}" |
| 125 | mhtml="${docs.xml2mhtml.file}" |
| 126 | navdir="${base.docgen.xdocs.navig.dir}" |
| 127 | cssfile="${base.docgen.xdocs.cssfile}" /> |
| 128 | </target> |
| 129 | |
| 130 | <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 131 | * Outputs all project documentation under ${docs.dir}. |
| 132 | * This target simply forwards to all other documentation targets and then |
| 133 | * copies ${base.docgen.index.file} under ${docs.dir}. |
| 134 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> |
| 135 | <target name="docs" |
| 136 | depends="javadocs,xdocs" |
| 137 | description="Outputs all project documentation."> |
| 138 | </target> |
| 139 | |
| 140 | <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 141 | * Remove all output generated by the targets within this file. |
| 142 | * This target simply deletes the ${docs.dir}, relying on the fact that all |
| 143 | * other targets output under this dir. As long as dir mapping props stick |
| 144 | * to this rule, new targets can be added without modifying this one. |
| 145 | * Should a target output dir need to be mapped to a dir outside of |
| 146 | * ${docs.dir}, then an explicit delete has to be added here. |
| 147 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> |
| 148 | <target name="clean" |
| 149 | description="Remove all output generated by docs targets."> |
| 150 | <delete dir="${docs.dir}" /> |
| 151 | </target> |
| 152 | |
| 153 | <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 154 | * Outputs a list of available targets. |
| 155 | * This is the list of all public targets exported by this file. |
| 156 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> |
| 157 | <target name="usage" |
| 158 | description="List available documentation targets."> |
| 159 | <echo level="info"> |
| 160 | Documentation targets: |
| 161 | ---------------------- |
| 162 | docs: Outputs all documentation under ${docs.dir}. |
| 163 | docs.clean: Remove ${docs.dir}. |
| 164 | </echo> |
| 165 | </target> |
| 166 | |
| 167 | </project> |
Note: See TracBrowser
for help on using the browser.
