Skip to content
Snippets Groups Projects
pom.xml 9.35 KiB
Newer Older
  • Learn to ignore specific revisions
  • <?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">
        <modelVersion>4.0.0</modelVersion>
        
        <parent>
            <groupId>fr.amap.lidar.amapvox</groupId>
            <artifactId>amapvox-aggregator</artifactId>
    
        </parent>
        
        <artifactId>amapvox</artifactId>
        <packaging>jar</packaging>
        
        <properties>
            <mainClass>fr.amap.lidar.amapvox.Launcher</mainClass>
        </properties>
        
        <name>AMAPVox</name>
        
        <scm>
            <connection>scm:git:http://amap-dev.cirad.fr/git/amapvox.git</connection>
            <developerConnection>scm:git:http://amap-dev.cirad.fr/git/amapvox.git</developerConnection>
            <tag>HEAD</tag>
            <url>http://amap-dev.cirad.fr/projects/amapvox</url>
        </scm>
        
        <build>
            
            <finalName>
                ${project.name}-${project.version}
            </finalName>
            
            <plugins>
                
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                </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>
                                <overWriteReleases>false</overWriteReleases>
                                <overWriteSnapshots>false</overWriteSnapshots>
                                <overWriteIfNewer>true</overWriteIfNewer>
                                <excludeScope>system</excludeScope>
                                <excludeGroupIds>junit,org.mockito,org.hamcrest</excludeGroupIds>
                                <outputDirectory>${project.build.directory}/release/lib</outputDirectory>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.6</version>
                    <configuration>
                        <outputDirectory>${project.build.directory}/release/</outputDirectory>
                        <archive>
                            <manifest>
                                <addClasspath>true</addClasspath>
                                <classpathPrefix>lib/</classpathPrefix>
                                <mainClass>${mainClass}</mainClass>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            </manifest>
                        </archive>
                        <finalName>${project.name}-${project.version}</finalName>
                        <useDefaultManifestFile>false</useDefaultManifestFile>
                    </configuration>
                </plugin>
                
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>1.4.0</version>
                    <executions>
                        <execution>
                            <id>default-cli</id>
                            <goals>
                                <goal>exec</goal>                            
                            </goals>
                            <configuration>
                                <executable>${java.home}/bin/java</executable>
                                <commandlineArgs>-classpath "${project.build.directory}/lib" -jar "${project.build.directory}/release/${project.build.finalName}.jar"</commandlineArgs>
                            </configuration>
                        </execution>
                    </executions>  
                </plugin>
                
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.7</version>
                    <executions>
                        <execution>
                            <id>copy-launcher</id>
                            <phase>validate</phase>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>${basedir}/target/release/</outputDirectory>
                                <resources>          
                                    <resource>
                                        <directory>${basedir}/src/main/resources/launcher/</directory>
                                        <filtering>true</filtering>
                                        <includes>
                                            <include>AMAPVox.sh</include>
                                            <include>AMAPVox.bat</include>
                                        </includes>
                                    </resource>
                                    <resource>       
                                        <directory>../</directory>
                                        <filtering>false</filtering>
                                        <includes>
                                            <include>AMAPVox.readme</include>
                                        </includes>
                                    </resource>
                                </resources>              
                            </configuration>            
                        </execution>
                    </executions>
                </plugin>
                
                <plugin>
                    <groupId>com.google.code.maven-replacer-plugin</groupId>
                    <artifactId>replacer</artifactId>
                    <version>1.5.3</version>
                    <executions>
                        <execution>
                            <id>replace-buildNumber</id>
                            <phase>package</phase>
                            <goals>
                                <goal>replace</goal>
                            </goals>
                            <configuration>
                                <token>$BUILD_NUMBER</token>
                                <value>${buildNumber}</value>
                            </configuration>        
                        </execution>
                        <execution>
                            <id>replace-version</id>
                            <phase>package</phase>
                            <goals>
                                <goal>replace</goal>
                            </goals>
                            <configuration>
                                <token>$VERSION</token>
                                <value>${project.version}</value>
                            </configuration>        
                        </execution>
                    </executions>
                    <configuration>
                        <basedir>${basedir}/target/release/</basedir>
                        <includes>
                            <include>AMAPVox.sh</include>
                            <include>AMAPVox.bat</include>
                            <include>AMAPVox.readme</include>
                        </includes>
                        <regex>false</regex>
                        <outputDir>/</outputDir>
                    </configuration>
                </plugin>
                
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>buildnumber-maven-plugin</artifactId>
                    <version>1.4</version>
                    <executions>
                        <execution>
                            <phase>validate</phase>
                            <goals>
                                <goal>create</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <shortRevisionLength>8</shortRevisionLength>
                    </configuration>
                </plugin>
              
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.6</version>
                    <configuration>
                        <descriptor>zip.xml</descriptor>
                        <finalName>${project.name}-${project.version}</finalName>
                        <appendAssemblyId>false</appendAssemblyId>
                        <outputDirectory>../target</outputDirectory>
                    </configuration>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                
            </plugins>
        </build>
        
        <dependencies>
            <dependency>
                <groupId>fr.amap.commons</groupId>
                <artifactId>commons-javafx</artifactId>
            </dependency>
            <dependency>
                <groupId>fr.amap.lidar.amapvox</groupId>
                <artifactId>amapvox-gui</artifactId>
            </dependency>
        </dependencies>
        
    </project>