Author: bodewig
Date: Sun May 17 08:41:11 2026
New Revision: 1934284

Log:
add preliminary version of cyclonedx antlib manual

Added:
   ant/site/ant/production/antlibs/cyclonedx/manual/
   ant/site/ant/production/antlibs/cyclonedx/manual/component.html   (contents, 
props changed)
   ant/site/ant/production/antlibs/cyclonedx/manual/componentbom.html   
(contents, props changed)
   ant/site/ant/production/antlibs/cyclonedx/manual/externalreferenceset.html   
(contents, props changed)
   ant/site/ant/production/antlibs/cyclonedx/manual/index.html   (contents, 
props changed)
   ant/site/ant/production/antlibs/cyclonedx/manual/license.html   (contents, 
props changed)
   ant/site/ant/production/antlibs/cyclonedx/manual/organization.html   
(contents, props changed)
   ant/site/ant/production/antlibs/cyclonedx/manual/style.css   (contents, 
props changed)
Modified:
   ant/site/ant/production/antlibs/cyclonedx/index.html
   ant/site/ant/sources/antlibs/cyclonedx/index.xml

Modified: ant/site/ant/production/antlibs/cyclonedx/index.html
==============================================================================
--- ant/site/ant/production/antlibs/cyclonedx/index.html        Sun May 17 
08:30:25 2026        (r1934283)
+++ ant/site/ant/production/antlibs/cyclonedx/index.html        Sun May 17 
08:41:11 2026        (r1934284)
@@ -195,6 +195,11 @@
       for Ant projects using manual dependency management. A
       corresponding library for projects using <a 
href="https://ant.apache.org/ivy/";>Apache Ivy</a> is
       planned.</p>
+                        <h3 class="section">
+      <a name="Current Manual"></a>
+      Current Manual
+    </h3>
+                        <p>The pre-release manual can be found <a 
href="manual/">here</a>.</p>
                 
     </div>
   </div>

