<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.jalalkiswani</groupId>
	<artifactId>jk-framework</artifactId>
	<version>6.2.0</version>
	<packaging>pom</packaging>

	<name>jk-framework</name>
	<description>jk-framework framework</description>
	<url>https://www.smart-api.com</url>
	<developers>
		<developer>
			<name>Jalal Kiswani</name>
			<email>kiswanij@gmail.com</email>
			<organization>https://www.smart-api.com</organization>
		</developer>
	</developers>
	<organization>
		<url>https://www.smart-api.com</url>
		<name>jk-framework</name>
	</organization>
	<licenses>
		<license>
			<name>Apache 2.0</name>
			<url>https://www.apache.org/licenses/LICENSE-2.0</url>
		</license>
	</licenses>
	<properties>
		<project.java.version>1.8</project.java.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<javadoc.opts>-Xdoclint:none</javadoc.opts>

		<!-- resources -->
		<timestamp>${maven.build.timestamp}</timestamp>
		<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>

		<!-- util -->
		<slf4j-api-version>1.7.32</slf4j-api-version>
		<jackson.version>2.14.1</jackson.version>
		<junit.version>4.13.2</junit.version>
		<commons-email.version>1.5</commons-email.version>
		<commons-lang.version>3.12.0</commons-lang.version>
		<commons-beanutils.version>1.9.4</commons-beanutils.version>
		<commons-io.version>2.11.0</commons-io.version>
		<commons-digestor.version>3.2</commons-digestor.version>
		<commons-config.version>2.7</commons-config.version>
		<commons-http-client.version>4.5.13</commons-http-client.version>
			
		<logback.version>1.2.3</logback.version>

		<jsch.version>0.1.55</jsch.version>
		<spring.version>5.2.19.RELEASE</spring.version>
		<zip4j.version>1.3.3</zip4j.version>
		<freemarker.version>2.3.31</freemarker.version>
		<lombok.version>1.18.22</lombok.version>
		<jaxb-api.version>2.3.1</jaxb-api.version>
		<guava.version>31.1-jre</guava.version>

		<jgit.version>5.13.1.202206130422-r</jgit.version>

		<ehcache.version>2.10.9.2</ehcache.version>
		<json.version>20211205</json.version>
		<!-- plural util -->
		<evo.version>1.3</evo.version>
		<jdktools.version>0.1</jdktools.version>

		<!-- web -->
		<primefaces.version>8.0</primefaces.version>
		<jsf.version>2.2.20</jsf.version>
		<keycloak.version>16.1.1</keycloak.version>
		<jersy.version>2.38</jersy.version>
		<jstl.version>1.2</jstl.version>
		<servlet.version>3.1.0</servlet.version>
		<el.version>3.0.0</el.version>
		<omnifaces.version>1.14.1</omnifaces.version>
		<admin.theme.version>1.0.0</admin.theme.version>
		<fileupload.version>1.4</fileupload.version>
		<mockito.version>1.10.19</mockito.version>
		<mysql-driver.version>5.1.49</mysql-driver.version>
		<h2.version>1.4.200</h2.version>

		<!-- data -->
		<hibernate-jpa.version>1.0.2.Final</hibernate-jpa.version>
		<hibernate.version>5.6.14.Final</hibernate.version>
		<hibernate-validator.version>6.2.1.Final</hibernate-validator.version>
		<commons-dbcp2.version>2.9.0</commons-dbcp2.version>
		<mongo.version>3.12.10</mongo.version>
		<flapdoodle.embedded.mongo>3.0.0</flapdoodle.embedded.mongo>

		<!-- standalone -->
		<tomcat.version>8.5.72</tomcat.version>

		<!-- webstack -->
		<spring.security.version>5.3.12.RELEASE</spring.security.version>
		<spring.data.version>2.1.21.RELEASE</spring.data.version>

		<!-- test -->
		<jacoco.version>0.8.7</jacoco.version>
		
		<!-- Desktop -->
		<commons-codec.version>1.10</commons-codec.version>
		<poi.version>3.12</poi.version>
		<itext.version>2.1.7</itext.version>
		<commons-dbcp1.version>1.4</commons-dbcp1.version>
		<jcalendar.version>1.4</jcalendar.version>	
		<jgoodies-looks.version>2.7.0</jgoodies-looks.version>
		<jasper-reports.version>6.2.0</jasper-reports.version>
		<barbecue.version>1.5-beta1</barbecue.version>
		<ibatis.version>3.0</ibatis.version>
		<!-- MP3 player -->
		<jlayer.version>1.0.1</jlayer.version>	
		<!-- look and feel-->
		<flat-laf.version>3.0</flat-laf.version>
	</properties>

	<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
			</resource>
		</resources>

		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.7.0</version>
				<configuration>
					<source>${project.java.version}</source>
					<target>${project.java.version}</target>
					<encoding>${project.build.sourceEncoding}</encoding>
				</configuration>
			</plugin>

			<plugin>
				<artifactId>maven-jar-plugin</artifactId>
				<version>3.1.0</version>
				<configuration>
					<archive>
						<addMavenDescriptor>false</addMavenDescriptor>
					</archive>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>properties-maven-plugin</artifactId>
				<version>1.0.0</version>
				<executions>
					<execution>
						<phase>initialize</phase>
						<goals>
							<goal>read-project-properties</goal>
						</goals>
						<configuration>
							<urls>
								<url>classpath:/jk/maven.properties</url>
								<url>file:///${project.basedir}/maven.properties</url>
							</urls>
							<quiet>true</quiet>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>3.0.2</version>
				<configuration>
					<encoding>${project.build.sourceEncoding}</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.7.1</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>3.0.0</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>3.3.1</version>
				<configuration>
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<version>2.2.1</version>
						<executions>
							<execution>
								<id>attach-sources</id>
								<goals>
									<goal>jar-no-fork</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<!-- attach Javadoc plugin -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>2.9.1</version>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<!-- GPG sign plugin -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.5</version>
						<configuration>
							<useAgent>true</useAgent>
							<passphrase>${env.GPG_PASSPHRASE}</passphrase>
							<gpgArguments>
								<arg>--batch</arg>
								<arg>--pinentry-mode</arg>
								<arg>loopback</arg>
							</gpgArguments>
						</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.6.13</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>ossrh</serverId>
							<nexusUrl>https://oss.sonatype.org/</nexusUrl>
							<!-- Set this to true and the release will automatically proceed and 
								sync to Central Repository will follow -->
							<autoReleaseAfterClose>true</autoReleaseAfterClose>
							<updateReleaseInfo>true</updateReleaseInfo>
							<sslAllowAll>true</sslAllowAll>							
						</configuration>
					</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>
		<site>
			<id>jk-framework-site</id>
			<name>jk-framework-site</name>
			<url>https://smart-api.com/jk-framework/javadoc</url>
		</site>
	</distributionManagement>

	<modules>
		<module>jk-framework-core</module>

		<module>jk-framework-data</module>
		<module>jk-framework-web</module>

		<module>jk-framework-webstack</module>
		<module>jk-framework-standalone</module>

		<module>jk-framework-service-parent</module>
		<module>jk-framework-service-client</module>
		<module>jk-framework-service</module>
		<module>jk-framework-service-crosscutting</module>
		<module>jk-app</module>	 
	</modules>

	<scm>
		<developerConnection>scm:git:https://github.com/kiswanij</developerConnection>
		<url>scm:local:${project.basedir}/target/scm/jk-framework</url>
		<connection>scm:local:${project.basedir}/target/scm/jk-framework</connection>
	</scm>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>3.2.0</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>2.3</version>
				<reportSets>
					<reportSet>
						<id>aggregate</id>
						<inherited>false</inherited>
						<reports>
							<report>aggregate</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>
		</plugins>
	</reporting>
</project>