Skip to content
Permalink
Browse files
[COMMONSSITE-109] [build-plugin] Target for creating all items for
pre-release. First cut. Tested with Commons Collection git master. Using
XInclude would avoid a lot of duplication.
  • Loading branch information
garydgregory committed May 13, 2018
1 parent 287c2d4 commit e11f51d3b814b88045a54b327485beeb860242e1
Show file tree
Hide file tree
Showing 6 changed files with 356 additions and 0 deletions.
@@ -24,6 +24,11 @@
<property name="commonsMojoTempDir" value="target/commons-generated-xdocs" />
<property name="level" value="info" />

<!-- ========== Generate All Pages ================================ -->

<target name="all" description="Generate all pages" depends="contributing-md, download-page, jira-page, mail-page, readme-md" />
<target name="all-sandbox" description="Generate all pages" depends="contributing-md, download-page, sandbox-jira-page, mail-page, readme-md" />

<!-- ========== Generate Mailing List Page ================================ -->

<target name="mail-page" description="Generate Mailing List page">
@@ -20,7 +20,253 @@
Mojo metadata for "Commons Build: Standard XDOC Pages Generation".
-->
<pluginMetadata>
<!-- Using XInclude would help here. -->
<mojos>
<mojo>
<goal>all</goal>
<call>all</call>
<description>Apache Commons Build Mojo: Generate Mailing List page.</description>
<requiresProject>true</requiresProject>
<parameters>
<parameter>
<name>project.name</name>
<property>project.name</property>
<required>true</required>
<readonly>true</readonly>
<defaultValue>${project.name}</defaultValue>
<type>java.lang.String</type>
<description>The name of the project currently being built.</description>
</parameter>
<parameter>
<name>project.groupId</name>
<property>project.groupId</property>
<required>true</required>
<readonly>true</readonly>
<defaultValue>${project.groupId}</defaultValue>
<type>java.lang.String</type>
<description>The groupId of the project currently being built.</description>
</parameter>
<parameter>
<name>project.artifactId</name>
<property>project.artifactId</property>
<required>true</required>
<readonly>true</readonly>
<defaultValue>${project.artifactId}</defaultValue>
<type>java.lang.String</type>
<description>The artifactId of the project currently being built.</description>
</parameter>
<parameter>
<name>commons.jira.id</name>
<property>commons.jira.id</property>
<required>true</required>
<readonly>false</readonly>
<defaultValue>${commons.jira.id}</defaultValue>
<type>java.lang.String</type>
<description>The external JIRA id for the project (alphabetic, upper case.)</description>
</parameter>
<parameter>
<name>commons.componentid</name>
<property>commons.componentid</property>
<required>true</required>
<readonly>true</readonly>
<defaultValue>${commons.componentid}</defaultValue>
<type>java.lang.String</type>
<description>The commons component id.</description>
</parameter>
<parameter>
<name>commons.jira.pid</name>
<property>commons.jira.pid</property>
<required>true</required>
<readonly>false</readonly>
<defaultValue>${commons.jira.pid}</defaultValue>
<type>java.lang.String</type>
<description>The internal JIRA id for the project (numeric.)</description>
</parameter>
<parameter>
<name>commons.release.version</name>
<property>commons.release.version</property>
<required>true</required>
<readonly>false</readonly>
<defaultValue>${commons.release.version}</defaultValue>
<type>java.lang.String</type>
<description>The version of the latest release of the project.</description>
</parameter>
<parameter>
<name>commons.release.name</name>
<property>commons.release.name</property>
<required>true</required>
<readonly>false</readonly>
<defaultValue>${commons.release.name}</defaultValue>
<type>java.lang.String</type>
<description>The name of the latest release of the project.</description>
</parameter>
<parameter>
<name>commons.binary.suffix</name>
<property>commons.binary.suffix</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.binary.suffix}</defaultValue>
<type>java.lang.String</type>
<description>The suffix for the binary distribution.</description>
</parameter>
<parameter>
<name>commons.release.desc</name>
<property>commons.release.desc</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.release.desc}</defaultValue>
<type>java.lang.String</type>
<description>Release Title or Description.</description>
</parameter>
<parameter>
<name>commons.release.subdir</name>
<property>commons.release.subdir</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.release.subdir}</defaultValue>
<type>java.lang.String</type>
<description>Subdirectory (instead of source/binaries.)</description>
</parameter>
<!-- commons.release.2.* -->
<parameter>
<name>commons.release.2.version</name>
<property>commons.release.2.version</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.release.2.version}</defaultValue>
<type>java.lang.String</type>
<description>The version of an alternative release of the project.</description>
</parameter>
<parameter>
<name>commons.release.2.name</name>
<property>commons.release.2.name</property>
<required>true</required>
<readonly>false</readonly>
<defaultValue>${commons.release.2.name}</defaultValue>
<type>java.lang.String</type>
<description>The name of the alternative release of the project.</description>
</parameter>
<parameter>
<name>commons.release.2.desc</name>
<property>commons.release.2.desc</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.release.2.desc}</defaultValue>
<type>java.lang.String</type>
<description>Alternative Release Title or Description.</description>
</parameter>
<parameter>
<name>commons.release.2.binary.suffix</name>
<property>commons.release.2.binary.suffix</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.release.2.binary.suffix}</defaultValue>
<type>java.lang.String</type>
<description>The suffix for the alternative release binary distribution.</description>
</parameter>
<parameter>
<name>commons.release.2.subdir</name>
<property>commons.release.2.subdir</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.release.2.subdir}</defaultValue>
<type>java.lang.String</type>
<description>Subdirectory (instead of source/binaries.)</description>
</parameter>
<!-- commons.release.3.* -->
<parameter>
<name>commons.release.3.version</name>
<property>commons.release.3.version</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.release.3.version}</defaultValue>
<type>java.lang.String</type>
<description>The version of an alternative release of the project.</description>
</parameter>
<parameter>
<name>commons.release.3.name</name>
<property>commons.release.3.name</property>
<required>true</required>
<readonly>false</readonly>
<defaultValue>${commons.release.3.name}</defaultValue>
<type>java.lang.String</type>
<description>The name of the alternative release of the project.</description>
</parameter>
<parameter>
<name>commons.release.3.desc</name>
<property>commons.release.3.desc</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.release.3.desc}</defaultValue>
<type>java.lang.String</type>
<description>Alternative Release Title or Description.</description>
</parameter>
<parameter>
<name>commons.release.3.binary.suffix</name>
<property>commons.release.3.binary.suffix</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.release.3.binary.suffix}</defaultValue>
<type>java.lang.String</type>
<description>The suffix for the alternative release binary distribution.</description>
</parameter>
<parameter>
<name>commons.release.3.subdir</name>
<property>commons.release.3.subdir</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.release.3.subdir}</defaultValue>
<type>java.lang.String</type>
<description>Subdirectory (instead of source/binaries.)</description>
</parameter>
<!-- commons.release.4.* -->
<parameter>
<name>commons.release.4.version</name>
<property>commons.release.4.version</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.release.4.version}</defaultValue>
<type>java.lang.String</type>
<description>The version of an alternative release of the project.</description>
</parameter>
<parameter>
<name>commons.release.4.name</name>
<property>commons.release.4.name</property>
<required>true</required>
<readonly>false</readonly>
<defaultValue>${commons.release.4.name}</defaultValue>
<type>java.lang.String</type>
<description>The name of the alternative release of the project.</description>
</parameter>
<parameter>
<name>commons.release.4.desc</name>
<property>commons.release.4.desc</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.release.4.desc}</defaultValue>
<type>java.lang.String</type>
<description>Alternative Release Title or Description.</description>
</parameter>
<parameter>
<name>commons.release.4.binary.suffix</name>
<property>commons.release.4.binary.suffix</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.release.4.binary.suffix}</defaultValue>
<type>java.lang.String</type>
<description>The suffix for the alternative release binary distribution.</description>
</parameter>
<parameter>
<name>commons.release.4.subdir</name>
<property>commons.release.4.subdir</property>
<required>false</required>
<readonly>false</readonly>
<defaultValue>${commons.release.4.subdir}</defaultValue>
<type>java.lang.String</type>
<description>Subdirectory (instead of source/binaries.)</description>
</parameter>
</parameters>
</mojo>
<mojo>
<goal>mail-page</goal>
<call>mail-page</call>
@@ -21,6 +21,9 @@
<menu name="Build Plugin">
<item name="Overview" href="/index.html"/>
<item name="Goals">
<item name="all" href="/all.html">
<item name="properties" href="/all-mojo.html"/>
</item>
<item name="download-page" href="/download-page.html">
<item name="properties" href="/download-page-mojo.html"/>
</item>
@@ -0,0 +1,44 @@
<?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.
-->
<document>
<properties>
<title>commons:all</title>
</properties>
<body>
<section name="commons:all">
<p><strong>Full name</strong>:</p>
<p>org.apache.commons:commons-build-plugin:1.9:all</p>
<p><strong>Description</strong>:</p>
<div>Apache Commons Build Mojo: Generate all pages</div>
<p><strong>Attributes</strong>:</p>
<ul>
<li>Requires a Maven 2.0 project to be executed.</li>
<li>Is NOT inherited by default in multi-project builds.</li>
</ul>
<subsection name="Required Parameters">
<p>This is the union of all parameters for all goals in this plugin.</p>
</subsection>
<subsection name="Optional Parameters">
<p>This is the union of all parameters for all goals in this plugin.</p>
</subsection>
<subsection name="Parameter Details">
<p>This is the union of all parameters for all goals in this plugin.</p>
</subsection>
</section>
</body>
</document>
@@ -0,0 +1,57 @@
<?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.
-->
<document>

