added fix for components.xml merging. If the description tag contained embedded html, it needs to be escaped in the resulting merged components.xml.
This commit is contained in:
parent
7045e666e1
commit
79f0d3a99a
6 changed files with 854 additions and 11 deletions
|
@ -3,7 +3,7 @@
|
||||||
<groupId>leiningen-core</groupId>
|
<groupId>leiningen-core</groupId>
|
||||||
<artifactId>leiningen-core</artifactId>
|
<artifactId>leiningen-core</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<version>2.5.1</version>
|
<version>2.5.2-SNAPSHOT</version>
|
||||||
<name>leiningen-core</name>
|
<name>leiningen-core</name>
|
||||||
<description>Library for core functionality of Leiningen.</description>
|
<description>Library for core functionality of Leiningen.</description>
|
||||||
<url>https://github.com/technomancy/leiningen</url>
|
<url>https://github.com/technomancy/leiningen</url>
|
||||||
|
@ -14,11 +14,11 @@
|
||||||
</license>
|
</license>
|
||||||
</licenses>
|
</licenses>
|
||||||
<scm>
|
<scm>
|
||||||
<connection>scm:git:git://github.com/technomancy/leiningen.git</connection>
|
<connection>scm:git:git://github.com/towler73/leiningen.git</connection>
|
||||||
<developerConnection>scm:git:ssh://git@github.com/technomancy/leiningen.git</developerConnection>
|
<developerConnection>scm:git:ssh://git@github.com/towler73/leiningen.git</developerConnection>
|
||||||
<tag>f48846ff3cce9158d2c8ec5e6b488d45d74d286d
|
<tag>7045e666e10bfe4dbb6630b497fd94dbc257519f
|
||||||
</tag>
|
</tag>
|
||||||
<url>https://github.com/technomancy/leiningen</url>
|
<url>https://github.com/towler73/leiningen</url>
|
||||||
</scm>
|
</scm>
|
||||||
<build>
|
<build>
|
||||||
<sourceDirectory>src</sourceDirectory>
|
<sourceDirectory>src</sourceDirectory>
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
<id>central</id>
|
<id>central</id>
|
||||||
<url>http://repo1.maven.org/maven2/</url>
|
<url>https://repo1.maven.org/maven2/</url>
|
||||||
<snapshots>
|
<snapshots>
|
||||||
<enabled>false</enabled>
|
<enabled>false</enabled>
|
||||||
</snapshots>
|
</snapshots>
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.clojure</groupId>
|
<groupId>org.clojure</groupId>
|
||||||
<artifactId>tools.nrepl</artifactId>
|
<artifactId>tools.nrepl</artifactId>
|
||||||
<version>0.2.3</version>
|
<version>0.2.6</version>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
<groupId>org.clojure</groupId>
|
<groupId>org.clojure</groupId>
|
||||||
|
|
|
@ -15,10 +15,30 @@
|
||||||
(java.util.zip ZipFile ZipOutputStream ZipEntry)
|
(java.util.zip ZipFile ZipOutputStream ZipEntry)
|
||||||
(org.apache.commons.io.output CloseShieldOutputStream)))
|
(org.apache.commons.io.output CloseShieldOutputStream)))
|
||||||
|
|
||||||
|
(defn- tree-edit
|
||||||
|
"Walk the componment xml dom looking for description tag"
|
||||||
|
[zipper editor]
|
||||||
|
(loop [loc zipper]
|
||||||
|
(if (zip/end? loc)
|
||||||
|
(zip/root loc)
|
||||||
|
(if (= :description (:tag (zip/node loc)))
|
||||||
|
(let [new-loc (zip/edit loc editor)]
|
||||||
|
(recur (zip/next new-loc)))
|
||||||
|
(recur (zip/next loc))))))
|
||||||
|
|
||||||
|
(defn- html-escape-editor
|
||||||
|
"Escape <,>,& from content"
|
||||||
|
[node]
|
||||||
|
(let [content (get (:content node) 0)]
|
||||||
|
(if-not (nil? content)
|
||||||
|
(assoc-in node [:content 0] (clojure.string/escape content {\< "<" \> ">" \& "&" \" """}))
|
||||||
|
node)))
|
||||||
|
|
||||||
(defn- components-read [ins]
|
(defn- components-read [ins]
|
||||||
(->> ins xml/parse zip/xml-zip zip/children
|
(let [zipper (->> ins xml/parse zip/xml-zip)]
|
||||||
(filter #(= (:tag %) :components))
|
(->> (tree-edit zipper html-escape-editor) zip/xml-zip zip/children
|
||||||
first :content))
|
(filter #(= (:tag %) :components))
|
||||||
|
first :content)))
|
||||||
|
|
||||||
(defn- components-write [out components]
|
(defn- components-write [out components]
|
||||||
(binding [*out* (PrintWriter. out)]
|
(binding [*out* (PrintWriter. out)]
|
||||||
|
|
|
@ -2,10 +2,11 @@
|
||||||
(:require [leiningen.uberjar :refer :all]
|
(:require [leiningen.uberjar :refer :all]
|
||||||
[clojure.test :refer :all]
|
[clojure.test :refer :all]
|
||||||
[clojure.java.shell :refer [sh]]
|
[clojure.java.shell :refer [sh]]
|
||||||
|
[clojure.xml :as xml]
|
||||||
[leiningen.test.helper :refer [sample-no-aot-project
|
[leiningen.test.helper :refer [sample-no-aot-project
|
||||||
uberjar-merging-project
|
uberjar-merging-project
|
||||||
provided-project]])
|
provided-project]])
|
||||||
(:import (java.io File)
|
(:import (java.io File FileOutputStream)
|
||||||
(java.util.zip ZipFile)))
|
(java.util.zip ZipFile)))
|
||||||
|
|
||||||
(deftest test-uberjar
|
(deftest test-uberjar
|
||||||
|
@ -41,6 +42,21 @@
|
||||||
(.getInputStream zf)
|
(.getInputStream zf)
|
||||||
slurp read-string)))))))
|
slurp read-string)))))))
|
||||||
|
|
||||||
|
(deftest test-components-merger
|
||||||
|
(let [file1 (str "test_projects/uberjar-components-merging/components1.xml")
|
||||||
|
file2 (str "test_projects/uberjar-components-merging/components2.xml")
|
||||||
|
readxml (components-merger 0)
|
||||||
|
combine (components-merger 1)
|
||||||
|
writexml (components-merger 2)
|
||||||
|
combined-xml (combine (readxml file1) (readxml file2))
|
||||||
|
expected-xml (xml/parse "test_projects/uberjar-components-merging/expected-components.xml")
|
||||||
|
result-file "test_projects/uberjar-components-merging/result-components.xml"
|
||||||
|
out-file (FileOutputStream. (File. result-file))]
|
||||||
|
(writexml out-file combined-xml)
|
||||||
|
(is (= expected-xml (xml/parse result-file)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
;; TODO: this breaks on Java 6
|
;; TODO: this breaks on Java 6
|
||||||
(deftest ^:disabled test-uberjar-provided
|
(deftest ^:disabled test-uberjar-provided
|
||||||
(let [bootclasspath "-Xbootclasspath/a:leiningen-core/lib/clojure-1.4.0.jar"
|
(let [bootclasspath "-Xbootclasspath/a:leiningen-core/lib/clojure-1.4.0.jar"
|
||||||
|
|
73
test_projects/uberjar-components-merging/components1.xml
Normal file
73
test_projects/uberjar-components-merging/components1.xml
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
<component-set>
|
||||||
|
<components>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.Doxia</role>
|
||||||
|
<implementation>org.apache.maven.doxia.DefaultDoxia</implementation>
|
||||||
|
<description>Simple implementation of the Doxia interface:
|
||||||
|
uses a ParserManager to lookup a parser.</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>org.apache.maven.doxia.parser.manager.ParserManager</role>
|
||||||
|
<field-name>parserManager</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.macro.Macro</role>
|
||||||
|
<role-hint>echo</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.macro.EchoMacro</implementation>
|
||||||
|
<description>A simple macro that prints out the key and value of some supplied parameters.</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.macro.manager.MacroManager</role>
|
||||||
|
<implementation>org.apache.maven.doxia.macro.manager.DefaultMacroManager</implementation>
|
||||||
|
<description>Default implementation of <code>MacroManager</code></description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>org.apache.maven.doxia.macro.Macro</role>
|
||||||
|
<field-name>macros</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.macro.Macro</role>
|
||||||
|
<role-hint>snippet</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.macro.snippet.SnippetMacro</implementation>
|
||||||
|
<description>A macro that prints out the content of a file or a URL.</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.macro.Macro</role>
|
||||||
|
<role-hint>swf</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.macro.SwfMacro</implementation>
|
||||||
|
<description>Macro for embedding Flash (SWF) within Maven documentation.</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.macro.Macro</role>
|
||||||
|
<role-hint>toc</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.macro.toc.TocMacro</implementation>
|
||||||
|
<description>Macro to display a <code>Table Of Content</code> in a given <code>Sink</code>.</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.module.site.manager.SiteModuleManager</role>
|
||||||
|
<implementation>org.apache.maven.doxia.module.site.manager.DefaultSiteModuleManager</implementation>
|
||||||
|
<description>Simple implementation of the SiteModuleManager interface.</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>org.apache.maven.doxia.module.site.SiteModule</role>
|
||||||
|
<field-name>siteModules</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.parser.manager.ParserManager</role>
|
||||||
|
<implementation>org.apache.maven.doxia.parser.manager.DefaultParserManager</implementation>
|
||||||
|
<description>Simple implementation of the <code>ParserManager</code> interface.</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>org.apache.maven.doxia.parser.Parser</role>
|
||||||
|
<field-name>parsers</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
</components>
|
||||||
|
</component-set>
|
218
test_projects/uberjar-components-merging/components2.xml
Normal file
218
test_projects/uberjar-components-merging/components2.xml
Normal file
|
@ -0,0 +1,218 @@
|
||||||
|
<?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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<component-set>
|
||||||
|
<!-- Doxia core -->
|
||||||
|
<components>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.macro.Macro</role>
|
||||||
|
<role-hint>echo</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.macro.EchoMacro</implementation>
|
||||||
|
<description>A simple macro that prints out the key and value of some supplied
|
||||||
|
parameters.</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.macro.manager.MacroManager</role>
|
||||||
|
<implementation>org.apache.maven.doxia.macro.manager.DefaultMacroManager</implementation>
|
||||||
|
<description>Default implementation of <code>MacroManager</code></description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>org.apache.maven.doxia.macro.Macro</role>
|
||||||
|
<field-name>macros</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.macro.Macro</role>
|
||||||
|
<role-hint>snippet</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.macro.snippet.SnippetMacro</implementation>
|
||||||
|
<description>A macro that prints out the content of a file or a URL.</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.macro.Macro</role>
|
||||||
|
<role-hint>swf</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.macro.SwfMacro</implementation>
|
||||||
|
<description>Macro for embedding Flash (SWF) within Maven documentation.</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.macro.Macro</role>
|
||||||
|
<role-hint>toc</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.macro.toc.TocMacro</implementation>
|
||||||
|
<description>Macro to display a <code>Table Of Content</code> in a
|
||||||
|
given <code>Sink</code>.</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.parser.manager.ParserManager</role>
|
||||||
|
<implementation>org.apache.maven.doxia.parser.manager.DefaultParserManager</implementation>
|
||||||
|
<description>Simple implementation of the
|
||||||
|
<code>ParserManager</code> interface.</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>org.apache.maven.doxia.parser.Parser</role>
|
||||||
|
<field-name>parsers</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<!-- Doxia apt -->
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.parser.Parser</role>
|
||||||
|
<role-hint>apt</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.apt.AptParser</implementation>
|
||||||
|
<description>The APT parser.</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>org.apache.maven.doxia.macro.manager.MacroManager</role>
|
||||||
|
<field-name>macroManager</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.sink.SinkFactory</role>
|
||||||
|
<role-hint>apt</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.apt.AptSinkFactory</implementation>
|
||||||
|
<description>APT implementation of the Sink factory.</description>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<!-- Doxia confluence -->
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.parser.Parser</role>
|
||||||
|
<role-hint>confluence</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.confluence.ConfluenceParser</implementation>
|
||||||
|
<description>Parse the <a href="http://www.</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.sink.SinkFactory</role>
|
||||||
|
<role-hint>confluence</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.confluence.ConfluenceSinkFactory</implementation>
|
||||||
|
<description>Confluence implementation of the Sink factory.</description>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<!-- Doxia docbook -->
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.parser.Parser</role>
|
||||||
|
<role-hint>docbook</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.docbook.DocBookParser</implementation>
|
||||||
|
<description>Parse a <code>Docbook</code> document and emit events
|
||||||
|
into the specified doxia Sink.</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.sink.SinkFactory</role>
|
||||||
|
<role-hint>docbook</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.docbook.DocbookSinkFactory</implementation>
|
||||||
|
<description>Docbook implementation of the Sink factory.</description>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<!-- Doxia fml -->
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.parser.Parser</role>
|
||||||
|
<role-hint>fml</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.fml.FmlParser</implementation>
|
||||||
|
<description>Parse a fml model and emit events into the specified doxia Sink.</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>org.apache.maven.doxia.macro.manager.MacroManager</role>
|
||||||
|
<field-name>macroManager</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<!-- Doxia fo -->
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.sink.SinkFactory</role>
|
||||||
|
<role-hint>fo</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.fo.FoSinkFactory</implementation>
|
||||||
|
<description>FO implementation of the Sink factory.</description>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<!-- Doxia itext -->
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.sink.SinkFactory</role>
|
||||||
|
<role-hint>itext</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.itext.ITextSinkFactory</implementation>
|
||||||
|
<description>IText implementation of the Sink factory.</description>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<!-- Doxia latex -->
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.sink.SinkFactory</role>
|
||||||
|
<role-hint>latex</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.latex.LatexSinkFactory</implementation>
|
||||||
|
<description>Latex implementation of the Sink factory.</description>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<!-- Doxia rtf -->
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.sink.SinkFactory</role>
|
||||||
|
<role-hint>rtf</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.rtf.RtfSinkFactory</implementation>
|
||||||
|
<description>APT implementation of the Sink factory.</description>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<!-- Doxia twiki -->
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.parser.Parser</role>
|
||||||
|
<role-hint>twiki</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.twiki.TWikiParser</implementation>
|
||||||
|
<description>Parse the <a href="http://twiki.</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.sink.SinkFactory</role>
|
||||||
|
<role-hint>twiki</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.twiki.TWikiSinkFactory</implementation>
|
||||||
|
<description>TWiki implementation of the Sink factory.</description>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<!-- Doxia xdoc -->
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.parser.Parser</role>
|
||||||
|
<role-hint>xdoc</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.xdoc.XdocParser</implementation>
|
||||||
|
<description>Parse an xdoc model and emit events into the specified doxia Sink.</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>org.apache.maven.doxia.macro.manager.MacroManager</role>
|
||||||
|
<field-name>macroManager</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.sink.SinkFactory</role>
|
||||||
|
<role-hint>xdoc</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.xdoc.XdocSinkFactory</implementation>
|
||||||
|
<description>Xdoc implementation of the Sink factory.</description>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<!-- Doxia xhtml -->
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.parser.Parser</role>
|
||||||
|
<role-hint>xhtml</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.xhtml.XhtmlParser</implementation>
|
||||||
|
<description>Parse an xhtml model and emit events into a Doxia Sink.</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>org.apache.maven.doxia.sink.SinkFactory</role>
|
||||||
|
<role-hint>xhtml</role-hint>
|
||||||
|
<implementation>org.apache.maven.doxia.module.xhtml.XhtmlSinkFactory</implementation>
|
||||||
|
<description>Xhtml implementation of the Sink factory.</description>
|
||||||
|
</component>
|
||||||
|
</components>
|
||||||
|
</component-set>
|
516
test_projects/uberjar-components-merging/expected-components.xml
Normal file
516
test_projects/uberjar-components-merging/expected-components.xml
Normal file
|
@ -0,0 +1,516 @@
|
||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<component-set>
|
||||||
|
<components>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.Doxia
|
||||||
|
</role>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.DefaultDoxia
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Simple implementation of the Doxia interface:
|
||||||
|
uses a ParserManager to lookup a parser.
|
||||||
|
</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.parser.manager.ParserManager
|
||||||
|
</role>
|
||||||
|
<field-name>
|
||||||
|
parserManager
|
||||||
|
</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.Macro
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
echo
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.macro.EchoMacro
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
A simple macro that prints out the key and value of some supplied parameters.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.manager.MacroManager
|
||||||
|
</role>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.macro.manager.DefaultMacroManager
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Default implementation of <code>MacroManager</code>
|
||||||
|
</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.Macro
|
||||||
|
</role>
|
||||||
|
<field-name>
|
||||||
|
macros
|
||||||
|
</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.Macro
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
snippet
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.macro.snippet.SnippetMacro
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
A macro that prints out the content of a file or a URL.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.Macro
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
swf
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.macro.SwfMacro
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Macro for embedding Flash (SWF) within Maven documentation.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.Macro
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
toc
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.macro.toc.TocMacro
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Macro to display a <code>Table Of Content</code> in a given <code>Sink</code>.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.module.site.manager.SiteModuleManager
|
||||||
|
</role>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.site.manager.DefaultSiteModuleManager
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Simple implementation of the SiteModuleManager interface.
|
||||||
|
</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.module.site.SiteModule
|
||||||
|
</role>
|
||||||
|
<field-name>
|
||||||
|
siteModules
|
||||||
|
</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.parser.manager.ParserManager
|
||||||
|
</role>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.parser.manager.DefaultParserManager
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Simple implementation of the <code>ParserManager</code> interface.
|
||||||
|
</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.parser.Parser
|
||||||
|
</role>
|
||||||
|
<field-name>
|
||||||
|
parsers
|
||||||
|
</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.Macro
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
echo
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.macro.EchoMacro
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
A simple macro that prints out the key and value of some supplied
|
||||||
|
parameters.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.manager.MacroManager
|
||||||
|
</role>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.macro.manager.DefaultMacroManager
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Default implementation of <code>MacroManager</code>
|
||||||
|
</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.Macro
|
||||||
|
</role>
|
||||||
|
<field-name>
|
||||||
|
macros
|
||||||
|
</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.Macro
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
snippet
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.macro.snippet.SnippetMacro
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
A macro that prints out the content of a file or a URL.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.Macro
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
swf
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.macro.SwfMacro
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Macro for embedding Flash (SWF) within Maven documentation.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.Macro
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
toc
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.macro.toc.TocMacro
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Macro to display a <code>Table Of Content</code> in a
|
||||||
|
given <code>Sink</code>.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.parser.manager.ParserManager
|
||||||
|
</role>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.parser.manager.DefaultParserManager
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Simple implementation of the
|
||||||
|
<code>ParserManager</code> interface.
|
||||||
|
</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.parser.Parser
|
||||||
|
</role>
|
||||||
|
<field-name>
|
||||||
|
parsers
|
||||||
|
</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.parser.Parser
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
apt
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.apt.AptParser
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
The APT parser.
|
||||||
|
</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.manager.MacroManager
|
||||||
|
</role>
|
||||||
|
<field-name>
|
||||||
|
macroManager
|
||||||
|
</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.sink.SinkFactory
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
apt
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.apt.AptSinkFactory
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
APT implementation of the Sink factory.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.parser.Parser
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
confluence
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.confluence.ConfluenceParser
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Parse the <a href="http://www.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.sink.SinkFactory
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
confluence
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.confluence.ConfluenceSinkFactory
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Confluence implementation of the Sink factory.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.parser.Parser
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
docbook
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.docbook.DocBookParser
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Parse a <code>Docbook</code> document and emit events
|
||||||
|
into the specified doxia Sink.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.sink.SinkFactory
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
docbook
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.docbook.DocbookSinkFactory
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Docbook implementation of the Sink factory.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.parser.Parser
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
fml
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.fml.FmlParser
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Parse a fml model and emit events into the specified doxia Sink.
|
||||||
|
</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.manager.MacroManager
|
||||||
|
</role>
|
||||||
|
<field-name>
|
||||||
|
macroManager
|
||||||
|
</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.sink.SinkFactory
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
fo
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.fo.FoSinkFactory
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
FO implementation of the Sink factory.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.sink.SinkFactory
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
itext
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.itext.ITextSinkFactory
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
IText implementation of the Sink factory.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.sink.SinkFactory
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
latex
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.latex.LatexSinkFactory
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Latex implementation of the Sink factory.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.sink.SinkFactory
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
rtf
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.rtf.RtfSinkFactory
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
APT implementation of the Sink factory.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.parser.Parser
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
twiki
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.twiki.TWikiParser
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Parse the <a href="http://twiki.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.sink.SinkFactory
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
twiki
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.twiki.TWikiSinkFactory
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
TWiki implementation of the Sink factory.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.parser.Parser
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
xdoc
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.xdoc.XdocParser
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Parse an xdoc model and emit events into the specified doxia Sink.
|
||||||
|
</description>
|
||||||
|
<requirements>
|
||||||
|
<requirement>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.macro.manager.MacroManager
|
||||||
|
</role>
|
||||||
|
<field-name>
|
||||||
|
macroManager
|
||||||
|
</field-name>
|
||||||
|
</requirement>
|
||||||
|
</requirements>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.sink.SinkFactory
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
xdoc
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.xdoc.XdocSinkFactory
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Xdoc implementation of the Sink factory.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.parser.Parser
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
xhtml
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.xhtml.XhtmlParser
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Parse an xhtml model and emit events into a Doxia Sink.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
<component>
|
||||||
|
<role>
|
||||||
|
org.apache.maven.doxia.sink.SinkFactory
|
||||||
|
</role>
|
||||||
|
<role-hint>
|
||||||
|
xhtml
|
||||||
|
</role-hint>
|
||||||
|
<implementation>
|
||||||
|
org.apache.maven.doxia.module.xhtml.XhtmlSinkFactory
|
||||||
|
</implementation>
|
||||||
|
<description>
|
||||||
|
Xhtml implementation of the Sink factory.
|
||||||
|
</description>
|
||||||
|
</component>
|
||||||
|
</components>
|
||||||
|
</component-set>
|
Loading…
Reference in a new issue