| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| --> |
| |
| <!DOCTYPE someant [ |
| <!ENTITY properties SYSTEM "properties.xml"> |
| <!ENTITY replaces SYSTEM "replaces.xml"> |
| <!ENTITY disallowed-links SYSTEM "disallowed-links.xml"> |
| ]> |
| |
| <project basedir="." name="nbbuild/javadoctools" default="build-javadoc"> |
| |
| <import file="../default.xml"/> |
| |
| <target name="build-javadoc" depends="-jdk-init,-load-build-properties,init-tasks,set-buildnumber" description="Builds Javadoc documentation for modules; on branches pass e.g. -Djavadoc.web.root=http://bits.netbeans.org/6.7/javadoc"> |
| <resolvelist name="allmodules" path="modules.fullpath" dir="${nb_all}" list="${nb.clusters.list}" modules="${config.javadoc.all}"/> |
| <sortsuitemodules unsortedmodules="${modules.fullpath}" sortedmodulesproperty="modules.sorted"/> |
| |
| <property name="export.interfaces" location="${netbeans.javadoc.dir}/../ModulesExportedInterfaces"/> |
| <property name="export.apichanges" location="${netbeans.javadoc.dir}/../APIChanges"/> |
| <mkdir dir="${export.interfaces}"/> |
| <mkdir dir="${export.apichanges}"/> |
| |
| <property name="javadoc.fail.on.error" value="true"/> |
| <subant-junit target="javadoc" failonerror="${javadoc.fail.on.error}" report="${nb_all}/nbbuild/build/build-all-javadoc.xml"> |
| <buildpath path="${modules.sorted}"/> |
| </subant-junit> |
| |
| <antcall inheritall="true" inheritrefs="true" target="generate-xml"/> |
| <antcall inheritall="true" inheritrefs="true" target="generate-html"/> |
| <antcall inheritall="true" inheritrefs="true" target="check-broken-links"/> |
| |
| |
| <property name="javadoc.web.zip" location="${nb_all}/nbbuild/NetBeans-${buildnum}-javadoc-web.zip"/> |
| <property name="javadoc.zip" location="${nb_all}/nbbuild/NetBeans-${buildnum}-javadoc.zip"/> |
| <condition property="skip.javadoc.web.zip" value="true"> |
| <equals arg1="${javadoc.web.zip}" arg2=""/> |
| </condition> |
| |
| |
| <antcall inheritall="true" inheritrefs="true" target="build-zip-web"/> |
| <antcall inheritall="true" inheritrefs="true" target="build-zip-lite"/> |
| </target> |
| |
| <target name="build-zip-web" depends="init" unless="skip.javadoc.web.zip"> |
| <zip destfile="${javadoc.web.zip}" update="true" duplicate="preserve" compress="true"> |
| <zipfileset dir="${netbeans.javadoc.dir}" filemode="644" prefix=""> |
| <include name="**/*"/> |
| </zipfileset> |
| </zip> |
| </target> |
| <target name="build-zip-lite" depends="init"> |
| <zip destfile="${javadoc.zip}" update="true" duplicate="preserve" compress="true"> |
| <zipfileset dir="${nb_all}/nbbuild/build/tmp" filemode="644" prefix=""> |
| <include name="overview-summary.html"/> |
| </zipfileset> |
| <zipfileset dir="${netbeans.javadoc.dir}" filemode="644" prefix=""> |
| <include name="**/*"/> |
| <exclude name="*.zip"/> |
| <exclude name="overview-summary.html"/> |
| <exclude name="tmp/**"/> |
| </zipfileset> |
| </zip> |
| </target> |
| |
| <target name="generate-xml" depends="init"> |
| <echo file="${export.apichanges}/header.gen"><?xml version="1.0" encoding="UTF-8"?> |
| <changes> |
| </echo> |
| |
| <echo file="${export.apichanges}/footer.gen"> |
| </changes> |
| </echo> |
| |
| <concat destfile="${netbeans.javadoc.dir}/apichanges.xml"> |
| <fileset dir="${export.apichanges}" includes="header.gen"/> |
| <fileset dir="${export.apichanges}" includes="*" excludes="*.gen"/> |
| <fileset dir="${export.apichanges}" includes="footer.gen"/> |
| </concat> |
| |
| <echo file="${export.interfaces}/header.gen"><?xml version="1.0" encoding="UTF-8"?> |
| <apis> |
| </echo> |
| |
| <echo file="${export.interfaces}/footer.gen"> |
| </apis> |
| </echo> |
| |
| <concat destfile="${netbeans.javadoc.dir}/modules.xml"> |
| <fileset dir="${export.interfaces}" includes="header.gen"/> |
| <fileset dir="${export.interfaces}" includes="*" excludes="*.gen"/> |
| <fileset dir="${export.interfaces}" includes="footer.gen"/> |
| </concat> |
| |
| <taskdef name="javadoc-index" classname="org.netbeans.nbbuild.JavadocIndex" classpath="${nbantext.jar}"/> |
| <javadoc-index target="${netbeans.javadoc.dir}/allclasses.xml"> |
| <packageslist dir="${netbeans.javadoc.dir}"> |
| <include name="**/allclasses-noframe.html"/> |
| </packageslist> |
| </javadoc-index> |
| |
| <!-- we concat all xml into one big xml file alldatas.xml --> |
| <echo file="${export.interfaces}/header.gen"><?xml version="1.0" encoding="UTF-8"?> |
| <alldata> |
| </echo> |
| |
| <echo file="${export.interfaces}/footer.gen"> |
| </alldata> |
| </echo> |
| <concat destfile="${netbeans.javadoc.dir}/alldatas.xml"> |
| <fileset dir="${export.interfaces}" includes="header.gen"/> |
| <fileset file="${netbeans.javadoc.dir}/allclasses.xml"/> |
| <fileset file="${netbeans.javadoc.dir}/modules.xml"/> |
| <fileset file="${netbeans.javadoc.dir}/apichanges.xml"/> |
| <fileset dir="${export.interfaces}" includes="footer.gen"/> |
| <filterchain> |
| <linecontainsregexp negate="true"> |
| <regexp pattern="<\?xml version"/> |
| </linecontainsregexp> |
| </filterchain> |
| </concat> |
| </target> |
| |
| <target name="generate-html" depends="init"> |
| <!-- reformulate dev version from json to more human version --> |
| <condition property="json.uversion" value="${json.version}" else="Development Version"> |
| <not> |
| <equals arg1="${json.version}" arg2="dev"/> |
| </not> |
| </condition> |
| <style in="${netbeans.javadoc.dir}/alldatas.xml" out="${netbeans.javadoc.dir}/usecases.html" style="export2usecases.xsl"> |
| <param name="date" expression="${modules-javadoc-date}"/> |
| <param name="maturity" expression="${json.maturity}" /> |
| <param name="version" expression="${json.uversion}" /> |
| <param name="releaseinfo" expression="${xmlrelease}" /> |
| </style> |
| |
| <style in="${netbeans.javadoc.dir}/alldatas.xml" out="${netbeans.javadoc.dir}/apichanges.html" style="export2apichanges.xsl"> |
| <param name="date" expression="${modules-javadoc-date}"/> |
| <param name="changes-since-year" expression="${previous.release.year}"/> |
| <param name="changes-since-day" expression="${previous.release.day}"/> |
| <param name="changes-since-month" expression="${previous.release.month}"/> |
| <param name="include-introduction" expression="true"/> |
| <param name="maturity" expression="${json.maturity}" /> |
| <param name="version" expression="${json.uversion}" /> |
| <param name="releaseinfo" expression="${xmlrelease}" /> |
| <param name="allmodule" expression="${netbeans.javadoc.dir}/modules.xml" /> |
| </style> |
| |
| <style in="${netbeans.javadoc.dir}/alldatas.xml" out="${netbeans.javadoc.dir}/apichanges.atom" style="export2apichanges-atom.xsl"> |
| <param name="date" expression="${atom-date}"/> |
| <param name="maturity" expression="${json.maturity}" /> |
| </style> |
| <!-- copy some assets to apidoc root --> |
| <copy file="netbeans.css" tofile="${netbeans.javadoc.dir}/netbeans.css"/> |
| <copy file="siteresource/apache-netbeans.svg" tofile="${netbeans.javadoc.dir}/apache-netbeans.svg" overwrite="true"/> |
| <copy todir="${netbeans.javadoc.dir}" overwrite="true"> |
| <fileset dir="siteresource" > |
| <include name="**/*.png"/> |
| </fileset> |
| </copy> |
| <condition property="javadoc.style.sheet.exists"> |
| <available file="${netbeans.javadoc.dir}/org-openide-util/javadoc.css"/> |
| </condition> |
| |
| <fail unless="javadoc.style.sheet.exists"> |
| The org-openide-util/javadoc.css has to exist as we are referring to |
| it from master module Javadoc pages. If it does not anymore, update |
| the export*.xsl templates. |
| </fail> |
| <!-- |
| <style in="${netbeans.javadoc.dir}/allclasses.xml" out="${netbeans.javadoc.dir}/allclasses-frame.html" style="export2allclasses.xsl"/> |
| |
| <style in="${netbeans.javadoc.dir}/modules.xml" out="${netbeans.javadoc.dir}/overview-frame.html" style="export2allmodules.xsl"> |
| <param name="date" expression="${modules-javadoc-date}"/> |
| </style> |
| --> |
| <style in="${netbeans.javadoc.dir}/alldatas.xml" out="${netbeans.javadoc.dir}/layers.html" style="export2layer.xsl"> |
| <param name="date" expression="${modules-javadoc-date}"/> |
| <param name="maturity" expression="${json.maturity}" /> |
| <param name="version" expression="${json.uversion}" /> |
| <param name="releaseinfo" expression="${xmlrelease}" /> |
| </style> |
| |
| <style in="${netbeans.javadoc.dir}/alldatas.xml" out="${netbeans.javadoc.dir}/properties.html" style="export2property.xsl"> |
| <param name="date" expression="${modules-javadoc-date}"/> |
| <param name="maturity" expression="${json.maturity}" /> |
| <param name="version" expression="${json.uversion}" /> |
| <param name="releaseinfo" expression="${xmlrelease}" /> |
| </style> |
| |
| <style in="${netbeans.javadoc.dir}/alldatas.xml" out="${netbeans.javadoc.dir}/branding.html" style="export2branding.xsl"> |
| <param name="date" expression="${modules-javadoc-date}"/> |
| <param name="maturity" expression="${json.maturity}" /> |
| <param name="version" expression="${json.uversion}" /> |
| <param name="releaseinfo" expression="${xmlrelease}" /> |
| </style> |
| |
| <!-- at the end generate the index.html so people know where to start --> |
| <style in="${netbeans.javadoc.dir}/alldatas.xml" out="${netbeans.javadoc.dir}/index.html" style="export2index.xsl"> |
| <param name="date" expression="${modules-javadoc-date}"/> |
| <param name="maturity" expression="${json.maturity}" /> |
| <param name="version" expression="${json.uversion}" /> |
| <param name="releaseinfo" expression="${xmlrelease}" /> |
| </style> |
| &properties; |
| |
| <replace dir="${netbeans.javadoc.dir}"> |
| <include name="*.html"/> |
| <replacefilter token="@JDK@" value="${javaapidocurl}"/> |
| &replaces; |
| <replacefilter token="http://root/" value="."/> |
| <replacefilter token="$${javadoc.web.root}" value="."/> |
| </replace> |
| |
| <echo message="Javadoc index has been generated to ${netbeans.javadoc.dir}/index.html"/> |
| </target> |
| |
| <target name="check-broken-links" depends="init" unless="javadoc.skip.brokenlinks.check"> |
| <taskdef name="checklinks" classname="org.netbeans.nbbuild.CheckLinks" classpath="${nbantext.jar}"/> |
| <property name="javadoc.check.forbidden.links" value="true"/> |
| <checklinks basedir="${netbeans.javadoc.dir}" checkexternal="${javadoc.check.external.links}" checkforbidden="${javadoc.check.forbidden.links}" checkspaces="false" report="${netbeans.javadoc.dir}/checklinks-errors.xml"> |
| <include name="*/overview-summary.html"/> |
| <include name="*/apichanges.html"/> |
| <include name="*/architecture-summary.html"/> |
| <include name="*/**/package-summary.html"/> |
| <include name="*/**/doc-files/**/*.html"/> |
| <include name="*.html"/> |
| &disallowed-links; |
| </checklinks> |
| </target> |
| |
| </project> |