Add enforcer for app-name setting, better structure of installer poms, ensure web app removal before installing

This commit is contained in:
Graham Triggs 2015-11-26 15:46:57 +00:00
parent d19c235d3b
commit bc7bf875e3
3 changed files with 95 additions and 6 deletions

View file

@ -89,5 +89,36 @@
</plugins> </plugins>
</build> </build>
</profile> </profile>
<profile>
<id>install</id>
<activation>
<property><name>vivo-dir</name></property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4.1</version>
<executions>
<execution>
<id>enforce-properties</id>
<phase>validate</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireProperty>
<property>app-name</property>
<message>You must provide an application name (app-name)</message>
</requireProperty>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles> </profiles>
</project> </project>

View file

@ -21,11 +21,12 @@
<profiles> <profiles>
<profile> <profile>
<id>install</id> <id>package</id>
<activation> <activation>
<property><name>vivo-dir</name></property> <property><name>app-name</name></property>
</activation> </activation>
<build> <build>
<finalName>${app-name}solr</finalName>
<plugins> <plugins>
<plugin> <plugin>
<artifactId>maven-war-plugin</artifactId> <artifactId>maven-war-plugin</artifactId>
@ -52,6 +53,34 @@
</webResources> </webResources>
</configuration> </configuration>
</plugin> </plugin>
</plugins>
</build>
</profile>
<profile>
<id>pinstall</id>
<activation>
<property><name>tomcat-dir</name></property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>remove-webapp</id>
<phase>verify</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<delete dir="${tomcat-dir}/webapps/${build.finalName}" />
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId> <artifactId>maven-dependency-plugin</artifactId>
@ -71,7 +100,7 @@
<version>${project.version}</version> <version>${project.version}</version>
<type>war</type> <type>war</type>
<overWrite>true</overWrite> <overWrite>true</overWrite>
<outputDirectory>${tomcat-dir}/webapps/${app-name}solr</outputDirectory> <outputDirectory>${tomcat-dir}/webapps/${build.finalName}</outputDirectory>
</artifactItem> </artifactItem>
</artifactItems> </artifactItems>
</configuration> </configuration>

View file

@ -21,11 +21,12 @@
<profiles> <profiles>
<profile> <profile>
<id>install</id> <id>package</id>
<activation> <activation>
<property><name>vivo-dir</name></property> <property><name>app-name</name></property>
</activation> </activation>
<build> <build>
<finalName>${app-name}</finalName>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
@ -53,6 +54,34 @@
</webResources> </webResources>
</configuration> </configuration>
</plugin> </plugin>
</plugins>
</build>
</profile>
<profile>
<id>pinstall</id>
<activation>
<property><name>tomcat-dir</name></property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>remove-webapp</id>
<phase>verify</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<delete dir="${tomcat-dir}/webapps/${build.finalName}" />
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId> <artifactId>maven-dependency-plugin</artifactId>
@ -72,7 +101,7 @@
<version>${project.version}</version> <version>${project.version}</version>
<type>war</type> <type>war</type>
<overWrite>true</overWrite> <overWrite>true</overWrite>
<outputDirectory>${tomcat-dir}/webapps/${app-name}</outputDirectory> <outputDirectory>${tomcat-dir}/webapps/${build.finalName}</outputDirectory>
</artifactItem> </artifactItem>
</artifactItems> </artifactItems>
</configuration> </configuration>