Added: ant/site/ant/production/antlibs/cyclonedx/manual/component.html
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ ant/site/ant/production/antlibs/cyclonedx/manual/component.html     Sun May 
17 08:41:11 2026        (r1934284)
@@ -0,0 +1,374 @@
+<!--
+   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
+
+       https://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.
+-->
+<html>
+  <head>
+    <meta http-equiv="Content-Language" content="en-us"></meta>
+    <link rel="stylesheet" type="text/css" href="style.css">
+    <title>Apache CycloneDX Ant Library - component</title>
+  </head>
+
+  <body>
+    <h2 id="component">component</h2>
+
+    <p>Components are central to CycloneDX SBOMs. There is <b>the</b>
+      component the whole SBOM is about - and there are more
+      components specified inside the SBOM as (transitive)
+      dependencies or parts of the other components.</p>
+
+    <p>The component elements can be used as top-level elements and be
+      given an id so they can be later referred to via
+      the <code>refid</code> attribute -
+      see <a href="https://ant.apache.org/manual/using.html#references";>the
+      Ant manual</a>. The can also be referred to by
+      a <a href="#dependency">dependency</a> of another component
+      via <code>componentRef</code>.</p>
+
+    <h3>Attributes</h3>
+
+    <table class="attr">
+      <tr>
+        <th scope="col">Attribute</th>
+        <th scope="col">Description</th>
+        <th scope="col">Required</th>
+      </tr>
+      <tr>
+        <td>name</td>
+        <td>The name of the component.</td>
+        <td>Yes</td>
+      </tr>
+      <tr>
+        <td>type</td>
+        <td>The type of the component. Valid types are defined by the
+          <a 
href="https://cyclonedx.org/docs/1.7/json/#metadata_tools_oneOf_i0_components_items_type";>CycloneDX
+          specification</a>.</td>
+        <td>No, the default is "library"</td>
+      </tr>
+      <tr>
+        <td>group</td>
+        <td>The group of the component.</td>
+        <td>No</td>
+      </tr>
+      <tr>
+        <td>version</td>
+        <td>The version of the component.</td>
+        <td>No</td>
+      </tr>
+      <tr>
+        <td>purl</td>
+        <td>The <a href="https://github.com/package-url/purl-spec";>Package-URL
+            (purl)</a> of the component.</td>
+        <td>No - if not set but <code>name</code>, <code>group</code>
+          and <code>version</code> are present an implicit purl is
+          calculated as <code>pkg:maven</code> jar purl from these
+          values.</td>
+      </tr>
+      <tr>
+        <td>bomRef</td>
+        <td>The bom-ref of the component.</td>
+        <td>No - if not set, the component's - potentially calculated
+          - purl will be used.</td>
+      </tr>
+      <tr>
+        <td>scope</td>
+        <td>The scope of the component. Valid scopes are defined by the
+          <a 
href="https://cyclonedx.org/docs/1.7/json/#metadata_tools_oneOf_i0_components_items_scope";>CycloneDX
+          specification</a>.</td>
+        <td>No, <code>scope</code> is prohibited for the main
+          component of the SBOM.</td>
+      </tr>
+      <tr>
+        <td>isExternal</td>
+        <td>Whether the component is external. The CycloneDX
+          Specification says:
+          <cite>An external component is one that is not part of an
+            assembly, but is expected to be provided by the
+            environment, regardless of the component's
+            scope.</cite><br/>
+          This attribute doesn't have any effect as long as CycloneDX
+          Core doesn't support version 1.7 of the specification.
+        </td>
+        <td>No, <code>isExternal</code> must not be <code>true</code>
+          for the main component of the SBOM.</td>
+      </tr>
+      <tr>
+        <td>description</td>
+        <td>The description of the component.</td>
+        <td>No</td>
+      </tr>
+      <tr>
+        <td>publisher</td>
+        <td>The publisher of the component.</td>
+        <td>No</td>
+      </tr>
+      <tr>
+        <td>copyright</td>
+        <td>The copyright of the component.</td>
+        <td>No</td>
+      </tr>
+      <tr>
+        <td>mimetype</td>
+        <td>The MIME-type of the component.</td>
+        <td>No</td>
+      </tr>
+      <tr>
+        <td>manufacturerIsSupplier</td>
+        <td>Whether the
+          nested <a href="#manufacturer">manufacturer</a> shall be used
+          as supplier as well.</td>
+        <td>No - defaults to <code>false</code>. Must not
+          be <code>true</code> if a
+          nested <a href="#supplier">supplier</a> exists.</td>
+      </tr>
+      <tr>
+        <td>unknownDependencies</td>
+        <td>Whether the dependencies of this component are unknown. If
+          set to <code>false</code> then a component without any
+          nested
+          <a href="#dependency">dependency</a> elements is treated as
+          having no dependencies at all. </td>
+        <td>No - defaults to <code>false</code>.</td>
+      </tr>
+    </table>
+
+    <h3>Nested elements</h3>
+
+    <h4>any
+      file-system <a 
href="https://ant.apache.org/manual/Types/resources.html";>resource</a></h4>
+
+    <p>At most one nested resource specifies the file the component
+      describes. This is required if you want to include hashes for
+      the component in your SBOM.</p>
+
+    <h4 id="sbomLink">sbomLink</h4>
+
+    <p>At most one resource can be specified
+      as <code>sbomLink</code>. When present the referenced resource is
+      read as CycloneDX SBOM and:</p>
+
+    <ul>
+      <li><code>type</code>, <code>name</code>, <code>group</code>, 
<code>version</code>,
+        <code>purl</code>, <code>bomRef</code>, <code>scope</code>,
+        <code>decription</code>, <code>publisher</code>, <code>copright</code>,
+        <code>mimeType</code> and <code>manufacturer</code> are taken
+        from the SBOM's metadata component unless they are explicitly
+        specified on the component element itself.</li>
+      <li><code>supplier</code> is taken from the SBOM's metadata
+        component unless it is explicitly specified on the component
+        element itself or <code>manufacturerissupplier</code>
+        is <code>true</code>.</li>
+      <li>Tags are merged wiht those of the SBOM's metadata
+        component.</li>
+      <li><code>author</code>s, <code>license</code>s, 
<code>exteranlReference</code>s,
+        <code>dependency</code>s and nested <code>components</code>
+        are taken from the SBOM's metadata component if and only if
+        there is no corresponding element in this component
+        element.</li>
+      <li>Hashes of the linked SBOM are ignored completely.</li>
+      <li>Other components specified in the linked SBOM are also added
+        to the SBOM created by the compomentbom task if they are
+        direct dependencies of the current component element. And
+        their dependencies are set to "unknown" as handling of
+        transitive dependencies is beyond the scope of this
+        library.<br/>
+        Components specified explicitly in the SBOM take precedence
+        over those found by parsing an SBOM link. If there already
+        exists a component as part of the SBOM with the same name and
+        group as one read from the linked SBOM, the linked component
+        will be ignored. Here the version is ignored, it is assumed
+        the component explicitly specified is the result of a process
+        that resolved conflicts in dependency versions.
+      </li>
+    </ul>
+
+    <p>The <a hre="https://github.com/CycloneDX/cyclonedx-core-java";>CycloneDX
+        Core (Java) library</a> is used to read the linked SBOM.</p>
+
+    <h4 id="manufacturer">manufacturer</h4>
+
+    <p>At most one nested <a href="organization.html">organization</a>
+      specifies the manufacturer of the component.</p>
+
+    <h4 id="supplier">supplier</h4>
+
+    <p>At most one nested <a href="organization.html">organization</a>
+      specifies the supplier of the component.</p>
+
+    <h4>author</h4>
+
+    <p>Adds an author to the component.</p>
+
+    <h5>Attributes</h5>
+
+    <table class="attr">
+      <tr>
+        <th scope="col">Attribute</th>
+        <th scope="col">Description</th>
+        <th scope="col">Required</th>
+      </tr>
+      <tr>
+        <td>bomRef</td>
+        <td>The bom-ref of the author.</td>
+        <td>No</td>
+      </tr>
+      <tr>
+        <td>name</td>
+        <td>The name of the author.</td>
+        <td>No</td>
+      </tr>
+      <tr>
+        <td>email</td>
+        <td>The email of the author.</td>
+        <td>No</td>
+      </tr>
+      <tr>
+        <td>phone</td>
+        <td>The phone of the author.</td>
+        <td>No</td>
+      </tr>
+    </table>
+
+    <h4>tag</h4>
+
+    <p>Adds a tag to the component. Tags haven't got any attributes or
+      nested elements, the nested text is used as tag.</p>
+
+    <h4>property</h4>
+
+    <p>Adds a property to the component.</p>
+
+    <h5>Attributes</h5>
+
+    <table class="attr">
+      <tr>
+        <th scope="col">Attribute</th>
+        <th scope="col">Description</th>
+        <th scope="col">Required</th>
+      </tr>
+      <tr>
+        <td>name</td>
+        <td>The name of the property.</td>
+        <td>No</td>
+      </tr>
+      <tr>
+        <td>value</td>
+        <td>The value of the property.</td>
+        <td>No</td>
+      </tr>
+    </table>
+
+    <h4>license</h4>
+
+    <p>A nested <a href="license.html">license</a> specifies the
+      license information of the component.</p>
+
+    <h4>externalReference</h4>
+
+    <p>A
+      nested <a 
href="externalreferenceset.html#externalReference">externalReference</a>
+      specifies an external reference for the component.</p>
+
+    <h4>externalReferenceSet</h4>
+
+    <p>A
+      nested <a href="externalreferenceset.html">externalreferenceset</a>
+      specifies external references for the component.</p>
+
+    <h4 id="dependency">dependency</h4>
+
+    <p>Adds a dependency to the component.</p>
+
+    <p>Inside the SBOM both the dependee and the dependency side are
+      identified by their bom-ref. Therefore nested dependency children
+      are only allowed in components that provide a bom-ref - either via
+      an explicit <code>bomRef</code> attribute or an explicit or
+      calculated <code>purl</code>.</p>
+
+    <h5>Attributes</h5>
+
+    <table class="attr">
+      <tr>
+        <th scope="col">Attribute</th>
+        <th scope="col">Description</th>
+        <th scope="col">Required</th>
+      </tr>
+      <tr>
+        <td>bomRef</td>
+        <td>References the dependency by
+          its <code>bom-ref</code>.</td>
+        <td rowspan="2">Exactly one of the two.</td>
+      </tr>
+      <tr>
+        <td>componentRef</td>
+        <td>References the dependency by its Ant <code>id</code>
+          attribute. The referenced component must have
+          a <code>bom-ref</code>.</td>
+      </tr>
+    </table>
+
+    <h4 id="component">component</h4>
+
+    <p>Adds a nested component to the component.</p>
+
+    <p>Nested components can be used to represent a hierarchy of
+      components into sub-components and so on.</p>
+
+    <p>Components can be added as full elements or via
+      the <code>refid</code> attribute as references to components
+      defined elsewhere in the build file. Ant verifies this doesn't
+      cause a circular dependency between a component and one higher
+      up in the hierarchy.</p>
+
+    <h3>Examples</h3>
+
+    <p>Below is a component that could describe this Antlib.</p>
+
+    <pre>
+      &lt;cdx:component
+          name="ant"
+          group="org.apache.ant"
+          version="1.10.17"
+          isExternal="true"
+          unknownDependencies="true"
+          id="ant"
+          xmlns:cdx="antlib:org.apache.ant.cyclonedx">
+        &lt;manufacturer refid="ant-team"/>
+        &lt;license refid="apache-2"/>
+        &lt;externalReference
+            type="VCS"
+            url="https://github.com/apache/ant"/>
+        &lt;externalReference
+            type="WEBSITE"
+            url="https://ant.apache.org/"/>
+      &lt;/cdx:component>
+      &lt;cdx:component
+          name="ant-cyclonedx"
+          group="org.apache.ant"
+          version="0.1"
+          description="Apache CycloneDX Antlib"
+          publisher="The Apache Software Foundation"
+          manufacturerIsSupplier="true"
+          xmlns:cdx="antlib:org.apache.ant.cyclonedx">
+        &lt;file file="ant-antlibs-cyclonedx-0.1.jar"/>
+        &lt;manufacturer refid="ant-team"/>
+        &lt;license refid="apache-2"/>
+        &lt;externalReferenceSet refid="antlib-ext-refs"/>
+        &lt;dependency componentRef="ant"/>
+        &lt;dependency 
bomRef="pkg:maven/org.cyclonedx/[email protected]?type=jar"/>
+      &lt;/cdx:component>
+    </pre>
+  </body>
+</html>

