<parent>
<groupId>org.onap.dmaap.datarouter</groupId>
<artifactId>parent</artifactId>
- <version>1.0.3-SNAPSHOT</version>
+ <version>${revision}</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>datarouter-subscriber</artifactId>
<packaging>jar</packaging>
- <name>datarouter-subscriber</name>
<properties>
+ <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
+ <docker.location>${basedir}/target/${project.artifactId}</docker.location>
+ <datarouter.sub.image.name>${docker.image.root}${project.artifactId}</datarouter.sub.image.name>
<sonar.language>java</sonar.language>
<sonar.skip>false</sonar.skip>
- <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
- <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
-
- <docker.location>${basedir}/target/${artifactId}</docker.location>
- <datarouter.prov.image.name>onap/dmaap/datarouter-subscriber</datarouter.prov.image.name>
</properties>
<dependencies>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>${google.guava.version}</version>
- </dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
- <version>${commons-codec.version}</version>
</dependency>
<dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-server</artifactId>
- <version>${jetty.version}</version>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-continuation</artifactId>
- <version>${jetty.version}</version>
+ <artifactId>jetty-server</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util</artifactId>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-deploy</artifactId>
- <version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlets</artifactId>
- <version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-http</artifactId>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-security</artifactId>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-websocket</artifactId>
- <version>${jetty.websocket.version}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-io</artifactId>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
- <groupId>com.thoughtworks.xstream</groupId>
- <artifactId>xstream</artifactId>
- <version>${thoughtworks.version}</version>
- </dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <version>${qos.logback.version}</version>
- <scope>compile</scope>
</dependency>
<dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-core</artifactId>
- <version>${qos.logback.version}</version>
- <scope>compile</scope>
+ <groupId>org.sonatype.http-testing-harness</groupId>
+ <artifactId>junit-runner</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- <version>4.5.3</version>
+ <groupId>org.powermock</groupId>
+ <artifactId>powermock-module-junit4</artifactId>
</dependency>
<dependency>
- <groupId>org.sonatype.http-testing-harness</groupId>
- <artifactId>junit-runner</artifactId>
- <version>0.11</version>
- <exclusions>
- <exclusion>
- <groupId>org.databene</groupId>
- <artifactId>contiperf</artifactId>
- </exclusion>
- </exclusions>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.10</version>
- <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>log4j</groupId>
<version>1.2.17</version>
<scope>compile</scope>
</dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-io</artifactId>
- <version>1.3.2</version>
- </dependency>
</dependencies>
<profiles>
<profile>
<id>docker</id>
<properties>
- <skipDockerBuild>false</skipDockerBuild>
- <skipDockerTag>false</skipDockerTag>
<skipTests>true</skipTests>
</properties>
<build>
<plugins>
<plugin>
- <groupId>com.spotify</groupId>
+ <groupId>org.codehaus.gmaven</groupId>
+ <artifactId>gmaven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
- <version>${docker.maven.plugin.version}</version>
<configuration>
- <imageName>${onap.nexus.dockerregistry.daily}/${datarouter.prov.image.name}</imageName>
- <baseImage>java:8</baseImage>
- <serverId>${onap.nexus.dockerregistry.daily}</serverId>
- <skipDockerBuild>false</skipDockerBuild>
- <imageTags>
- <imageTag>${project.version}</imageTag>
- <imageTag>latest</imageTag>
- </imageTags>
- <forceTags>true</forceTags>
- <entryPoint>["/startup.sh", "start"]</entryPoint>
- <resources>
- <resource>
- <targetPath>/opt</targetPath>
- <directory>${project.build.directory}/opt</directory>
- </resource>
- <resource>
- <targetPath>/</targetPath>
- <directory>${docker.location}</directory>
- <include>startup.sh</include>
- </resource>
- </resources>
- <runs>
- <run>chmod 0700 /startup.sh</run>
- </runs>
- <exposes>
- <expose>8080</expose>
- <expose>8443</expose>
- </exposes>
+ <images>
+ <image>
+ <name>${datarouter.sub.image.name}</name>
+ <build>
+ <cleanup>try</cleanup>
+ <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
+ <dockerFile>Dockerfile</dockerFile>
+ <tags>
+ <tag>${dockertag1}</tag>
+ <tag>${dockertag2}</tag>
+ </tags>
+ </build>
+ </image>
+ </images>
</configuration>
+ <executions>
+ <execution>
+ <id>generate-images</id>
+ <phase>install</phase>
+ <goals>
+ <goal>build</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>push-images</id>
+ <phase>deploy</phase>
+ <goals>
+ <goal>push</goal>
+ </goals>
+ </execution>
+ </executions>
</plugin>
</plugins>
</build>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
- <outputDirectory>${basedir}/target/opt/app/subscriber/lib</outputDirectory>
+ <outputDirectory>${basedir}/target/docker-stage/opt/app/subscriber/lib</outputDirectory>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- <version>3.6.0</version>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-docker-file</id>
- <phase>package</phase>
+ <phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
- <outputDirectory>${docker.location}</outputDirectory>
+ <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
<overwrite>true</overwrite>
<resources>
<resource>
</configuration>
</execution>
<execution>
- <id>copy-resources-1</id>
+ <id>copy-startup-script</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
- <outputDirectory>${basedir}/target/opt/app/subscriber/lib</outputDirectory>
+ <outputDirectory>${basedir}/target/docker-stage/opt</outputDirectory>
+ <overwrite>true</overwrite>
<resources>
<resource>
- <directory>${project.basedir}/src/main/resources</directory>
+ <directory>${basedir}/src/main/resources/docker</directory>
+ <filtering>true</filtering>
<includes>
- <include>**/*.jar</include>
+ <include>startup.sh</include>
</includes>
</resource>
</resources>
<goal>copy-resources</goal>
</goals>
<configuration>
- <outputDirectory>${basedir}/target/opt/app/subscriber/etc</outputDirectory>
+ <outputDirectory>${basedir}/target/docker-stage/opt/app/subscriber/etc</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<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}/opt/app/subscriber/lib</outputDirectory>
- <overWriteReleases>false</overWriteReleases>
- <overWriteSnapshots>false</overWriteSnapshots>
- <overWriteIfNewer>true</overWriteIfNewer>
+ <outputDirectory>${project.build.directory}/docker-stage/opt/app/subscriber/lib</outputDirectory>
</configuration>
</execution>
</executions>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
- <version>2.2.1</version>
- <executions>
- <execution>
- <id>attach-sources</id>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
- <version>${jacoco.version}</version>
- <configuration>
- <excludes>
- <exclude>**/gen/**</exclude>
- <exclude>**/generated-sources/**</exclude>
- <exclude>**/yang-gen/**</exclude>
- <exclude>**/pax/**</exclude>
- </excludes>
- </configuration>
- <executions>
- <execution>
- <id>pre-unit-test</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
- <propertyName>surefireArgLine</propertyName>
- </configuration>
- </execution>
- <execution>
- <id>post-unit-test</id>
- <phase>test</phase>
- <goals>
- <goal>report</goal>
- </goals>
- <configuration>
- <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
- <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>pre-integration-test</id>
- <phase>pre-integration-test</phase>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
- <propertyName>failsafeArgLine</propertyName>
- </configuration>
- </execution>
- <execution>
- <id>post-integration-test</id>
- <phase>post-integration-test</phase>
- <goals>
- <goal>report</goal>
- </goals>
- <configuration>
- <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
- <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
- </configuration>
- </execution>
- </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>properties-maven-plugin</artifactId>
</plugin>
</plugins>
</build>