| <?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.dbcapi</groupId> |
| <artifactId>dbcapi</artifactId> |
| <version>${artifact.version}</version> |
| <name>dmaap-dbcapi</name> |
| <parent> |
| <groupId>org.onap.oparent</groupId> |
| <artifactId>oparent</artifactId> |
| <version>1.2.2</version> |
| <relativePath/> |
| </parent> |
| <build> |
| <finalName>dbcapi</finalName> |
| <resources> |
| <resource> |
| <directory>src/main/java/org/onap/dmaap/dbcapi/logging</directory> |
| </resource> |
| <resource> |
| <directory>src/main/resources</directory> |
| </resource> |
| </resources> |
| <plugins> |
| <!-- reference: https://tech.homeaway.com/development/2016/06/02/generating-swagger-spec.html --> |
| <plugin> |
| <groupId>com.github.kongchen</groupId> |
| <artifactId>swagger-maven-plugin</artifactId> |
| <version>3.1.5</version> |
| <configuration> |
| <apiSources> |
| <apiSource> |
| <springmvc>false</springmvc> |
| <locations> |
| <location>org.onap.dmaap.dbcapi.resources</location> |
| </locations> |
| <schemes> |
| <scheme>http</scheme> |
| <scheme>https</scheme> |
| </schemes> |
| <host>www.[host]:[port]</host> |
| <basePath>/webapi</basePath> |
| <info> |
| <title>DMaaP Bus Controller REST API</title> |
| <version>1.1.0</version> |
| <description> |
| provides an API for OpenDCAE components which need to provision |
| underlying DMaaP technologies (Data Router and Message Router). |
| Primary clients for this API are anticipated to be the OpenDCAE |
| Controller, OpenDCAE Orchestrator, OpenDCAE Inventory and the |
| ECOMP Portal. |
| |
| Objects managed by DMaaP are deployed in a dcaeLocation which is a |
| unique identifier for an OpenStack tenant for a dcaeLayer, |
| opendcae-central (aka ecomp) or opendcae-local-ntc (aka edge). |
| |
| A dcaeEnvironment (e.g. FTL or prod) has a single DMaaP. A |
| DMaaP is managed by a one or more stateless DMaaP Bus |
| Controller(s), though Bus Controller relies on PGaaS for |
| persistence. Each DMaaP has a single instance of Data Router, |
| which has 1 or more DR_Nodes deployed at each dcaeLocation. DR |
| Clients of type DR_Pub generally publish to a DR_Node that is |
| local to its dcaeLocation. Routing for a Feed is determined by |
| the dcaelocation of its DR_Sub clients. |
| |
| A DMaaP may have many Message Router instances. Each instance is |
| deployed as an MR_Cluster. One MR_Cluster is deployed at each |
| dcaeLocation. MR_Clients generally communicate to the |
| MR_Cluster at the same dcaeLocation. Replication of messages |
| between MR_Clusters is accomplished by MR Bridge, which is |
| provioned by DMaaP Bus Controller based on Topic attributes. |
| |
| Therefore, the role of DMaaP Bus Controller is to support other |
| DCAE infrastructure components to dynamically provision DMaaP |
| services on behalf of DMaaP clients, and to assist in any |
| management or discovery activity of its clients. |
| |
| A convention of this API is to return JSON responses per |
| OpenStack style. |
| </description> |
| <termsOfService> |
| http://www.apache.org/licenses/LICENSE-2.0 |
| </termsOfService> |
| <contact> |
| <url>http://www.onap.org</url> |
| </contact> |
| <license> |
| <url>http://www.apache.org/licenses/LICENSE-2.0</url> |
| <name>Licensed under the Apache License, Version 2.0</name> |
| </license> |
| </info> |
| <swaggerDirectory>target/generated-sources/</swaggerDirectory> |
| </apiSource> |
| </apiSources> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>compile</phase> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- for Staging --> |
| <plugin> |
| <groupId>org.sonatype.plugins</groupId> |
| <artifactId>nexus-staging-maven-plugin</artifactId> |
| <version>1.6.7</version> |
| <extensions>true</extensions> |
| <configuration> |
| <serverId>ecomp-staging</serverId> |
| <nexusUrl>${nexusproxy}</nexusUrl> |
| <stagingProfileId>176c31dfe190a</stagingProfileId> |
| </configuration> |
| </plugin> |
| |
| |
| <!-- for Distribution Managment --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <version>3.6</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.maven.wagon</groupId> |
| <artifactId>wagon-webdav-jackrabbit</artifactId> |
| <version>2.10</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| <!-- prevent SNAPSHOT dependencies --> |
| <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.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> |
| |
| </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> |
| <goals> |
| <goal>copy-dependencies</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore/> |
| </action> |
| </pluginExecution> |
| </pluginExecutions> |
| </lifecycleMappingMetadata> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| <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>org.onap.aaf.authz</groupId> |
| <artifactId>aaf-cadi-aaf</artifactId> |
| <version>2.1.7</version> |
| <classifier>full</classifier> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.dataformat</groupId> |
| <artifactId>jackson-dataformat-yaml</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-core</artifactId> |
| <version>1.2.3</version> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <version>1.2.3</version> |
| </dependency> |
| <!-- DMAAP-656: |
| - override this dependency because it utilized a third party |
| - lib called com.google.guava:20.0 which had severe security threat identified. |
| --> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>24.1.1-jre</version> |
| </dependency> |
| <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.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>com.att.eelf</groupId> |
| <artifactId>eelf-core</artifactId> |
| <version>${eelf.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>1.7.22</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.test-framework.providers</groupId> |
| <!-- use this if compatibility issues with jetty artifactId: |
| <artifactId>jersey-test-framework-provider-jetty</artifactId> |
| <version>${jersey.version}</version> |
| --> |
| <artifactId>jersey-test-framework-provider-jdk-http</artifactId> |
| <version>2.22.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.inject</groupId> |
| <artifactId>jersey-hk2</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>pl.pragmatists</groupId> |
| <artifactId>JUnitParams</artifactId> |
| <version>1.1.0</version> |
| <scope>test</scope> |
| </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> |
| <swagger.version>1.5.19</swagger.version> |
| <jackson.version>2.9.5</jackson.version> |
| <jersey.version>2.26</jersey.version> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <jettyVersion>9.4.12.RC2</jettyVersion> |
| <eelf.version>1.0.0</eelf.version> |
| <artifact.version>1.0.25-SNAPSHOT</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> |
| |
| <!-- for Distribution Management --> |
| <sitePath>/content/sites/site/org/onap/dmaap/buscontroller/${artifact.version}</sitePath> |
| <nexusproxy>https://nexus.onap.org</nexusproxy> |
| </properties> |
| <description>Data Movement as a Platform (DMaaP) Bus Controller provides a REST API for other DCAE infrastructure components to provision DMaaP resources. A DMaaP resource is a Data Router Feed or a Message Router Topic, and their associated publishers and subscribers.</description> |
| </project> |