Added: ant/site/ant/production/antlibs/cyclonedx/manual/componentbom.html
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ ant/site/ant/production/antlibs/cyclonedx/manual/componentbom.html  Sun May 
17 08:41:11 2026        (r1934284)
@@ -0,0 +1,193 @@
+<!--
+   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
+
+       https://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.
+-->
+<html>
+  <head>
+    <meta http-equiv="Content-Language" content="en-us"></meta>
+    <link rel="stylesheet" type="text/css" href="style.css">
+    <title>Apache CycloneDX Ant Library - componentbom Task</title>
+  </head>
+
+  <body>
+    <h2 id="componentbom">componentbom Task</h2>
+
+    <p>The <code>compomentbom</code> task creates CycloneDX SBOMs for
+      a component ind the formats supported by
+      the <a href="https://github.com/CycloneDX/cyclonedx-core-java";>CycloneDX
+        Core (Java)</a> library.</p>
+
+    <p>As a minimum a single nested <code>component</code> element is
+      required that specifies the component to create an SBOM
+      for.</p>
+
+    <p>Components that get "resolved" because they specify
+      an <code>sbomLink</code> can add more components to the SBOM than
+      are specified explicitly via the child elements of this
+      task.</p>
+
+    <p>It is an error if any component specifies a dependency on a
+      component that is not part of the generated SBOM.</p>
+
+    <h3>Attributes</h3>
+
+    <table class="attr">
+      <tr>
+        <th scope="col">Attribute</th>
+        <th scope="col">Description</th>
+        <th scope="col">Required</th>
+      </tr>
+      <tr>
+        <td>specVersion</td>
+        <td>Version of the CycloneDX specification for the generated
+          SBOM. This can be specified as number (like "1.6") or one of
+          the enum constants of the <code>org.cyclonedx.Version</code>
+          type (i.e. like "VERSION_16").<br/>
+          The supported values depend on the CycloneDX Core (Java)
+          library version used.
+        </td>
+        <td>No, defaults to "1.6" in the current version of the Ant
+          library but this may change in future versions.</td>
+      </tr>
+      <tr>
+        <td>format</td>
+        <td>The format of the SBOM(s) to write. May be "json", "xml"
+          (or rather the enum constants of
+          the <code>org.cyclonedx.Format</code> type and their file
+          extensions) or the special value "all". <br/>
+          For spec version 1.2 and later "all" means both "json" and
+          "xml" (so the task will create two files), for "1.0" and
+          "1.1" it is equivalent to "xml".<br/>
+          The supported values depend on the CycloneDX Core (Java)
+          library version used.
+        </td>
+        <td>No, defaults to "json".</td>
+      </tr>
+      <tr>
+        <td>bomName</td>
+        <td>The base name of the generated SBOM file. The full file
+          name will be <em>bomName</em>.<em>format</em>.</td>
+        <td>No, defaults to "bom".</td>
+      </tr>
+      <tr>
+        <td>outputDirectory</td>
+        <td>Sets the directory where the SBOM file(s) will be written
+          to. Relative paths are relative to the project's base
+          directory</td>
+        <td>No, defaults to the project's <code>basedir</code>.</td>
+      </tr>
+      <tr>
+        <td>useComponentSupplier</td>
+        <td>If set to <code>true</code> the supplier of the SBOM's
+          main component will be used for the SBOM itself.<br/>
+          If this is <code>true</code> the main component must specify
+          a supplier. Also you must not use a
+          nested <code>supplier</code> child for this task if this is
+          <code>true</code>.</td>
+        <td>No, defaults to <code>false</code>.</td>
+      </tr>
+    </table>
+
+    <h3>Nested elements</h3>
+
+    <h4>component</h4>
+
+    <p>Exactly one <code>component</code> child element is
+      required - this is the component the SBOM is about.</p>
+
+    <p>The structure is the same as of
+      the <a href="component.html">component</a>
+      type. The <code>scope</code> attribute is prohibited for this
+      child element and <code>isExternal</code> must not
+      be <code>true</code>.</p>
+
+    <h4 id="manufacturer">manufacturer</h4>
+
+    <p>At most one nested <a href="organization.html">organization</a>
+      specifies the manufacturer of the SBOM.</p>
+
+    <h4 id="supplier">supplier</h4>
+
+    <p>At most one nested <a href="organization.html">organization</a>
+      specifies the supplier of the SBOM.</p>
+
+    <p>This is prohibited if the <code>useComponentSupplier</code>
+      attribute is set to <code>true</code>.</p>
+
+    <h4>license</h4>
+
+    <p>A nested <a href="license.html">license</a> specifies the
+      license information of the SBOM.</p>
+
+    <h4>additionalComponent</h4>
+
+    <p><code>additionalComponent</code> child elements
+      specify <a href="component.html">component</a>s that are part of
+      the SBOM but not the main entity. They are required for
+      (transitive) dependencies of the main component but may also be
+      present for different reasons.</p>
+
+    <h4>pureFileComponents</h4>
+
+    <p><code>pureFileComponents</code> is a container for arbitrary
+      resources or resource collections. Only file-system resources
+      are allowed.</p>
+
+    <p>Each file contained in the nested children will be added as
+      component of type <code>file</code> to the SBOM. The name will
+      be the (relative) file name and hashes are calculated.</p>
+
+    <p>This is useful when describing the contents of a tarball for
+      example.</p>
+
+
+    <h3>Examples</h3>
+
+    <p>The following task could be used to create the SBOM of the
+      source tarball of this Ant library:</p>
+
+    <pre>
+    &lt;cdx:componentbom
+        bomName="ant-cyclonedx-${artifact.version}-src.tar-cyclonedx"
+        outputdirectory="${output}"
+        format="all"
+        useComponentSupplier="true"
+        xmlns:cdx="antlib:org.apache.ant.cyclonedx">
+      &lt;component
+          name="ant-cyclonedx-src.tar"
+          version="${artifact.version}"
+          description="Apache CycloneDX Antlib Source Distribution"
+          publisher="The Apache Software Foundation"
+          type="FILE"
+          manufacturerIsSupplier="true">
+        &lt;manufacturer refid="ant-team"/>
+        &lt;license refid="apache-2"/>
+        &lt;externalReferenceSet refid="antlib-ext-refs"/>
+      &lt;/component>
+      &lt;pureFileComponents>
+        &lt;fileset dir="../../..">
+          &lt;exclude name="build/"/>
+          &lt;exclude name="docs/style.css"/>
+          &lt;exclude name="ivy/"/>
+          &lt;exclude name="lib/"/>
+          &lt;exclude name="target/"/>
+          &lt;exclude name="examples/"/>
+        &lt;/fileset>
+      &lt;/pureFileComponents>
+      &lt;license refid="apache-2"/>
+    &lt;/cdx:componentbom>
+    </pre>
+  </body>
+</html>

