diff options
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | sparkybe-onap-application/pom.xml | 1267 | ||||
-rw-r--r-- | sparkybe-onap-application/src/main/assembly/descriptor.xml | 46 | ||||
-rw-r--r-- | sparkybe-onap-application/src/main/docker/Dockerfile | 34 | ||||
-rw-r--r-- | sparkybe-onap-application/src/main/scripts/start.sh | 4 |
5 files changed, 695 insertions, 658 deletions
@@ -7,3 +7,5 @@ logs/ debug-logs/ */appconfig-local/ /.metadata/ +*.iml +.idea
\ No newline at end of file diff --git a/sparkybe-onap-application/pom.xml b/sparkybe-onap-application/pom.xml index 67b868b..1e19b89 100644 --- a/sparkybe-onap-application/pom.xml +++ b/sparkybe-onap-application/pom.xml @@ -1,6 +1,6 @@ <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> + 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>org.onap.aai</groupId> @@ -13,162 +13,171 @@ <version>1.6.0-SNAPSHOT</version> <packaging>jar</packaging> - <properties> - <java.version>1.8</java.version> - <version.jacoco.maven.plugin>0.7.9</version.jacoco.maven.plugin> - <frontEndGroupdId>org.onap.aai</frontEndGroupdId> - <frontEndArtifactId>sparky-fe</frontEndArtifactId> - <frontEndVersion>1.5.0</frontEndVersion> - <serverPort>9517</serverPort> - <sslport>8000</sslport> - <nexusproxy>https://nexus.onap.org</nexusproxy> - <camel-spring-boot.version>2.21.1</camel-spring-boot.version> - <config-home>${basedir}/</config-home> - <docker.location>${basedir}/target</docker.location> - <docker.image.name>sparky-be</docker.image.name> - <version.aai-schema>1.5.1</version.aai-schema> - <sitePath>/content/sites/site/org/onap/aai/sparky-be/${project.artifactId}/${project.version}</sitePath> - <nexusproxy>https://nexus.onap.org</nexusproxy> - <spring.boot.version>1.5.21.RELEASE</spring.boot.version> - <shemaUnpackVersion>onap</shemaUnpackVersion> - </properties> - - <dependencyManagement> - <dependencies> + <properties> + <java.version>1.8</java.version> + <version.jacoco.maven.plugin>0.7.9</version.jacoco.maven.plugin> + <frontEndGroupdId>org.onap.aai</frontEndGroupdId> + <frontEndArtifactId>sparky-fe</frontEndArtifactId> + <frontEndVersion>1.5.0</frontEndVersion> + <serverPort>9517</serverPort> + <sslport>8000</sslport> + <nexusproxy>https://nexus.onap.org</nexusproxy> + <camel-spring-boot.version>2.21.1</camel-spring-boot.version> + <config-home>${basedir}/</config-home> + <version.aai-schema>1.5.1</version.aai-schema> + <sitePath>/content/sites/site/org/onap/aai/sparky-be/${project.artifactId}/${project.version}</sitePath> + <nexusproxy>https://nexus.onap.org</nexusproxy> + <spring.boot.version>1.5.21.RELEASE</spring.boot.version> + <shemaUnpackVersion>onap</shemaUnpackVersion> + <!-- docker related properties --> + <docker.image.name>sparky-be</docker.image.name> + <docker.fabric.version>0.28.0</docker.fabric.version> + <aai.docker.version>1.0.0</aai.docker.version> + <aai.build.directory>${project.build.directory}/${project.artifactId}-build/ + </aai.build.directory> + <aai.docker.namespace>onap</aai.docker.namespace> + <aai.base.image>alpine</aai.base.image> + <aai.base.image.version>1.6.0</aai.base.image.version> + <!-- This will be used for the docker images as the default format of maven build has issues --> + <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> + </properties> + + <dependencyManagement> + <dependencies> <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-parent</artifactId> - <version>${spring.boot.version}</version> - <type>pom</type> - <scope>import</scope> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-parent</artifactId> + <version>${spring.boot.version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <!-- Camel BOM --> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-spring-boot-dependencies</artifactId> + <version>${camel-spring-boot.version}</version> + <type>pom</type> + <scope>import</scope> </dependency> - <!-- Camel BOM --> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-spring-boot-dependencies</artifactId> - <version>${camel-spring-boot.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-classic</artifactId> - <version>1.2.3</version> - </dependency> - - </dependencies> - - </dependencyManagement> - - <dependencies> - - <!-- Spring dependencies --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-web</artifactId> - <exclusions> - <exclusion> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-tomcat</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-jetty</artifactId> - </dependency> - - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-actuator</artifactId> - </dependency> - - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-restlet</artifactId> - <exclusions> - <exclusion> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-logging</artifactId> - <exclusions> - <exclusion> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-classic</artifactId> - </exclusion> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>log4j-over-slf4j</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-servlet</artifactId> - <exclusions> - <exclusion> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </exclusion> - </exclusions> - </dependency> - - <!-- Camel BOM --> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-spring-boot-dependencies</artifactId> - <version>${camel-spring-boot.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - - <!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-impl --> - <!-- <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> - </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core</artifactId> - </dependency> --> - - <!-- Camel --> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-spring-boot-starter</artifactId> - </dependency> - - <!-- https://mvnrepository.com/artifact/org.apache.camel/camel-restlet --> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-restlet</artifactId> - </dependency> - - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - </dependency> - - <!-- https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-util --> - <dependency> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-util</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-servlet-starter</artifactId> - </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + <version>1.2.3</version> + </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-actuator</artifactId> - </dependency> + </dependencies> + + </dependencyManagement> + + <dependencies> + + <!-- Spring dependencies --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-web</artifactId> + <exclusions> + <exclusion> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-tomcat</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-jetty</artifactId> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> + + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-restlet</artifactId> + <exclusions> + <exclusion> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-logging</artifactId> + <exclusions> + <exclusion> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + </exclusion> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>log4j-over-slf4j</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-servlet</artifactId> + <exclusions> + <exclusion> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </exclusion> + </exclusions> + </dependency> + + <!-- Camel BOM --> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-spring-boot-dependencies</artifactId> + <version>${camel-spring-boot.version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + + <!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-impl --> + <!-- <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> + </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core</artifactId> + </dependency> --> + + <!-- Camel --> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-spring-boot-starter</artifactId> + </dependency> + + <!-- https://mvnrepository.com/artifact/org.apache.camel/camel-restlet --> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-restlet</artifactId> + </dependency> + + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + </dependency> + + <!-- https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-util --> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-util</artifactId> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-servlet-starter</artifactId> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> <dependency> <groupId>org.onap.aai.sparky-be</groupId> @@ -177,482 +186,484 @@ </dependency> - - - - - <!-- https://mvnrepository.com/artifact/commons-cli/commons-cli --> - <dependency> - <groupId>commons-cli</groupId> - <artifactId>commons-cli</artifactId> - <version>1.2</version> - </dependency> - - <!-- <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> - </dependency> --> - - - <!-- https://mvnrepository.com/artifact/org.apache.camel/camel-http-common --> - <!-- <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-http</artifactId> - <version>2.15.5</version> </dependency> <dependency> <groupId>abc.def</groupId> - <artifactId>att-camel-dme2-servlet</artifactId> <version>2.15.5</version> - <scope>system</scope> <systemPath>x:/222/att-camel-dme2-servlet-2.15.5.jar</systemPath> - </dependency> <dependency> <groupId>abc.def</groupId> <artifactId>att-camel-static-content</artifactId> - <version>2.11.2.1</version> <scope>system</scope> <systemPath>x:/222/att-camel-static-content-2.11.2.1.jar</systemPath> - </dependency> --> - - <!-- Utility dependencies --> - - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - <version>26.0-jre</version> - </dependency> - - <dependency> - <groupId>org.onap.aai.logging-service</groupId> - <artifactId>common-logging</artifactId> - <version>1.5.0</version> - </dependency> - - <dependency> - <groupId>org.dom4j</groupId> - <artifactId>dom4j</artifactId> - <scope>provided</scope> - <version>2.1.1</version> - </dependency> - - <dependency> - <groupId>org.eclipse.persistence</groupId> - <artifactId>eclipselink</artifactId> - <version>2.6.2</version> - </dependency> - - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-core</artifactId> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>org.onap.aai.schema-service</groupId> - <artifactId>aai-schema</artifactId> - <version>${version.aai-schema}</version> - </dependency> - - <dependency> - <groupId>org.onap.aai</groupId> - <artifactId>rest-client</artifactId> - <version>1.5.0</version> - </dependency> - - <!-- https://mvnrepository.com/artifact/org.restlet.jee/org.restlet.ext.servlet --> - <dependency> - <groupId>org.restlet.jee</groupId> - <artifactId>org.restlet.ext.servlet</artifactId> - <version>2.1.1</version> - </dependency> - - - <dependency> - <groupId>com.openpojo</groupId> - <artifactId>openpojo</artifactId> - <version>0.8.6</version> - </dependency> - - <dependency> - <groupId>com.google.code.gson</groupId> - <artifactId>gson</artifactId> - <scope>provided</scope> - </dependency> - - - <dependency> - <groupId>org.json</groupId> - <artifactId>json</artifactId> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-databind</artifactId> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>org.onap.portal.sdk</groupId> - <artifactId>epsdk-fw</artifactId> - <version>2.5.0</version> - <exclusions> - <exclusion> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </exclusion> - <exclusion> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - </exclusion> - <exclusion> - <groupId>log4j</groupId> - <artifactId>apache-log4j-extras</artifactId> - </exclusion> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - </exclusion> - </exclusions> - </dependency> - - <!-- Test dependencies --> - - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> - <version>1.10.19</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-module-junit4</artifactId> - <version>1.6.2</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-api-mockito</artifactId> - <version>1.6.2</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-module-javaagent</artifactId> - <version>1.6.2</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-module-junit4-rule-agent</artifactId> - <version>1.6.2</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.hamcrest</groupId> - <artifactId>hamcrest-library</artifactId> - <scope>test</scope> - </dependency> - - </dependencies> - - <build> - - <pluginManagement> - <plugins> - - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <configuration> - <source>1.8</source> - <target>1.8</target> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-resources-plugin</artifactId> - <version>2.7</version> - <executions> - <execution> - <id>copy-docker-file</id> - <phase>package</phase> - <goals> - <goal>copy-resources</goal> - </goals> - <configuration> - <outputDirectory>target</outputDirectory> - <overwrite>true</overwrite> - <resources> - <resource> - <directory>${basedir}/src/main/docker</directory> - <filtering>true</filtering> - <includes> - <include>**/*</include> - </includes> - </resource> - <resource> - <directory>${basedir}/src/main/scripts/</directory> - </resource> - </resources> - </configuration> - </execution> - </executions> - </plugin> - - </plugins> - - </pluginManagement> - - <plugins> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <configuration> - <folders> - <folder> - ${CONFIG_HOME}/portal/BOOT-INF/classes/ - </folder> - </folders> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-resources-plugin</artifactId> - <version>2.7</version> - <executions> - <execution> - <id>copy-docker-file-to-target</id> - <phase>package</phase> - <goals> - <goal>copy-resources</goal> - </goals> - <configuration> - <outputDirectory>target</outputDirectory> - <overwrite>true</overwrite> - <resources> - <resource> - <directory>${basedir}/src/main/docker</directory> - <filtering>true</filtering> - <includes> - <include>**/*</include> - </includes> - </resource> - </resources> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-resources-plugin</artifactId> - <version>2.7</version> - <executions> - <execution> - <id>copy-scripts-to-target</id> - <phase>package</phase> - <goals> - <goal>copy-resources</goal> - </goals> - <configuration> - <outputDirectory>target/scripts</outputDirectory> - <overwrite>true</overwrite> - <resources> - <resource> - <directory>${basedir}/src/main/scripts</directory> - <filtering>true</filtering> - <includes> - <include>**/*</include> - </includes> - </resource> - </resources> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-resources-plugin</artifactId> - <executions> - <execution> - <id>copy-config-to-target</id> - <phase>package</phase> - <goals> - <goal>copy-resources</goal> - </goals> - <configuration> - <outputDirectory>target/config</outputDirectory> - <overwrite>true</overwrite> - <resources> - <resource> - <directory>${basedir}/config</directory> - <filtering>true</filtering> - <includes> - <include>**/*</include> - </includes> - <excludes> - <exclude>**/auth/*</exclude> - </excludes> - </resource> - </resources> - </configuration> - </execution> - </executions> - </plugin> - - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-dependency-plugin</artifactId> - <version>3.0.0</version> - <executions> - <execution> - <id>copy-war-to-target</id> - <phase>install</phase> - <goals> - <goal>unpack</goal> - </goals> - <configuration> - <artifactItems> - <artifactItem> - <groupId>${frontEndGroupdId}</groupId> - <artifactId>${frontEndArtifactId}</artifactId> - <version>${frontEndVersion}</version> - <type>war</type> - <outputDirectory>${basedir}/target/static/services/aai/webapp/</outputDirectory> - </artifactItem> - </artifactItems> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.jacoco</groupId> - <artifactId>jacoco-maven-plugin</artifactId> - <version>${version.jacoco.maven.plugin}</version> - <executions> - <execution> - <id>prepare-agent</id> - <goals> - <goal>prepare-agent</goal> - </goals> - </execution> - <execution> - <id>report</id> - <phase>package</phase> - <goals> - <goal>report</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>cobertura-maven-plugin</artifactId> - <executions> - <execution> - <phase /> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-site-plugin</artifactId> - <configuration> - <reportPlugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-checkstyle-plugin</artifactId> - <version>2.17</version> - <reportSets> - <reportSet> - <reports> - <report>checkstyle</report> - </reports> - </reportSet> - </reportSets> - </plugin> - </reportPlugins> - </configuration> - </plugin> - - <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> - <version>2.7</version> <executions> <execution> <id>copy-docker-file</id> - <phase>package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> - <outputDirectory>target</outputDirectory> <overwrite>true</overwrite> <resources> - <resource> <directory>${basedir}/src/main/docker</directory> <filtering>true</filtering> - <includes> <include>**/*</include> </includes> </resource> <resource> <directory>${basedir}/src/main/scripts/</directory> - </resource> </resources> </configuration> </execution> </executions> </plugin> --> - <plugin> - <groupId>com.spotify</groupId> - <artifactId>docker-maven-plugin</artifactId> - <version>0.4.11</version> - <configuration> - <verbose>true</verbose> - <serverId>docker-hub</serverId> - <imageName>${docker.push.registry}/onap/${docker.image.name}</imageName> - <dockerDirectory>${docker.location}</dockerDirectory> - <imageTags> - <imageTag>latest</imageTag> - </imageTags> - <forceTags>true</forceTags> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-deploy-plugin</artifactId> - </plugin> - <!-- license plugin --> - <!-- <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> - <version>3.0</version> <configuration> <header>LICENSE</header> <includes> - <include>src/main/java/**</include> </includes> </configuration> <executions> - <execution> <goals> <goal>format</goal> </goals> <phase>process-sources</phase> - </execution> </executions> </plugin> --> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-dependency-plugin</artifactId> - <executions> - <execution> - <id>unpack</id> - <phase>prepare-package</phase> - <goals> - <goal>unpack</goal> - </goals> - <configuration> - <artifactItems> - <artifactItem> - <groupId>org.onap.aai.schema-service</groupId> - <artifactId>aai-schema</artifactId> - <version>${version.aai-schema}</version> - <type>jar</type> - <includes>/${shemaUnpackVersion}/oxm/</includes> - <outputDirectory>${project.build.directory}/oxm</outputDirectory> - </artifactItem> - </artifactItems> - </configuration> - </execution> - </executions> - </plugin> - - </plugins> - </build> + <!-- https://mvnrepository.com/artifact/commons-cli/commons-cli --> + <dependency> + <groupId>commons-cli</groupId> + <artifactId>commons-cli</artifactId> + <version>1.2</version> + </dependency> + + <!-- <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> + </dependency> --> + + + <!-- https://mvnrepository.com/artifact/org.apache.camel/camel-http-common --> + <!-- <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-http</artifactId> + <version>2.15.5</version> </dependency> <dependency> <groupId>abc.def</groupId> + <artifactId>att-camel-dme2-servlet</artifactId> <version>2.15.5</version> + <scope>system</scope> <systemPath>x:/222/att-camel-dme2-servlet-2.15.5.jar</systemPath> + </dependency> <dependency> <groupId>abc.def</groupId> <artifactId>att-camel-static-content</artifactId> + <version>2.11.2.1</version> <scope>system</scope> <systemPath>x:/222/att-camel-static-content-2.11.2.1.jar</systemPath> + </dependency> --> + + <!-- Utility dependencies --> + + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + <version>26.0-jre</version> + </dependency> + + <dependency> + <groupId>org.onap.aai.logging-service</groupId> + <artifactId>common-logging</artifactId> + <version>1.5.0</version> + </dependency> + + <dependency> + <groupId>org.dom4j</groupId> + <artifactId>dom4j</artifactId> + <scope>provided</scope> + <version>2.1.1</version> + </dependency> + + <dependency> + <groupId>org.eclipse.persistence</groupId> + <artifactId>eclipselink</artifactId> + <version>2.6.2</version> + </dependency> + + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-core</artifactId> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>org.onap.aai.schema-service</groupId> + <artifactId>aai-schema</artifactId> + <version>${version.aai-schema}</version> + </dependency> + + <dependency> + <groupId>org.onap.aai</groupId> + <artifactId>rest-client</artifactId> + <version>1.5.0</version> + </dependency> + + <!-- https://mvnrepository.com/artifact/org.restlet.jee/org.restlet.ext.servlet --> + <dependency> + <groupId>org.restlet.jee</groupId> + <artifactId>org.restlet.ext.servlet</artifactId> + <version>2.1.1</version> + </dependency> + + + <dependency> + <groupId>com.openpojo</groupId> + <artifactId>openpojo</artifactId> + <version>0.8.6</version> + </dependency> + + <dependency> + <groupId>com.google.code.gson</groupId> + <artifactId>gson</artifactId> + <scope>provided</scope> + </dependency> + + + <dependency> + <groupId>org.json</groupId> + <artifactId>json</artifactId> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>org.onap.portal.sdk</groupId> + <artifactId>epsdk-fw</artifactId> + <version>2.5.0</version> + <exclusions> + <exclusion> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </exclusion> + <exclusion> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + </exclusion> + <exclusion> + <groupId>log4j</groupId> + <artifactId>apache-log4j-extras</artifactId> + </exclusion> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </exclusion> + </exclusions> + </dependency> + + <!-- Test dependencies --> + + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-all</artifactId> + <version>1.10.19</version> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-module-junit4</artifactId> + <version>1.6.2</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-api-mockito</artifactId> + <version>1.6.2</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-module-javaagent</artifactId> + <version>1.6.2</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-module-junit4-rule-agent</artifactId> + <version>1.6.2</version> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest-library</artifactId> + <scope>test</scope> + </dependency> + + </dependencies> + + <profiles> + <profile> + <id>docker</id> + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>3.0.0</version> + <executions> + <execution> + <phase>pre-clean</phase> + <id>parse-version</id> + <goals> + <goal>parse-version</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.codehaus.groovy.maven</groupId> + <artifactId>gmaven-plugin</artifactId> + <version>1.0</version> + <executions> + <execution> + <phase>pre-clean</phase> + <goals> + <goal>execute</goal> + </goals> + <configuration> + <source> + def userAaiBaseImage = session.userProperties['aai.base.image'] + def userAaiCommonVersion = session.userProperties['aai.base.image.version'] + if (userAaiCommonVersion != null) { + project.properties['aai.base.image.version'] = userAaiCommonVersion + } + if (userAaiBaseImage != null) { + project.properties['aai.base.image'] = userAaiBaseImage + } + log.info 'Base image flavour: ' + project.properties['aai.base.image'] + log.info 'Base image version: ' + project.properties['aai.base.image.version'] + </source> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>io.fabric8</groupId> + <artifactId>docker-maven-plugin</artifactId> + <version>${docker.fabric.version}</version> + <configuration> + <verbose>true</verbose> + <apiVersion>1.23</apiVersion> + <images> + <image> + <name>${docker.push.registry}/${aai.docker.namespace}/${docker.image.name}:%l + </name> + <build> + <filter>@</filter> + <tags> + <tag>latest</tag> + <tag>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-latest</tag> + <tag>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-${maven.build.timestamp}</tag> + </tags> + <cleanup>try</cleanup> + <dockerFileDir>${project.basedir}/src/main/docker</dockerFileDir> + <assembly> + <inline> + <fileSets> + <fileSet> + <directory>${aai.build.directory}</directory> + <outputDirectory>/${project.artifactId}</outputDirectory> + </fileSet> + </fileSets> + </inline> + </assembly> + </build> + </image> + </images> + </configuration> + <executions> + <execution> + <id>clean-images</id> + <phase>pre-clean</phase> + <goals> + <goal>remove</goal> + </goals> + <configuration> + <removeAll>true</removeAll> + </configuration> + </execution> + <execution> + <id>generate-images</id> + <phase>package</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> + + <build> + <finalName>${project.artifactId}</finalName> + <resources> + <resource> + <directory>${project.basedir}/src/main/resources</directory> + </resource> + <resource> + <directory>${project.basedir}/config/portal/BOOT-INF/classes</directory> + <filtering>true</filtering> + <includes> + <include>*.properties</include> + </includes> + </resource> + </resources> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> + </plugins> + </pluginManagement> + + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <configuration> + <folders> + <folder> + ${CONFIG_HOME}/portal/BOOT-INF/classes/ + </folder> + </folders> + </configuration> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <configuration> + <descriptors> + <descriptor>src/main/assembly/descriptor.xml</descriptor> + </descriptors> + </configuration> + <executions> + <execution> + <id>make-assembly</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>3.0.0</version> + <executions> + <execution> + <id>copy-war-to-target</id> + <phase>prepare-package</phase> + <goals> + <goal>unpack</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>${frontEndGroupdId}</groupId> + <artifactId>${frontEndArtifactId}</artifactId> + <version>${frontEndVersion}</version> + <type>war</type> + <outputDirectory>${aai.build.directory}/static/services/aai/webapp/ + </outputDirectory> + </artifactItem> + </artifactItems> + </configuration> + </execution> + <execution> + <id>unpack</id> + <phase>prepare-package</phase> + <goals> + <goal>unpack</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>org.onap.aai.schema-service</groupId> + <artifactId>aai-schema</artifactId> + <version>${version.aai-schema}</version> + <type>jar</type> + <includes>/${shemaUnpackVersion}/oxm/</includes> + <outputDirectory>${aai.build.directory}</outputDirectory> + </artifactItem> + </artifactItems> + </configuration> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.jacoco</groupId> + <artifactId>jacoco-maven-plugin</artifactId> + <version>${version.jacoco.maven.plugin}</version> + <executions> + <execution> + <id>prepare-agent</id> + <goals> + <goal>prepare-agent</goal> + </goals> + </execution> + <execution> + <id>report</id> + <phase>package</phase> + <goals> + <goal>report</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>cobertura-maven-plugin</artifactId> + <executions> + <execution> + <phase/> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-site-plugin</artifactId> + <configuration> + <reportPlugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <version>2.17</version> + <reportSets> + <reportSet> + <reports> + <report>checkstyle</report> + </reports> + </reportSet> + </reportSets> + </plugin> + </reportPlugins> + </configuration> + </plugin> + + <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> + <version>2.7</version> <executions> <execution> <id>copy-docker-file</id> + <phase>package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> + <outputDirectory>target</outputDirectory> <overwrite>true</overwrite> <resources> + <resource> <directory>${basedir}/src/main/docker</directory> <filtering>true</filtering> + <includes> <include>**/*</include> </includes> </resource> <resource> <directory>${basedir}/src/main/scripts/</directory> + </resource> </resources> </configuration> </execution> </executions> </plugin> --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-deploy-plugin</artifactId> + </plugin> + <!-- license plugin --> + <!-- <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> + <version>3.0</version> <configuration> <header>LICENSE</header> <includes> + <include>src/main/java/**</include> </includes> </configuration> <executions> + <execution> <goals> <goal>format</goal> </goals> <phase>process-sources</phase> + </execution> </executions> </plugin> --> + </plugins> + </build> <distributionManagement> - <repository> - <id>ecomp-releases</id> - <name>ECOMP Release Repository</name> - <url>${nexusproxy}/content/repositories/releases/</url> - </repository> - <snapshotRepository> - <id>ecomp-snapshots</id> - <name>ECOMP Snapshot Repository</name> - <url>${nexusproxy}/content/repositories/snapshots/</url> - </snapshotRepository> - </distributionManagement> + <repository> + <id>ecomp-releases</id> + <name>ECOMP Release Repository</name> + <url>${nexusproxy}/content/repositories/releases/</url> + </repository> + <snapshotRepository> + <id>ecomp-snapshots</id> + <name>ECOMP Snapshot Repository</name> + <url>${nexusproxy}/content/repositories/snapshots/</url> + </snapshotRepository> + </distributionManagement> <repositories> <repository> diff --git a/sparkybe-onap-application/src/main/assembly/descriptor.xml b/sparkybe-onap-application/src/main/assembly/descriptor.xml new file mode 100644 index 0000000..0636952 --- /dev/null +++ b/sparkybe-onap-application/src/main/assembly/descriptor.xml @@ -0,0 +1,46 @@ +<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+ <id>build</id>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <formats>
+ <format>dir</format>
+ </formats>
+ <fileSets>
+ <fileSet>
+ <directory>${project.basedir}/config</directory>
+ <outputDirectory>/config</outputDirectory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ <excludes>
+ <exclude>**/auth/**</exclude>
+ </excludes>
+ </fileSet>
+ <fileSet>
+ <directory>${project.basedir}/src/main/scripts</directory>
+ <outputDirectory>/bin</outputDirectory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </fileSet>
+ <fileSet>
+ <directory>${project.basedir}/src/main/static</directory>
+ <outputDirectory>/static</outputDirectory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </fileSet>
+ <fileSet>
+ <directory>${project.build.directory}</directory>
+ <outputDirectory>/lib</outputDirectory>
+ <includes>
+ <include>*.jar</include>
+ </includes>
+ <excludes>
+ <exclude>Dockerfile</exclude>
+ <exclude>*.sh</exclude>
+ </excludes>
+ </fileSet>
+ </fileSets>
+</assembly>
diff --git a/sparkybe-onap-application/src/main/docker/Dockerfile b/sparkybe-onap-application/src/main/docker/Dockerfile index 53dc9c3..23cdb7c 100644 --- a/sparkybe-onap-application/src/main/docker/Dockerfile +++ b/sparkybe-onap-application/src/main/docker/Dockerfile @@ -1,38 +1,14 @@ -FROM ubuntu:14.04 +FROM @aai.docker.namespace@/aai-common-@aai.base.image@:@aai.base.image.version@ ARG MICRO_HOME=/opt/app/sparky ARG BIN_HOME=$MICRO_HOME/bin -RUN apt-get update - -# Install and setup java8 -RUN apt-get update && apt-get install -y software-properties-common -## sudo -E is required to preserve the environment. If you remove that line, it will most like freeze at this step -RUN sudo -E add-apt-repository ppa:openjdk-r/ppa && apt-get update && apt-get install -y openjdk-8-jdk -## Setup JAVA_HOME, this is useful for docker commandline -ENV JAVA_HOME usr/lib/jvm/java-8-openjdk-amd64 -RUN export JAVA_HOME - # Build up the deployment folder structure RUN mkdir -p $MICRO_HOME -RUN mkdir -p $BIN_HOME -RUN mkdir -p $MICRO_HOME/config/ -RUN mkdir -p $MICRO_HOME/lib/ -RUN mkdir -p $MICRO_HOME/static/ - -ADD *.jar $MICRO_HOME/lib/ -ADD scripts/* $MICRO_HOME/bin/ -COPY static/ $MICRO_HOME/static/ -COPY config/ $MICRO_HOME/config/ - -COPY oxm $MICRO_HOME/ - -RUN chmod 755 $MICRO_HOME/bin/* -RUN chmod 755 $MICRO_HOME/lib/* -RUN chmod 755 $MICRO_HOME/static/* -RUN chmod 755 $MICRO_HOME/config/* - -RUN ln -s /logs $MICRO_HOME/logs +WORKDIR $MICRO_HOME +COPY /maven/sparkybe-onap-application/ . +RUN chmod 755 $BIN_HOME/* \ + && ln -snf /logs $MICRO_HOME/logs EXPOSE 8000 8000 EXPOSE 9517 9517 diff --git a/sparkybe-onap-application/src/main/scripts/start.sh b/sparkybe-onap-application/src/main/scripts/start.sh index 8369d6c..939f476 100644 --- a/sparkybe-onap-application/src/main/scripts/start.sh +++ b/sparkybe-onap-application/src/main/scripts/start.sh @@ -6,7 +6,9 @@ CONFIG_HOME=${APP_HOME}/config PROPS="-DAPP_HOME=${APP_HOME} -DCONFIG_HOME=${CONFIG_HOME} -Dlogging.config=${CONFIG_HOME}/logging/logback.xml" set -x -jar ufv ${APP_HOME}/lib/sparkybe-onap-application*.jar -C ${CONFIG_HOME}/portal/ BOOT-INF/classes/portal.properties -C ${CONFIG_HOME}/portal/ BOOT-INF/classes/key.properties +jar ufv ${APP_HOME}/lib/sparkybe-onap-application*.jar \ + -C ${CONFIG_HOME}/portal/ BOOT-INF/classes/portal.properties \ + -C ${CONFIG_HOME}/portal/ BOOT-INF/classes/key.properties > /dev/null 2>&1 # # change the working directory so that Spring-Boot will pick up the config folder from the right path |