<?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>

    <!--
    NOTE: generator is not part of the reactor and
    must be build/released separately. Also, the
    release plugin **TOTALLY SUCKS** for git modules
    (especially the setup here) so we need to do
    manual version name changes and deploys.

    # Deploying requires two machines (OS X and Linux)...

    # to RELEASE, do the version line and append
    # -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/
    mvn versions:set -DnewVersion=1.0
    # MANUALLY update all the xbuild and all, perf modules (sigh)
    # after release, create a release tag on git and do the same again
    git tag 1.0
    git push -tags  (use double dash... XML is too puny to handle it)

    # OS X (Mountain Lion, see build poms for macports setup)
    mvn clean
    mvn compile
    mvn deploy -Psonatype-oss-release

    # Linux (Debian Wheezy 64 bit, see xbuild poms for apt-get and crosstool-ng setup)
    cd native_ref/xbuilds
    mvn clean
    mvn compile
    mvn deploy -Psonatype-oss-release

    cd native_system/xbuilds
    mvn clean
    mvn compile
    mvn deploy -Psonatype-oss-release


    # (OS X or Linux) Oober project
    cd all
    mvn clean
    mvn deploy -Psonatype-oss-release
    

    # To delete unwanted files from sonatype (use sparingly)
    curl -X DELETE -u <username>:<password> https://oss.sonatype.org/content/repositories/snapshots/com/github/fommil/netlib/
    curl -X DELETE -u <username>:<password> https://oss.sonatype.org/content/repositories/snapshots/com/googlecode/netlib-java/

    # For release, follow this process for the same order
    -> https://oss.sonatype.org
    -> "Staging Repositories"
    -> "close"
    -> wait for confirmation -> "release"
    -->

    <groupId>com.github.fommil.netlib</groupId>
    <artifactId>parent</artifactId>
    <version>1.1</version>
    <packaging>pom</packaging>

    <modules>
        <module>core</module>
        <module>legacy</module>
        <module>native_ref</module>
        <module>native_system</module>
    </modules>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <prerequisites>
        <maven>3.0.3</maven>
    </prerequisites>

    <parent>
        <groupId>org.sonatype.oss</groupId>
        <artifactId>oss-parent</artifactId>
        <version>7</version>
    </parent>
    <name>netlib for Java</name>
    <description>Mission-critical components for linear algebra systems.</description>
    <url>https://github.com/fommil/netlib-java</url>
    <licenses>
        <license>
            <!-- Being the license of the original Fortran code. -->
            <name>BSD 3 Clause</name>
            <url>http://opensource.org/licenses/BSD-3-Clause</url>
        </license>
    </licenses>
    <!-- SCM appears to not support the multi-module setup we have here -->
    <scm>
        <url>https://github.com/fommil/netlib-java</url>
        <connection>scm:git:git@github.com:fommil/netlib-java.git</connection>
        <developerConnection>scm:git:git@github.com:fommil/netlib-java.git</developerConnection>
    </scm>
    <developers>
        <developer>
            <name>Sam Halliday</name>
            <id>fommil</id>
            <email>sam.halliday@gmail.com</email>
        </developer>
    </developers>
    <issueManagement>
        <system>github</system>
        <url>https://github.com/fommil/netlib-java/issues</url>
    </issueManagement>

    <repositories>
        <repository>
            <id>sonatype-snapshots</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>sonatype-releases</id>
            <url>https://oss.sonatype.org/content/repositories/releases/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>sonatype-plugins-snapshots</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
        <!-- Only needed during releases -->
        <!-- <pluginRepository>
            <id>sonatype-releases</id>
            <url>https://oss.sonatype.org/content/repositories/releases/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository> -->
    </pluginRepositories>

    <!-- mvn versions:display-dependency-updates -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.12.2</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>15.0</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>jsr305</artifactId>
                <version>2.0.2</version>
            </dependency>
            <dependency>
                <groupId>net.sourceforge.f2j</groupId>
                <artifactId>arpack_combined_all</artifactId>
                <classifier>javadoc</classifier>
                <scope>provided</scope>
                <version>0.1</version>
            </dependency>
            <dependency>
                <groupId>net.sourceforge.f2j</groupId>
                <artifactId>arpack_combined_all</artifactId>
                <version>0.1</version>
            </dependency>
            <dependency>
                <groupId>com.github.fommil</groupId>
                <artifactId>jniloader</artifactId>
                <version>1.1</version>
            </dependency>
            <dependency>
                <groupId>net.sf.opencsv</groupId>
                <artifactId>opencsv</artifactId>
                <version>2.3</version>
            </dependency>
            <dependency>
                <groupId>com.github.fommil</groupId>
                <artifactId>java-logging</artifactId>
                <version>1.1</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <!-- mvn versions:display-plugin-updates -->
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.github.fommil.netlib</groupId>
                    <artifactId>generator</artifactId>
                    <version>${project.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.4</version>
                    <executions>
                        <execution>
                            <id>sign-artifacts</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>sign</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.1</version>
                    <configuration>
                        <source>1.6</source>
                        <target>1.6</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>native-maven-plugin</artifactId>
                    <version>1.0-alpha-7</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.4</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.16</version>
                    <configuration>
                        <argLine>-Xmx2g</argLine>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>
