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

	<artifactId>lightning-csv</artifactId>
	<packaging>bundle</packaging>

	<parent>
		<groupId>org.simpleflatmapper</groupId>
		<artifactId>sfm-parent</artifactId>
		<version>6.0.1</version>
	</parent>

	<description>Java library to map flat record - ResultSet, csv - to java object with minimum configuration and low footprint.</description>

	<developers>
		<developer>
			<id>arnaudroger</id>
			<name>Arnaud Roger</name>
			<email>arnaud.roger@gmail.com</email>
		</developer>
	</developers>

	<licenses>
		<license>
			<name>The MIT License (MIT)</name>
			<url>http://opensource.org/licenses/MIT</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<dependencies>
		<dependency>
			<groupId>org.simpleflatmapper</groupId>
			<artifactId>ow2-asm</artifactId>
			<version>6.2</version>
		</dependency>
		<dependency>
			<groupId>org.simpleflatmapper</groupId>
			<artifactId>sfm-util</artifactId>
			<version>6.0.1</version>
			<classifier>${jar.classifier}</classifier>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
    </dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<extensions>true</extensions>
				<version>2.5.4</version>
				<configuration>
					<classifier>${jar.classifier}</classifier>
					<instructions>
						<Export-Package>org.simpleflatmapper.lightningcsv,org.simpleflatmapper.lightningcsv.parser</Export-Package>
						<Import-Package>
							org.simpleflatmapper.*
						</Import-Package>
					</instructions>
					<archive>
						<manifestEntries>
							<Automatic-Module-Name>org.simpleflatmapper.lightningcsv</Automatic-Module-Name>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<profiles>
		<profile>
			<id>travis</id>
			<activation>
				<property>
					<name>env.TRAVIS</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.jacoco</groupId>
						<artifactId>jacoco-maven-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>jdk16</id>
			<activation>
				<jdk>[1.6,1.8)</jdk>
			</activation>

			<dependencies>
				<dependency>
					<groupId>org.simpleflatmapper</groupId>
					<artifactId>ow2-asm</artifactId>
					<version>5.2</version>
				</dependency>
			</dependencies>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-compiler-plugin</artifactId>
					</plugin>
					<plugin>
						<groupId>com.google.code.maven-replacer-plugin</groupId>
						<artifactId>replacer</artifactId>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-compiler-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
		</profile>
		
		<profile>
			<id>jdk18</id>
			<activation>
				<jdk>1.8</jdk>
			</activation>

			<dependencies>
				<dependency>
					<groupId>org.jooq</groupId>
					<artifactId>jool</artifactId>
					<version>0.9.12</version>
					<optional>true</optional>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>com.boundary</groupId>
					<artifactId>fasttuple-core</artifactId>
					<version>0.1</version>
					<optional>true</optional>
					<scope>test</scope>
				</dependency>
			</dependencies>
		</profile>

		<profile>
			<id>jdk19</id>
			<activation>
				<jdk>[9,11]</jdk>
			</activation>
			<dependencies>
				<dependency>
					<groupId>org.jooq</groupId>
					<artifactId>jool</artifactId>
					<version>0.9.12</version>
					<optional>true</optional>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>com.boundary</groupId>
					<artifactId>fasttuple-core</artifactId>
					<version>0.1</version>
					<optional>true</optional>
					<scope>test</scope>
				</dependency>
			</dependencies>

			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-compiler-plugin</artifactId>

						<executions>
							<execution>
								<id>default-testCompile</id>
								<phase>test-compile</phase>
								<configuration>
									<fork>true</fork>
									<compilerArgs>
										<arg>--add-exports</arg>
										<arg>org.simpleflatmapper.lightningcsv/org.simpleflatmapper.lightningcsv.mapper=org.simpleflatmapper.lightningcsv.test</arg>
										<arg>--add-exports</arg>
										<arg>org.simpleflatmapper.lightningcsv/org.simpleflatmapper.lightningcsv.impl=org.simpleflatmapper.lightningcsv.test</arg>
										<arg>--add-exports</arg>
										<arg>org.simpleflatmapper.lightningcsv/org.simpleflatmapper.lightningcsv.impl.cellreader=org.simpleflatmapper.lightningcsv.test</arg>
										<arg>--add-exports</arg>
										<arg>org.simpleflatmapper.lightningcsv/org.simpleflatmapper.lightningcsv.impl.primitive=org.simpleflatmapper.lightningcsv.test</arg>
										<arg>--add-exports</arg>
										<arg>org.simpleflatmapper.lightningcsv/org.simpleflatmapper.lightningcsv.impl.writer=org.simpleflatmapper.lightningcsv.test</arg>
										<arg>--add-exports</arg>
										<arg>org.simpleflatmapper.lightningcsv/org.simpleflatmapper.lightningcsv.parser=org.simpleflatmapper.lightningcsv.test</arg>
									</compilerArgs>
								</configuration>
								<goals>
									<goal>testCompile</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-plugin</artifactId>
						<version>2.20.1</version>
						<dependencies>
							<dependency>
								<groupId>org.apache.maven.surefire</groupId>
								<artifactId>maven-surefire-common</artifactId>
								<version>2.20.1-pj10</version>
							</dependency>
						</dependencies>
						<configuration>
							<argLine>--add-opens java.base/java.lang=ALL-UNNAMED</argLine>
						</configuration>
					</plugin>
				</plugins>

			</build>
		</profile>

	</profiles>
</project>
