<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>

	<!-- Maven Coordinates -->
	<groupId>de.serviceflow</groupId>
	<artifactId>codegenj</artifactId>
	<version>2.0.5</version>
	<packaging>jar</packaging>

	<prerequisites>
		<maven>3.2.5</maven>
	</prerequisites>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss</maven.build.timestamp.format>
	</properties>

	<scm>
		<connection>scm:git:https://github.com/olir/codegenj.git</connection>
		<developerConnection>scm:git:https://github.com/olir/codegenj.git</developerConnection>
		<url>https://github.com/olir/codegenj.git</url>
		<tag>HEAD</tag>
	</scm>

	<!-- set version then mvn clean deploy, then check at https://oss.sonatype.org/ ,
	     Select Staging Repositories, select entry, close, release. in case of error
		 check http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22nexus-staging-maven-plugin%22 
		 for latest version. -->
	<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>


	<!-- More Project Information -->
	<name>codegenj</name>
	<description>codegenj.</description>
	<url>https://github.com/olir/codegenj</url>
	<inceptionYear>2016</inceptionYear>
	<organization>
		<name>Oliver Rode</name>
		<url>http://www.serviceflow.de/</url>
	</organization>
	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
			<comments>For sources and binaries: 
				Copyright 2016 Oliver Rode http://www.serviceflow.de/codegenj , 
				Licensed under the Apache License, Version 2.0 (the "License");
				you may not use sources and binary files 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.
		</comments>
		</license>
		<license>
			<name>GNU Free Documentation License</name>
			<url>http://www.gnu.org/licenses/fdl-1.3.txt</url>
			<distribution>repo</distribution>
			<comments>For the project documentation: 
				Copyright (c)  2016  Oliver Rode   http://www.serviceflow.de , 
				Permission is granted to copy, distribute and/or modify the project documents
				under the terms of the GNU Free Documentation License, Version 1.3
				or any later version published by the Free Software Foundation;
				with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
				A copy of the license is included in the section entitled "GNU
				Free Documentation License".		
		</comments>
		</license>
		<license>
			<name>The Unlicense</name>
			<url>http://unlicense.org/</url>
			<distribution>repo</distribution>
			<comments>For generated output: 
				This is free and unencumbered software released into the public domain.
				Anyone is free to copy, modify, publish, use, compile, sell, or
				distribute this software, either in source code form or as a compiled
				binary, for any purpose, commercial or non-commercial, and by any
				means.
				A copy of the license is included in the section entitled "The Unlicense".				
		</comments>
		</license>
	</licenses>
	<issueManagement>
		<url>https://github.com/olir/codegenj/issues</url>
		<system>github</system>
	</issueManagement>
	<developers>
		<developer>
			<id>olir</id>
			<name>Oliver Rode</name>
			<url>https://github.com/olir</url>
			<roles>
				<role>project administrator</role>
				<role>architect</role>
				<role>developer</role>
			</roles>
			<timezone>Europe/Berlin</timezone>
		</developer>
	</developers>
	<contributors>
		<!-- No credits so far. -->
	</contributors>

	<!-- POM Relationships -->
	<dependencies>
		<dependency>
			<groupId>javax.xml.bind</groupId>
			<artifactId>jaxb-api</artifactId>
			<version>2.2.5</version>
		</dependency>
		<dependency>
			<groupId>com.sun.xml.bind</groupId>
			<artifactId>jaxb-impl</artifactId>
			<version>2.2.5</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>
<!--
		<dependency>
			<groupId>javax</groupId>
			<artifactId>javaee-api</artifactId>
			<version>6.0</version>
			<scope>provided</scope>
		</dependency>
