<?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>net.onedaybeard.bitvector</groupId>
		<artifactId>bitvector-parent</artifactId>
		<version>0.1.4</version>
	</parent>
	<artifactId>bitvector-js</artifactId>
	<packaging>jar</packaging>
	<name>bitvector-js</name>

	<properties>
		<apidocs.path>${project.basedir}/target/dokka</apidocs.path>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.jetbrains.kotlin</groupId>
			<artifactId>kotlin-stdlib-js</artifactId>
		</dependency>

		<dependency>
			<groupId>org.jetbrains.kotlin</groupId>
			<artifactId>kotlin-test-js</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<id>unpack</id>
						<phase>compile</phase>
						<goals>
							<goal>unpack</goal>
						</goals>
						<configuration>
							<artifactItems>
								<artifactItem>
									<groupId>org.jetbrains.kotlin</groupId>
									<artifactId>kotlin-stdlib-js</artifactId>
									<version>${kotlin.version}</version>
									<outputDirectory>${project.build.directory}/test-classes/lib</outputDirectory>
									<includes>*.js</includes>
								</artifactItem>
							</artifactItems>
						</configuration>
					</execution>
					<execution>
						<id>unpack-test</id>
						<goals>
							<goal>unpack-dependencies</goal>
						</goals>
						<phase>test-compile</phase>
						<configuration>
							<includeScope>test</includeScope>
							<includeTypes>jar</includeTypes>
							<outputDirectory>${project.basedir}/target/test-classes/lib</outputDirectory>
							<includes>*.js</includes>
							<excludes>*.meta.js</excludes>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>default</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.jetbrains.kotlin</groupId>
						<artifactId>kotlin-maven-plugin</artifactId>
						<version>${kotlin.version}</version>
						<executions>
							<execution>
								<id>compile</id>
								<phase>compile</phase>
								<goals>
									<goal>js</goal>
								</goals>
								<configuration>
									<outputFile>${project.build.outputDirectory}/bitvector.js</outputFile>
									<sourceDirs>
										<sourceDir>${project.basedir}/../core/src/main/kotlin</sourceDir>
										<sourceDir>src/main/kotlin</sourceDir>
									</sourceDirs>
								</configuration>
							</execution>
							<execution>
								<id>test-compile</id>
								<phase>test-compile</phase>
								<goals>
									<goal>test-js</goal>
								</goals>
								<configuration>
									<sourceDirs>
										<sourceDir>${project.basedir}/../core/src/test/kotlin</sourceDir>
									</sourceDirs>
								</configuration>
							</execution>
						</executions>
						<configuration>
							<sourceMap>true</sourceMap>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.jetbrains.dokka</groupId>
						<artifactId>dokka-maven-plugin</artifactId>
						<version>${dokka.plugin.version}</version>
						<executions>
							<execution>
								<phase>prepare-package</phase>
								<goals>
									<goal>javadocJar</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<moduleName>${project.artifactId}-${project.version}</moduleName>
							<outputDir>${apidocs.path}</outputDir>
							<samplesDirs>
								<samplesDir>${project.basedir}/src/test/kotlin</samplesDir>
							</samplesDirs>
							<outputFormat>html</outputFormat>
							<sourceDirectories>
								<sourceDirectory>${project.basedir}/../core/src/main/kotlin</sourceDirectory>
								<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
							</sourceDirectories>
							<sourceLinks>
								<link>
									<url>https://github.com/junkdog/bitvector-kotlin/blob/master/src/main/kotlin</url>
								</link>
							</sourceLinks>
							<skip>${dokka.skip}</skip>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>impltest</id>
			<dependencies>
				<dependency>
					<groupId>org.jetbrains.kotlin</groupId>
					<artifactId>kotlin-stdlib-jre8</artifactId>
				</dependency>
				<dependency>
					<groupId>org.jetbrains.kotlin</groupId>
					<artifactId>kotlin-test</artifactId>
				</dependency>
			</dependencies>
			<build>
				<plugins>
					<plugin>
						<groupId>org.jetbrains.kotlin</groupId>
						<artifactId>kotlin-maven-plugin</artifactId>
						<version>${kotlin.version}</version>
						<executions>
							<execution>
								<id>compile</id>
								<phase>compile</phase>
								<goals>
									<goal>compile</goal>
								</goals>
								<configuration>
									<sourceDirs>
										<sourceDir>${project.basedir}/../core/src/main/kotlin</sourceDir>
										<sourceDir>src/main/kotlin</sourceDir>
									</sourceDirs>
								</configuration>
							</execution>
							<execution>
								<id>test-compile</id>
								<phase>test-compile</phase>
								<goals>
									<goal>test-compile</goal>
								</goals>
								<configuration>
									<sourceDirs>
										<sourceDir>${project.basedir}/../core/src/test/kotlin</sourceDir>
										<sourceDir>src/test/kotlin</sourceDir>
									</sourceDirs>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>release</id>
			<build>
				<plugins>
					<!-- marking sources for maven-source-plugin:jar -->
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>build-helper-maven-plugin</artifactId>
						<executions>
							<execution>
								<phase>generate-sources</phase>
								<goals>
									<goal>add-source</goal>
								</goals>
								<configuration>
									<sources>
										<source>${project.basedir}/../core/src/main/kotlin</source>
										<source>${project.basedir}/src/main/kotlin</source>
									</sources>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
