| <?xml version="1.0"?> |
| <!-- |
| ============LICENSE_START========================================== |
| org.onap.dmaap |
| =================================================================== |
| Copyright © 2018 AT&T Intellectual Property. All rights reserved. |
| =================================================================== |
| 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. |
| ============LICENSE_END============================================ |
| ECOMP is a trademark and service mark of AT&T Intellectual Property. |
| --> |
| <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> |
| <groupId>org.onap.dmaap.buscontroller</groupId> |
| <artifactId>dmaap-bc</artifactId> |
| <version>${artifact.version}</version> |
| <name>dmaap-bc</name> |
| <parent> |
| <groupId>org.onap.oparent</groupId> |
| <artifactId>oparent</artifactId> |
| <version>1.2.2</version> |
| <relativePath/> |
| </parent> |
| <build> |
| <finalName>dmaap-bc</finalName> |
| |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce-no-snapshots</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireReleaseDeps> |
| <message>No Snapshots Allowed!</message> |
| <excludes> |
| <exclude>org.onap.dmaap.dbcapi:dbcapi</exclude> |
| <exclude>org.onap.aaf.authz:aaf-cadi-client</exclude> |
| <exclude>org.onap.aaf.authz:aaf-misc-env</exclude> |
| <exclude>org.onap.aaf.authz:aaf-cadi-aaf</exclude> |
| <exclude>org.onap.aaf.authz:aaf-auth-client</exclude> |
| <exclude>org.onap.aaf.authz:aaf-cadi-core</exclude> |
| <exclude>org.onap.aaf.authz:aaf-misc-rosetta</exclude> |
| </excludes> |
| </requireReleaseDeps> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- Package an Uber jar --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>2.4.3</version> |
| <executions> |
| <!-- Run shade goal on package phase --> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <createDependencyReducedPom>false</createDependencyReducedPom> |
| <!-- this filter section is needed to avoid runtime error: |
| java.lang.SecurityException: Invalid signature file digest for Manifest main attributes |
| suggestion found at: https://stackoverflow.com/q/999489 |
| --> |
| <filters> |
| <filter> |
| <artifact>*:*</artifact> |
| <excludes> |
| <exclude>META-INF/*.SF</exclude> |
| <exclude>META-INF/*.DSA</exclude> |
| <exclude>META-INF/*.RSA</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| <transformers> |
| <!-- NOTE: Need the following transformer else gets "Could not resolve type id 'https' into a subtype" error |
| Solution found from here: |
| http://stackoverflow.com/questions/27543060/why-does-dropwizard-configuration-is-not-working |
| Some more context here: |
| https://github.com/dropwizard/dropwizard/issues/455 --> |
| <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> |
| <!-- add Main-Class to manifest file --> |
| <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> |
| <mainClass>org.onap.dmaap.dbcapi.server.Main</mainClass> |
| </transformer> |
| </transformers> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.sonatype.plugins</groupId> |
| <artifactId>nexus-staging-maven-plugin</artifactId> |
| <extensions>true</extensions> |
| <configuration> |
| <serverId>ecomp-staging</serverId> |
| <nexusUrl>${nexusproxy}</nexusUrl> |
| <stagingProfileId>176c31dfe190a</stagingProfileId> |
| </configuration> |
| </plugin> |
| |
| <!-- for Distribution management --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.maven.wagon</groupId> |
| <artifactId>wagon-webdav-jackrabbit</artifactId> |
| <version>2.10</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| </plugins> |
| <pluginManagement> |
| <plugins> |
| <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.--> |
| <plugin> |
| <groupId>org.eclipse.m2e</groupId> |
| <artifactId>lifecycle-mapping</artifactId> |
| <version>1.0.0</version> |
| <configuration> |
| <lifecycleMappingMetadata> |
| <pluginExecutions> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <versionRange>[2.10,)</versionRange> |
| <phase>install</phase> |
| <goals> |
| <goal>copy-dependencies</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore/> |
| </action> |
| </pluginExecution> |
| </pluginExecutions> |
| </lifecycleMappingMetadata> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| <profiles> |
| <profile> |
| <id>docker</id> |
| <properties> |
| <skipDockerBuild>false</skipDockerBuild> |
| <skipDockerTag>false</skipDockerTag> |
| <skipTests>true</skipTests> |
| </properties> |
| <build> |
| <!-- Copy files to docker-stage to be included in image --> |
| <resources> |
| <resource> |
| <targetPath>${basedir}/target/docker-stage</targetPath> |
| <directory>${basedir}/src/main/resources</directory> |
| <includes> |
| <include>Dockerfile</include> |
| </includes> |
| </resource> |
| <resource> |
| <targetPath>${basedir}/target/docker-stage/opt/app/dmaapbc/etc</targetPath> |
| <directory>${basedir}/misc</directory> |
| <includes> |
| <include>LocalKey</include> |
| <include>logback.xml</include> |
| <include>org.onap.dmaap-bc.trust.jks</include> |
| <include>dbc-api.jks</include> |
| </includes> |
| </resource> |
| <resource> |
| <targetPath>${basedir}/target/docker-stage/opt/app/dmaapbc/etc</targetPath> |
| <directory>${basedir}</directory> |
| <includes> |
| <include>version.properties</include> |
| </includes> |
| </resource> |
| <resource> |
| <targetPath>${basedir}/target/docker-stage/opt/app/dmaapbc/misc</targetPath> |
| <directory>${basedir}/misc</directory> |
| <includes> |
| <include>opensource.env</include> |
| <include>*.tmpl</include> |
| </includes> |
| </resource> |
| <resource> |
| <targetPath>${basedir}/target/docker-stage/opt/app/dmaapbc/misc</targetPath> |
| <directory>${multiproject.basedir}/misc</directory> |
| <includes> |
| <include>cert-client-init.sh</include> |
| </includes> |
| </resource> |
| <resource> |
| <targetPath>${basedir}/target/docker-stage/opt/app/dmaapbc/bin</targetPath> |
| <directory>${basedir}/misc</directory> |
| <includes> |
| <include>dmaapbc</include> |
| <include>doaction</include> |
| </includes> |
| </resource> |
| </resources> |
| <plugins> |
| <!-- Copy jar to docker-stage to be included in image --> |
| <plugin> |
| <artifactId>maven-resources-plugin</artifactId> |
| <version>2.7</version> |
| <executions> |
| <execution> |
| <id>copy-jar</id> |
| <phase>package</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${basedir}/target/docker-stage/opt/app/dmaapbc/lib</outputDirectory> |
| <resources> |
| <resource> |
| <directory>${multiproject.basedir}/dmaap-bc/target</directory> |
| <includes> |
| <include>dmaap-bc.jar</include> |
| </includes> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- Setup image tags per https://wiki.onap.org/display/DW/Independent+Versioning+and+Release+Process#IndependentVersioningandReleaseProcess-StandardizedDockerTagging --> |
| <plugin> |
| <groupId>org.codehaus.groovy.maven</groupId> |
| <artifactId>gmaven-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>validate</phase> |
| <goals> |
| <goal>execute</goal> |
| </goals> |
| <configuration> |
| <properties> |
| <ver>${project.version}</ver> |
| <timestamp>${maven.build.timestamp}</timestamp> |
| </properties> |
| <source> |
| println 'ver: ' + project.properties['ver']; |
| if ( project.properties['ver'].endsWith("-SNAPSHOT") ) { |
| project.properties['dockertag1']=project.properties['ver'] + "-latest"; |
| project.properties['dockertag2']=project.properties['ver'] + "-" + project.properties['timestamp']; |
| } else { |
| project.properties['dockertag1']=project.properties['ver'] + "-STAGING-latest"; |
| project.properties['dockertag2']=project.properties['ver'] + "-STAGING-" + project.properties['timestamp']; |
| } |
| println 'docker tag 1: ' + project.properties['dockertag1']; |
| println 'docker tag 2: ' + project.properties['dockertag2']; |
| </source> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>io.fabric8</groupId> |
| <artifactId>docker-maven-plugin</artifactId> |
| <version>0.28.0</version> |
| <configuration> |
| <verbose>${docker.verbose}</verbose> |
| <apiVersion>${docker.apiVersion}</apiVersion> |
| <pullRegistry>${docker.pull.registry}</pullRegistry> |
| <images> |
| <image> |
| <name>${onap.nexus.dockerregistry.daily}/${docker.image}</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> |
| </profile> |
| </profiles> |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.glassfish.jersey</groupId> |
| <artifactId>jersey-bom</artifactId> |
| <version>${jersey.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>io.swagger</groupId> |
| <artifactId>swagger-core</artifactId> |
| <version>${swagger.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.swagger</groupId> |
| <artifactId>swagger-jersey2-jaxrs</artifactId> |
| <version>${swagger.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.swagger</groupId> |
| <artifactId>swagger-annotations</artifactId> |
| <version>${swagger.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.containers</groupId> |
| <artifactId>jersey-container-servlet-core</artifactId> |
| <!-- use the following artifactId if you don't need servlet 2.x compatibility --> |
| <!-- artifactId>jersey-container-servlet</artifactId --> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.media</groupId> |
| <artifactId>jersey-media-moxy</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| <version>1.2.17</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-server</artifactId> |
| <version>${jettyVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.aaf.authz</groupId> |
| <artifactId>aaf-cadi-aaf</artifactId> |
| <version>2.1.7</version> |
| <classifier>full</classifier> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-servlet</artifactId> |
| <version>${jettyVersion}</version> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-servlets</artifactId> |
| <version>${jettyVersion}</version> |
| <scope>compile</scope> |
| </dependency> |
| <!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple --> |
| <dependency> |
| <groupId>com.googlecode.json-simple</groupId> |
| <artifactId>json-simple</artifactId> |
| <version>1.1.1</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-codec</groupId> |
| <artifactId>commons-codec</artifactId> |
| <version>1.11</version> |
| </dependency> |
| <!-- https://mvnrepository.com/artifact/org.postgresql/postgresql --> |
| <dependency> |
| <groupId>org.postgresql</groupId> |
| <artifactId>postgresql</artifactId> |
| <version>42.2.5</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.onap.dmaap.dbcapi</groupId> |
| <artifactId>dbcapi</artifactId> |
| <version>1.0.23-SNAPSHOT</version> |
| </dependency> |
| </dependencies> |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>2.10.4</version> |
| <configuration> |
| <failOnError>false</failOnError> |
| <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet> |
| <docletArtifact> |
| <groupId>org.umlgraph</groupId> |
| <artifactId>umlgraph</artifactId> |
| <version>5.6</version> |
| </docletArtifact> |
| <additionalparam>-views</additionalparam> |
| <useStandardDocletOptions>true</useStandardDocletOptions> |
| </configuration> |
| </plugin> |
| </plugins> |
| </reporting> |
| |
| <distributionManagement> |
| <site> |
| <id>ecomp-site</id> |
| <url>dav:${nexusproxy}${sitePath}</url> |
| </site> |
| </distributionManagement> |
| <properties> |
| <multiproject.basedir>${basedir}/..</multiproject.basedir> |
| <docker.maven.plugin.version>1.0.0</docker.maven.plugin.version> |
| <jersey.version>2.16</jersey.version> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <jettyVersion>9.4.12.RC2</jettyVersion> |
| <eelf.version>1.0.0</eelf.version> |
| <swagger.version>1.5.19</swagger.version> |
| <artifact.version>1.1.1</artifact.version> |
| <!-- SONAR --> |
| <jacoco.version>0.7.7.201606060606</jacoco.version> |
| <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version> |
| <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin> |
| <!-- Default Sonar configuration --> |
| <sonar.jacoco.reportPath>target/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath> |
| <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath> |
| <!-- Note: This list should match jacoco-maven-plugin's exclusion list below --> |
| <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions> |
| |
| <!-- docker image --> |
| <docker.image>onap/dmaap/dmaap-bc</docker.image> |
| |
| <nexusproxy>https://nexus.onap.org</nexusproxy> |
| <docker.push.registry>10.12.5.45:5000</docker.push.registry> |
| |
| <timestamp>${maven.build.timestamp}</timestamp> |
| <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> |
| |
| <!-- for Distribution Management --> |
| <sitePath>/content/sites/site/org/onap/dmaap/dmaap-bc/${artifact.version}</sitePath> |
| </properties> |
| <description>Packaging Platform (DMaaP) Bus Controller API as a Docker container.</description> |
| </project> |