Added: 
ant/site/ant/production/antlibs/cyclonedx/manual/externalreferenceset.html
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ ant/site/ant/production/antlibs/cyclonedx/manual/externalreferenceset.html  
Sun May 17 08:41:11 2026        (r1934284)
@@ -0,0 +1,103 @@
+<!--
+   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
+
+       https://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.
+-->
+<html>
+  <head>
+    <meta http-equiv="Content-Language" content="en-us"></meta>
+    <link rel="stylesheet" type="text/css" href="style.css">
+    <title>Apache CycloneDX Ant Library - externalreferenceset</title>
+  </head>
+
+  <body>
+    <h2 id="externalreferenceset">externalreferenceset</h2>
+
+    <p>externalreferencesets are collections of external references
+      (typed links) that can be associated to a component or an
+      SBOM. They can be used as top-level elements and be given an id
+      so they can be later referred to via the <code>refid</code>
+      attribute -
+      see <a href="https://ant.apache.org/manual/using.html#references";>the
+        Ant manual</a>.</p>
+
+    <p>Apart from Ant's <code>id/refid</code> this element doesn't
+      support any attributes.</p>
+
+    <h3>Nested elements</h3>
+
+    <h4 id="externalReference">externalReference</h4>
+
+    <p>Represents a single external reference to be added to the
+      BOM.</p>
+
+    <table class="attr">
+      <tr>
+        <th scope="col">Attribute</th>
+        <th scope="col">Description</th>
+        <th scope="col">Required</th>
+      </tr>
+      <tr>
+        <td>type</td>
+        <td>The type of external references. The valid values are
+          defined by the CycloneDX specification.</td>
+        <td>Yes</td>
+      </tr>
+      <tr>
+        <td>url</td>
+        <td>The url of the external reference.</td>
+        <td>Yes</td>
+      </tr>
+    </table>
+
+    <h3>Examples</h3>
+
+    <p>Below is a set of external references this Ant Library could
+      use for itself.</p>
+
+    <pre>
+      &lt;cdx:externalreferenceset
+        id="antlib-ext-refs"
+        xmlns:cdx="antlib:org.apache.ant.cyclonedx">
+        &lt;externalReference
+            type="vcs"
+            url="https://github.com/apache/ant-antlibs-cyclonedx"/>
+        &lt;externalReference
+            type="license"
+            url="https://www.apache.org/licenses/LICENSE-2.0.txt"/>
+        &lt;externalReference
+            type="build-system"
+            
url="https://ci-builds.apache.org/job/Ant/job/CycloneDX%20Antlib/"/>
+        &lt;externalReference
+            type="mailing-list"
+            url="https://ant.apache.org/mail.html"/>
+        &lt;externalReference
+            type="issue-tracker"
+            
url="https://bz.apache.org/bugzilla/buglist.cgi?component=CycloneDX%20Antlib&amp;product=Ant"/>
+        &lt;externalReference
+            type="website"
+            url="https://ant.apache.org/antlibs/cyclonedx/"/>
+        &lt;externalReference
+            type="distribution"
+            url="https://ant.apache.org/antlibs/bindownload.cgi"/>
+        &lt;externalReference
+            type="source-distribution"
+            url="https://ant.apache.org/antlibs/srcdownload.cgi"/>
+        &lt;externalReference
+            type="security-contact"
+            url="https://www.apache.org/security/"/>
+      &lt;/cdx:externalreferenceset>
+    </pre>
+
+  </body>

