<?xml version="1.0" encoding="UTF-8"?>
<!--
	~ Copyright 2013-2016 The Rythm Project
	~
	~ The Rythm Project licenses this file to you under the Apache License,
	~ version 2.0 (the "License"); you may not use this file except in compliance
	~ with the License. You may obtain a copy of the License at:
	~
	~ http://www.apache.org/licenses/LICENSE-2.0
	~
	~ Unless required by applicable law or agreed to in writing, software
	~ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
	~ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
	~ License for the specific language governing permissions and limitations
	~ under the License.
-->
<!--
	RELEASE HISTORY

	1.2.0
	* Fix #348 Update Java to 1.7
	* Fix #351 Support windows line endings in nl2br?
	* Fix #354 Issues with hardcoded temporary directory
	* Fix #359 format null value handling
	* Fix #362 Remove `__sep` and `__util` iterable variables
	* Fix #361 Replace `Stack` with `Deque` in `TemplateBase`

	1.1.7-SNAPSHOT
	* Revert #314 to fix issue #346 (entered release 1.1.5)

	1.1.6-SNAPSHOT
	* Update dependency versions:
	** ecj to 4.5.1
	** commons-lang3 to 3.4
	** fastjson to 1.2.11
	** mvel2 to 2.2.8.Final
	** joda-time to 2.9.3 (provided)
	** gson to 2.6.2 (provided)
	** appengine-api-1.0-sdk to 1.9.37 (provided)
	** ehcache to 2.10.2 (provided)
	** spymemcached to 2.12.1 (provided)

	1.1.5
	* Implement ReadWrite lock in TemplateClass - Remove public variables from
  	TemplateClass
	* #316 Allow passing key into StringTemplateResource

	1.1.4-SNAPSHOT
	* Add toJSON() to S class (and as built-in extension)
	* Fix FindBug reported issues

	1.1.3-SNAPSHOT
	* Use caller class resource loader to load current template
	* Fix issue: ClassResourceLoader failed to load tag resources
	* Add sp2nbsp() transformer
	* Drop support to Java 1.5 and below. Default java source version is 1.6

	1.1.2-SNAPSHOT
	* Fix GH issue #271: Allow template author to add arbitrary code at class
	level

	1.1.1-SNAPSHOT:
	* Fix GH issue 251: StringIndexOutOfBoundsException in TemplateBase
	* Fix GH issue 249: @def does not support package contained in the return
	  type name
	* Fix GH issue 244: Declared args in __global.rythm position might not be
	  correct
	* Fix GH issue #239: Failed invocation after template reload in dev mode
	* Fix GH issue 215: Can't run on Java 8
	* Fix GH issue 170: cache service now default to SimpleCacheService to avoid
	  non-daemon issue of ehcache service with default configuration
	* Fix GH issue #164: @nocompact() doesn't work as expected
	* Add getTemplate() method to Rythm facade. See GH Issue #70
	* Add "resource.refresh.interval" configuration allow the developer to define
	  resource refresh check period
	* Fix GH issue #264: support define class in a template

	1.1.0-SNAPSHOT: base version where the release history start
