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



	<groupId>com.github.albfernandez.richfaces.cdk</groupId>
	<artifactId>parent</artifactId>
	<version>10.0.1</version>
	<packaging>pom</packaging>
	<name>RichFaces CDK Parent</name>
	<description>RichFaces Component Development Kit (CDK)</description>
	<url>https://github.com/albfernandez/richfaces-cdk</url>
	<licenses>
		<license>
			<name>GNU Lesser General Public License, Version 2.1</name>
			<distribution>repo</distribution>
			<url>http://www.gnu.org/licenses/lgpl-2.1.txt</url>
		</license>
	</licenses>
	<developers>
        <developer>
            <name>RichFaces committers</name>
        </developer>
    </developers>
	<!-- SCM and distribution management -->
	<scm>
		<connection>scm:git:git://github.com/albfernandez/richfaces-cdk.git</connection>
		<developerConnection>scm:git:git@github.com:albfernandez/richfaces-cdk.git</developerConnection>
		<url>https://github.com/ralbfernandez/richfaces-cdk</url>
		<tag>HEAD</tag>
	</scm>
	<issueManagement>
		<system>GitHub</system>
		<url>https://github.com/albfernandez/richfaces-cdk/issues</url>
	</issueManagement>

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

	<properties>
		<java.version>11</java.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

		<version.jsftest>10.0.0</version.jsftest>
		<version.cdk>10.0.1</version.cdk>
		<version.jboss-javaee>3.0.2.Final</version.jboss-javaee>

		<!-- Compile deps -->
		<!-- <version.freemarker>2.3.9</version.freemarker> -->
		<!-- <version.freemarker>2.3.29</version.freemarker> -->
		<version.freemarker>2.3.10</version.freemarker>
		<version.jaxb.impl>2.3.2</version.jaxb.impl>
		<version.jaxb.api>2.3.1</version.jaxb.api>
		<version.xerces>2.12.2</version.xerces>
		<version.dom4j>2.1.3</version.dom4j>
		<version.saxon>8.7</version.saxon>
		<version.jboss-el>1.1.0</version.jboss-el>
		<version.xsom>20140925</version.xsom>
		<version.google-functional-collections>1.1.7</version.google-functional-collections>
		<version.guice>7.0.0</version.guice>
		<version.sisu>4.2.0</version.sisu>
		<version.sonatype-sisu>4.2.0</version.sonatype-sisu>
		<version.javaparser>3.15.3</version.javaparser>
		<version.guava>33.3.0-jre</version.guava>
		<version.jcommander>1.78</version.jcommander>
		<version.plexus-utils>3.3.0</version.plexus-utils>
		<version.plexus-velocity>1.3</version.plexus-velocity>
		<version.maven-core>3.0.4</version.maven-core>
		<version.maven-archiver>3.6.0</version.maven-archiver>
		<version.maven-compat>3.6.3</version.maven-compat>
		<version.maven-file-management>3.1.0</version.maven-file-management>

		<!-- Test dependencies -->
		<version.junit>4.13.1</version.junit>
		<version.xmlunit-legacy>2.10.0</version.xmlunit-legacy>
		<version.easymock>5.4.0</version.easymock>

		<!-- Plugin versions -->
		<version.modello.plugin>2.4.0</version.modello.plugin>
		<version.guice.plugin>2.25.4</version.guice.plugin>
		<version.gmaven.plugin>1.0</version.gmaven.plugin>

		<!-- maven-compiler-plugin -->
		<!-- Overide jboss-parent default version -->
		<maven.compiler.source>${java.version}</maven.compiler.source>
		<maven.compiler.target>${java.version}</maven.compiler.target>
	</properties>

	<dependencyManagement>
		<dependencies>
	
			<!--MZ
			<dependency>
				<groupId>org.jboss.spec</groupId>
				<artifactId>jboss-javaee-web-6.0</artifactId>
				<version>${version.jboss-javaee}</version>
				<type>pom</type>
				<scope>import</scope>
				<exclusions>
					<exclusion>
						<artifactId>xalan</artifactId>
						<groupId>xalan</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			-->
			<dependency>
	            <groupId>org.apache.myfaces.core</groupId>
	            <artifactId>myfaces-api</artifactId>
	            <version>4.0.2</version>
	        </dependency>
	        <dependency>
				<groupId>jakarta.el</groupId>
				<artifactId>jakarta.el-api</artifactId>
				<version>5.0.1</version>
			</dependency>
			<dependency>
		    	<groupId>org.glassfish</groupId>
		    	<artifactId>jakarta.el</artifactId>
		    	<version>4.0.2</version>
			</dependency>
			<dependency>
				<groupId>jakarta.annotation</groupId>
				<artifactId>jakarta.annotation-api</artifactId>
				<version>3.0.0</version>
			</dependency>

			<!-- CDK -->
			<dependency>
				<groupId>com.github.albfernandez.richfaces.cdk</groupId>
				<artifactId>commons</artifactId>
				<version>${version.cdk}</version>
			</dependency>
			<dependency>
				<groupId>com.github.albfernandez.richfaces.cdk</groupId>
				<artifactId>annotations</artifactId>
				<version>${version.cdk}</version>
			</dependency>
			<dependency>
				<groupId>com.github.albfernandez.richfaces.cdk</groupId>
				<artifactId>attributes</artifactId>
				<version>${version.cdk}</version>
			</dependency>
			<dependency>
				<groupId>com.github.albfernandez.richfaces.cdk</groupId>
				<artifactId>xinclude</artifactId>
				<version>${version.cdk}</version>
			</dependency>
			<dependency>
				<groupId>com.github.albfernandez.richfaces.cdk</groupId>
				<artifactId>commons</artifactId>
				<classifier>tests</classifier>
				<version>${version.cdk}</version>
				<scope>test</scope>
			</dependency>

			<!-- Compile deps -->
			<dependency>
				<groupId>org.freemarker</groupId>
				<artifactId>freemarker</artifactId>
				<version>${version.freemarker}</version>
			</dependency>
			<dependency>
				<groupId>javax.xml.bind</groupId>
				<artifactId>jaxb-api</artifactId>
				<version>${version.jaxb.api}</version>
			</dependency>
			<dependency>
				<groupId>com.sun.xml.bind</groupId>
				<artifactId>jaxb-impl</artifactId>
				<version>${version.jaxb.impl}</version>
			</dependency>
			<dependency>
				<groupId>com.sun.xml.bind</groupId>
				<artifactId>jaxb-core</artifactId>
				<version>2.3.0.1</version>
			</dependency>
			<dependency>
				<groupId>com.github.albfernandez</groupId>
				<artifactId>jboss-el</artifactId>
				<version>${version.jboss-el}</version>
			</dependency>
			<dependency>
				<groupId>xerces</groupId>
				<artifactId>xercesImpl</artifactId>
				<version>${version.xerces}</version>
			</dependency>
			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>${version.guava}</version>
			</dependency>
			<dependency>
				<groupId>com.sun.xsom</groupId>
				<artifactId>xsom</artifactId>
				<version>${version.xsom}</version>
			</dependency>
			<dependency>
				<groupId>org.dom4j</groupId>
				<artifactId>dom4j</artifactId>
				<version>${version.dom4j}</version>
			</dependency>
			<dependency>
				<groupId>com.google.inject</groupId>
				<artifactId>guice</artifactId>
				<version>${version.guice}</version>
			</dependency>
			<dependency>
				<groupId>com.google.inject.extensions</groupId>
				<artifactId>guice-assistedinject</artifactId>
				<version>${version.guice}</version>
			</dependency>
			<!--MZ
			<dependency>
				<groupId>com.google.inject.extensions</groupId>
				<artifactId>guice-multibindings</artifactId>
				<version>${version.guice}</version>
			</dependency>
			-->
			<dependency>
				<groupId>com.github.javaparser</groupId>
				<artifactId>javaparser-core</artifactId>
				<version>${version.javaparser}</version>
			</dependency>
			<dependency>
				<groupId>org.sonatype.sisu</groupId>
				<artifactId>sisu-guice</artifactId>
				<version>${version.sisu}</version>
			</dependency>
			<dependency>
				<groupId>org.sonatype.sisu.inject</groupId>
				<artifactId>guice-multibindings</artifactId>
				<version>${version.sonatype-sisu}</version>
				<exclusions>
					<exclusion>
						<groupId>com.google.inject</groupId>
						<artifactId>guice</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>com.beust</groupId>
				<artifactId>jcommander</artifactId>
				<version>${version.jcommander}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-model</artifactId>
				<version>${version.maven-core}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-core</artifactId>
				<version>${version.maven-core}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-artifact</artifactId>
				<version>${version.maven-core}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-plugin-api</artifactId>
				<version>${version.maven-core}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-archiver</artifactId>
				<version>${version.maven-archiver}</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.maven</groupId>
			    <artifactId>maven-compat</artifactId>
			    <version>${version.maven-compat}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven.shared</groupId>
				<artifactId>file-management</artifactId>
				<version>${version.maven-file-management}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.plexus</groupId>
				<artifactId>plexus-utils</artifactId>
				<version>${version.plexus-utils}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.plexus</groupId>
				<artifactId>plexus-velocity</artifactId>
				<version>${version.plexus-velocity}</version>
			</dependency>

			<!-- Test dependencies -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${version.junit}</version>
			</dependency>
			<dependency>
				<groupId>org.xmlunit</groupId>
				<artifactId>xmlunit-legacy</artifactId>
				<version>${version.xmlunit-legacy}</version>
			</dependency>
			<dependency>
				<groupId>org.easymock</groupId>
				<artifactId>easymock</artifactId>
				<version>${version.easymock}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.13.0</version>
					<configuration>
						<source>${maven.compiler.source}</source>
						<target>${maven.compiler.target}</target>
						<release>${maven.compiler.target}</release>
					</configuration>
				</plugin>
				<plugin>
					<groupId>com.github.albfernandez.richfaces.cdk</groupId>
					<artifactId>richfaces-cdk-maven-plugin</artifactId>
					<version>${version.cdk}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.camel</groupId>
					<artifactId>guice-maven-plugin</artifactId>
					<version>${version.guice.plugin}</version>
					<dependencies>
						<dependency>
							<groupId>org.apache.camel</groupId>
							<artifactId>camel-guice</artifactId>
							<version>${version.guice.plugin}</version>
						</dependency>
					</dependencies>
				</plugin>

				<plugin>
					<groupId>org.codehaus.modello</groupId>
					<artifactId>modello-maven-plugin</artifactId>
					<version>${version.modello.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>3.10.0</version>
					<configuration>
						<source>11</source>
					</configuration>
				</plugin>
				<!-- Packaging -->
				<plugin>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.4.2</version>
					<configuration>
						<archive>
							<manifest>
								<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
								<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
							</manifest>
							<manifestEntries>
								<Seam-Version>${project.version}</Seam-Version>
								<Build-Time>${maven.build.timestamp}</Build-Time>
							</manifestEntries>
						</archive>
					</configuration>
				</plugin>
				<plugin>
					<artifactId>maven-source-plugin</artifactId>
					<version>3.3.1</version>
					<configuration>
						<archive>
							<manifest>
								<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
								<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
							</manifest>
							<manifestEntries>
								<Seam-Version>${project.version}</Seam-Version>
								<Build-Time>${maven.build.timestamp}</Build-Time>
							</manifestEntries>
						</archive>
					</configuration>
				</plugin>
				
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
				    <artifactId>javacc-maven-plugin</artifactId>
				    <version>3.1.0</version>
				</plugin>
				
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
				    <artifactId>build-helper-maven-plugin</artifactId>
				    <version>3.6.0</version>
				</plugin>
				
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
				    <artifactId>maven-checkstyle-plugin</artifactId>
				    <version>3.5.0</version>
				</plugin>
			</plugins>
		</pluginManagement>

		<plugins>
			<plugin>
				<artifactId>maven-source-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
							<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
						</manifest>
						<manifestEntries>
							<Seam-Version>${project.version}</Seam-Version>
							<Build-Time>${maven.build.timestamp}</Build-Time>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<configuration>
					<source>11</source>
				</configuration>
			</plugin>
		</plugins>
	</build>
	
	<profiles>
		<profile>
			<id>sign</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>3.2.7</version>
						<configuration>
							<keyname>${gpg.keyname}</keyname>
							<passphraseServerId>${gpg.keyname}</passphraseServerId>
						</configuration>
						<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>1.7.0</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>ossrh</serverId>
							<nexusUrl>https://oss.sonatype.org/</nexusUrl>
							<autoReleaseAfterClose>true</autoReleaseAfterClose>
						</configuration>
					</plugin>
				</plugins>		
			</build>		
		</profile>
	</profiles>

</project>