Added: ant/site/ant/production/antlibs/cyclonedx/manual/index.html
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ ant/site/ant/production/antlibs/cyclonedx/manual/index.html Sun May 17 
08:41:11 2026        (r1934284)
@@ -0,0 +1,99 @@
+<!--
+   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
+
+       https://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.
+-->
+<html>
+  <head>
+    <meta http-equiv="Content-Language" content="en-us"></meta>
+    <link rel="stylesheet" type="text/css" href="style.css">
+    <title>Apache CycloneDX Ant Library - 0.1alpha</title>
+  </head>
+
+  <body>
+    <h2>Introduction</h2>
+
+    <p>This Ant library provides Ant types and a task to
+      create <a href="https://cyclonedx.org/";>CycloneDX</a> SBOMs.</p>
+
+    <p>The library is meant to be used for projects that manage their
+      dependencies manually (or haven't got any dependencies at
+      all). For projects
+      using <a href="https://ant.apache.org/ivy/";>Apache Ivy</a> we
+      plan to create a separate Ant Library leveraging automatic
+      dependency management.</p>
+
+    <p>At the same time this Ant library is not restricted to
+      providing SBOMs for jar modules you publish. It is supposed to be
+      generic enough to provide SBOMs for distribution tarballs,
+      executables or generic components.</p>
+
+    <p>Technically it provides a pretty thin layer on top
+      of <a href="https://github.com/CycloneDX/cyclonedx-core-java";>CycloneDX
+      Core (Java)</a> and can only provide what the libary itself
+      supports. For example this means the task doesn't support
+      CycloneDX 1.7, yet, as the underlying library doesn't.</p>
+
+    <p>Right now only a subset of things that can be expressed by a
+      CycloneDX SBOM is possible to create with the Ant task of this
+      library. The main focus has been to support what the Ant project
+      needs for its own releases - but contributions beyond that are
+      certainly welcome.</p>
+
+    <p>This manual follows the CycloneDX terminology closely, as do
+      the task and types. It can not serve as an introduction to
+      SBOMs, in particular as the authors understanding of the topic
+      may be limited or even wrong.</p>
+
+    <h2>Tasks and Types provided by this Ant Library</h2>
+
+    <p>The main entry point to this library is
+      the <a href="componentbom.html">componentbom</a> task that
+      creates CycloneDX SBOMs for a single component. The Ant types
+      provided by this library are mainly there as stand-alone types
+      so they can be reused if you need things in more than one SBOM -
+      because you are publishing multiple components or package them
+      in multiple artifacts for example.</p>
+
+    <p>The types provided by the library are:</p>
+    <ul>
+      <li><a href="component.html">component</a></li>
+      <li><a href="externalreferenceset.html">externalreferenceset</a></li>
+      <li><a href="license.html">license</a></li>
+      <li><a href="organization.html">organization</a></li>
+    </ul>
+
+    <h2>Requirements and Dependencies of this Ant Library</h2>
+
+    <p>This Ant Library requires Java 8 at a minimum to build and at
+      runtime. It is meant to be compatible with Ant 1.10.x but there
+      is no guarantee it will work with any version prior to
+      1.10.17.</p>
+
+    <p>The only direct dependency
+      is <a href="https://github.com/CycloneDX/cyclonedx-core-java";>CycloneDX
+      Core (Java)</a> but this in turn transitively depends on
+      commons-io, commons-lang3, commons-collections4 and
+      commons-codec of
+      the <a href="https://commons.apache.org/";>Apache Commons</a>
+      project as well
+      as <a href="https://github.com/package-url/packageurl-java";>Package
+      URL (purl) for Java</a>. It also depends
+      on <a href="https://github.com/FasterXML/jackson";>Jackson</a>
+      and <a href="https://github.com/FasterXML/woodstox/";>woodstox</a>
+      when writing the BOM. It may be possible to avoid the woodstox
+      dependency if you only create the JSON format of the SBOM.</p>
+
+  </body>
+</html>