-->
<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>org.rythmengine</groupId>
	<artifactId>rythm-engine</artifactId>
	<packaging>jar</packaging>
	<version>1.2.2</version>

	<name>Rythm Template Engine</name>
	<description>A strong typed high performance Java Template engine with .Net Razor like syntax</description>
	<url>http://rythmengine.com/</url>

	<parent>
		<groupId>org.sonatype.oss</groupId>
		<artifactId>oss-parent</artifactId>
		<version>7</version>
	</parent>

	<scm>
		<connection>scm:git:git://github.com/rythmengine/rythmengine</connection>
		<developerConnection>scm:git:git@github.com:rythmengine/rythmengine</developerConnection>
		<url>git://github.com/rythmengine/rythmengine</url>
	</scm>

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

		<maven.test.skip>false</maven.test.skip>
		<!-- until tests are fixed -->
		<javadoc.version>2.10.3</javadoc.version>
	</properties>

	<licenses>
		<license>
			<name>The Apache Software License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<dependencies>
		<dependency>
			<groupId>org.eclipse.jdt.core.compiler</groupId>
			<artifactId>ecj</artifactId>
			<version>4.6.1</version>
		</dependency>

		<dependency>
			<groupId>com.stevesoft.pat</groupId>
			<artifactId>pat</artifactId>
			<version>1.5.3</version>
		</dependency>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.4</version>
		</dependency>

		<!-- http://mvnrepository.com/artifact/commons-io/commons-io -->
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
		</dependency>

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.11</version>
		</dependency>

		<dependency>
			<groupId>org.mvel</groupId>
			<artifactId>mvel2</artifactId>
			<version>2.2.8.Final</version>
		</dependency>

		<dependency>
			<groupId>joda-time</groupId>
			<artifactId>joda-time</artifactId>
			<version>2.9.3</version>
			<scope>provided</scope>
		</dependency>

		<!-- <dependency> <groupId>org.eweb4j</groupId> <artifactId>fel</artifactId> 
			<version>0.8</version> </dependency> -->

		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>2.6.2</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>com.google.appengine</groupId>
			<artifactId>appengine-api-1.0-sdk</artifactId>
			<version>1.9.37</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.10</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.3</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.1</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>net.sf.ehcache</groupId>
			<artifactId>ehcache</artifactId>
			<version>2.10.2</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>net.spy</groupId>
			<artifactId>spymemcached</artifactId>
			<version>2.12.1</version>
			<scope>provided</scope>
		</dependency>

	</dependencies>

	<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>2.3.2</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
					<encoding>UTF-8</encoding>
					<debuglevel>lines,vars,source</debuglevel>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>2.1.2</version>
				<configuration>
					<includePom>true</includePom>
				</configuration>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.19.1</version>
				<configuration>
				  <includes>
				    <include>**/*Test*.java</include>
				  </includes>
					<excludes>
						<exclude>**/*TestSuite.java</exclude> 
					</excludes>
				</configuration>
			</plugin>
		</plugins>
		<extensions>
			<!-- support local releases see http://stackoverflow.com/questions/33318793/how-to-fix-or-workaround-wagon-bug -->
			<extension>
				<groupId>org.apache.maven.wagon</groupId>
				<artifactId>wagon-ssh</artifactId>
				<version>2.10</version>
			</extension>
		</extensions>

	</build>

	<profiles>
		<profile>
			<id>dist</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-assembly-plugin</artifactId>
						<version>2.2</version>
						<configuration>
							<descriptors>
								<descriptor>${basedir}/assembly-dist.xml</descriptor>
							</descriptors>
							<tarLongFileMode>gnu</tarLongFileMode>
						</configuration>
						<executions>
							<execution>
								<id>make-assembly</id>
								<phase>package</phase>
								<goals>
									<goal>single</goal>
								</goals>
								<configuration>
									<descriptors>
										<descriptor>${basedir}/assembly-dist.xml</descriptor>
									</descriptors>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>${javadoc.version}</version>
						<configuration>
							<stylesheetfile>src/etc/javadoc.css</stylesheetfile>
							<excludePackageNames>org.rythmengine.internal.*</excludePackageNames>
							<quiet />
							<bottom><![CDATA[Copyright 2013-2016, <a href="https://github.com/rythmengine/rythmengine">The Rythm Engine project<a>]]></bottom>
						</configuration>
						<executions>
							<execution>
								<id>gen-javadoc</id>
								<phase>prepare-package</phase>
								<goals>
									<goal>javadoc</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
					  <!-- http://code.mycila.com/license-maven-plugin/ -->
						<groupId>com.mycila.maven-license-plugin</groupId>
						<artifactId>maven-license-plugin</artifactId>
						<version>1.9.0</version>
						<configuration>
							<header>src/etc/header.txt</header>
							<includes>
							  <include>src/**/*.java</include>
							</includes>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-site-plugin</artifactId>
						<version>3.0</version>
						<configuration>
							<!-- configuration of reports to be included in site -->
							<reportPlugins>
								<plugin>
									<groupId>org.apache.maven.plugins</groupId>
									<artifactId>maven-project-info-reports-plugin</artifactId>
									<version>2.2</version>
									<configuration>
										<dependencyDetailsEnabled>true</dependencyDetailsEnabled>
										<dependencyLocationsEnabled>true</dependencyLocationsEnabled>
									</configuration>
								</plugin>
								<plugin>
									<groupId>org.apache.maven.plugins</groupId>
									<artifactId>maven-javadoc-plugin</artifactId>
									<version>${javadoc.version}</version>
									<configuration>
										<stylesheetfile>src/etc/javadoc.css</stylesheetfile>
										<excludePackageNames>org.rythmengine.internal.*</excludePackageNames>
										<quiet />
										<bottom><![CDATA[Copyright 2013-2016, <a href="https://github.com/rythmengine/rythmengine">The Rythm Engine project<a>]]></bottom>
									</configuration>
								</plugin>
								<plugin>
									<groupId>org.apache.maven.plugins</groupId>
									<artifactId>maven-surefire-report-plugin</artifactId>
									<version>2.19.1</version>
									<configuration>
									  <excludes>
									    <exclude>**/*TestSuite.java</exclude>
									  </excludes>
									</configuration>
								</plugin>
								<!-- http://maven.apache.org/plugins/maven-checkstyle-plugin/usage.html -->
								<plugin>
									<groupId>org.apache.maven.plugins</groupId>
									<artifactId>maven-checkstyle-plugin</artifactId>
									<version>2.13</version>
								</plugin>
							</reportPlugins>
						</configuration>
					</plugin>
					<!-- git hub site plugin https://github.com/github/maven-plugins -->
					<plugin>
						<groupId>com.github.github</groupId>
						<artifactId>site-maven-plugin</artifactId>
						<version>0.12</version>
						<configuration>
							<server>github</server>
							<message>Creating site for ${project.version}</message>
							<repositoryName>rythmengine</repositoryName>      <!-- github repo name -->
							<repositoryOwner>rythmengine</repositoryOwner>    <!-- github username -->
						</configuration>
						<executions>
							<execution>
								<goals>
									<goal>site</goal>
								</goals>
								<phase>site</phase>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<!-- http://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html -->
		<!-- http://stackoverflow.com/questions/15886209/maven-is-not-working-in-java-8-when-javadoc-tags-are-incomplete -->
		<profile>
			<id>doclint-java8-disable</id>
			<activation>
				<jdk>[1.8,)</jdk>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>${javadoc.version}</version>
						<configuration>
							<additionalparam>-Xdoclint:none</additionalparam>
							<excludePackageNames>org.rythmengine.internal.*</excludePackageNames>
							<quiet />
							<bottom><![CDATA[Copyright 2013-2016, <a href="https://github.com/rythmengine/rythmengine">The Rythm Engine project<a>]]></bottom>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

</project>
