<?xml version="1.0" encoding="UTF-8"?>

<!--
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 //
 // © 2011-2022 Telenav, Inc.
 // Licensed under Apache License, Version 2.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>com.telenav.mesakit</groupId>
        <artifactId>mesakit-extensions-parent</artifactId>
        <version>0.10.0</version>
        <relativePath>../../pom.xml</relativePath>
    </parent>

    <artifactId>mesakit-tools-application-launcher</artifactId>

    <dependencies>
        
        <!-- Conversions -->
        
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-tools-applications-pbf-to-graph-converter</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-tools-applications-pbf-world-graph-extractor</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-tools-applications-graph-to-pbf-converter</artifactId>
            <version>${project.version}</version>
        </dependency>
        
        <!-- Graph Tools -->
        
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-tools-applications-graph-analyzer</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-tools-applications-graph-double-digitized-ways-extractor</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-tools-applications-graph-dumper</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-tools-applications-graph-slicer</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-tools-applications-graph-verifier</artifactId>
            <version>${project.version}</version>
        </dependency>
        
        <!-- PBF Applications -->
        
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-tools-applications-pbf-analyzer</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-tools-applications-pbf-dumper</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-tools-applications-pbf-metadata</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-tools-applications-pbf-region-extractor</artifactId>
            <version>${project.version}</version>
        </dependency>
        
        <!-- Other Tools -->
        
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-tools-applications-codec-generator</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-tools-applications-region-information</artifactId>
            <version>${project.version}</version>
        </dependency>
        
    </dependencies>
    
    <profiles>
        
        <profile>
            <id>tools</id>
            <build>
                <plugins>
                    
                    <plugin>
                        
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-shade-plugin</artifactId>
                        <version>${maven.shade.plugin.version}</version>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>shade</goal>
                                </goals>
                                
                                <configuration>
                                    
                                    <finalName>mesakit-tools-${project.version}</finalName>
                                    <minimizeJar>false</minimizeJar>
                                    <transformers>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                            <mainClass>com.telenav.mesakit.tools.application.launcher.ApplicationLauncher</mainClass>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                                    </transformers>
                                    <filters>
                                        <filter>
                                            <artifact>*:*</artifact>
                                            <excludes>
                                                
                                                <exclude>module-info.class</exclude>
                                                <exclude>license.txt</exclude>
                                                <exclude>log4j.properties</exclude>
                                                <exclude>META-INF/maven/**</exclude>
                                                <exclude>META-INF/MANIFEST.MF</exclude>
                                                <exclude>META-INF/licenses*/**</exclude>
                                                <exclude>META-INF/license.txt</exclude>
                                                <exclude>META-INF/notice.txt</exclude>
                                                <exclude>META-INF/LICENSE*</exclude>
                                                <exclude>META-INF/NOTICE*</exclude>
                                                <exclude>META-INF/*.SF</exclude>
                                                <exclude>META-INF/*.DSA</exclude>
                                                <exclude>META-INF/*.RSA</exclude>
                                                
                                            </excludes>
                                        </filter>
                                    </filters>
                                    <artifactSet>
                                        <includes>
                                            <include>*:*</include>
                                        </includes>
                                    </artifactSet>
                                    
                                </configuration>
                                
                            </execution>
                        </executions>
                        
                    </plugin>
                    
                </plugins>
                
            </build>
        </profile>
        
    </profiles>
    
</project>