Added: ant/site/ant/production/antlibs/cyclonedx/manual/license.html
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ ant/site/ant/production/antlibs/cyclonedx/manual/license.html       Sun May 
17 08:41:11 2026        (r1934284)
@@ -0,0 +1,76 @@
+<!--
+   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
+
+       https://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.
+-->
+<html>
+  <head>
+    <meta http-equiv="Content-Language" content="en-us"></meta>
+    <link rel="stylesheet" type="text/css" href="style.css">
+    <title>Apache CycloneDX Ant Library - license</title>
+  </head>
+
+  <body>
+    <h2 id="license">license</h2>
+
+    <p>licenses can be attached to components in CycloneDX SBOMs. The
+      license elements can be used as top-level elements and be given
+      an id so they can be later referred to via
+      the <code>refid</code> attribute -
+      see <a href="https://ant.apache.org/manual/using.html#references";>the
+      Ant manual</a>.</p>
+
+    <h3>Attributes</h3>
+
+    <table class="attr">
+      <tr>
+        <th scope="col">Attribute</th>
+        <th scope="col">Description</th>
+        <th scope="col">Required</th>
+      </tr>
+      <tr>
+        <td>licenseId</td>
+        <td>The id of the license. Must be a
+          valid <a href="https://spdx.org/licenses/";>SPDX
+          identifier</a>.</td>
+        <td rowspan="2">One of the two is required</td>
+      </tr>
+      <tr>
+        <td>name</td>
+        <td>The name of the license.</td>
+      </tr>
+    </table>
+
+    <h3>Nested elements</h3>
+
+    <h4>url</h4>
+
+    <p>At most one
+      nested <a 
href="https://ant.apache.org/manual/Types/resources.html#url";>url-resource</a>
+      named <code>url</code> can be used to specify the URL of the license.</p>
+    
+    <h3>Examples</h3>
+
+    <p>Below is a license referencing the license of this Antlib itself.</p>
+
+    <pre>
+      &lt;cdx:license
+        licenseId="Apache-2.0"
+        id="apache-2"
+        xmlns:cdx="antlib:org.apache.ant.cyclonedx">
+        &lt;url url="https://www.apache.org/licenses/LICENSE-2.0.txt"/>
+      &lt;/cdx:license>
+    </pre>
+
+  </body>

