<?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.15.0</version>
        <relativePath>../../../pom.xml</relativePath>
    </parent>

    <artifactId>mesakit-plugins-josm-graph</artifactId>

    <dependencies>

        <!-- Mapping -->

        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-plugins-josm-library</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>mesakit-graph-query</artifactId>
            <version>${project.version}</version>
        </dependency>

    </dependencies>

    <profiles>
        <profile>
            <id>tools</id>
            <build>

                <resources>
                    <resource>
                        <directory>src/main/resources</directory>
                        <filtering>true</filtering>
                        <includes>
                            <include>**/GraphPluginVersion.txt</include>
                        </includes>
                    </resource>
                    <resource>
                        <directory>src/main/resources</directory>
                        <filtering>false</filtering>
                        <includes>
                            <include>**/*.png</include>
                        </includes>
                    </resource>
                </resources>

                <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>${project.artifactId}-${project.parent.version}</finalName>
                                    <minimizeJar>true</minimizeJar>
                                    <createDependencyReducedPom>false</createDependencyReducedPom>
                                    <artifactSet>
                                        <includes>
                                            <include>*:*</include>
                                        </includes>
                                        <excludes>
                                            <exclude>org.openstreetmap.josm:josm</exclude>
                                        </excludes>
                                    </artifactSet>
                                    <transformers>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                            <manifestEntries>

                                                <Implementation-Vendor>
                                                    Telenav Inc.
                                                </Implementation-Vendor>
                                                <Implementation-Title>${project.artifactId}</Implementation-Title>
                                                <Release-Version>${project.version}</Release-Version>
                                                <Built-By>${user.name}</Built-By>

                                                <!-- Make javadoc happy -->
                                                <Automatic-Module-Name>mesakit.plugins.josm.graph</Automatic-Module-Name>

                                                <!-- For JOSM -->

                                                <Plugin-Class>com.telenav.mesakit.plugins.josm.graph.GraphPlugin</Plugin-Class>
                                                <Plugin-Date>${maven.build.timestamp}</Plugin-Date>
                                                <Plugin-Description>
                                                    Enables viewing of Telenav
                                                    MesaKit graph files
                                                </Plugin-Description>
                                                <Plugin-Mainversion>${mapping.josm.version}</Plugin-Mainversion>
                                                <Plugin-Version>${project.version}</Plugin-Version>
                                                <Plugin-Icon>images/graph.png</Plugin-Icon>
                                                <Plugin-Link>https://spaces.telenav.com:8443/display/TT/MesaKit+Team+Home</Plugin-Link>

                                            </manifestEntries>
                                        </transformer>
                                    </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*</exclude>
                                                <exclude>META-INF/NOTICE*</exclude>
                                                <exclude>META-INF/*.SF</exclude>
                                                <exclude>META-INF/*.DSA</exclude>
                                                <exclude>META-INF/*.RSA</exclude>
                                            </excludes>
                                        </filter>
                                    </filters>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <version>${maven.antrun.plugin.version}</version>
                        <executions>
                            <execution>
                                <id>copy</id>
                                <phase>package</phase>
                                <configuration>
                                    <target name="Install MesaKit Graph Plugin">
                                        <copy file="target/mesakit-plugins-josm-graph-${project.version}.jar" tofile="${env.HOME}/Library/JOSM/plugins/telenav-graph.jar"/>
                                    </target>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>

                </plugins>

            </build>
        </profile>
    </profiles>

</project>
