summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorMaros Marsalek <mmarsale@cisco.com>2016-09-21 13:51:57 +0200
committerMaros Marsalek <mmarsale@cisco.com>2016-09-26 11:02:04 +0200
commitbc335de41876acd8720dce1030a79b3a7b39c3b1 (patch)
treec3b1b99c72fbcc36db5b7ff3e4c4e37680481eb0 /common
parent09df17bb630b5bf594efbd9f869ef17da5e2b6ac (diff)
HONEYCOMB-209 Configure maven site
To produce site for Honeycomb + javadoc asciidoc To build the site: mvn clean install site:attach-descriptor site mvn site:stage -DstagingDirectory=/home/mmarsale/tmp/stage Change-Id: I4246bb09ba02b74a2a9c84ee73f8dba02384fffa Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Diffstat (limited to 'common')
-rw-r--r--common/api-parent/asciidoc/Readme.adoc3
-rw-r--r--common/api-parent/pom.xml1
-rw-r--r--common/asciidoc/Readme.adoc3
-rw-r--r--common/checkstyle/asciidoc/Readme.adoc (renamed from common/checkstyle/src/main/resources/README.adoc)2
-rw-r--r--common/checkstyle/pom.xml23
-rw-r--r--common/honeycomb-parent/asciidoc/Readme.adoc3
-rw-r--r--common/honeycomb-parent/pom.xml244
-rw-r--r--common/honeycomb-parent/site.xml39
-rw-r--r--common/impl-parent/asciidoc/Readme.adoc3
-rw-r--r--common/impl-parent/pom.xml1
-rw-r--r--common/minimal-assembly-descriptor/asciidoc/Readme.adoc3
-rw-r--r--common/minimal-assembly-descriptor/pom.xml8
-rw-r--r--common/minimal-distribution-parent/asciidoc/Readme.adoc3
-rw-r--r--common/minimal-distribution-parent/pom.xml2
-rw-r--r--common/pom.xml14
15 files changed, 331 insertions, 21 deletions
diff --git a/common/api-parent/asciidoc/Readme.adoc b/common/api-parent/asciidoc/Readme.adoc
new file mode 100644
index 000000000..b156b414a
--- /dev/null
+++ b/common/api-parent/asciidoc/Readme.adoc
@@ -0,0 +1,3 @@
+= api-parent
+
+Overview of api-parent \ No newline at end of file
diff --git a/common/api-parent/pom.xml b/common/api-parent/pom.xml
index 6937fb6ee..531e47009 100644
--- a/common/api-parent/pom.xml
+++ b/common/api-parent/pom.xml
@@ -24,6 +24,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>api-parent</artifactId>
+ <name>${project.artifactId}</name>
<version>1.16.12-SNAPSHOT</version>
<packaging>pom</packaging>
diff --git a/common/asciidoc/Readme.adoc b/common/asciidoc/Readme.adoc
new file mode 100644
index 000000000..f97755af3
--- /dev/null
+++ b/common/asciidoc/Readme.adoc
@@ -0,0 +1,3 @@
+= Common maven parents
+
+Modules under common provide common maven parents for Honeycomb modules. \ No newline at end of file
diff --git a/common/checkstyle/src/main/resources/README.adoc b/common/checkstyle/asciidoc/Readme.adoc
index d33f39efc..7b1d0767f 100644
--- a/common/checkstyle/src/main/resources/README.adoc
+++ b/common/checkstyle/asciidoc/Readme.adoc
@@ -1,6 +1,6 @@
= Honeycomb coding resources
* intellij-java-coding-style.xml Can be imported into Intellij IDEA to ensure Honeycomb coding style during development
-* checkstyle.xml Checkstyle config ensuring above HOneycomb coding style
+* checkstyle.xml Checkstyle config ensuring above Honeycomb coding style
* checkstyle-license.xml Checkstyle config ensuring Honeycomb license (in HONEYCOMB_LICENSE.txt) header presence
* checkstyle-logging.xml Checkstyle config ensuring ODL logging standards \ No newline at end of file
diff --git a/common/checkstyle/pom.xml b/common/checkstyle/pom.xml
index 3dbf26855..b33341d9e 100644
--- a/common/checkstyle/pom.xml
+++ b/common/checkstyle/pom.xml
@@ -1,15 +1,24 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.opendaylight.odlparent</groupId>
- <artifactId>odlparent-lite</artifactId>
- <version>1.6.2-Beryllium-SR2</version>
- <relativePath/>
- </parent>
-
<groupId>io.fd.honeycomb.common</groupId>
<artifactId>honeycomb-checkstyle</artifactId>
+ <name>${project.artifactId}</name>
<version>1.16.12-SNAPSHOT</version>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ <skipDeploy>true</skipDeploy>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
</project>
diff --git a/common/honeycomb-parent/asciidoc/Readme.adoc b/common/honeycomb-parent/asciidoc/Readme.adoc
new file mode 100644
index 000000000..39341884f
--- /dev/null
+++ b/common/honeycomb-parent/asciidoc/Readme.adoc
@@ -0,0 +1,3 @@
+= honeycomb-parent
+
+Overview of honeycomb-parent \ No newline at end of file
diff --git a/common/honeycomb-parent/pom.xml b/common/honeycomb-parent/pom.xml
index 5aa4fb3c4..6660360fd 100644
--- a/common/honeycomb-parent/pom.xml
+++ b/common/honeycomb-parent/pom.xml
@@ -16,11 +16,16 @@
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
<modelVersion>4.0.0</modelVersion>
<groupId>io.fd.honeycomb.common</groupId>
<artifactId>honeycomb-parent</artifactId>
+ <name>${project.artifactId}</name>
<version>1.16.12-SNAPSHOT</version>
<packaging>pom</packaging>
+ <prerequisites>
+ <maven>3.1.1</maven>
+ </prerequisites>
<properties>
<nexusproxy>http://nexus.fd.io/content</nexusproxy>
@@ -62,6 +67,24 @@
<!-- checkstyle -->
<checkstyle.header.file>APACHE_HEADER.txt</checkstyle.header.file>
+
+ <!-- site -->
+ <!-- skip location check = makes site exec faster -->
+ <dependency.locations.enabled>false</dependency.locations.enabled>
+ <project.info.report.version>2.9</project.info.report.version>
+ <maven.resources.version>2.6</maven.resources.version>
+ <maven.site.version>3.4</maven.site.version>
+ <!-- adoc -->
+ <asciidoctor.maven.plugin.version>1.5.3</asciidoctor.maven.plugin.version>
+ <asciidoctorj.diagram.version>1.3.1</asciidoctorj.diagram.version>
+ <maven.groovy.version>2.0</maven.groovy.version>
+ <readme.default>
+= ${project.artifactId}
+
+Overview of ${project.artifactId}
+ </readme.default>
+ <docs.base.url>https://nexus.fd.io/content/sites/site</docs.base.url>
+ <docs.hc.folder>io/fd/honeycomb</docs.hc.folder>
</properties>
<organization>
@@ -86,6 +109,15 @@
<url>https://jenkins.fd.io/</url>
</ciManagement>
+ <mailingLists>
+ <mailingList>
+ <name>HC dev</name>
+ <post>honeycomb-dev@fd.io</post>
+ <subscribe>https://lists.fd.io/mailman/listinfo/honeycomb-dev</subscribe>
+ <archive>https://lists.fd.io/pipermail/honeycomb-dev/</archive>
+ </mailingList>
+ </mailingLists>
+
<dependencyManagement>
<dependencies>
<!-- ODL -->
@@ -175,9 +207,17 @@
<configLocation>honeycomb-checkstyle.xml</configLocation>
<includeTestResources>true</includeTestResources>
<!--TODO HONEYCOMB-155 enable fail on violation after issues are resolved + set in as errors in checkstyle xml-->
- <excludes>
+
+ <includes>**\/*.java,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat,**\/*.yang</includes>
+ <excludes>**\/target\/,
+ **\/bin\/,
+ **\/target-ide\/,
+ **\/src/main/yang-gen-config\/,
org/opendaylight/yang/gen/**,
- </excludes>
+ **\/src/main/yang-gen-sal\/,
+ **\/src/main/xtend-gen\/,
+ **\/src/main/yang\/,
+ **\/archetype-resources\/</excludes>
</configuration>
<executions>
@@ -209,10 +249,6 @@
<consoleOutput>true</consoleOutput>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<sourceDirectory>${project.basedir}</sourceDirectory>
- <includes>**\/*.java,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat,**\/*.yang</includes>
- <excludes>
- **\/target\/,**\/bin\/,**\/target-ide\/,**\/src/main/yang-gen-config\/,**\/src/main/yang-gen-sal\/,**\/src/main/xtend-gen\/,**\/src/main/yang\/
- </excludes>
<outputFile>${project.build.directory}/checkstyle-logging-result.xml</outputFile>
</configuration>
</execution>
@@ -247,6 +283,14 @@
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
</plugin>
<!-- jacoco test coverage for sonar -->
<plugin>
@@ -336,6 +380,124 @@
<version>${maven.bundle.version}</version>
<extensions>true</extensions>
</plugin>
+ <!-- Source jar -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- Site (from https://github.com/asciidoctor/asciidoctor-maven-examples/blob/master/asciidoc-maven-site-example/pom.xml) -->
+ <!-- + https://github.com/asciidoctor/asciidoctor-maven-plugin -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>${maven.site.version}</version>
+ <configuration>
+ <generateReports>true</generateReports>
+ <generateSitemap>true</generateSitemap>
+ <relativizeDecorationLinks>false</relativizeDecorationLinks>
+ <locales>en</locales>
+ <inputEncoding>UTF-8</inputEncoding>
+ <outputEncoding>UTF-8</outputEncoding>
+ <siteDirectory>${project.basedir}</siteDirectory>
+ <relativizeDecorationLinks>false</relativizeDecorationLinks>
+ <asciidoc>
+ <requires>
+ <require>asciidoctor-diagram</require>
+ </requires>
+ <!-- optional site-wide AsciiDoc attributes -->
+ <attributes>
+ <source-highlighter>coderay</source-highlighter>
+ <coderay-css>style</coderay-css>
+ <imagesdir>${project.build.directory}/site/images</imagesdir>
+ <toc>left</toc>
+ <toclevels>2</toclevels>
+ <icons>font</icons>
+ <sectanchors>true</sectanchors>
+ <idprefix/>
+ <idseparator>-</idseparator>
+ </attributes>
+ </asciidoc>
+ <!-- Exclude partial docs that are included elsewhere -->
+ <moduleExcludes>
+ <asciidoc>**/_*.adoc</asciidoc>
+ </moduleExcludes>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.asciidoctor</groupId>
+ <artifactId>asciidoctor-maven-plugin</artifactId>
+ <version>${asciidoctor.maven.plugin.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.asciidoctor</groupId>
+ <artifactId>asciidoctorj-diagram</artifactId>
+ <version>${asciidoctorj.diagram.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.gmaven</groupId>
+ <artifactId>groovy-maven-plugin</artifactId>
+ <version>${maven.groovy.version}</version>
+ <executions>
+ <!-- Generate Readme.adoc if not present -->
+ <execution>
+ <id>generate-adoc</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>execute</goal>
+ </goals>
+ <configuration>
+ <!-- Generate module adoc documentation -->
+ <source>
+ import java.nio.file.Files
+ import java.nio.file.Paths
+
+ log.info "Checking asciidoc/Readme.adoc"
+ def asciidoc = Paths.get(project.getBasedir().toString(), "asciidoc")
+ def readme = Paths.get(asciidoc.toString(), "Readme.adoc")
+ if (!Files.exists(readme)) {
+ log.info "Generating ${readme}"
+ Files.createDirectories(asciidoc)
+ Files.createFile(readme)
+ readme.toFile().text = properties.getOrDefault("readme.default", "")
+ }
+ </source>
+ </configuration>
+ </execution>
+ <!-- Fix generated html -->
+ <execution>
+ <id>fix-generated-site</id>
+ <phase>site</phase>
+ <goals>
+ <goal>execute</goal>
+ </goals>
+ <configuration>
+ <!-- Site generates wrong link to Readme.html, trying to point to Readme.html at root -->
+ <source>
+ import java.nio.file.Files
+ import java.nio.file.Paths
+
+ def index = Paths.get(project.build.directory.toString(), "site", "index.html")
+ if (Files.exists(index)) {
+ log.info "Fixing links in generated site"
+ def html = index.toFile().text
+ log.info "Fixing asciidoc Readme link"
+ index.toFile().text = html.replaceAll("[./]*Readme\\.html", "Readme.html")
+ }
+ </source>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</pluginManagement>
<plugins>
@@ -343,6 +505,12 @@
<artifactId>maven-enforcer-plugin</artifactId>
</plugin>
<plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ </plugin>
+ <plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
</plugin>
<plugin>
@@ -359,9 +527,69 @@
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
</plugin>
+ <plugin>
+ <groupId>org.codehaus.gmaven</groupId>
+ <artifactId>groovy-maven-plugin</artifactId>
+ </plugin>
</plugins>
+
+ <!-- To support site push-->
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav-jackrabbit</artifactId>
+ <version>2.9</version>
+ </extension>
+ </extensions>
</build>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-project-info-reports-plugin</artifactId>
+ <version>${project.info.report.version}</version>
+ <reportSets>
+ <reportSet>
+ <reports>
+ <report>index</report>
+ <report>summary</report>
+ <report>modules</report>
+ <report>cim</report>
+ <report>dependencies</report>
+ <report>distribution-management</report>
+ <report>mailing-list</report>
+ <report>issue-tracking</report>
+ <report>license</report>
+ <report>scm</report>
+ </reports>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>${maven.javadoc.version}</version>
+ <reportSets>
+ <reportSet>
+ <id>default</id>
+ <reports>
+ <report>javadoc-no-fork</report>
+ </reports>
+ </reportSet>
+ </reportSets>
+ <configuration>
+ <additionalparam>-Xdoclint:none</additionalparam>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>${maven.resources.version}</version>
+ </plugin>
+ </plugins>
+ </reporting>
+
<distributionManagement>
<repository>
<id>fdio-release</id>
@@ -371,6 +599,10 @@
<id>fdio-snapshot</id>
<url>${nexusproxy}/repositories/fd.io.snapshot/</url>
</snapshotRepository>
+ <site>
+ <id>fdio-site</id>
+ <url>dav:${docs.base.url}/${docs.hc.folder}/${project.version}</url>
+ </site>
</distributionManagement>
<repositories>
diff --git a/common/honeycomb-parent/site.xml b/common/honeycomb-parent/site.xml
new file mode 100644
index 000000000..b0ed4c977
--- /dev/null
+++ b/common/honeycomb-parent/site.xml
@@ -0,0 +1,39 @@
+<!--
+ ~ Copyright (c) 2016 Cisco and/or its affiliates.
+ ~
+ ~ Licensed 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.
+ -->
+
+<project>
+ <poweredBy>
+ <logo name="fd.io" href="http://fd.io" img="https://fd.io/sites/cpstandard/files/logo_fdio_top.png" alt="fd.io"/>
+ </poweredBy>
+
+ <body>
+ <menu name="Documentation root" inherit="top">
+ <item href="./honeycomb-aggregator/index.html" name="Root"/>
+ </menu>
+ <menu name="Documentation" inherit="top">
+ <item href="Readme.html" name="Overview"/>
+ </menu>
+ <menu name="General information" ref="reports" inherit="top"/>
+ <menu ref="modules" inherit="top"/>
+ <menu name="Maven parent" ref="parent" inherit="top"/>
+ </body>
+
+ <skin>
+ <groupId>org.apache.maven.skins</groupId>
+ <artifactId>maven-fluido-skin</artifactId>
+ <version>1.5</version>
+ </skin>
+</project> \ No newline at end of file
diff --git a/common/impl-parent/asciidoc/Readme.adoc b/common/impl-parent/asciidoc/Readme.adoc
new file mode 100644
index 000000000..da4d32570
--- /dev/null
+++ b/common/impl-parent/asciidoc/Readme.adoc
@@ -0,0 +1,3 @@
+= impl-parent
+
+Overview of impl-parent \ No newline at end of file
diff --git a/common/impl-parent/pom.xml b/common/impl-parent/pom.xml
index 0bd874a6c..535d638df 100644
--- a/common/impl-parent/pom.xml
+++ b/common/impl-parent/pom.xml
@@ -25,6 +25,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>impl-parent</artifactId>
+ <name>${project.artifactId}</name>
<version>1.16.12-SNAPSHOT</version>
<packaging>pom</packaging>
diff --git a/common/minimal-assembly-descriptor/asciidoc/Readme.adoc b/common/minimal-assembly-descriptor/asciidoc/Readme.adoc
new file mode 100644
index 000000000..a42a18ec0
--- /dev/null
+++ b/common/minimal-assembly-descriptor/asciidoc/Readme.adoc
@@ -0,0 +1,3 @@
+= minimal-assembly-descriptor
+
+Overview of minimal-assembly-descriptor \ No newline at end of file
diff --git a/common/minimal-assembly-descriptor/pom.xml b/common/minimal-assembly-descriptor/pom.xml
index 166464391..bd9f34193 100644
--- a/common/minimal-assembly-descriptor/pom.xml
+++ b/common/minimal-assembly-descriptor/pom.xml
@@ -15,7 +15,13 @@
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <groupId>io.fd.honeycomb.common</groupId>
+ <parent>
+ <groupId>io.fd.honeycomb.common</groupId>
+ <artifactId>honeycomb-parent</artifactId>
+ <version>1.16.12-SNAPSHOT</version>
+ <relativePath>../honeycomb-parent</relativePath>
+ </parent>
+
<artifactId>minimal-assembly-descriptor</artifactId>
<version>1.16.12-SNAPSHOT</version>
<name>${project.artifactId}</name>
diff --git a/common/minimal-distribution-parent/asciidoc/Readme.adoc b/common/minimal-distribution-parent/asciidoc/Readme.adoc
new file mode 100644
index 000000000..4e6bb77f7
--- /dev/null
+++ b/common/minimal-distribution-parent/asciidoc/Readme.adoc
@@ -0,0 +1,3 @@
+= minimal-distribution-parent
+
+Overview of minimal-distribution-parent \ No newline at end of file
diff --git a/common/minimal-distribution-parent/pom.xml b/common/minimal-distribution-parent/pom.xml
index 41367b2a7..b003231c3 100644
--- a/common/minimal-distribution-parent/pom.xml
+++ b/common/minimal-distribution-parent/pom.xml
@@ -26,6 +26,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>minimal-distribution-parent</artifactId>
+ <name>${project.artifactId}</name>
<version>1.16.12-SNAPSHOT</version>
<packaging>pom</packaging>
@@ -169,7 +170,6 @@ done
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
- <version>2.0</version>
<executions>
<execution>
<phase>package</phase>
diff --git a/common/pom.xml b/common/pom.xml
index d50d326a4..32588812c 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -15,15 +15,19 @@
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-<groupId>io.fd.honeycomb.common</groupId>
+ <parent>
+ <groupId>io.fd.honeycomb.common</groupId>
+ <artifactId>honeycomb-parent</artifactId>
+ <version>1.16.12-SNAPSHOT</version>
+ <relativePath>honeycomb-parent</relativePath>
+ </parent>
+
<artifactId>honeycomb-common-aggregator</artifactId>
<version>1.16.12-SNAPSHOT</version>
- <name>honeycomb-common</name>
+ <name>${project.artifactId}</name>
<packaging>pom</packaging>
<modelVersion>4.0.0</modelVersion>
- <prerequisites>
- <maven>3.1.1</maven>
- </prerequisites>
+ <description>Aggregator for common maven parents providing base configuration for Honeycomb modules</description>
<modules>
<module>checkstyle</module>