<?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"> <parent> <groupId>io.fd.honeycomb.common</groupId> <artifactId>minimal-distribution-parent</artifactId> <version>1.17.07</version> </parent> <modelVersion>4.0.0</modelVersion> <groupId>org.onap.demo.vnf.vlb</groupId> <artifactId>vlb-vnf-onap-distribution</artifactId> <version>1.2.0</version> <properties> <nexusproxy>http://nexus.fd.io/content</nexusproxy> <start.script.template> #!/bin/sh - %s </start.script.template> <exec.parameters>-Xms128m -Xmx128m</exec.parameters> <main.class>io.fd.honeycomb.infra.distro.Main</main.class> <interfaces.mapping.version>1.17.07</interfaces.mapping.version> <honeycomb.min.distro.version>1.17.07</honeycomb.min.distro.version> <!-- Defines list of specific modules provided by the distribution (adds them to base modules like NetconfModule and RestconfModule). Module configuration is placed in 'modules' subdir of the target distro folder. Modules can be disabled by commenting them out in the pom.xml or modules configuration file. --> <distribution.modules> org.onap.vnf.vlb.Module org.onap.vnf.health.Module </distribution.modules> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <!-- Use google's error-prone static analysis--> <compilerId>javac-with-errorprone</compilerId> <forceJavacCompilerUse>true</forceJavacCompilerUse> <showWarnings>true</showWarnings> <source>1.8</source> <target>1.8</target> </configuration> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-compiler-javac-errorprone</artifactId> <version>2.5</version> </dependency> <!-- override plexus-compiler-javac-errorprone's dependency on Error Prone with the latest version --> <dependency> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_core</artifactId> <version>2.0.9</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>${main.class}</mainClass> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <useUniqueVersions>false</useUniqueVersions> <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout> </manifest> <manifestEntries> <Class-Path>config/ cert/ modules/ yang-mapping/</Class-Path> </manifestEntries> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> <useBaseVersion>true</useBaseVersion> <useRepositoryLayout>true</useRepositoryLayout> <excludeArtifactIds>yang-jmx-generator</excludeArtifactIds> </configuration> </execution> <execution> <id>unpack-configuration</id> <phase>prepare-package</phase> <goals> <goal>unpack-dependencies</goal> </goals> <configuration> <includes>**/honeycomb-minimal-resources/</includes> <outputDirectory>${project.build.outputDirectory}/</outputDirectory> </configuration> </execution> </executions> </plugin> <!-- Generate shell script --> <plugin> <groupId>org.codehaus.gmaven</groupId> <artifactId>groovy-maven-plugin</artifactId> <version>2.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>execute</goal> </goals> <configuration> <source> import java.nio.file.Paths log.info "Generating shell exec script" def scriptTemplate = properties.getOrDefault("start.script.template", "") def args = properties.getOrDefault("exec.parameters", "") log.debug "Additional shell exec script properties: ${args}" def javaArgs = "${args} -jar \$(dirname \$0)/${project.artifactId}-${project.version}.jar" def scriptParent = Paths.get(project.build.outputDirectory, "honeycomb-minimal-resources") scriptParent.toFile().mkdirs() def scriptContent = "java " + javaArgs log.info "Generating shell exec script as ${scriptContent}" def scriptPath = Paths.get(scriptParent.toString(), "honeycomb") log.info "Writing shell exec script to ${scriptPath}" scriptPath.toFile().text = String.format(scriptTemplate, scriptContent) scriptPath.toFile().setExecutable(true) scriptPath = Paths.get(scriptParent.toString(), "honeycomb-start") log.info "Writing shell exec script to ${scriptPath}" scriptPath.toFile().text = "\$(dirname \$0)/honeycomb &" scriptPath.toFile().setExecutable(true) def debug_args = properties.getOrDefault("debug.parameters", "") def debugScriptContent = "java" + " ${debug_args} " + javaArgs log.info "Generating shell debug script as ${debugScriptContent}" scriptPath = Paths.get(scriptParent.toString(), "honeycomb-debug") log.info "Writing shell debug script to ${scriptPath}" scriptPath.toFile().text = String.format(scriptTemplate, debugScriptContent) scriptPath.toFile().setExecutable(true) </source> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <dependencies> <dependency> <groupId>io.fd.honeycomb.common</groupId> <artifactId>minimal-assembly-descriptor</artifactId> <version>1.17.07</version> </dependency> </dependencies> <executions> <execution> <id>create-archive</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <descriptorRefs> <descriptorRef>honeycomb-minimal</descriptorRef> </descriptorRefs> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <configuration> <skip>false</skip> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <configuration> <skip>false</skip> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <executions> <execution> <phase>none</phase> </execution> </executions> <configuration> <skip>true</skip> </configuration> </plugin> <plugin> <artifactId>maven-checkstyle-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> </build> <dependencies> <!-- Dependency on sample plugin --> <dependency> <groupId>org.onap.demo.vnf.vlb</groupId> <artifactId>vlb-business-vnf-onap-plugin-impl</artifactId> <version>${interfaces.mapping.version}</version> </dependency> <dependency> <groupId>org.onap.demo.vnf.health</groupId> <artifactId>health-vnf-onap-plugin-impl</artifactId> <version>${interfaces.mapping.version}</version> </dependency> <!-- Dependency on distribution base --> <dependency> <groupId>io.fd.honeycomb</groupId> <artifactId>minimal-distribution</artifactId> <version>${honeycomb.min.distro.version}</version> </dependency> </dependencies> </project>