<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>
 
    <groupId>org.cicirello</groupId>
	<artifactId>interactive-bin-packing</artifactId>
	<version>3.0.0</version>
	<packaging>jar</packaging>
  
	<name>Interactive Bin Packing Application</name>
	
    <description>The Interactive Bin Packing Application provides 
    a self-guided tutorial on combinatorial optimization, the bin 
    packing problem, and constructive heuristics for bin packing. 
    It also enables the user to interact with bin packing instances 
    to explore their own problem solving strategies, or to test their 
    knowledge of the various constructive heuristics covered by the 
    tutorial. The application is not a solver for bin packing. The 
    Interactive Bin Packing Application is a tool for learning about 
    the bin packing problem, as well as for learning about heuristic 
    techniques for solving instances of the problem.
    </description>
	
	<url>https://github.com/cicirello/InteractiveBinPacking</url>

	<licenses>
		<license>
            <name>GPL-3.0-or-later</name>
            <url>https://www.gnu.org/licenses/gpl-3.0.en.html</url>
            <distribution>repo</distribution>
            <comments>
            Interactive Bin Packing.
            Copyright (C) 2008, 2010, 2020-2021  Vincent A. Cicirello.

            This program is free software: you can redistribute it and/or modify
            it under the terms of the GNU General Public License as published by
            the Free Software Foundation, either version 3 of the License, or
            (at your option) any later version.

            This program is distributed in the hope that it will be useful,
            but WITHOUT ANY WARRANTY; without even the implied warranty of
            MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
            GNU General Public License for more details.

            You should have received a copy of the GNU General Public License
            along with this program.  If not, see https://www.gnu.org/licenses/.
            </comments>
        </license>
    </licenses>

    <developers>
        <developer>
            <name>Vincent A Cicirello</name>
            <email>development@cicirello.org</email>
            <url>https://www.cicirello.org/</url>
            <organization>Cicirello.Org</organization>
            <organizationUrl>https://www.cicirello.org/</organizationUrl>
        </developer>
    </developers>

    <organization>
        <name>Cicirello.Org</name>
        <url>https://www.cicirello.org/</url>
    </organization>	

    <profiles>
        <profile>
            <id>ossrhDeploy</id>
            <distributionManagement>
                <repository>
                    <id>ossrh</id>
                    <name>Central Repository OSSRH</name>
                    <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
                </repository>
                <snapshotRepository>
                    <id>ossrh</id>
                    <name>Central Repository OSSRH</name>
                    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
                </snapshotRepository>
            </distributionManagement>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <version>1.6.8</version>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>ossrh</serverId>
                            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>true</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>3.0.1</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                                <configuration>
                                    <gpgArguments>
                                        <arg>--pinentry-mode</arg>
                                        <arg>loopback</arg>
                                    </gpgArguments>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>githubDeploy</id>
            <distributionManagement>
                <repository>
                    <id>github</id>
                    <name>GitHub cicirello Apache Maven Packages</name>
                    <url>https://maven.pkg.github.com/cicirello/InteractiveBinPacking</url>
                </repository>
            </distributionManagement>
        </profile>
        <profile>
            <id>coverage</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <version>0.8.7</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>generate-code-coverage-report</id>
                                <phase>test</phase>
                                <goals>
                                    <goal>report</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <issueManagement>
        <system>github</system>
        <url>https://github.com/cicirello/InteractiveBinPacking/issues</url>
    </issueManagement>
	
    <scm>
        <connection>scm:git:git://github.com/cicirello/InteractiveBinPacking.git</connection>
        <developerConnection>scm:git:ssh://github.com:cicirello/InteractiveBinPacking.git</developerConnection>
        <url>http://github.com/cicirello/InteractiveBinPacking/tree/master</url>
    </scm>
  
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <type>jar</type>
            <scope>test</scope>
            <optional>true</optional>
        </dependency>
    </dependencies>
  
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.release>11</maven.compiler.release>
    </properties>
  
    <build>
        <plugins>
		    <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
				<version>3.2.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>org.cicirello.ibp.InteractiveBinPacking</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <release>11</release>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.2.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.2.0</version>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <windowtitle>Interactive Bin Packing</windowtitle>
                    <doctitle>Interactive Bin Packing</doctitle>
                    <author>true</author>
                    <version>false</version>
                    <notimestamp>true</notimestamp>
                    <bottom><![CDATA[Copyright &copy; 2008, 2010, 2020-2021 <a href=\"https://www.cicirello.org/\" target=_top>Vincent A. Cicirello</a>.  All rights reserved.]]></bottom>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M5</version>
                <configuration>
                    <includes>
                        <include>**/*TestCases.java</include>
                        <include>**/*Tests.java</include>
                        <include>**/*TestCase.java</include>
                        <include>**/*Test.java</include>
                        <include>**/Test*.java</include>
                    </includes>
                </configuration>
            </plugin>
        </plugins>
    </build>
  
</project>
