Honeycomb 1.19.01-RC1
[honeycomb.git] / common / impl-parent / pom.xml
index f7eca59..82c6e98 100644 (file)
 <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">
 
   <parent>
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>config-parent</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-    <relativePath/>
+    <groupId>io.fd.honeycomb.common</groupId>
+    <artifactId>honeycomb-parent</artifactId>
+    <version>1.19.01-RC1</version>
+    <relativePath>../honeycomb-parent</relativePath>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
-  <groupId>io.fd.honeycomb.common</groupId>
   <artifactId>impl-parent</artifactId>
-  <version>1.0.0-SNAPSHOT</version>
+  <name>${project.artifactId}</name>
+  <version>1.19.01-RC1</version>
   <packaging>pom</packaging>
 
   <properties>
-    <checkstyle.header.file>APACHE_HEADER.txt</checkstyle.header.file>
-    <nexusproxy>http://nexus.fd.io/content</nexusproxy>
+    <guice.version>4.1.0</guice.version>
+    <guice.config.version>1.2.0</guice.config.version>
+    <skinny.logback.version>1.0.8</skinny.logback.version>
+    <maven-resources-plugin.version>3.0.2</maven-resources-plugin.version>
+    <osgi-core.version>5.0.0</osgi-core.version>
   </properties>
 
+  <dependencyManagement>
+    <dependencies>
+      <!-- DI -->
+      <dependency>
+        <groupId>com.google.inject</groupId>
+        <artifactId>guice</artifactId>
+        <version>${guice.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>net.jmob</groupId>
+        <artifactId>guice.conf</artifactId>
+        <version>${guice.config.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.google.inject.extensions</groupId>
+        <artifactId>guice-multibindings</artifactId>
+        <version>${guice.version}</version>
+      </dependency>
+      <!-- tests -->
+      <dependency>
+        <groupId>org.skinny-framework</groupId>
+        <artifactId>skinny-logback</artifactId>
+        <version>${skinny.logback.version}</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>com.google.inject.extensions</groupId>
+        <artifactId>guice-testlib</artifactId>
+        <version>${guice.version}</version>
+        <scope>test</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+
   <build>
+    <pluginManagement>
+      <!-- Must be done in parent, to unpack jars for all projects that we generate yang module index for -->
+      <plugins> <!-- 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>
+              <!-- Must be done before generating yang to module index -->
+              <phase>process-sources</phase>
+              <goals>
+                <goal>copy-dependencies</goal>
+              </goals>
+              <configuration>
+                <outputDirectory>${project.build.directory}/lib</outputDirectory>
+                <useBaseVersion>true</useBaseVersion>
+                <useRepositoryLayout>true</useRepositoryLayout>
+                <excludeArtifactIds>yang-jmx-generator,test-api</excludeArtifactIds>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+        <!-- Generate module to yang provider index -->
+        <plugin>
+          <groupId>org.codehaus.gmaven</groupId>
+          <artifactId>groovy-maven-plugin</artifactId>
+          <executions>
+            <execution>
+              <id>generate-yang-index</id>
+              <phase>generate-resources</phase>
+              <goals>
+                <goal>execute</goal>
+              </goals>
+              <configuration>
+                <source>
+                  io.fd.honeycomb.common.scripts.ModuleYangIndexGenerator.generateIndexForPresentModules(project, log)
+                </source>
+              </configuration>
+            </execution>
+          </executions>
+          <dependencies>
+            <dependency>
+              <groupId>io.fd.honeycomb.common</groupId>
+              <artifactId>common-scripts</artifactId>
+              <version>1.19.01-RC1</version>
+            </dependency>
+          </dependencies>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+
     <plugins>
       <plugin>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-        <version>${checkstyle.version}</version>
-        <executions>
-          <execution>
-            <id>check-license</id>
-            <goals>
-              <goal>check</goal>
-            </goals>
-            <phase>none</phase>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <version>2.10</version>
-        <executions>
-          <execution>
-            <id>unpack-license</id>
-            <phase>none</phase>
-            <goals><goal>unpack</goal></goals>
-          </execution>
-        </executions>
+        <groupId>org.codehaus.gmaven</groupId>
+        <artifactId>groovy-maven-plugin</artifactId>
       </plugin>
     </plugins>
-  </build>
 
-  <distributionManagement>
-    <repository>
-      <id>fdio-release</id>
-      <url>${nexusproxy}/repositories/fd.io.release/</url>
-    </repository>
-    <snapshotRepository>
-      <id>fdio-snapshot</id>
-      <url>${nexusproxy}/repositories/fd.io.dev/</url>
-    </snapshotRepository>
-  </distributionManagement>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <includes>
+          <include>**/*</include>
+        </includes>
+      </resource>
+      <resource>
+        <directory>${project.build.outputDirectory}</directory>
+        <includes>
+          <include>**/yang-modules-binding/yang-modules</include>
+        </includes>
+      </resource>
+    </resources>
+  </build>
 </project>