diff options
-rw-r--r-- | aai-queries/pom.xml | 15 | ||||
-rw-r--r-- | aai-schema-gen/pom.xml | 21 | ||||
-rw-r--r-- | aai-schema-service/pom.xml | 51 | ||||
-rw-r--r-- | aai-schema-service/src/main/docker/Dockerfile | 32 | ||||
-rw-r--r-- | aai-schema-service/src/main/docker/docker-entrypoint.sh | 83 | ||||
-rw-r--r-- | aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java | 2 | ||||
-rw-r--r-- | aai-schema/pom.xml | 19 | ||||
-rw-r--r-- | pom.xml | 85 |
8 files changed, 225 insertions, 83 deletions
diff --git a/aai-queries/pom.xml b/aai-queries/pom.xml index 491e9ca..b7d7cf0 100644 --- a/aai-queries/pom.xml +++ b/aai-queries/pom.xml @@ -125,6 +125,21 @@ <artifactId>spring-boot-test</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + <version>2.3.0</version> + </dependency> + <dependency> + <groupId>org.eclipse.persistence</groupId> + <artifactId>eclipselink</artifactId> + <version>3.0.0</version> + </dependency> + <dependency> + <groupId>org.eclipse.persistence</groupId> + <artifactId>org.eclipse.persistence.moxy</artifactId> + <version>3.0.0</version> + </dependency> </dependencies> <build> <plugins> diff --git a/aai-schema-gen/pom.xml b/aai-schema-gen/pom.xml index 16acc81..a4217f6 100644 --- a/aai-schema-gen/pom.xml +++ b/aai-schema-gen/pom.xml @@ -599,9 +599,28 @@ </build> </profile> </profiles> - <dependencies> <dependency> + <groupId>javax.annotation</groupId> + <artifactId>javax.annotation-api</artifactId> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + <version>2.3.0</version> + </dependency> + <dependency> + <groupId>org.eclipse.persistence</groupId> + <artifactId>eclipselink</artifactId> + <version>3.0.0</version> + </dependency> + <dependency> + <groupId>org.eclipse.persistence</groupId> + <artifactId>org.eclipse.persistence.moxy</artifactId> + <version>3.0.0</version> + </dependency> + <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency> diff --git a/aai-schema-service/pom.xml b/aai-schema-service/pom.xml index 56410a5..8bcd2d4 100644 --- a/aai-schema-service/pom.xml +++ b/aai-schema-service/pom.xml @@ -50,7 +50,7 @@ </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> + <aai.base.image.version>1.8.1</aai.base.image.version> <maven.skip.tests>true</maven.skip.tests> @@ -161,7 +161,7 @@ </execution> <execution> <id>generate-images</id> - <phase>package</phase> + <phase>verify</phase> <goals> <goal>build</goal> </goals> @@ -270,6 +270,11 @@ </profiles> <dependencies> <dependency> + <groupId>jakarta.xml.bind</groupId> + <artifactId>jakarta.xml.bind-api</artifactId> + <version>3.0.0</version> + </dependency> + <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <scope>compile</scope> @@ -339,14 +344,17 @@ <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> + <version>2.3.0</version> </dependency> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>eclipselink</artifactId> + <version>3.0.0</version> </dependency> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>org.eclipse.persistence.moxy</artifactId> + <version>3.0.0</version> <scope>compile</scope> </dependency> <dependency> @@ -626,6 +634,45 @@ </resources> </configuration> </execution> + <execution> + <id>copy-fat-jar</id> + <!-- + Reason the phase for this is set in the post integration phase due + to the spring boot maven plugin repackages post package phase + + So basically first the spring boot plugin in phase package or pre package + only creates an jar without its dependencies + + ls -trl target/ + + 3.3 MB aai-schema-1.8.0-SNAPSHOT.jar + + Then in the post package or during the package phase, it would get dependencies + and convert it into an fat jar + + 80 MB aai-schema-1.8.0-SNAPSHOT.jar + + During the package phase if the copy of the above aai-schema-1.8.0-SNAPSHOT jar + was done, it would take the slim 3.3 MB jar and wouldn't include any of the dependencies + so thats why the phase for this exection must be in post the spring boot repackage phase + --> + <phase>post-integration-test</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${aai.build.directory}/lib/</outputDirectory> + <resources> + <resource> + <directory>${project.build.directory}/</directory> + <includes> + <include>${project.artifactId}-${project.version}.jar</include> + </includes> + <filtering>false</filtering> + </resource> + </resources> + </configuration> + </execution> </executions> </plugin> <plugin> diff --git a/aai-schema-service/src/main/docker/Dockerfile b/aai-schema-service/src/main/docker/Dockerfile index 73cdfd7..6efa8d1 100644 --- a/aai-schema-service/src/main/docker/Dockerfile +++ b/aai-schema-service/src/main/docker/Dockerfile @@ -1,28 +1,30 @@ FROM @aai.docker.namespace@/aai-common-@aai.base.image@:@aai.base.image.version@ -RUN mkdir -p /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-SCHEMA-SERVICE /opt/app/aai-schema-service/logs/gc +# Add the proper files into the docker image from your build +WORKDIR /opt/app/aai-schema-service -VOLUME /opt/aai/logroot/AAI-SS -VOLUME /tmp -VOLUME /opt/tools +# Expose the ports for outside linux to use +# 8447 is the important one to be used +EXPOSE 8447 HEALTHCHECK --interval=40s --timeout=10s --retries=3 CMD nc -z -v localhost 8452 || exit 1 -RUN groupadd aaiadmin -g 1000 +ENTRYPOINT ["/sbin/tini", "--", "/bin/bash", "/opt/app/aai-schema-service/docker-entrypoint.sh"] -RUN adduser -u 1000 -h /opt/aaihome/aaiadmin -S -D -G aaiadmin -s /bin/bash aaiadmin +VOLUME /tmp +VOLUME /opt/tools -# Add the proper files into the docker image from your build -WORKDIR /opt/app/aai-schema-service +USER root -RUN chown -R aaiadmin:aaiadmin /opt/app/aai-schema-service /etc/profile.d /opt/aai/logroot/AAI-SS /opt/app /opt/aai/logroot /opt/app/aai-schema-service/logs/gc +COPY --chown=aaiadmin:aaiadmin /maven/aai-schema-service/ /opt/app/aai-schema-service -COPY --chown=aaiadmin:aaiadmin /maven/aai-schema-service/ . +RUN mkdir -p /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-SS && \ + chown -R aaiadmin:aaiadmin /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-SS && \ + chmod 777 /opt/app/aai-schema-service /opt/app/aai-schema-service/resources/etc/auth -USER aaiadmin ENV AAI_BUILD_VERSION @aai.docker.version@ -# Expose the ports for outside linux to use -# 8452 is the important one to be used -EXPOSE 8452 -ENTRYPOINT ["/bin/bash", "/opt/app/aai-schema-service/docker-entrypoint.sh"] + +WORKDIR /opt/app/aai-schema-service + +USER aaiadmin diff --git a/aai-schema-service/src/main/docker/docker-entrypoint.sh b/aai-schema-service/src/main/docker/docker-entrypoint.sh index 6d1161d..1f33bdd 100644 --- a/aai-schema-service/src/main/docker/docker-entrypoint.sh +++ b/aai-schema-service/src/main/docker/docker-entrypoint.sh @@ -18,87 +18,56 @@ # ============LICENSE_END========================================================= ### -APP_HOME=$(pwd); +APP_HOME=/opt/app/aai-schema-service; RESOURCES_HOME=${APP_HOME}/resources/; export SERVER_PORT=${SERVER_PORT:-8452}; -find /opt/app/ -name "*.sh" -exec chmod +x {} + +if [[ ! -h "${APP_HOME}/scripts" ]]; then -if [ -f ${APP_HOME}/aai.sh ]; then + ln -s ${APP_HOME}/bin ${APP_HOME}/scripts; + ln -s /opt/aai/logroot/AAI-SS ${APP_HOME}/logs; - ln -s bin scripts - ln -s /opt/aai/logroot/AAI-SS logs + if [ ! -f ${APP_HOME}/bin/updatePem.sh ]; then + echo "Unable to find the updatePem script"; + exit 1; + else + ${APP_HOME}/bin/updatePem.sh + fi; - mv ${APP_HOME}/aai.sh /etc/profile.d/aai.sh - chmod 755 /etc/profile.d/aai.sh +fi - scriptName=$1; +scriptName=$1; - if [ ! -z $scriptName ]; then +if [ ! -z $scriptName ]; then - if [ -f ${APP_HOME}/bin/${scriptName} ]; then - shift 1; - ${APP_HOME}/bin/${scriptName} "$@" || { - echo "Failed to run the ${scriptName}"; - exit 1; - } - else - echo "Unable to find the script ${scriptName} in ${APP_HOME}/bin"; + if [ -f ${APP_HOME}/bin/${scriptName} ]; then + shift 1; + ${APP_HOME}/bin/${scriptName} "$@" || { + echo "Failed to run the ${scriptName}"; exit 1; - fi; - - exit 0; + } + else + echo "Unable to find the script ${scriptName} in ${APP_HOME}/bin"; + exit 1; fi; + exit 0; fi; +mkdir -p /opt/app/aai-schema-service/logs/gc +mkdir -p /opt/app/aai-schema-service/logs/heap-dumps + if [ -f ${APP_HOME}/resources/aai-schema-service-swm-vars.sh ]; then source ${APP_HOME}/resources/aai-schema-service-swm-vars.sh; fi; -if [ ! -z "${HEAP_SIZE}" ]; then - MIN_HEAP_SIZE=${HEAP_SIZE}; - MAX_HEAP_SIZE=${HEAP_SIZE}; -fi; - -MIN_HEAP_SIZE=${MIN_HEAP_SIZE:-512m}; -MAX_HEAP_SIZE=${MAX_HEAP_SIZE:-1024m}; -MAX_METASPACE_SIZE=${MAX_METASPACE_SIZE:-512m}; - JAVA_CMD="exec java"; -JVM_OPTS="${PRE_JVM_ARGS} -Xloggc:/opt/app/aai-schema-service/logs/gc/aai_gc.log"; -JVM_OPTS="${JVM_OPTS} -XX:HeapDumpPath=/opt/app/aai-schema-service/logs/ajsc-jetty/heap-dump"; -JVM_OPTS="${JVM_OPTS} -Xms${MIN_HEAP_SIZE}"; -JVM_OPTS="${JVM_OPTS} -Xmx${MAX_HEAP_SIZE}"; - -JVM_OPTS="${JVM_OPTS} -XX:+PrintGCDetails"; -JVM_OPTS="${JVM_OPTS} -XX:+PrintGCTimeStamps"; -JVM_OPTS="${JVM_OPTS} -XX:MaxMetaspaceSize=${MAX_METASPACE_SIZE}"; - -JVM_OPTS="${JVM_OPTS} -server"; -JVM_OPTS="${JVM_OPTS} -XX:NewSize=512m"; -JVM_OPTS="${JVM_OPTS} -XX:MaxNewSize=512m"; -JVM_OPTS="${JVM_OPTS} -XX:SurvivorRatio=8"; -JVM_OPTS="${JVM_OPTS} -XX:+DisableExplicitGC"; -JVM_OPTS="${JVM_OPTS} -verbose:gc"; -JVM_OPTS="${JVM_OPTS} -XX:+UseParNewGC"; -JVM_OPTS="${JVM_OPTS} -XX:+CMSParallelRemarkEnabled"; -JVM_OPTS="${JVM_OPTS} -XX:+CMSClassUnloadingEnabled"; -JVM_OPTS="${JVM_OPTS} -XX:+UseConcMarkSweepGC"; -JVM_OPTS="${JVM_OPTS} -XX:-UseBiasedLocking"; -JVM_OPTS="${JVM_OPTS} -XX:ParallelGCThreads=4"; -JVM_OPTS="${JVM_OPTS} -XX:LargePageSizeInBytes=128m"; -JVM_OPTS="${JVM_OPTS} -XX:+PrintGCDetails"; -JVM_OPTS="${JVM_OPTS} -XX:+PrintGCTimeStamps"; +JVM_OPTS="${PRE_JVM_ARGS}"; JVM_OPTS="${JVM_OPTS} -Dsun.net.inetaddr.ttl=180"; -JVM_OPTS="${JVM_OPTS} -XX:+HeapDumpOnOutOfMemoryError"; JVM_OPTS="${JVM_OPTS} ${POST_JVM_ARGS}"; JAVA_OPTS="${PRE_JAVA_OPTS} -DAJSC_HOME=$APP_HOME"; -if [ -f ${INTROSCOPE_LIB}/Agent.jar ] && [ -f ${INTROSCOPE_AGENTPROFILE} ]; then - JAVA_OPTS="${JAVA_OPTS} -javaagent:${INTROSCOPE_LIB}/Agent.jar -noverify -Dcom.wily.introscope.agentProfile=${INTROSCOPE_AGENTPROFILE} -Dintroscope.agent.agentName=schema-service" -fi JAVA_OPTS="${JAVA_OPTS} -Dserver.port=${SERVER_PORT}"; JAVA_OPTS="${JAVA_OPTS} -DBUNDLECONFIG_DIR=./resources"; JAVA_OPTS="${JAVA_OPTS} -Dserver.local.startpath=${RESOURCES_HOME}"; diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java index 016e86f..16136d5 100644 --- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java +++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java @@ -37,7 +37,7 @@ import org.w3c.dom.NodeList; import org.xml.sax.SAXException; import javax.xml.XMLConstants; -import javax.xml.bind.JAXBException; +import jakarta.xml.bind.JAXBException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; diff --git a/aai-schema/pom.xml b/aai-schema/pom.xml index e0f5778..12069aa 100644 --- a/aai-schema/pom.xml +++ b/aai-schema/pom.xml @@ -36,10 +36,16 @@ <!-- Start of Default ONAP Schema Properties --> <aai.xsd.source>src/main/resources/onap/aai_schema</aai.xsd.source> <aai.bindings.source>src/main/xjb/bindings-onap.xjb</aai.bindings.source> + <commons.io.version>2.8.0</commons.io.version> <!-- End of Default ONAP Schema Properties --> </properties> <dependencies> <dependency> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + <version>2.3.0</version> + </dependency> + <dependency> <groupId>org.onap.aai.schema-service</groupId> <artifactId>aai-annotations</artifactId> <version>${project.version}</version> @@ -50,12 +56,6 @@ <scope>test</scope> </dependency> <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - <version>RELEASE</version> - <scope>test</scope> - </dependency> - <dependency> <groupId>org.jvnet.jaxb2_commons</groupId> <artifactId>jaxb2-basics</artifactId> <version>0.11.1</version> @@ -70,13 +70,18 @@ <groupId>com.googlecode.json-simple</groupId> <artifactId>json-simple</artifactId> </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>${commons.io.version}</version> + </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jaxb2-maven-plugin</artifactId> - <version>2.2</version> + <version>2.5.0</version> <executions> <execution> <id>xjc</id> @@ -53,10 +53,95 @@ <!-- GMaven plugin uses this property to figure out the name of the docker tag --> <aai.project.version>${project.version}</aai.project.version> <checkstyle.skip>false</checkstyle.skip> + + + <maven-site-plugin.version>3.9.1</maven-site-plugin.version> + <wagon-webdav-jackrabbit.version>3.4.2</wagon-webdav-jackrabbit.version> + <jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version> + <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version> + <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version> + <maven-compiler-plugin.source>8</maven-compiler-plugin.source> + <maven-compiler-plugin.target>8</maven-compiler-plugin.target> + <maven-compiler-plugin.test.source>8</maven-compiler-plugin.test.source> + <maven-compiler-plugin.test.target>8</maven-compiler-plugin.test.target> + <sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version> + <slf4j.version>1.7.26</slf4j.version> </properties> <build> <pluginManagement> <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-site-plugin</artifactId> + <version>${maven-site-plugin.version}</version> + <dependencies> + <dependency> + <groupId>org.apache.maven.wagon</groupId> + <artifactId>wagon-webdav-jackrabbit</artifactId> + <version>${wagon-webdav-jackrabbit.version}</version> + </dependency> + </dependencies> + </plugin> + <plugin> + <groupId>org.jacoco</groupId> + <artifactId>jacoco-maven-plugin</artifactId> + <version>${jacoco-maven-plugin.version}</version> + <executions> + <!-- Unit-Tests --> + <execution> + <id>prepare-agent</id> + <goals> + <goal>prepare-agent</goal> + </goals> + <configuration> + <destFile>${sonar.jacoco.reportPath}</destFile> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>${maven-surefire-plugin.version}</version> + <configuration> + <argLine>${argLine} -Xmx2048m --illegal-access=permit</argLine> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + <version>2.22.0</version> + <configuration> + <argLine> + --illegal-access=permit + </argLine> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>${maven-compiler-plugin.version}</version> + <inherited>true</inherited> + <configuration> + <source>${maven-compiler-plugin.source}</source> + <target>${maven-compiler-plugin.target}</target> + <testSource>${maven-compiler-plugin.test.source}</testSource> + <testTarget>${maven-compiler-plugin.test.target}</testTarget> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>${maven-javadoc-plugin.version}</version> + <configuration/> + </plugin> + <plugin> + <groupId>org.sonarsource.scanner.maven</groupId> + <artifactId>sonar-maven-plugin</artifactId> + <version>${sonar-maven-plugin.version}</version> + </plugin> + + <!-- Using https://code.revelc.net/formatter-maven-plugin/ for Eclipse formatter Using https://github.com/diffplug/spotless/tree/master/plugin-maven for import order |