<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>io.github.homebeaver</groupId>
  <artifactId>swingset3</artifactId>
  <version>1.7.2</version>
  <packaging>pom</packaging> <!-- multi-module project -->
  <modules>
    <module>swingx-mavensupport</module>
    <module>swingx-testsupport</module>
    <module>swingx-common</module>
    <module>swingx-autocomplete</module>
    <module>swingx-action</module>
    <module>swingx-painters</module>
    <module>swingx-graphics</module>
    <module>swingx-plaf</module>
    <module>swingx-core</module>
    <module>swingx-beaninfo</module>
  </modules>

  <url>https://github.com/homebeaver/SwingSet3</url>
  <developers>
	<developer>
		<name>Eugen H</name>
	</developer>
  </developers>
  
  <name>SwingX</name>
  <description>Contains extensions to the Swing GUI toolkit, including new and enhanced components that provide functionality commonly required by rich client applications.</description>
  
  <properties>
    <project.generatedSourcesDirectory>${project.build.directory}/generated-sources</project.generatedSourcesDirectory>
    <project.generatedAnnotations>${project.generatedSourcesDirectory}/annotations</project.generatedAnnotations>
  </properties>
  
  <licenses>
    <license>
      <name>Lesser General Public License (LGPL)</name>
      <url>http://www.gnu.org/copyleft/lesser.html</url>
    </license>
  </licenses>

	<distributionManagement>
	  <snapshotRepository>
	    <id>ossrh</id>
	    <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
	  </snapshotRepository>
	  <repository>
	    <id>ossrh</id>
	    <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
	  </repository>
	</distributionManagement>
  
  <build>
  <plugins>
	  <!-- see https://central.sonatype.org/publish/publish-maven/#distribution-management-and-authentication -->
	  <plugin>
	    <groupId>org.sonatype.plugins</groupId>
	    <artifactId>nexus-staging-maven-plugin</artifactId>
	    <version>1.6.13</version>
	    <extensions>true</extensions>
	    <configuration>
	      <serverId>ossrh</serverId>
	      <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
	      <autoReleaseAfterClose>true</autoReleaseAfterClose>
	    </configuration>
	  </plugin>
	  
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>3.2.0</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>3.3.2</version>
		<executions>
			<execution>
				<id>attach-javadocs</id>
				<goals>
					<goal>jar</goal>
				</goals>
			</execution>
		</executions>
      </plugin>
      
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
        <!-- Compile for the specified Java SE release. 
        	When changed adopte org.jdesktop.beans.JavaBeanProcessor
        	Supported releases: 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 -->
	 	  <release>16</release>
		  <!-- Provide source compatibility with the specified Java SE release. 
				Supported releases: 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17     -->
          <source>8</source>
          <!-- Generate class files suitable for the specified Java SE release. -->
          <target>8</target>
          <generatedSourcesDirectory>${project.generatedAnnotations}</generatedSourcesDirectory>
          <showWarnings>true</showWarnings>
        </configuration>
      </plugin>
      
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.2</version>
        <inherited>true</inherited>
        <configuration>
          <!-- parallel>classes</parallel -->
          <!-- useSystemClassLoader>true</useSystemClassLoader -->
          <includes>
            <include>**/*Test.java</include>
          </includes>
          <forkCount>1</forkCount>
          <reuseForks>false</reuseForks>
          <!--reportFormat>xml</reportFormat -->
          <!--classesDirectory>${project.build.directory}/emma-classes</classesDirectory -->
        </configuration>
      </plugin>
      
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.2.0</version>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
          </archive>
        </configuration>
      </plugin>

      <plugin>
        <groupId>com.amashchenko.maven.plugin</groupId>
        <artifactId>gitflow-maven-plugin</artifactId>
        <version>1.14.0</version>
        <configuration>
          <!-- see goals wiki page for configuration options -->
          <autoVersionSubmodules>true</autoVersionSubmodules>
          <gitFlowConfig>
            <!-- default git flow prefixes -->
            <developmentBranch>master</developmentBranch>
            <featureBranchPrefix>feature/</featureBranchPrefix>
            <releaseBranchPrefix>release/</releaseBranchPrefix>
            <hotfixBranchPrefix>hotfix/</hotfixBranchPrefix>
            <!-- non default 'v' prefix -->
            <versionTagPrefix>v</versionTagPrefix>
          </gitFlowConfig>
        </configuration>
      </plugin>
      
      <!-- see https://central.sonatype.org/publish/publish-maven/#gpg-signed-components use v3.0.1 
      
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:3.0.1:sign (sign-artifacts) on project swingset3: 
Execution sign-artifacts of goal org.apache.maven.plugins:maven-gpg-plugin:3.0.1:sign failed: 
Cannot invoke "org.apache.maven.plugins.gpg.GpgVersion.toString()" because "gpgVersion" is null -> [Help 1]
      
Alternative: https://www.simplify4u.org/sign-maven-plugin/
[INFO] Sign - key not found - skip execution : 9EB560F2 hat nicht funktioniert
Aber : 92806DD3 - wurde auf keys.openpgp.org registriert, keyId (16 stellig): 460F209C92806DD3
      
      -->
      <plugin>
        <groupId>org.simplify4u.plugins</groupId>
        <artifactId>sign-maven-plugin</artifactId>
        <version>1.0.0</version>
        <executions>
            <execution>
                <goals>
                    <goal>sign</goal>
                </goals>
                <configuration>
                    <!-- the same id as in settings.xml -->
                    <serverId>sign-key-id</serverId>
                </configuration>
            </execution>
        </executions>
      </plugin>
      
    </plugins>
  </build>
  
  <dependencies>
    <dependency>
      <!-- this is an external source dependency for building ServiceLoader 
        service files marking optional so we do not export this source only dependency 
        to our consumers specify here to ensure that file movement maintains correct 
        services across all modules -->
      <groupId>org.kohsuke.metainf-services</groupId>
      <artifactId>metainf-services</artifactId>
      <version>1.8</version>
      <type>jar</type>
      <scope>compile</scope>
      <optional>true</optional>
    </dependency>
  </dependencies>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.1</version>
        <type>jar</type>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.jhlabs</groupId>
        <artifactId>filters</artifactId>
        <version>2.0.235</version>
        <type>jar</type>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>2.25.0</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  
  <scm>
  	<url>https://github.com/homebeaver/SwingSet3</url>
  	<connection>scm:git:https://github.com/homebeaver/SwingSet3.git</connection>
  	<developerConnection>scm:git:https://github.com/homebeaver/</developerConnection>
  </scm>
</project>
