<!--

    Copyright (C) 2009-2013 Barchart, Inc. <http://www.barchart.com />

    All rights reserved. Licensed under the OSI BSD License.

    http://www.opensource.org/licenses/bsd-license.php

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

	<parent>
		<groupId>com.barchart.udt</groupId>
		<artifactId>barchart-udt-archon</artifactId>
		<version>2.3.0</version>
		<relativePath>../barchart-udt-archon</relativePath>
	</parent>

	<artifactId>barchart-udt-bundle</artifactId>
	<packaging>bundle</packaging>

	<description>Barchart UDT [ BUNDLE ]</description>
	<url>https://github.com/barchart/barchart-udt/wiki</url>

	<scm>
		<url>https://github.com/barchart/barchart-udt</url>
	    <connection>scm:git:git@github.com:barchart/barchart-udt.git</connection>
    	<developerConnection>scm:git:git@github.com:barchart/barchart-udt.git</developerConnection>
		<tag>barchart-udt-2.3.0</tag>
	</scm>

	<properties>

		<!-- bundle origin artifacts -->
		<dependencyGroupId>com.barchart.udt</dependencyGroupId>
		<dependencyArtifactId>barchart-udt-core</dependencyArtifactId>
		<dependencyVersion>${snapshotVersion}</dependencyVersion>

		<!-- unpack folder -->
		<dependencyUnpack>${basedir}/target/nar-all</dependencyUnpack>

	</properties>

	<build>

		<plugins>

		</plugins>

	</build>

	<profiles>

		<!-- Collect jar and multi-arch/os nar into a single bundle. -->
		<profile>

			<id>package-bundle</id>

			<properties>
				<attachFolder>${basedir}/target</attachFolder>
				<attachPrefix>${project.artifactId}-${project.version}</attachPrefix>
			</properties>

			<build>

				<plugins>
				
					<!-- Don not generate javadoc. -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<configuration>
							<skip>true</skip>
						</configuration>
					</plugin>

					<!-- Don not generate sources. -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<configuration>
							<skipSource>true</skipSource>
						</configuration>
					</plugin>

					<!-- Collect jar and lib. -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-dependency-plugin</artifactId>
						<executions>

							<!-- Make local copy of all bundle resources. -->
							<execution>
								<id>bundle-unpack-items</id>
								<phase>generate-sources</phase>
								<goals>
									<goal>unpack</goal>
								</goals>
								<configuration>
									<excludeTransitive>true</excludeTransitive>
									<excludes>META-INF/</excludes>
									<outputDirectory>${dependencyUnpack}</outputDirectory>
									<overWriteIfNewer>true</overWriteIfNewer>
									<overWriteReleases>true</overWriteReleases>
									<overWriteSnapshots>true</overWriteSnapshots>
									<artifactItems>

										<!-- Collect java classes. -->
										<artifactItem>
											<groupId>${dependencyGroupId}</groupId>
											<artifactId>${dependencyArtifactId}</artifactId>
											<version>${dependencyVersion}</version>
											<type>jar</type>
											<outputDirectory>${basedir}/target/classes</outputDirectory>
										</artifactItem>

										<!-- Collect native libraries. -->
										<artifactItem>
											<groupId>${dependencyGroupId}</groupId>
											<artifactId>${dependencyArtifactId}</artifactId>
											<version>${dependencyVersion}</version>
											<classifier>${arm}</classifier>
											<type>nar</type>
										</artifactItem>
										<artifactItem>
											<groupId>${dependencyGroupId}</groupId>
											<artifactId>${dependencyArtifactId}</artifactId>
											<version>${dependencyVersion}</version>
											<classifier>${lin32}</classifier>
											<type>nar</type>
										</artifactItem>
										<artifactItem>
											<groupId>${dependencyGroupId}</groupId>
											<artifactId>${dependencyArtifactId}</artifactId>
											<version>${dependencyVersion}</version>
											<classifier>${lin64}</classifier>
											<type>nar</type>
										</artifactItem>
										<artifactItem>
											<groupId>${dependencyGroupId}</groupId>
											<artifactId>${dependencyArtifactId}</artifactId>
											<version>${dependencyVersion}</version>
											<classifier>${mac32}</classifier>
											<type>nar</type>
										</artifactItem>
										<artifactItem>
											<groupId>${dependencyGroupId}</groupId>
											<artifactId>${dependencyArtifactId}</artifactId>
											<version>${dependencyVersion}</version>
											<classifier>${mac64}</classifier>
											<type>nar</type>
										</artifactItem>
										<artifactItem>
											<groupId>${dependencyGroupId}</groupId>
											<artifactId>${dependencyArtifactId}</artifactId>
											<version>${dependencyVersion}</version>
											<classifier>${win32}</classifier>
											<type>nar</type>
										</artifactItem>
										<artifactItem>
											<groupId>${dependencyGroupId}</groupId>
											<artifactId>${dependencyArtifactId}</artifactId>
											<version>${dependencyVersion}</version>
											<classifier>${win64}</classifier>
											<type>nar</type>
										</artifactItem>

									</artifactItems>
								</configuration>
							</execution>

							<!-- Make local copy of javadoc and sources. -->
							<execution>
								<id>bundle-copy-docs</id>
								<phase>generate-resources</phase>
								<goals>
									<goal>copy</goal>
								</goals>
								<configuration>
									<artifactItems>
										<artifactItem>
											<groupId>${dependencyGroupId}</groupId>
											<artifactId>${dependencyArtifactId}</artifactId>
											<version>${dependencyVersion}</version>
											<classifier>javadoc</classifier>
											<type>jar</type>
											<destFileName>${attachPrefix}-javadoc.jar</destFileName>
										</artifactItem>
										<artifactItem>
											<groupId>${dependencyGroupId}</groupId>
											<artifactId>${dependencyArtifactId}</artifactId>
											<version>${dependencyVersion}</version>
											<classifier>sources</classifier>
											<type>jar</type>
											<destFileName>${attachPrefix}-sources.jar</destFileName>
										</artifactItem>
									</artifactItems>
									<outputDirectory>${attachFolder}</outputDirectory>
									<overWriteIfNewer>true</overWriteIfNewer>
									<overWriteReleases>true</overWriteReleases>
									<overWriteSnapshots>true</overWriteSnapshots>
								</configuration>
							</execution>

						</executions>
					</plugin>

					<!-- Attach existing core javadoc and sources jars to the bundle. -->
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>build-helper-maven-plugin</artifactId>
						<executions>
							<execution>
								<id>bundle-attach-docs</id>
								<phase>package</phase>
								<goals>
									<goal>attach-artifact</goal>
								</goals>
								<configuration>
									<artifacts>
										<artifact>
											<classifier>javadoc</classifier>
											<file>${attachFolder}/${attachPrefix}-javadoc.jar</file>
										</artifact>
										<artifact>
											<classifier>sources</classifier>
											<file>${attachFolder}/${attachPrefix}-sources.jar</file>
										</artifact>
									</artifacts>
								</configuration>
							</execution>
						</executions>
					</plugin>

					<!-- Generate OSGI bundle manifest. -->
					<plugin>
						<groupId>org.apache.felix</groupId>
						<artifactId>maven-bundle-plugin</artifactId>
						<configuration>
							<instructions>
								<_removeheaders>
									Include-Resource,
									Private-Package,
								</_removeheaders>
								<Include-Resource>
									${dependencyUnpack},
									${basedir}/target/classes,
								</Include-Resource>
								<Bundle-DocURL>${project.url}</Bundle-DocURL>
							</instructions>
						</configuration>
					</plugin>

				</plugins>

			</build>
		</profile>

	</profiles>

</project>