Added: ant/site/ant/production/antlibs/cyclonedx/manual/organization.html
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ ant/site/ant/production/antlibs/cyclonedx/manual/organization.html  Sun May 
17 08:41:11 2026        (r1934284)
@@ -0,0 +1,73 @@
+<!--
+   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
+
+       https://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.
+-->
+<html>
+  <head>
+    <meta http-equiv="Content-Language" content="en-us"></meta>
+    <link rel="stylesheet" type="text/css" href="style.css">
+    <title>Apache CycloneDX Ant Library - organization</title>
+  </head>
+
+  <body>
+    <h2 id="organization">organization</h2>
+
+    <p>Organizations can be attached to components as well as the SBOM
+      itself using several roles (manufacturer, supplier, ...)
+      in CycloneDX SBOMs.</p>
+
+    <p>The organization elements can be used as top-level elements and
+      be given an id so they can be later referred to via
+      the <code>refid</code> attribute -
+      see <a href="https://ant.apache.org/manual/using.html#references";>the
+      Ant manual</a>.</p>
+
+    <h3>Attributes</h3>
+
+    <table class="attr">
+      <tr>
+        <th scope="col">Attribute</th>
+        <th scope="col">Description</th>
+        <th scope="col">Required</th>
+      </tr>
+      <tr>
+        <td>name</td>
+        <td>The name of the organization.</td>
+        <td>No</td>
+      </tr>
+    </table>
+
+    <h3>Nested elements</h3>
+
+    <h4>url</h4>
+
+    <p>Nested <a 
href="https://ant.apache.org/manual/Types/resources.html#url";>url-resource</a>s
+      named <code>url</code> can be used to specify the URL(s) of the
+      organization.</p>
+
+    <h3>Examples</h3>
+
+    <p>Below is an organization that would describe the Ant dev team.</p>
+
+    <pre>
+      &lt;cdx:organization
+        name="Apache Ant Development Team"
+        id="ant-team"
+        xmlns:cdx="antlib:org.apache.ant.cyclonedx">
+        &lt;url url="https://ant.apache.org/"/>
+      &lt;/cdx:organization>
+    </pre>
+
+  </body>

