blob: 3bf7ea9ad0af71d61f574ae210464d0e0f19beba [file] [log] [blame]
<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/maven-v4_0_0.xsd">
<!-- the version of maven's project object model -->
<modelVersion>4.0.0</modelVersion>
<!-- Parent POM -->
<parent>
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<!-- a unique name for this project -->
<artifactId>nexus-webapp</artifactId>
<!--we don't need this to be a jar except that the app assembler crashes if it's not-->
<packaging>jar</packaging>
<!-- a short but descriptive name for the project -->
<name>Nexus (Web Application frontend)</name>
<properties>
<!-- NOTE: MNG-3355 will fix this so we can use ${project.build.directory} instead of the hard-coded target directory. -->
<jsw-input>target/jsw-template</jsw-input>
<jsw-output>jsw-filtered</jsw-output>
<nexus-tools-input>target/nexus-tools</nexus-tools-input>
</properties>
<dependencies>
<dependency>
<groupId>org.sonatype.appbooter.plexus-platforms</groupId>
<artifactId>plexus-platform-jsw</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-jsecurity</artifactId>
</dependency>
<dependency>
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-rest-api</artifactId>
</dependency>
<dependency>
<groupId>org.sonatype.nexus.tools</groupId>
<artifactId>nexus-migration-app</artifactId>
<version>${project.version}</version>
<classifier>cli</classifier>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.sonatype.jsw-binaries</groupId>
<artifactId>jsw-binaries</artifactId>
<type>zip</type>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<filters>
<filter>src/main/filters/assemble.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/filtered-resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/bundle</directory>
<filtering>false</filtering>
<targetPath>../plexus-home</targetPath>
</resource>
<resource>
<directory>${jsw-input}</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/*.so</exclude>
<exclude>**/*.dll</exclude>
<exclude>**/*.jnilib</exclude>
<exclude>**/*.exe</exclude>
<exclude>**/*.a</exclude>
<exclude>**/*.sl</exclude>
<exclude>**/wrapper</exclude>
</excludes>
<targetPath>../${jsw-output}</targetPath>
</resource>
<resource>
<directory>${jsw-input}</directory>
<filtering>false</filtering>
<includes>
<include>**/*.so</include>
<include>**/*.dll</include>
<include>**/*.jnilib</include>
<include>**/*.exe</include>
<include>**/*.a</include>
<include>**/*.sl</include>
<include>**/wrapper</include>
</includes>
<targetPath>../${jsw-output}</targetPath>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<id>unpack-jsw</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<includeArtifactIds>jsw-binaries</includeArtifactIds>
<outputDirectory>${jsw-input}</outputDirectory>
</configuration>
</execution>
<execution>
<id>unpack-nexus-tools</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<includeArtifactIds>nexus-migration-app</includeArtifactIds>
<outputDirectory>${nexus-tools-input}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<configuration>
<tasks>
<property name="targetRoot" value="${basedir}/target/gzip-web-content"/>
<property name="sourceRoot" value="${basedir}/src/main/webapp"/>
<mkdir dir="${targetRoot}/ext-2.0.2/resources/css"/>
<mkdir dir="${targetRoot}/style"/>
<mkdir dir="${targetRoot}/ext-2.0.2/adapter/ext"/>
<mkdir dir="${targetRoot}/js/filetree/js"/>
<mkdir dir="${targetRoot}/js/extensions"/>
<mkdir dir="${targetRoot}/js/repoServer"/>
<gzip src="${sourceRoot}/ext-2.0.2/resources/css/ext-all.css" destfile="${targetRoot}/ext-2.0.2/resources/css/ext-all.css.gz"/>
<gzip src="${sourceRoot}/ext-2.0.2/resources/css/xtheme-gray.css" destfile="${targetRoot}/ext-2.0.2/resources/css/xtheme-gray.css.gz"/>
<gzip src="${sourceRoot}/style/Sonatype.css" destfile="${targetRoot}/style/Sonatype.css.gz"/>
<gzip src="${sourceRoot}/ext-2.0.2/adapter/ext/ext-base-debug-sonatype.js" destfile="${targetRoot}/ext-2.0.2/adapter/ext/ext-base-debug-sonatype.js.gz"/>
<gzip src="${sourceRoot}/ext-2.0.2/ext-all-debug-sonatype.js" destfile="${targetRoot}/ext-2.0.2/ext-all-debug-sonatype.js.gz"/>
<gzip src="${sourceRoot}/js/filetree/js/Ext.ux.form.BrowseButton.js" destfile="${targetRoot}/js/filetree/js/Ext.ux.form.BrowseButton.js.gz"/>
<gzip src="${sourceRoot}/js/Sonatype.js" destfile="${targetRoot}/js/Sonatype.js.gz"/>
<gzip src="${sourceRoot}/js/extensions/Ext.messagebox.js" destfile="${targetRoot}/js/extensions/Ext.messagebox.js.gz"/>
<gzip src="${sourceRoot}/js/extensions/Ext.form.js" destfile="${targetRoot}/js/extensions/Ext.form.js.gz"/>
<gzip src="${sourceRoot}/js/extensions/SearchField.js" destfile="${targetRoot}/js/extensions/SearchField.js.gz"/>
<gzip src="${sourceRoot}/js/extensions/Sonatype.ext.FeedGrid.js" destfile="${targetRoot}/js/extensions/Sonatype.ext.FeedGrid.js.gz"/>
<gzip src="${sourceRoot}/js/extensions/Ext.tree.js" destfile="${targetRoot}/js/extensions/Ext.tree.js.gz"/>
<gzip src="${sourceRoot}/js/extensions/TwinPanelController.js" destfile="${targetRoot}/js/extensions/TwinPanelController.js.gz"/>
<gzip src="${sourceRoot}/js/Sonatype.utils.js" destfile="${targetRoot}/js/Sonatype.utils.js.gz"/>
<gzip src="${sourceRoot}/js/Sonatype.config.js" destfile="${targetRoot}/js/Sonatype.config.js.gz"/>
<gzip src="${sourceRoot}/js/Sonatype.lib.js" destfile="${targetRoot}/js/Sonatype.lib.js.gz"/>
<gzip src="${sourceRoot}/js/Sonatype.resources.js" destfile="${targetRoot}/js/Sonatype.resources.js.gz"/>
<gzip src="${sourceRoot}/js/Sonatype.view.js" destfile="${targetRoot}/js/Sonatype.view.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.referenceData.js" destfile="${targetRoot}/js/repoServer/repoServer.referenceData.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.resources.js" destfile="${targetRoot}/js/repoServer/repoServer.resources.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.FeedViewPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.FeedViewPanel.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.SearchResultGrid.js" destfile="${targetRoot}/js/repoServer/repoServer.SearchResultGrid.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.SearchPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.SearchPanel.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.LogsViewPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.LogsViewPanel.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.ServerEditPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.ServerEditPanel.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.GroupsEditPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.GroupsEditPanel.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.RoutesEditPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.RoutesEditPanel.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.SchedulesEditPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.SchedulesEditPanel.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.UserEditPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.UserEditPanel.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.RoleEditPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.RoleEditPanel.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.PrivilegeEditPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.PrivilegeEditPanel.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.AbstractRepoPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.AbstractRepoPanel.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.RepoEditPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.RepoEditPanel.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.FileUploadPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.FileUploadPanel.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.RepoMaintPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.RepoMaintPanel.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.RepoServer.js" destfile="${targetRoot}/js/repoServer/repoServer.RepoServer.js.gz"/>
<gzip src="${sourceRoot}/js/repoServer/repoServer.RepoTargetEditPanel.js" destfile="${targetRoot}/js/repoServer/repoServer.RepoTargetEditPanel.js.gz"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptors>
<descriptor>src/main/assembly/bundle.xml</descriptor>
<!--base changed...no updates for this version-->
<!--<descriptor>src/main/assembly/base.xml</descriptor>
<descriptor>src/main/assembly/app.xml</descriptor>-->
</descriptors>
<tarLongFileMode>gnu</tarLongFileMode>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>plx-maven-plugin</artifactId>
<configuration>
<includeTestClasspath>true</includeTestClasspath>
<!-- prependClasspaths>
<prependClasspath>${project.build.directory}/plexus-home/conf</prependClasspath>
</prependClasspaths-->
<systemProperties>
<plexus.host.control.socket.enabled>true</plexus.host.control.socket.enabled>
</systemProperties>
<platformArtifact>
<groupId>org.sonatype.appbooter.plexus-platforms</groupId>
<artifactId>plexus-platform-base</artifactId>
<version>${plexus.appbooter.version}</version>
</platformArtifact>
<debugOutput>true</debugOutput>
</configuration>
</plugin>
</plugins>
</build>
</project>