blob: db3def452d71dd2c30ee10422ab9be7ca83819ea [file] [log] [blame]
<?xml version="1.0"?>
<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>
<parent>
<groupId>org.netbeans.maven</groupId>
<artifactId>utilities-parent</artifactId>
<version>1-SNAPSHOT</version>
</parent>
<artifactId>nbm-maven-harness</artifactId>
<version>9.0-SNAPSHOT</version>
<name>Apache NetBeans Maven Utilities - NBM Harness for Maven</name>
<url>http://bits.netbeans.org/mavenutilities/nbm-maven-harness</url>
<issueManagement>
<system>jira</system>
<url>https://issues.apache.org/jira/browse/NETBEANS</url>
</issueManagement>
<licenses>
<license>
<name>Apache License 2</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</connection>
<developerConnection>scm:git:gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</developerConnection>
<url>https://github.com/apache/incubator-netbeans-mavenutils</url>
</scm>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>generate-resources</phase>
<id>unpack-harness</id>
<goals>
<goal>get</goal>
</goals>
<configuration>
<artifact>org.netbeans.modules:org-netbeans-modules-apisupport-harness:${netbeans.version}:nbm</artifact>
<transitive>false</transitive>
<remoteRepositories>${netbeans.repo}</remoteRepositories>
<destination>${project.build.directory}/harness.nbm</destination>
</configuration>
</execution>
<execution>
<phase>generate-resources</phase>
<id>unpack-installer</id>
<goals>
<goal>get</goal>
</goals>
<configuration>
<artifact>org.netbeans.modules:org-netbeans-libs-nbi-ant:${netbeans.version}:nbm</artifact>
<transitive>false</transitive>
<remoteRepositories>${netbeans.repo}</remoteRepositories>
<destination>${project.build.directory}/nbi-ant.nbm</destination>
</configuration>
</execution>
<execution>
<phase>generate-resources</phase>
<id>unpack-installer-engine</id>
<goals>
<goal>get</goal>
</goals>
<configuration>
<artifact>org.netbeans.modules:org-netbeans-libs-nbi-engine:${netbeans.version}:nbm</artifact>
<transitive>false</transitive>
<remoteRepositories>${netbeans.repo}</remoteRepositories>
<destination>${project.build.directory}/nbi-engine.nbm</destination>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<unzip src="${project.build.directory}/harness.nbm" dest="${project.build.directory}/classes">
<patternset>
<include name="netbeans/etc/app.conf" />
<include name="netbeans/etc/applicationIcon.icns*" />
<include name="netbeans/launchers/app*" />
</patternset>
<mapper type="glob" from="netbeans/*" to="harness/*" />
</unzip>
<unzip src="${project.build.directory}/harness.nbm" dest="${project.build.directory}">
<patternset>
<include name="netbeans/tasks.jar.pack.gz" />
<include name="netbeans/jnlp/jnlp-launcher.jar.pack.gz" />
</patternset>
<flattenmapper />
</unzip>
<exec executable="unpack200" failonerror="true">
<arg file="${project.build.directory}/tasks.jar.pack.gz" />
<arg file="${project.build.directory}/tasks.jar" />
</exec>
<mkdir dir="${project.build.directory}/classes/harness/jnlp" />
<exec executable="unpack200" failonerror="true">
<arg file="${project.build.directory}/jnlp-launcher.jar.pack.gz" />
<arg file="${project.build.directory}/classes/harness/jnlp/jnlp-launcher.jar" />
</exec>
<unzip src="${project.build.directory}/tasks.jar" dest="${project.build.directory}/classes" />
<unzip src="${project.build.directory}/nbi-ant.nbm" dest="${project.build.directory}/classes">
<patternset>
<include name="netbeans/modules/" />
<include name="netbeans/nbi/" />
</patternset>
<mapper type="glob" from="netbeans/*" to="harness/*" />
</unzip>
<unzip src="${project.build.directory}/nbi-engine.nbm" dest="${project.build.directory}/classes">
<patternset>
<include name="netbeans/modules/" />
</patternset>
<mapper type="glob" from="netbeans/*" to="harness/*" />
</unzip>
<exec executable="unpack200" failonerror="true">
<arg file="${project.build.directory}/classes/harness/modules/org-netbeans-libs-nbi-ant.jar.pack.gz" />
<arg file="${project.build.directory}/classes/harness/modules/org-netbeans-libs-nbi-ant.jar" />
</exec>
<exec executable="unpack200" failonerror="true">
<arg file="${project.build.directory}/classes/harness/modules/org-netbeans-libs-nbi-engine.jar.pack.gz" />
<arg file="${project.build.directory}/classes/harness/modules/org-netbeans-libs-nbi-engine.jar" />
</exec>
<exec executable="unpack200" failonerror="true">
<arg file="${project.build.directory}/classes/harness/modules/ext/nbi-engine.jar.pack.gz" />
<arg file="${project.build.directory}/classes/harness/modules/ext/nbi-engine.jar" />
</exec>
<exec executable="unpack200" failonerror="true">
<arg file="${project.build.directory}/classes/harness/modules/ext/nbi-registries-management.jar.pack.gz" />
<arg file="${project.build.directory}/classes/harness/modules/ext/nbi-registries-management.jar" />
</exec>
<exec executable="unpack200" failonerror="true">
<arg file="${project.build.directory}/classes/harness/modules/ext/nbi-ant-tasks.jar.pack.gz" />
<arg file="${project.build.directory}/classes/harness/modules/ext/nbi-ant-tasks.jar" />
</exec>
<delete>
<fileset dir="${project.build.directory}/classes/harness/modules" includes="**/*.pack.gz" />
</delete>
<!-- patch product.xml - unable to delete temp files after build finishes -->
<replace file="${project.build.directory}/classes/harness/nbi/.common/product.xml">
<replacetoken expandProperties="false"><![CDATA[<delete dir="${current.temp.dir}>"]]></replacetoken>
<replacevalue expandProperties="false"><![CDATA[<delete dir="${current.temp.dir}" deleteonexit="true">]]></replacevalue>
</replace>
<!-- patch replace exec with ant task in common.xml -->
<replaceregexp file="${project.build.directory}/classes/harness/nbi/.common/common.xml" match="exec executable=.{3}ant.executable(.+?)/exec" replace="@EXEC@" flags="s" />
<replace file="${project.build.directory}/classes/harness/nbi/.common/common.xml" failOnNoReplacements="true">
<replacetoken expandProperties="false">@EXEC@</replacetoken>
<replacevalue expandProperties="false"><![CDATA[ant inheritrefs="false"
dir="${cvs.dir}/${nbproject.path}">
<target name="clean" />
<property name="ignore.native" value="true" />
<property name="no.dependencies" value="true" />
<property name="dont.build.custom.tasks" value="true" />
<property name="custom.tasks.cls" value="${custom.tasks.cls}" />
</ant]]></replacevalue>
</replace>
<replaceregexp file="${project.build.directory}/classes/harness/nbi/.common/common.xml" match="exec executable=.{3}ant.executable(.+?)/exec" replace="@EXEC@" flags="s" />
<replace file="${project.build.directory}/classes/harness/nbi/.common/common.xml" failOnNoReplacements="true">
<replacetoken expandProperties="false">@EXEC@</replacetoken>
<replacevalue expandProperties="false"><![CDATA[condition property="nb.jdk.home.value"
value="${@java.home@}/.."
else="${@java.home@}">
<not>
<equals arg1="Apple Inc." arg2="${java.vendor}" />
</not>
</condition>
<condition property="custom.parameter.name" value="reference.NBI_Engine.jar">
<contains string="${nb.custom.parameter}" substring="reference.NBI_Engine.jar" />
</condition>
<condition property="custom.parameter.value" value="${core.engine.dist.file}">
<contains string="${nb.custom.parameter}" substring="reference.NBI_Engine.jar" />
</condition>
<condition property="custom.parameter.name" value="javac.classpath">
<contains string="${nb.custom.parameter}" substring="javac.classpath" />
</condition>
<condition property="custom.parameter.value" value="${engine.dist.file}">
<contains string="${nb.custom.parameter}" substring="javac.classpath" />
</condition>
<echoproperties />
<ant inheritRefs="false" dir="${cvs.dir}/${nbproject.path}" >
<target name="clean" />
<target name="compile" />
<property name="platforms.JDK_1.5.home" value="${nb.jdk.home.value}" />
<property name="ignore.native" value="true" />
<property name="no.dependencies" value="true" />
<property name="dont.build.custom.tasks" value="true" />
<property name="custom.tasks.cls" value="${custom.tasks.cls}" />
<property name="${custom.parameter.name}" value="${custom.parameter.value}" />
</ant]]></replacevalue>
</replace>
<replace file="${project.build.directory}/classes/harness/nbi/.common/common.xml" failOnNoReplacements="true" token="@java.home@" value="java.home" />
</target>
</configuration>
</execution>
</executions>
</plugin>
<!-- No real effect on the build, but prevents NB IDE from thinking src/main/java should be considered in preference to the JAR: -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<reportSets>
<reportSet>
<reports>
<report>plugins</report>
<!-- <report>cim</report> -->
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.12</version>
<configuration>
<excludes>
<exclude>**/*.mf</exclude>
<exclude>**/*.MF</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</reporting>
<properties>
<!-- XXX SHOULD BE RELEASE 9.0 and superior artefacts changes to Apache Licence
<netbeans.repo>netbeans::default::http://bits.netbeans.org/nexus/content/groups/netbeans/</netbeans.repo>
<netbeans.version>RELEASE82</netbeans.version>-->
</properties>
</project>