Added: ant/site/ant/production/antlibs/cyclonedx/manual/style.css
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ ant/site/ant/production/antlibs/cyclonedx/manual/style.css  Sun May 17 
08:41:11 2026        (r1934284)
@@ -0,0 +1,63 @@
+/*
+ * 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
+ *
+ * https://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.
+ */
+h2 {
+  font-size: 200%;
+  background-color: ffffff;
+}
+
+h3 {
+  font-size: 130%;
+  color:     #ffffff;
+  background-color: #525D76;
+}
+
+h4 {
+  color:  #ffffff;
+  background-color: #828DA6;
+}
+
+td {
+   background-color: eeeeee;
+   color:            000000;
+}
+
+ /* first row */
+table tr:first-child td {
+   background-color: cccccc;
+   color:            000000;
+}
+
+ /* or th as first row */
+table th {
+   background-color: cccccc;
+   color:            000000;
+}
+
+pre {
+   background-color: efefef;
+}
+
+.copyright {
+    font-family: arial,helvetica,sanserif;
+    font-size: 90%;
+    clear: both;
+    text-align: center;
+    margin: 0px;
+    border-top: thin solid #4C6C8F;
+}

Modified: ant/site/ant/sources/antlibs/cyclonedx/index.xml
==============================================================================
--- ant/site/ant/sources/antlibs/cyclonedx/index.xml    Sun May 17 08:30:25 
2026        (r1934283)
+++ ant/site/ant/sources/antlibs/cyclonedx/index.xml    Sun May 17 08:41:11 
2026        (r1934284)
@@ -32,6 +32,10 @@
       href="https://ant.apache.org/ivy/";>Apache Ivy</a> is
       planned.</p>
     </section>
+
+    <section name="Current Manual">
+      <p>The pre-release manual can be found <a href="manual/">here</a>.</p>
+    </section>
   </body>
 </document>
 


Reply via email to