summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2017-03-17 14:42:56 +0100
committerJan Srnicek <jsrnicek@cisco.com>2017-03-24 08:03:43 +0000
commitc7299c6ea39c1888a3497a889ee9b55c44b54dac (patch)
tree91bc7c9b22eaf2118857351052bddfaeb304fb95 /common
parent66f5caa2704503335cbce2a42bad3d99bd205f88 (diff)
Add hc2vpp common parents
- provides single root (hc2vpp-parent) for all projects to make site plugin work - fixes relative links in child poms - adds missing project names Partially based on https://gerrit.fd.io/r/#/c/4720 To test: - mvn clean install && mvn site site:stage - open hc2vpp/target/staging/hc2vpp-parent/hc2vpp-aggregator/index.html Change-Id: Ife5a8555748221cd8bcc8ad2fa48f1d0e98fff1d Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'common')
-rw-r--r--common/api-parent/asciidoc/Readme.adoc3
-rw-r--r--common/api-parent/pom.xml110
-rw-r--r--common/asciidoc/Readme.adoc3
-rw-r--r--common/hc2vpp-parent/asciidoc/Readme.adoc3
-rw-r--r--common/hc2vpp-parent/pom.xml19
-rw-r--r--common/hc2vpp-parent/site.xml39
-rw-r--r--common/impl-parent/asciidoc/Readme.adoc3
-rw-r--r--common/impl-parent/pom.xml32
-rw-r--r--common/minimal-distribution-parent/asciidoc/Readme.adoc3
-rw-r--r--common/minimal-distribution-parent/pom.xml176
-rw-r--r--common/pom.xml49
11 files changed, 440 insertions, 0 deletions
diff --git a/common/api-parent/asciidoc/Readme.adoc b/common/api-parent/asciidoc/Readme.adoc
new file mode 100644
index 000000000..73d562439
--- /dev/null
+++ b/common/api-parent/asciidoc/Readme.adoc
@@ -0,0 +1,3 @@
+= api-parent
+
+Maven parent for api projects. Provides common yangtools plugin configuration. \ No newline at end of file
diff --git a/common/api-parent/pom.xml b/common/api-parent/pom.xml
new file mode 100644
index 000000000..f1c899b8c
--- /dev/null
+++ b/common/api-parent/pom.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+
+ <parent>
+ <groupId>io.fd.hc2vpp.common</groupId>
+ <artifactId>hc2vpp-parent</artifactId>
+ <version>1.17.04-SNAPSHOT</version>
+ <relativePath>../hc2vpp-parent</relativePath>
+ </parent>
+
+ <groupId>io.fd.hc2vpp.common</groupId>
+ <artifactId>api-parent</artifactId>
+ <name>${project.artifactId}</name>
+ <version>1.17.04-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <!-- Yangtools, generate yang -->
+ <plugin>
+ <groupId>org.opendaylight.yangtools</groupId>
+ <artifactId>yang-maven-plugin</artifactId>
+ <version>${yangtools.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.mdsal</groupId>
+ <artifactId>maven-sal-api-gen-plugin</artifactId>
+ <version>0.8.4-Beryllium-SR4</version>
+ <type>jar</type>
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <id>binding</id>
+ <goals>
+ <goal>generate-sources</goal>
+ </goals>
+ <configuration>
+ <codeGenerators>
+ <generator>
+ <codeGeneratorClass>org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl</codeGeneratorClass>
+ <outputBaseDir>${salGeneratorPath}</outputBaseDir>
+ </generator>
+ </codeGenerators>
+ <inspectDependencies>true</inspectDependencies>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <configuration>
+ <filesets>
+ <fileset>
+ <directory>${salGeneratorPath}</directory>
+ <includes>
+ <include>**</include>
+ </includes>
+ </fileset>
+ </filesets>
+ </configuration>
+ </plugin>
+ <!-- add generated yang classes to build -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>add-yang-sources</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>add-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>${salGeneratorPath}</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.opendaylight.yangtools</groupId>
+ <artifactId>yang-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.mdsal</groupId>
+ <artifactId>yang-binding</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.yangtools</groupId>
+ <artifactId>yang-common</artifactId>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/common/asciidoc/Readme.adoc b/common/asciidoc/Readme.adoc
new file mode 100644
index 000000000..8e6964cc4
--- /dev/null
+++ b/common/asciidoc/Readme.adoc
@@ -0,0 +1,3 @@
+= hc2vpp-common-aggregator
+
+Overview of hc2vpp-common-aggregator \ No newline at end of file
diff --git a/common/hc2vpp-parent/asciidoc/Readme.adoc b/common/hc2vpp-parent/asciidoc/Readme.adoc
new file mode 100644
index 000000000..34f235045
--- /dev/null
+++ b/common/hc2vpp-parent/asciidoc/Readme.adoc
@@ -0,0 +1,3 @@
+= hc2vpp-aggregator
+
+Single maven parent for all hc2vpp projects. Provides documentation template used by site plugin. \ No newline at end of file
diff --git a/common/hc2vpp-parent/pom.xml b/common/hc2vpp-parent/pom.xml
new file mode 100644
index 000000000..e44777e99
--- /dev/null
+++ b/common/hc2vpp-parent/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+
+ <parent>
+ <groupId>io.fd.honeycomb.common</groupId>
+ <artifactId>honeycomb-parent</artifactId>
+ <version>1.17.04-SNAPSHOT</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>io.fd.hc2vpp.common</groupId>
+ <artifactId>hc2vpp-parent</artifactId>
+ <name>${project.artifactId}</name>
+ <version>1.17.04-SNAPSHOT</version>
+ <packaging>pom</packaging>
+</project> \ No newline at end of file
diff --git a/common/hc2vpp-parent/site.xml b/common/hc2vpp-parent/site.xml
new file mode 100644
index 000000000..dcd60a1a7
--- /dev/null
+++ b/common/hc2vpp-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="./hc2vpp-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..6b81b03bc
--- /dev/null
+++ b/common/impl-parent/asciidoc/Readme.adoc
@@ -0,0 +1,3 @@
+= impl-parent
+
+Common parent for projects implementing translation layer. \ No newline at end of file
diff --git a/common/impl-parent/pom.xml b/common/impl-parent/pom.xml
new file mode 100644
index 000000000..e51413b1a
--- /dev/null
+++ b/common/impl-parent/pom.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+
+ <parent>
+ <groupId>io.fd.hc2vpp.common</groupId>
+ <artifactId>hc2vpp-parent</artifactId>
+ <version>1.17.04-SNAPSHOT</version>
+ <relativePath>../hc2vpp-parent</relativePath>
+ </parent>
+
+ <groupId>io.fd.hc2vpp.common</groupId>
+ <artifactId>impl-parent</artifactId>
+ <name>${project.artifactId}</name>
+ <version>1.17.04-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <!-- import dependencies from honeycomb impl-parent -->
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>io.fd.honeycomb.common</groupId>
+ <artifactId>impl-parent</artifactId>
+ <version>1.17.04-SNAPSHOT</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project> \ No newline at end of file
diff --git a/common/minimal-distribution-parent/asciidoc/Readme.adoc b/common/minimal-distribution-parent/asciidoc/Readme.adoc
new file mode 100644
index 000000000..7964867a3
--- /dev/null
+++ b/common/minimal-distribution-parent/asciidoc/Readme.adoc
@@ -0,0 +1,3 @@
+= minimal-distribution-parent
+
+Maven parent for projects that provide honeycomb distribution. \ No newline at end of file
diff --git a/common/minimal-distribution-parent/pom.xml b/common/minimal-distribution-parent/pom.xml
new file mode 100644
index 000000000..ff077ef0b
--- /dev/null
+++ b/common/minimal-distribution-parent/pom.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+
+ <parent>
+ <groupId>io.fd.hc2vpp.common</groupId>
+ <artifactId>hc2vpp-parent</artifactId>
+ <version>1.17.04-SNAPSHOT</version>
+ <relativePath>../hc2vpp-parent</relativePath>
+ </parent>
+
+ <groupId>io.fd.hc2vpp.common</groupId>
+ <artifactId>minimal-distribution-parent</artifactId>
+ <version>1.17.04-SNAPSHOT</version>
+ <name>${project.artifactId}</name>
+ <packaging>pom</packaging>
+
+ <properties>
+ <exec.parameters>-Xms32m -Xmx128m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=128m</exec.parameters>
+ <exec.parameters.minimal>-client -Xms20m -Xmx32m -XX:MetaspaceSize=5m -XX:MaxMetaspaceSize=32m -XX:MaxMetaspaceExpansion=1m -Xss512k -XX:+UseSerialGC -Djava.compiler=NONE -Xverify:none -noverify</exec.parameters.minimal>
+ <random.seed.file>/dev/./urandom</random.seed.file>
+ </properties>
+
+ <!-- import dependencies from honeycomb minimal-distribution-parent -->
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>io.fd.honeycomb.common</groupId>
+ <artifactId>minimal-distribution-parent</artifactId>
+ <version>1.17.04-SNAPSHOT</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <!-- Generate executable shell script -->
+ <build>
+ <!-- HC2VPP-119: settings copied from honeycomb's minimal-distribution-parent -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.6</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <mainClass>${main.class}</mainClass>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>lib/</classpathPrefix>
+ <useUniqueVersions>false</useUniqueVersions>
+ <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout>
+ </manifest>
+ <manifestEntries>
+ <Class-Path>config/ cert/ modules/</Class-Path>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+
+ <!-- Copy all dependencies -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>2.10</version>
+ <executions>
+ <execution>
+ <id>copy-dependencies</id>
+ <phase>package</phase>
+ <goals>
+ <goal>copy-dependencies</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${project.build.directory}/lib</outputDirectory>
+ <useBaseVersion>true</useBaseVersion>
+ <useRepositoryLayout>true</useRepositoryLayout>
+ <excludeArtifactIds>yang-jmx-generator</excludeArtifactIds>
+ </configuration>
+ </execution>
+ <execution>
+ <id>unpack-configuration</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>unpack-dependencies</goal>
+ </goals>
+ <configuration>
+ <includes>**/honeycomb-minimal-resources/</includes>
+ <outputDirectory>${project.build.outputDirectory}/</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- Generate shell script -->
+ <!-- Extract modules started by distribution -->
+ <plugin>
+ <groupId>org.codehaus.gmaven</groupId>
+ <artifactId>groovy-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>start-scripts-generation</id>
+ <phase>package</phase>
+ <goals>
+ <goal>execute</goal>
+ </goals>
+ <configuration>
+ <source>
+ io.fd.honeycomb.common.scripts.StartupScriptGenerator.generate(project, properties, log)
+ </source>
+ </configuration>
+ </execution>
+ <execution>
+ <id>distribution-module-assembly</id>
+ <!-- phase changed from package to earlier phase to generate module descriptor before distribution jar is created,
+ to include descriptor in the jar,to be accessible to children distributions-->
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>execute</goal>
+ </goals>
+ <configuration>
+ <source>
+ io.fd.honeycomb.common.scripts.ModulesListGenerator.generate(project, properties, log)
+ </source>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>io.fd.honeycomb.common</groupId>
+ <artifactId>common-scripts</artifactId>
+ <version>1.17.04-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+
+ <!-- Build archives -->
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.5.3</version>
+ <dependencies>
+ <dependency>
+ <groupId>io.fd.honeycomb.common</groupId>
+ <artifactId>minimal-assembly-descriptor</artifactId>
+ <version>1.17.04-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <id>create-archive</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <descriptorRefs>
+ <descriptorRef>honeycomb-minimal</descriptorRef>
+ </descriptorRefs>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <!--http://stackoverflow.com/questions/18107375/getting-skipping-jacoco-execution-due-to-missing-execution-data-file-upon-exec-->
+ <argLine>${argLine} -Djava.security.egd=file:${random.seed.file}</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project> \ No newline at end of file
diff --git a/common/pom.xml b/common/pom.xml
new file mode 100644
index 000000000..26919e97b
--- /dev/null
+++ b/common/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+
+ <parent>
+ <groupId>io.fd.hc2vpp.common</groupId>
+ <artifactId>hc2vpp-parent</artifactId>
+ <version>1.17.04-SNAPSHOT</version>
+ <relativePath>hc2vpp-parent</relativePath>
+ </parent>
+
+
+ <groupId>io.fd.hc2vpp.common</groupId>
+ <artifactId>hc2vpp-common-aggregator</artifactId>
+ <version>1.17.04-SNAPSHOT</version>
+ <name>${project.artifactId}</name>
+ <packaging>pom</packaging>
+ <description>Aggregator for common maven parents providing base configuration for Hc2vpp modules</description>
+
+ <modules>
+ <module>hc2vpp-parent</module>
+ <module>api-parent</module>
+ <module>impl-parent</module>
+ <module>minimal-distribution-parent</module>
+ </modules>
+
+ <!-- DO NOT install or deploy the repo root pom as it's only needed to initiate a build -->
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>