<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.github.chewiebug</groupId>
    <artifactId>gcviewer</artifactId>
    <version>1.36</version>
    <packaging>jar</packaging>
    <name>GCViewer</name>
    <description>GCViewer is a little tool that visualizes verbose GC output generated by Sun / Oracle, IBM, HP and BEA Java Virtual Machines. It is free software released under GNU LGPL.</description>
    <url>http://github.com/chewiebug/GCViewer/wiki</url>

    <developers>
        <developer>
            <name>Hendrik Schreiber</name>
            <email>hs@tagtraum.com</email>
            <url>http://www.tagtraum.com/</url>
            <organization>tagtraum industries incorporated</organization>
            <organizationUrl>http://www.tagtraum.com/</organizationUrl>
        </developer>
        <developer>
            <name>Jörg Wüthrich</name>
            <email>gcviewer@gmx.ch</email>
            <url>http://github.com/chewiebug</url>
        </developer>
        <developer>
            <name>Hans Bausewein</name>
            <url>https://github.com/hbswn</url>
        </developer>
        <developer>
            <name>Peter Bilstein</name>
        </developer>
        <developer>
            <name>Steve Boardwell</name>
            <url>https://github.com/lostinberlin</url>
        </developer>
        <developer>
            <name>Krzysztof Burek</name>
            <url>https://github.com/krzysztofburek</url>
        </developer>
        <developer>
            <name>Cka3o4Huk</name>
        </developer>
        <developer>
            <name>Frank Dietrich</name>
            <url>https://github.com/SubOptimal</url>
        </developer>
        <developer>
            <name>Bernd Eckenfels</name>
        </developer>
        <developer>
            <name>Ryan Gardner</name>
        </developer>
        <developer>
            <name>Martin Geldmacher</name>
            <url>https://github.com/geld0r</url>
        </developer>
        <developer>
            <name>Neil Gentleman</name>
        </developer>
        <developer>
            <name>Chris Grindstaff</name>
            <url>https://github.com/cgrinds</url>
        </developer>
        <developer>
            <name>Michi Gysel</name>
        </developer>
        <developer>
            <name>Roland Illig</name>
            <url>https://github.com/rillig</url>
        </developer>
        <developer>
            <name>Mary Sunitha Joseph</name>
            <url>https://github.com/Marysunithajoseph</url>
        </developer>
        <developer>
            <name>Johan Kaving</name>
        </developer>
        <developer>
            <name>Maciej Kwiecien</name>
            <url>https://github.com/xylu</url>
        </developer>
        <developer>
            <name>Dennis Lawler</name>
            <url>https://github.com/drawlerr</url>
        </developer>
        <developer>
            <name>Yanqi Li</name>
            <url>https://github.com/yanqilee</url>
        </developer>
        <developer>
            <name>Henry Lin</name>
            <url>https://github.com/henray</url>
        </developer>
        <developer>
            <name>James Livingston</name>
            <url>https://github.com/doctau</url>
        </developer>
        <developer>
            <name>Mart Mägi</name>
            <url>https://github.com/ophillan</url>
        </developer>
        <developer>
            <name>Tony Mancill</name>
            <url>https://github.com/tmancill</url>
        </developer>
        <developer>
            <name>Auston McReynolds</name>
            <url>https://github.com/amcrn</url>
        </developer>
        <developer>
            <name>Samuel Mendenhall</name>
            <url>http://engineersamuel.github.io/dbits/</url>
        </developer>
        <developer>
            <name>Carl Meyer</name>
        </developer>
        <developer>
            <name>Ondrej Mihályi</name>
            <url>https://github.com/OndrejM</url>
        </developer>
        <developer>
            <name>Reinhard Nägele</name>
        </developer>
        <developer>
            <name>Robert Nibali</name>
            <url>https://github.com/moreaki</url>
        </developer>
        <developer>
            <name>Àngel Ollé Blázquez</name>
            <url>https://github.com/aolle</url>
        </developer>
        <developer>
            <name>Thomas Peyrard</name>
            <url>https://github.com/tpeyrard</url>
        </developer>
        <developer>
            <name>Rupesh Ramachandran</name>
        </developer>
        <developer>
            <name>Fred Rolland</name>
            <url>https://github.com/rollandf</url>
        </developer>
        <developer>
            <name>Sandro Rossi</name>
            <url>https://github.com/rossisandro</url>
        </developer>
        <developer>
            <name>Heiko W. Rupp</name>
            <url>https://github.com/pilhuhn</url>
        </developer>
        <developer>
            <name>Stephan Schroevers</name>
        </developer>
        <developer>
            <name>François Secherre</name>
        </developer>
        <developer>
            <name>Serafín Sedano</name>
        </developer>
        <developer>
            <name>Jugal Shah</name>
            <url>https://github.com/jugalps</url>
        </developer>
        <developer>
            <name>Andrey Skripalschikov</name>
        </developer>
        <developer>
            <name>Kamil Szymanski</name>
            <url>https://github.com/kamilszymanski</url>
        </developer>
        <developer>
            <name>Pierre Viret</name>
            <url>https://github.com/pierre-viret</url>
        </developer>
        <developer>
            <name>Yin Xunjun</name>
        </developer>
        <developer>
            <name>Eugene Zimichev</name>
            <url>https://github.com/undefz</url>
        </developer>
    </developers>

    <licenses>
        <license>
            <name>GNU Lesser General Public License 2.1</name>
            <url>http://www.gnu.org/licenses/lgpl.txt</url>
        </license>
    </licenses>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <junit.version>4.12</junit.version>
        <hamcrest.version>1.3</hamcrest.version>
        <mockito.version>1.10.19</mockito.version>
        <jdk.source.version>1.8</jdk.source.version>
        <jdk.target.version>1.8</jdk.target.version>
        <tools.maven.plugin.version>1.4</tools.maven.plugin.version>
        <jacoco.maven.plugin.version>0.8.4</jacoco.maven.plugin.version>
        <maven.source.plugin.version>3.0.1</maven.source.plugin.version>
        <maven.javadoc.plugin.version>3.0.1</maven.javadoc.plugin.version>
        <maven.gpg.plugin.version>1.6</maven.gpg.plugin.version>
        <maven.assembly.plugin.version>3.1.0</maven.assembly.plugin.version>
        <maven.antrun.plugin.version>1.8</maven.antrun.plugin.version>
        <maven.compiler.plugin.version>3.8.0</maven.compiler.plugin.version>
        <maven.buildnumber.plugin.version>1.4</maven.buildnumber.plugin.version>
        <maven.jar.plugin.version>3.1.0</maven.jar.plugin.version>
        <maven.surefire.plugin.version>2.22.1</maven.surefire.plugin.version>
        <maven.release.plugin.version>2.5.3</maven.release.plugin.version>
        <maven.site.plugin.version>3.7.1</maven.site.plugin.version>
        <!-- https://issues.apache.org/jira/browse/MRELEASE-1013 -->
        <maven.scm.plugin.version>1.10.0</maven.scm.plugin.version>
        <maven.deploy.plugin.version>2.8.2</maven.deploy.plugin.version>
        <maven.jdeps.plugin.version>3.1.1</maven.jdeps.plugin.version>
        <nexus.staging.maven.plugin.version>1.6.8</nexus.staging.maven.plugin.version>
    </properties>

    <scm>
        <url>https://github.com/chewiebug/GCViewer</url>
        <connection>scm:git:git://github.com/chewiebug/GCViewer.git</connection>
        <developerConnection>scm:git:ssh://github.com/chewiebug/GCViewer.git</developerConnection>
        <tag>1.36</tag>
    </scm>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-library</artifactId>
            <version>${hamcrest.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/mac</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/Info.plist</include>
                </includes>
                <targetPath>${project.build.directory}/mac</targetPath>
            </resource>
            <resource>
                <directory>src/main/mac</directory>
                <filtering>false</filtering>
                <excludes>
                    <exclude>**/Info.plist</exclude>
                </excludes>
                <targetPath>${project.build.directory}/mac</targetPath>
            </resource>
            <resource>
                <directory>${basedir}</directory>
                <filtering>false</filtering>
                <includes>
                    <include>README</include>
                </includes>
                <targetPath>${project.build.directory}</targetPath>
            </resource>
        </resources>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>${maven.assembly.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>${maven.antrun.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${maven.compiler.plugin.version}</version>
                    <configuration>
                        <source>${jdk.source.version}</source>
                        <target>${jdk.target.version}</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>buildnumber-maven-plugin</artifactId>
                    <version>${maven.buildnumber.plugin.version}</version>
                    <configuration>
                        <buildNumberPropertyName>revision</buildNumberPropertyName>
                        <timestampPropertyName>timestamp</timestampPropertyName>
                        <timestampFormat>{0,date,yyyy-MM-dd'T'HH:mm:ssZZ}</timestampFormat>
                        <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>${maven.jar.plugin.version}</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                                <mainClass>com.tagtraum.perf.gcviewer.GCViewer</mainClass>
                                <addClasspath>true</addClasspath>
                            </manifest>
                            <manifestEntries>
                                <Implementation-Date>${timestamp}</Implementation-Date>
                                <Implementation-Revision>${revision}</Implementation-Revision>
                            </manifestEntries>
                        </archive>
                        <excludes>
                            <exclude>**/*.psd</exclude>
                        </excludes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${maven.javadoc.plugin.version}</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            </manifest>
                            <manifestEntries>
                                <Implementation-Date>${timestamp}</Implementation-Date>
                                <Implementation-Revision>${revision}</Implementation-Revision>
                            </manifestEntries>
                        </archive>
                        <links>
                            <link>http://docs.oracle.com/javase/8/docs/api/</link>
                        </links>
                        <source>${jdk.source.version}</source>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>${maven.source.plugin.version}</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            </manifest>
                            <manifestEntries>
                                <Implementation-Date>${timestamp}</Implementation-Date>
                                <Implementation-Revision>${revision}</Implementation-Revision>
                            </manifestEntries>
                        </archive>
                        <excludeResources>true</excludeResources>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven.surefire.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-scm-plugin</artifactId>
                    <version>${maven.scm.plugin.version}</version>
                    <configuration>
                        <providerImplementations>
                            <git>gitexe</git>
                        </providerImplementations>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>${maven.release.plugin.version}</version>
                    <configuration>
                        <localCheckout>true</localCheckout>
                        <pushChanges>false</pushChanges>
                        <remoteTagging>false</remoteTagging>
                        <goals>deploy</goals>
                        <tagNameFormat>@{project.version}</tagNameFormat>
                        <mavenExecutorId>forked-path</mavenExecutorId>
                        <releaseProfiles>sonatype-oss-release,sourceforge-release</releaseProfiles>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>${maven.gpg.plugin.version}</version>
                    <configuration>
                        <!-- using gpg2 this should be set to "true", because
                            the option \-\-no-use-agent was dropped -->
                        <useAgent>true</useAgent>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.geronimo.genesis.plugins</groupId>
                    <artifactId>tools-maven-plugin</artifactId>
                    <version>${tools.maven.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>${maven.deploy.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>${jacoco.maven.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.7.1</version>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <artifactId>maven-jdeps-plugin</artifactId>
                <version>${maven.jdeps.plugin.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>jdkinternals</goal> <!-- verify main classes -->
                            <goal>test-jdkinternals</goal> <!-- verify test classes -->
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>create-build-metadata</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>create</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.geronimo.genesis.plugins</groupId>
                <artifactId>tools-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>install-legal-files</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>copy-legal-files</goal>
                        </goals>
                        <configuration>
                            <fileset>
                                <basedir>${pom.basedir}</basedir>
                                <includes>
                                    <include>README.md</include>
                                    <include>LICENSE.txt</include>
                                </includes>
                            </fileset>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>prepare-agent</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>report</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>check</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <rule>
                                    <element>BUNDLE</element>
                                    <limits>
                                        <limit>
                                            <counter>INSTRUCTION</counter>
                                            <value>COVEREDRATIO</value>
                                            <minimum>0.7</minimum>
                                        </limit>
                                        <limit>
                                            <counter>CLASS</counter>
                                            <value>COVEREDRATIO</value>
                                            <minimum>0.8</minimum>
                                        </limit>
                                        <limit>
                                            <counter>LINE</counter>
                                            <value>COVEREDRATIO</value>
                                            <minimum>0.7</minimum>
                                        </limit>
                                        <limit>
                                            <counter>BRANCH</counter>
                                            <value>COVEREDRATIO</value>
                                            <minimum>0.5</minimum>
                                        </limit>
                                        <limit>
                                            <counter>METHOD</counter>
                                            <value>COVEREDRATIO</value>
                                            <minimum>0.7</minimum>
                                        </limit>
                                        <limit>
                                            <counter>COMPLEXITY</counter>
                                            <value>COVEREDRATIO</value>
                                            <minimum>0.5</minimum>
                                        </limit>
                                        <limit>
                                            <counter>CLASS</counter>
                                            <value>MISSEDCOUNT</value>
                                            <maximum>35</maximum>
                                        </limit>
                                    </limits>
                                </rule>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>

    </build>

    <profiles>
        <profile>
            <!-- Override plugin versions of Sonatype profile. This needs
                to be done here because profiles are not inherited. -->
            <id>sonatype-oss-release</id>
            <properties>
                <gpg.executable>gpg</gpg.executable>
                <gpg.keyname>${env.GPG_KEYNAME}</gpg.keyname>
                <gpg.passphrase>${env.GPG_PASSPHRASE}</gpg.passphrase>
                <gpg.defaultKeyring>false</gpg.defaultKeyring>
                <gpg.publicKeyring>${env.GPG_DIR}/pubring.gpg</gpg.publicKeyring>
                <gpg.secretKeyring>${env.GPG_DIR}/secring.gpg</gpg.secretKeyring>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>${maven.source.plugin.version}</version>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>${maven.javadoc.plugin.version}</version>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>${maven.gpg.plugin.version}</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <version>${nexus.staging.maven.plugin.version}</version>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>ossrh</serverId>
                            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>true</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>sourceforge-release</id>
            <build>
                <plugins>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>create-distributions</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <descriptors>
                                        <descriptor>src/main/assembly/dist_mac.xml</descriptor>
                                    </descriptors>
                                    <attach>false</attach>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-to-sourceforge</id>
                                <phase>deploy</phase>
                                <configuration>
                                    <target>
                                        <echo message="ant version: ${ant.version}" />
                                        <scp todir="${env.SCP_USERNAME}@frs.sourceforge.net:/home/frs/project/gcviewer/" password="${env.SCP_PASSWORD}" trust="true" failonerror="true">
                                            <fileset dir="${project.basedir}/target">
                                                <include name="${project.build.finalName}.${project.packaging}" />
                                                <include name="${project.build.finalName}-dist-mac.zip" />
                                            </fileset>
                                            <fileset dir="${project.basedir}/target/classes/META-INF">
                                                <include name="README.md" />
                                            </fileset>
                                        </scp>
                                    </target>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>
                        </executions>

                        <dependencies>
                            <dependency>
                                <groupId>org.apache.ant</groupId>
                                <artifactId>ant-jsch</artifactId>
                                <version>1.10.0</version>
                            </dependency>
                            <dependency>
                                <groupId>com.jcraft</groupId>
                                <artifactId>jsch</artifactId>
                                <version>0.1.54</version>
                            </dependency>
                        </dependencies>

                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>
</project>
