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

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

	<groupId>eu.fispace</groupId>
	<version>0.16.2</version>
	<artifactId>api</artifactId>
	<name>fispace-api</name>
	<packaging>jar</packaging>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
			<comments>A business-friendly OSS license</comments>
		</license>
	</licenses>

	<properties>
		<netbeans.hint.license>fispace</netbeans.hint.license>
		<ygg.version>0.27</ygg.version>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<episode.file>${basedir}/target/generated-sources/xjc/META-INF/sun-jaxb.episode</episode.file>
		<krasa-jaxb-tools.version>1.2</krasa-jaxb-tools.version>
	</properties>

	<repositories>
		<repository>
			<id>netbeans</id>
			<name>NetBeans Platform Maven Repository</name>
			<url>http://bits.netbeans.org/maven2/</url>
		</repository>
	</repositories>



	<dependencies>
		<dependency>
			<groupId>org.jvnet.jaxb2_commons</groupId>
			<artifactId>jaxb2-basics-runtime</artifactId>
			<version>0.6.5</version>
		</dependency>
		<dependency>
			<groupId>eu.limetri.ygg</groupId>
			<artifactId>ygg-api</artifactId>
			<version>${ygg.version}</version>
		</dependency>
		<dependency>
			<groupId>org.drmcrop</groupId>
			<artifactId>drmcrop</artifactId>
			<version>0.4</version>
		</dependency>
		<dependency>
			<groupId>com.github.krasa</groupId>
			<artifactId>krasa-jaxb-tools</artifactId>
			<version>${krasa-jaxb-tools.version}</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>com.mycila</groupId>
				<artifactId>license-maven-plugin</artifactId>
				<version>2.5</version>
				<configuration>
					<properties>
						<project.inceptionYear>2013</project.inceptionYear>
						<owner>FIspace</owner>
						<email>info@fispace.eu</email>
					</properties>
					<header>com/mycila/maven/plugin/license/templates/APACHE-2.txt</header>
					<validHeaders>
						<validHeader>eu/fispace/api/license/Apache-2.0.txt</validHeader>
					</validHeaders>
					<failIfMissing>true</failIfMissing>
					<aggregate>true</aggregate>
					<strictCheck>true</strictCheck>
					<excludes>
						<exclude>**/*.txt</exclude>
						<exclude>**/src/test/resources/**</exclude>
						<exclude>**/src/test/data/**</exclude>
						<exclude>**/resources/**</exclude>
						<exclude>**/site/**</exclude>
						<exclude>**/*.properties</exclude>
						<exclude>**/*.xml</exclude>
						<exclude>**/*.mf</exclude>
						<exclude>**/*.sh</exclude>
						<exclude>**/*.vm</exclude>
						<exclude>**/*.log</exclude>
						<exclude>**/*.form</exclude>
						<exclude>**/.hgtags</exclude>
						<exclude>**/.hgignore</exclude>
						<exclude>**/*.orig</exclude>
						<exclude>**/*.CSV</exclude>
						<exclude>**/*.txt</exclude>
						<exclude>**/*.script</exclude>
						<exclude>**/menu/**</exclude>
						<exclude>**/generated/**</exclude>
						<exclude>**/xmlschema/**</exclude>
						<exclude>**/translations/omegat/**</exclude>
					</excludes>
				</configuration>
				<executions>
					<execution>
						<phase>verify</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<!-- JAXB configuration -->
			<plugin>
				<groupId>org.jvnet.jaxb2.maven2</groupId>
				<artifactId>maven-jaxb2-plugin</artifactId>
				<version>0.9.0</version>
				<configuration>
					<strict>false</strict>
					<extension>true</extension>

					<forceRegenerate>true</forceRegenerate>
					<schemaIncludes>
						<schemaInclude>**/*.xsd</schemaInclude>
					</schemaIncludes>
					<plugins>
						<plugin>
							<groupId>org.jvnet.jaxb2_commons</groupId>
							<artifactId>jaxb2-basics</artifactId>
							<version>0.6.5</version>
						</plugin>
						<plugin>
							<groupId>org.jvnet.jaxb2_commons</groupId>
							<artifactId>jaxb2-basics-annotate</artifactId>
							<version>0.6.5</version>
						</plugin>
						<plugin>
							<groupId>org.jvnet.jaxb2_commons</groupId>
							<artifactId>jaxb2-fluent-api</artifactId>
							<version>3.0</version>
						</plugin>
						<plugin>
							<groupId>org.jvnet.jaxb2_commons</groupId>
							<artifactId>jaxb2-commons-lang</artifactId>
							<version>2.3</version>
						</plugin>
						<plugin>
							<groupId>org.jvnet.jaxb2_commons</groupId>
							<artifactId>jaxb2-basics-runtime</artifactId>
							<version>0.6.5</version>
						</plugin>
						<plugin>
							<groupId>com.github.krasa</groupId>
							<artifactId>krasa-jaxb-tools</artifactId>
							<version>${krasa-jaxb-tools.version}</version>
						</plugin>
					</plugins>
					<catalogs>
						<catalog>
							<dependencyResource>
								<groupId>eu.limetri.ygg</groupId>
								<artifactId>ygg-api</artifactId>
								<resource>catalog.cat</resource>
							</dependencyResource>
						</catalog>
					</catalogs>
					<episodes>
						<episode>
							<groupId>eu.limetri.ygg</groupId>
							<artifactId>ygg-api</artifactId>
						</episode>
					</episodes>
				</configuration>
				<executions>
					<execution>
						<id>generate-sy</id>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<args>
								<arg>-Xannotate</arg>
								<arg>-XtoString</arg>
								<arg>-Xfluent-api</arg>
								<arg>-Xinheritance</arg>
								<arg>-XJsr303Annotations</arg>
							</args>
							<schemaDirectory>src/main/resources/schema/domain/sy</schemaDirectory>
							<bindingDirectory>src/main/resources/schema/domain/sy</bindingDirectory>
							<generatePackage>eu.fispace.api.sy</generatePackage>
							<bindingIncludes>
								<bindingInclude>SYMessages.xjb</bindingInclude>
							</bindingIncludes>
						</configuration>
					</execution>
					<execution>
						<id>generate-dific</id>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<args>
								<arg>-Xannotate</arg>
								<arg>-XtoString</arg>
								<arg>-Xfluent-api</arg>
								<arg>-Xinheritance</arg>
								<arg>-XJsr303Annotations</arg>
							</args>
							<schemaDirectory>src/main/resources/schema/domain/dific</schemaDirectory>
							<bindingDirectory>src/main/resources/schema/domain/dific</bindingDirectory>
							<generatePackage>eu.fispace.api.dific</generatePackage>
							<bindingIncludes>
								<bindingInclude>DIFICMessages.xjb</bindingInclude>
							</bindingIncludes>
						</configuration>
					</execution>
					<execution>
						<!-- generate domain stuff -->
						<id>generate-ag</id>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<args>
								<arg>-Xannotate</arg>
								<arg>-XtoString</arg>
								<!-- <arg>-Xequals</arg> <arg>-XhashCode</arg> -->
								<arg>-Xfluent-api</arg>
								<arg>-Xinheritance</arg>
								<!-- reuse episode from first run that generated WorkLoad stuff -->
								<!--<arg>-b</arg> -->
								<!--<arg>${command.episode.file}</arg> -->

							</args>
							<schemaDirectory>src/main/resources/schema/domain/ag</schemaDirectory>
							<bindingDirectory>src/main/resources/schema/domain/ag</bindingDirectory>
							<generatePackage>eu.fispace.api.ag</generatePackage>
							<bindingIncludes>
								<bindingInclude>AGMessages.xjb</bindingInclude>
							</bindingIncludes>


							<!--load drmcrop catalog so it can find schema references in jar -->
							<catalogs>
								<catalog>
									<dependencyResource>
										<groupId>eu.limetri.ygg</groupId>
										<artifactId>ygg-api</artifactId>
										<resource>catalog.cat</resource>
									</dependencyResource>
								</catalog>
								<catalog>
									<dependencyResource>
										<groupId>org.drmcrop</groupId>
										<artifactId>drmcrop</artifactId>
										<resource>catalog.cat</resource>
									</dependencyResource>
								</catalog>
							</catalogs>
							<!-- automatically load episode file from drmcrop jar -->
							<useDependenciesAsEpisodes>true</useDependenciesAsEpisodes>
							<!-- alternatively load only episode file from drmcrop <episodes> 
								<episode> <groupId>eu.agrosense.api</groupId> <artifactId>drmcrop</artifactId> 
								</episode> </episodes> -->


						</configuration>
					</execution>
					<execution>
						<!-- generate domain stuff -->
						<id>generate-lg</id>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<args>
								<arg>-Xannotate</arg>
								<arg>-XtoString</arg>
								<!-- <arg>-Xequals</arg> <arg>-XhashCode</arg> -->
								<arg>-Xfluent-api</arg>
								<arg>-Xinheritance</arg>
								<!-- reuse episode from first run that generated WorkLoad stuff -->
								<!--<arg>-b</arg> -->
								<!--<arg>${command.episode.file}</arg> -->
							</args>
							<schemaDirectory>src/main/resources/schema/domain/lg</schemaDirectory>
							<bindingDirectory>src/main/resources/schema/domain/lg</bindingDirectory>
							<generatePackage>eu.fispace.api.lg</generatePackage>
							<bindingIncludes>
								<bindingInclude>LGMessages.xjb</bindingInclude>
							</bindingIncludes>
						</configuration>
					</execution>
					<execution>
						<id>generate-ail</id>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<args>
								<arg>-Xannotate</arg>
								<arg>-XtoString</arg>
								<!-- <arg>-Xequals</arg> <arg>-XhashCode</arg> -->
								<arg>-Xfluent-api</arg>
								<arg>-Xinheritance</arg>
								<!-- reuse episode from first run that generated WorkLoad stuff -->
								<!--<arg>-b</arg> -->
								<!--<arg>${command.episode.file}</arg> -->
								<arg>-XJsr303Annotations</arg>
							</args>
							<schemaDirectory>src/main/resources/schema/domain/ail</schemaDirectory>
							<bindingDirectory>src/main/resources/schema/domain/ail</bindingDirectory>
							<generatePackage>eu.fispace.api.ail</generatePackage>
							<bindingIncludes>
								<bindingInclude>AilMessages.xjb</bindingInclude>

							</bindingIncludes>
						</configuration>
					</execution>

					<execution>
						<!-- generate domain stuff -->
						<id>generate-pi</id>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<args>
								<arg>-Xannotate</arg>
								<arg>-XtoString</arg>
								<!-- <arg>-Xequals</arg> <arg>-XhashCode</arg> -->
								<arg>-Xfluent-api</arg>
								<arg>-Xinheritance</arg>
								<!-- reuse episode from first run that generated WorkLoad stuff -->
								<!--<arg>-b</arg> -->
								<!--<arg>${command.episode.file}</arg> -->
							</args>
							<schemaDirectory>src/main/resources/schema/domain/pi</schemaDirectory>
							<bindingDirectory>src/main/resources/schema/domain/pi</bindingDirectory>
							<generatePackage>eu.fispace.api.pi</generatePackage>
							<bindingIncludes>
								<bindingInclude>PIMessages.xjb</bindingInclude>
							</bindingIncludes>
						</configuration>
					</execution>
					<execution>
						<!-- generate domain stuff -->
						<id>generate-admin</id>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<args>
								<arg>-Xannotate</arg>
								<arg>-XtoString</arg>
								<!-- <arg>-Xequals</arg> <arg>-XhashCode</arg> -->
								<arg>-Xfluent-api</arg>
								<arg>-Xinheritance</arg>
								<!-- reuse episode from first run that generated WorkLoad stuff -->
								<!--<arg>-b</arg> -->
								<!--<arg>${command.episode.file}</arg> -->
								<arg>-XJsr303Annotations</arg>
							</args>
							<schemaDirectory>src/main/resources/schema/domain/admin</schemaDirectory>
							<bindingDirectory>src/main/resources/schema/domain/admin</bindingDirectory>
							<generatePackage>eu.fispace.api.admin</generatePackage>
							<bindingIncludes>
								<bindingInclude>AdminMessages.xjb</bindingInclude>
								<bindingInclude>StoreMessages.xjb</bindingInclude>
								<bindingInclude>EpmMessages.xjb</bindingInclude>
							</bindingIncludes>
						</configuration>
					</execution>
					<execution>
						<!-- generate domain stuff -->
						<id>generate-fi</id>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<args>
								<arg>-Xannotate</arg>
								<arg>-XtoString</arg>
								<!-- <arg>-Xequals</arg> <arg>-XhashCode</arg> -->
								<arg>-Xfluent-api</arg>
								<arg>-Xinheritance</arg>
								<!-- reuse episode from first run that generated WorkLoad stuff -->
								<!--<arg>-b</arg> -->
								<!--<arg>${command.episode.file}</arg> -->
							</args>
							<schemaDirectory>src/main/resources/schema/domain/fi</schemaDirectory>
							<bindingDirectory>src/main/resources/schema/domain/fi</bindingDirectory>
							<generatePackage>eu.fispace.api.fi</generatePackage>
						</configuration>
					</execution>
					<execution>
						<!-- generate domain stuff -->
						<id>generate-cb</id>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<args>
								<arg>-Xannotate</arg>
								<arg>-XtoString</arg>
								<!-- <arg>-Xequals</arg> <arg>-XhashCode</arg> -->
								<arg>-Xfluent-api</arg>
								<arg>-Xinheritance</arg>
								<!-- reuse episode from first run that generated WorkLoad stuff -->
								<!--<arg>-b</arg> -->
								<!--<arg>${command.episode.file}</arg> -->
							</args>
							<schemaDirectory>src/main/resources/schema/domain/cb</schemaDirectory>
							<bindingDirectory>src/main/resources/schema/domain/cb</bindingDirectory>
							<generatePackage>eu.fispace.api.cb</generatePackage>
							<bindingIncludes>
								<bindingInclude>CBMessages.xjb</bindingInclude>
							</bindingIncludes>
						</configuration>
					</execution>
					<execution>
						<id>generate-mip</id>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<args>
								<arg>-Xannotate</arg>
								<arg>-XtoString</arg>
								<arg>-Xfluent-api</arg>
								<arg>-Xinheritance</arg>
							</args>
							<schemaDirectory>src/main/resources/schema/domain/mip</schemaDirectory>
							<bindingDirectory>src/main/resources/schema/domain/mip</bindingDirectory>
							<generatePackage>eu.fispace.api.mip</generatePackage>
							<bindingIncludes>
								<bindingInclude>MipMessages.xjb</bindingInclude>
							</bindingIncludes>
						</configuration>
					</execution>
					<execution>
						<id>generate-tic</id>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<args>
								<arg>-Xannotate</arg>
								<arg>-XtoString</arg>
								<arg>-Xfluent-api</arg>
								<arg>-Xinheritance</arg>
							</args>
							<schemaDirectory>src/main/resources/schema/domain/tic</schemaDirectory>
							<bindingDirectory>src/main/resources/schema/domain/tic</bindingDirectory>
							<generatePackage>eu.fispace.api.tic</generatePackage>
							<bindingIncludes>
								<bindingInclude>TICMessages.xjb</bindingInclude>
							</bindingIncludes>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.9</version>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<additionalparam>-Xdoclint:none</additionalparam>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