<properties>
<title>Generating All Pages</title>
<author email="dev@commons.apache.org">Apache Commons Documentation Team</author>
</properties>

<body>


<section name="commons:all" href="all">

<subsection name="Overview">
<p>
The <code>commons:all</code> goal generates all pages for a <strong>Proper</strong> component
(for <strong>Sandbox</strong> components use the <a href="sandbox-all.html">commons:sandbox-all</a> goal).
Execute the goal using the following command: <source>mvn commons:all</source>
</p>
<p>
This goal uses the following:
<ul>
<li>The goal is mapped to the ant script/target using the <code>all</code> Mojo defintion in the
<a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.mojos.xml">generate-xdocs.mojos.xml</a> mapping document</li>
<li>Executes the <code>all</code> target in
<a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml">generate-xdocs.build.xml</a>
ant script</li>
</ul>
</p>
</subsection>

<subsection name="Configuration">
<p>
To generate all pages, the union of other goal's properties are configured in the component's <code>pom.xml</code>
</p>
</subsection>

</section>

</body>
</document>
@@ -40,6 +40,7 @@
<p>
Available Goals:
<ul>
<li><a href="all.html">commons:all</a> - Generate all pages for the component's latest release</li>
<li><a href="download-page.html">commons:download-page</a> - Generate a Download page for the component's latest release</li>
<li><a href="mail-page.html">commons:mail-page</a> - Generate a custom <i>Mailing List</i> page for a component</li>
<li><a href="jira-page.html">commons:jira-page</a> - Generate a custom <i>JIRA Issue Tracking</i> page for a component</li>

0 comments on commit e11f51d

Please sign in to comment.