Maven2を使ったサイトの構築について

Maven2を使ったサイトの構築について調べたので、まとめておく。
生半な理解なので、間違っているかも…。
(参考:Maven - Guide to creating a site [和訳])

ソースの構成

サイトのソースは以下のような構成になる。


+- src/
+- site/
+- apt/
| +- index.apt
| +- foo.apt
|
+- xdoc/
| +- bar.xml
|
+- fml/
| +- faq.fml
|
+- site.xml

ビルドの出力の構成

これがビルドされると、以下のようなサイトが出来上がる。


+- target/
+- site/
+- css/
+- images/
+- index.html ← index.apt
+- foo.html ← foo.apt
+- bar.html ← bar.xml
+- faq.html ← faq.fml
+- project-info.html
+- ・

htmlのソースについて

「apt」や「xdoc」は、htmlのソース(なんか妙な言い回しだ…)の記法によって分けられる。

  • apt
    • Wikiっぽい記法
  • xdoc
    • 正規化されたhtmlという感じの記法。Maven1で使われていた
  • fml
    • FAQ用に正規化されたhtmlという感じの記法。ここの下あたりを参照

site.xml

Macen1のnavigation.xmlにあたるファイル。
サイト上部のタイトルとか、サイドメニューを定義。


<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="Maven">
<bannerLeft>
<name>Maven</name>
<src>http://maven.apache.org/images/apache-maven-project.png</src>

<href>http://maven.apache.org/</href>
</bannerLeft>
<bannerRight>
<src>http://maven.apache.org/images/maven-small.gif</src>
</bannerRight>

<body>
<links>
<item name="Apache" href="http://www.apache.org/" />
<item name="Maven 1.0" href="http://maven.apache.org/"/>
<item name="Maven 2" href="http://maven.apache.org/maven2/"/>
</links>

<menu name="Maven 2.0">
<item name="Introduction" href="index.html"/>
<item name="Download" href="download.html"/>
<item name="Release Notes" href="release-notes.html" />
<item name="General Information" href="about.html"/>
<item name="For Maven 1.0 Users" href="maven1.html"/>

<item name="Road Map" href="roadmap.html" />
</menu>

${reports}

...
</body>
</project>

レポート

「pom.xmlから生成されたっぽいサマリ」とか「リポジトリの情報」とか「メーリングリストの情報」とか、自動生成される類のコンテンツ。

「project-info.html」が上のメニュー画面で、そこからリンクされる「integration.html」や「issue-tracking.html」は、特に指定しないとデフォルトで以下のレポートが生成される。

  • Dependencies Report
  • Mailing Lists
  • Continous Integration
  • Source Repository
  • Issue Tracking
  • Project Team
  • License

デフォルトのレポートを抑止するには「pom.xml」に以下を追加。


<reporting>
<excludeDefaults>true</excludeDefaults>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<reportSets>
<reportSet />
</reportSets>
</plugin>
</plugins>
</reporting>
<reportSet />まで書かないと抑止されない。ここではまる人は多いみたい(この動作はどうかと思う)