diff options
author | Gautam Shah <gautams@amdocs.com> | 2018-04-11 19:55:29 +0530 |
---|---|---|
committer | GAUTAMS <gautams@amdocs.com> | 2018-04-17 10:18:53 +0530 |
commit | 09a41f5bfa6008ce545f8745306145ad9264103b (patch) | |
tree | de4f6301dacc2bc03c9289f67a805835a4c0c0ec /openecomp-be/tools | |
parent | 4d0fac7c8057d2732203fe9f219059945aa9750c (diff) |
Reducing onboarding backend maven build time
Reducing onboarding backend maven build time
Change-Id: Iab7af70c0e9f60b8a50bef7937e802df5be89fd0
Issue-ID: SDC-1189
Signed-off-by: GAUTAMS <gautams@amdocs.com>
Diffstat (limited to 'openecomp-be/tools')
7 files changed, 98 insertions, 65 deletions
diff --git a/openecomp-be/tools/build-helper/pom.xml b/openecomp-be/tools/build-helper/pom.xml new file mode 100644 index 0000000000..bcdf52a79e --- /dev/null +++ b/openecomp-be/tools/build-helper/pom.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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> + + <artifactId>build-helper</artifactId> + + <parent> + <artifactId>sdc-onboarding</artifactId> + <groupId>org.openecomp.sdc</groupId> + <version>1.2.0-SNAPSHOT</version> + <relativePath>../../../onboarding</relativePath> + </parent> + + <properties> + <jacoco.skip>true</jacoco.skip> + <pmd.skip>true</pmd.skip> + </properties> + + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>${junit.version}</version> + <scope>provided</scope> + </dependency> + </dependencies> + + +</project> diff --git a/openecomp-be/tools/build-helper/src/main/java/org/openecomp/onboarding/build/test/StaleCodeDetectionTest.java b/openecomp-be/tools/build-helper/src/main/java/org/openecomp/onboarding/build/test/StaleCodeDetectionTest.java new file mode 100644 index 0000000000..69f77357ae --- /dev/null +++ b/openecomp-be/tools/build-helper/src/main/java/org/openecomp/onboarding/build/test/StaleCodeDetectionTest.java @@ -0,0 +1,54 @@ +/* + * Copyright © 2016-2017 European Support Limited + * + * 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 a "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. + */ + +package org.openecomp.onboarding.build.test; + +import org.junit.Assert; +import org.junit.Test; + +import java.io.File; +import java.nio.file.Paths; +import java.util.Arrays; +import java.util.Collections; + +public class StaleCodeDetectionTest { + + private static final String JAVA_EXT = ".java"; + private static final String CLASS_EXT = ".class"; + + @Test + public void checkIfStale() { + + String moduleLocation = System.getProperty("basedir"); + if (isStale(moduleLocation + File.separator + "target" + File.separator + "test-classes", + moduleLocation + File.separator + "src" + File.separator + "test" + File.separator + "java")) { + Assert.fail("****** Please remove 'target' directory manually under path " + moduleLocation); + } + } + + private boolean isStale(String compiledCodeLocation, String javaSourceLocation) { + File compiledFiles = new File(compiledCodeLocation); + File[] list = compiledFiles.listFiles((dir, file) -> file.endsWith(CLASS_EXT) && file.indexOf('$') == -1); + if (list == null || list.length == 0) { + return false; + } + File candidate = Collections.min(Arrays.asList(list), + (file1, file2) -> file1.lastModified() >= file2.lastModified() ? 1 : -1); + String sourceFilePath = javaSourceLocation + candidate.getAbsolutePath().replace(compiledCodeLocation, "") + .replace(CLASS_EXT, JAVA_EXT); + return !Paths.get(sourceFilePath).toFile().exists(); + } +} diff --git a/openecomp-be/tools/swagger-ui/assembly/swagger.xml b/openecomp-be/tools/swagger-ui/assembly/swagger.xml index 37911dc627..5a4302145b 100644 --- a/openecomp-be/tools/swagger-ui/assembly/swagger.xml +++ b/openecomp-be/tools/swagger-ui/assembly/swagger.xml @@ -60,7 +60,7 @@ </includes> </fileSet> <fileSet> - <directory>./target</directory> + <directory>./target/api-docs</directory> <outputDirectory>/</outputDirectory> <includes> <include>${api.json.file}</include> diff --git a/openecomp-be/tools/swagger-ui/pom.xml b/openecomp-be/tools/swagger-ui/pom.xml index 84322762d4..f470c0eb8c 100644 --- a/openecomp-be/tools/swagger-ui/pom.xml +++ b/openecomp-be/tools/swagger-ui/pom.xml @@ -14,36 +14,11 @@ <properties> <plugin.name>api-docs</plugin.name> - <package.dir>${basedir}/${plugin.name}</package.dir> <rest.api.dir>${basedir}/../../api/openecomp-sdc-rest-webapp/onboarding-rest-war</rest.api.dir> <api.json.file>api.json</api.json.file> - <api.html.file>api.html</api.html.file> </properties> <build> <plugins> - <!-- ============================================= --> - <!-- Clean api-docs folder --> - <!-- ============================================= --> - <plugin> - <artifactId>maven-clean-plugin</artifactId> - <version>2.6.1</version> - <executions> - <execution> - <id>clean.dist.folder</id> - <phase>clean</phase> - <goals> - <goal>clean</goal> - </goals> - <configuration> - <filesets> - <fileset> - <directory>${basedir}/api-docs</directory> - </fileset> - </filesets> - </configuration> - </execution> - </executions> - </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> @@ -72,9 +47,7 @@ <configuration> <tasks> <echo message="Copy api json files"/> - <copy file="${rest.api.dir}/target/generated/swagger-ui/swagger.json" tofile="${basedir}/target/${api.json.file}"/> - <copy file="${rest.api.dir}/target/generated/swagger-ui/swagger.json" tofile="${package.dir}/${api.json.file}"/> - <copy file="${rest.api.dir}/target/generated/${api.html.file}" tofile="${package.dir}/${api.html.file}"/> + <copy file="${rest.api.dir}/target/generated/swagger-ui/swagger.json" tofile="${basedir}/target/${plugin.name}/${api.json.file}"/> </tasks> </configuration> <goals> @@ -90,7 +63,7 @@ <configuration> <descriptor>assembly/swagger.xml</descriptor> <finalName>${plugin.name}</finalName> - <outputDirectory>${package.dir}</outputDirectory> + <outputDirectory>${basedir}/target/${plugin.name}</outputDirectory> <appendAssemblyId>false</appendAssemblyId> </configuration> <executions> diff --git a/openecomp-be/tools/zusammen-tools/pom.xml b/openecomp-be/tools/zusammen-tools/pom.xml index aef0eb73ad..a1183b52ac 100644 --- a/openecomp-be/tools/zusammen-tools/pom.xml +++ b/openecomp-be/tools/zusammen-tools/pom.xml @@ -64,6 +64,12 @@ <artifactId>openecomp-sdc-vendor-software-product-manager</artifactId> <version>${project.version}</version> </dependency> + <dependency> + <groupId>org.testng</groupId> + <artifactId>testng</artifactId> + <version>${testng.version}</version> + <scope>test</scope> + </dependency> </dependencies> <artifactId>openecomp-zusammen-tools</artifactId> <groupId>org.openecomp.sdc.core.tools</groupId> @@ -130,7 +136,6 @@ </executions> </plugin> - <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> @@ -157,26 +162,8 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> - <executions> - <execution> - <phase>package</phase> - </execution> - </executions> <configuration> - <archive> - <manifest> - <addClasspath>true</addClasspath> - <classpathLayoutType>custom</classpathLayoutType> - <customClasspathLayout> - lib/${artifact.artifactId}-${baseVersion}.${artifact.extension} - </customClasspathLayout> - <mainClass>org.openecomp.core.tools.main.ZusammenMainTool - </mainClass> - </manifest> - <manifestEntries> - <Class-Path>lib/</Class-Path> - </manifestEntries> - </archive> + <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </plugin> @@ -192,10 +179,6 @@ <fixcrlf srcdir="./" eol="unix" includes="zusammenMainTool.sh"/> </tasks> - <tasks> - <replace file="src/main/resources/zusammenMainTool.sh" token="1.0-SNAPSHOT" value="${project.version}"/> - </tasks> - </configuration> <goals> <goal>run</goal> diff --git a/openecomp-be/tools/zusammen-tools/src/main/assembly/zusammen-tools-lib-assembly.xml b/openecomp-be/tools/zusammen-tools/src/main/assembly/zusammen-tools-lib-assembly.xml index 923115ee5d..5a15f4f288 100644 --- a/openecomp-be/tools/zusammen-tools/src/main/assembly/zusammen-tools-lib-assembly.xml +++ b/openecomp-be/tools/zusammen-tools/src/main/assembly/zusammen-tools-lib-assembly.xml @@ -7,7 +7,6 @@ </formats> <includeBaseDirectory>false</includeBaseDirectory> - <files> <file> <source>src/main/resources/zusammenMainTool.sh</source> @@ -22,18 +21,11 @@ <fileMode>0755</fileMode> </fileSet> <fileSet> - <directory>${basedir}/target</directory> - <includes> - <include> - openecomp-zusammen*.jar - </include> - </includes> - <outputDirectory>/</outputDirectory> - </fileSet> - <fileSet> <directory>${basedir}/target/lib</directory> <outputDirectory>/lib</outputDirectory> </fileSet> + </fileSets> + </assembly> diff --git a/openecomp-be/tools/zusammen-tools/src/main/resources/zusammenMainTool.sh b/openecomp-be/tools/zusammen-tools/src/main/resources/zusammenMainTool.sh index 61388a1e09..025ecabaa8 100644 --- a/openecomp-be/tools/zusammen-tools/src/main/resources/zusammenMainTool.sh +++ b/openecomp-be/tools/zusammen-tools/src/main/resources/zusammenMainTool.sh @@ -23,5 +23,5 @@ else fi echo "Configuration file location: ${CONF_FILE_LOCATION}" -java -Dconfig.home=/opt/app/jetty/base/be/config -Dlog.home=/apps/jetty/base/be/logs -Dconfiguration.yaml=${CONF_FILE_LOCATION} -classpath openecomp-zusammen-tools-1.2.0-SNAPSHOT.jar:lib/* org.openecomp.core.tools.main.ZusammenMainTool $1 $2 $3 $4 $5 $6 +java -Dconfig.home=/opt/app/jetty/base/be/config -Dlog.home=/apps/jetty/base/be/logs -Dconfiguration.yaml=${CONF_FILE_LOCATION} -classpath lib/* org.openecomp.core.tools.main.ZusammenMainTool $1 $2 $3 $4 $5 $6 STATUS="${?}" echo "${STATUS}" |