-->
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-plugin-api</artifactId>
			<version>2.2.1</version>
		</dependency>
	</dependencies>

	<!-- Build Settings -->
	<build>
		<plugins>
			<!-- compile -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.2</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
			<!-- test -->
			<!-- pre-test -->
			<plugin>
			  <artifactId>maven-antrun-plugin</artifactId>
			  <executions>
				<execution>
				  <id>mkdir_classes</id>
				  <phase>test</phase>
				  <configuration>
					<tasks>
					  <mkdir dir="${basedir}/target/classes"/>
					</tasks>
				  </configuration>
				  <goals>
					<goal>run</goal>
				  </goals>
				</execution>
			  </executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.9</version>
				<configuration>
				  <disableXmlReport>true</disableXmlReport>
				  <useFile>false</useFile>
				  <additionalClasspathElements>
						<additionalClasspathElement>${basedir}/target/codegenj-0.1.0-SNAPSHOT-jar-with-dependencies.jar</additionalClasspathElement>
						<additionalClasspathElement>${basedir}/target/codegenj-0.1.0-SNAPSHOT-tests.jar</additionalClasspathElement>
					</additionalClasspathElements>				
					<!-- Sets the VM argument line used when unit tests are run. -->
					<argLine>${surefireArgLine}</argLine>
					<!-- Skips unit tests if the value of skip.unit.tests property is true -->
					<skipTests>${skip.unit.tests}</skipTests>
					<!-- Excludes integration tests when unit tests are run. -->
				</configuration>
				<executions>
					<execution>
						<phase>test</phase>
						<goals>
							<goal>test</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<!-- assembly:single: create executeable jar with dependecies -->
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
							<mainClass>fully.qualified.MainClass</mainClass>
						</manifest>
					</archive>
					<descriptorRefs>
						<descriptorRef>jar-with-dependencies</descriptorRef>
					</descriptorRefs>
				</configuration>
				<executions>
					<execution>
						<id>make-my-jar-with-dependencies</id> <!-- this is used for inheritance merges -->
						<phase>package</phase> <!-- bind to the packaging phase -->
						<goals>
							<goal>single</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<!-- pre-site: copy additional javadoc resources -->
			<plugin>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.7</version>
				<executions>
					<execution>
						<id>copy-main-resources</id>
						<phase>pre-site</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/site/apidocs/</outputDirectory>
							<resources>
								<resource>
									<directory>${basedir}/src/main/resources/</directory>
								</resource>
							</resources>
						</configuration>
					</execution>
					<execution>
						<id>copy-test-resources</id>
						<phase>pre-site</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/site/testapidocs/</outputDirectory>
							<resources>
								<resource>
									<directory>${basedir}/src/test/resources/</directory>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<!-- release -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-gpg-plugin</artifactId>
				<version>1.5</version>
				<configuration>
					<skip>false</skip>
				</configuration>
				<executions>
					<execution>
						<id>sign-artifacts</id>
						<phase>deploy</phase>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>1.6.7</version>
				<extensions>true</extensions>
				<executions>
					<execution>
						<id>default-deploy</id>
						<phase>deploy</phase>
						<goals>
							<goal>deploy</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<serverId>ossrh</serverId>
					<nexusUrl>https://oss.sonatype.org/</nexusUrl>
					<autoReleaseAfterClose>true</autoReleaseAfterClose>
				</configuration>
			</plugin>
			<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>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.1</version>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>


			<!-- Reporting: mvn site:run -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.4</version>
				<configuration>
					<port>9000</port>
					<tempWebappDirectory>${basedir}/target/site/tempdir</tempWebappDirectory>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.doxia</groupId>
						<artifactId>doxia-module-markdown</artifactId>
						<version>1.6</version>
					</dependency>
				</dependencies>
			</plugin>
			<!-- travis -->
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.5.201505241946</version>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.6.201602180812</version> 
				<executions>
					<execution>
						<id>pre-unit-test</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<!-- Sets the path to the file which contains the execution data. -->
							<destFile>${project.build.directory}/jacoco.exec</destFile>
							<!-- Sets the name of the property containing the settings for JaCoCo 
								runtime agent. -->
							<propertyName>surefireArgLine</propertyName>
						</configuration>
					</execution>
					<!-- Ensures that the code coverage report for unit tests is created 
						after unit tests have been run. -->
					<execution>
						<id>post-unit-test</id>
						<phase>test</phase>
						<goals>
							<goal>report</goal>
						</goals>
						<configuration>
							<!-- Sets the path to the file which contains the execution data. -->
							<dataFile>${project.build.directory}/jacoco.exec</dataFile>
							<!-- Sets the output directory for the code coverage report. -->
							<outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.eluder.coveralls</groupId>
				<artifactId>coveralls-maven-plugin</artifactId>
				<version>4.2.0</version>
				<configuration>
					<timestampFormat>${maven.build.timestamp.format}</timestampFormat>
				</configuration>				
			</plugin>			
		</plugins>
		<pluginManagement>
			<plugins>
				<!--This plugin's configuration is used to store Eclipse m2e settings 
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.jacoco</groupId>
										<artifactId>
											jacoco-maven-plugin
										</artifactId>
										<versionRange>
											[0.7.6.201602180812,)
										</versionRange>
										<goals>
											<goal>prepare-agent</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<!-- Reporting: mvn site -->
	<reporting>
		<plugins>
			<!-- Default Site Pages -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>2.8</version>
				<reportSets>
					<reportSet>
						<reports>
							<report>index</report>
							<report>summary</report>
							<report>license</report>
							<report>dependencies</report>
							<report>project-team</report>

							<report>cim</report>
							<report>dependency-convergence</report>
							<report>dependency-info</report>
							<report>dependency-management</report>
							<report>distribution-management</report>
							<report>help</report>
							<report>issue-tracking</report>
							<report>mailing-list</report>
							<report>modules</report>
							<report>scm</report>
							<report>plugin-management</report>
							<report>plugins</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>

			<!-- Java Documentation -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.1</version>
				<configuration>
					<doctitle>My API for ${project.name} ${project.version}</doctitle>
					<windowtitle>My API for ${project.name} ${project.version}</windowtitle>

					<testDoctitle>My Test API for ${project.name} ${project.version}</testDoctitle>
					<testWindowtitle>My Test API for ${project.name} ${project.version}</testWindowtitle>
					<show>private</show>
					<failOnError>false</failOnError>
				</configuration>
				<reportSets>
					<reportSet>
						<reports>
							<report>javadoc-no-fork</report>
							<report>test-javadoc-no-fork</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>

			<!-- Source Code Cross-Reference -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>2.5</version>
				<configuration>
					<linkJavadoc>true</linkJavadoc>
					<javadocDir>${basedir}/target/site/apidocs/</javadocDir>
				</configuration>
			</plugin>

			<!--  -->
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.6.201602180812</version>
			</plugin>
		</plugins>
	</reporting>
</project>
