Skip to content

Instantly share code, notes, and snippets.

@floverfelt
Created October 30, 2020 14:18
Show Gist options
  • Save floverfelt/6bef8942a9f34b6db54c7d4c2249a9ec to your computer and use it in GitHub Desktop.
Save floverfelt/6bef8942a9f34b6db54c7d4c2249a9ec to your computer and use it in GitHub Desktop.
<?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>
<artifactId>local-war-parent</artifactId>
<groupId>local.mstr.war</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<artifactId>local-war</artifactId>
<dependencies>
<dependency>
<groupId>mstr</groupId>
<artifactId>mstr-war</artifactId>
<version>${mstr.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>plugin1</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.1</version>
<executions>
<execution>
<id>exploded-war</id>
<phase>prepare-package</phase>
<goals>
<goal>exploded</goal>
</goals>
<configuration>
<overlays>
<overlay>
<groupId>${project.groupId}</groupId>
<artifactId>plugin1</artifactId>
<targetPath>plugins/plugin1</targetPath>
</overlay>
<overlay>
<!-- empty groupId/artifactId represents the current build -->
</overlay>
<overlay>
<groupId>mstr</groupId>
<artifactId>mstr-war</artifactId>
<targetPath>/</targetPath>
</overlay>
</overlays>
</configuration>
</execution>
<execution>
<id>default-war</id>
<phase>package</phase>
<goals>
<goal>war</goal>
</goals>
<configuration>
<!-- compress the exploded war to a final war -->
<warSourceDirectory>${project.build.directory}/${project.build.finalName}</warSourceDirectory>
<!-- don't overlay anything as the war is already complete -->
<dependentWarExcludes>**</dependentWarExcludes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.blutorange</groupId>
<artifactId>closure-compiler-maven-plugin</artifactId>
<version>2.19.0</version>
<executions>
<execution>
<id>minify-js</id>
<phase>prepare-package</phase>
<goals>
<goal>minify</goal>
</goals>
</execution>
</executions>
<configuration>
<baseSourceDir>${project.build.directory}/${project.build.finalName}</baseSourceDir>
<baseTargetDir>${project.build.directory}/${project.build.finalName}</baseTargetDir>
<sourceDir>plugins</sourceDir>
<targetDir>plugins</targetDir>
<outputFilename>#{path}/#{basename}.#{extension}</outputFilename>
<includes>**/*.js</includes>
<!-- exclude already minified files, plugins from MSTR -->
<excludes>**/*.min.js,D3WordCloud/**/*.js,GoogleTimeline/**/*.js,
KPIWidget/**/*.js,MobileBase/**/*.js,SequencesSunburst/**/*.js</excludes>
<skipMerge>true</skipMerge>
<allowReplacingInputFiles>true</allowReplacingInputFiles>
</configuration>
</plugin>
</plugins>
</build>
</project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment