<!--
  ~ Copyright (c) 2017 CEA.
  ~ All rights reserved. This program and the accompanying materials
  ~ are made available under the terms of the Eclipse Public License v1.0
  ~ which accompanies this distribution, and is available at
  ~ http://www.eclipse.org/legal/epl-v10.html
  ~
  ~ Contributors:
  ~    CEA - initial API and implementation
  -->

<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.eclipse.sensinact.gateway.nthbnd</groupId>
		<artifactId>parent</artifactId>
		<version>2.0-SNAPSHOT</version>
	</parent>

	<artifactId>http-tools</artifactId>
	<packaging>bundle</packaging>

	<name>sensiNact IoT Gateway - HTTP Forwarding and Callback Factories</name>

	<dependencies>
		<dependency>
			<groupId>org.eclipse.sensinact.gateway</groupId>
			<artifactId>sensinact-utils</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.eclipse.sensinact.gateway</groupId>
			<artifactId>sensinact-common</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.eclipse.sensinact.gateway</groupId>
			<artifactId>sensinact-core</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.eclipse.sensinact.gateway.nthbnd</groupId>
			<artifactId>sensinact-northbound-access</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.eclipse.sensinact.gateway.protocol</groupId>
			<artifactId>http</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>
		<!--
		<dependency>
			<groupId>org.eclipse.sensinact.gateway.sthbnd.http</groupId>
			<artifactId>http-device</artifactId>
			<version>${project.version}</version>
			<scope>provided</scope>
		</dependency>
		-->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.felix</groupId>
			<artifactId>org.apache.felix.http.jetty</artifactId>
			<version>3.0.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.felix</groupId>
			<artifactId>org.apache.felix.main</artifactId>
			<version>${felix.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
	    	<groupId>org.eclipse.sensinact.gateway.tools</groupId>
	    	<artifactId>sensinact-test</artifactId>
	        <version>${project.version}</version>
			<scope>test</scope>
		</dependency>	
		<dependency>
			<groupId>org.skyscreamer</groupId>
			<artifactId>jsonassert</artifactId>
			<version>1.2.3</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.eclipse.sensinact.gateway.simulated.devices</groupId>
			<artifactId>slider</artifactId>
			<version>${project.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.eclipse.sensinact.gateway.simulated.devices</groupId>
			<artifactId>light</artifactId>
			<version>${project.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	
	<build>
		<plugins>
		            
			<plugin>
			    <groupId>org.apache.maven.plugins</groupId>
			    <artifactId>maven-antrun-plugin</artifactId>
			    <version>1.8</version>
			    <executions>
			        <execution>
			            <id>createClassesDir</id>
			            <phase>test-compile</phase>
			            <configuration>
			                <target>
			                    <mkdir dir="${project.build.directory}/felix/tmp" />
			                    <mkdir dir="${project.build.directory}/extra-test-classes" />
			                    <mkdir dir="${project.build.directory}/extra-test-classes2" />
		                	    <javac fork="true" executable="${env.JAVA_HOME}/bin/javac"
		                	     srcdir="${project.basedir}/extra-src/test/java" 
		                	     destdir="${project.basedir}/target/extra-test-classes">
   									<classpath refid="maven.test.classpath"/>
   								</javac>
		                	    <javac fork="true" executable="${env.JAVA_HOME}/bin/javac"
		                	     srcdir="${project.basedir}/extra-src2/test/java" 
		                	     destdir="${project.basedir}/target/extra-test-classes2">
   									<classpath refid="maven.test.classpath"/>
   								</javac>
			                </target>
			            </configuration>
			            <goals>
			                <goal>run</goal>
			            </goals>
			        </execution>
			    </executions>
			</plugin>
			<plugin>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<classpathDependencyScopeExclude>provided</classpathDependencyScopeExclude>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.surefire</groupId>
						<artifactId>common-junit48</artifactId>
						<version>2.18.1</version>
					</dependency>
				</dependencies>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>2.8</version>
				<executions>
					<execution>
						<goals>
							<goal>copy</goal>
						</goals>
						<phase>generate-test-resources</phase>
						<configuration>
							<artifactItems>
								<artifactItem>
									<groupId>org.apache.felix</groupId>
									<artifactId>org.apache.felix.fileinstall</artifactId>
									<version>${felix.fileinstall.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>org.apache.felix.fileinstall.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.apache.felix</groupId>
									<artifactId>org.apache.felix.configadmin</artifactId>
									<version>${felix.configadmin.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>org.apache.felix.configadmin.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.osgi</groupId>
									<artifactId>org.osgi.compendium</artifactId>
									<version>${osgi.compendium.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>org.osgi.compendium.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.apache.felix</groupId>
									<artifactId>org.apache.felix.framework.security</artifactId>
									<version>2.4.0</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>org.apache.felix.framework.security.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.eclipse.sensinact.gateway</groupId>
									<artifactId>sensinact-utils</artifactId>
									<version>${project.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>sensinact-utils.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.eclipse.sensinact.gateway</groupId>
									<artifactId>sensinact-common</artifactId>
									<version>${project.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>sensinact-common.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.eclipse.sensinact.gateway</groupId>
									<artifactId>sensinact-datastore-api</artifactId>
									<version>${project.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>sensinact-datastore-api.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.eclipse.sensinact.gateway</groupId>
									<artifactId>sensinact-core</artifactId>
									<version>${project.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>sensinact-core.jar</destFileName>
								</artifactItem>
                                <artifactItem>
                                    <groupId>org.eclipse.sensinact.gateway</groupId>
                                    <artifactId>sensinact-signature-validator</artifactId>
                                    <version>${project.version}</version>
                                    <outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
                                    <destFileName>sensinact-signature-validator.jar</destFileName>
                                </artifactItem>
								<artifactItem>
									<groupId>org.eclipse.sensinact.gateway</groupId>
									<artifactId>sensinact-framework-extension</artifactId>
									<version>${project.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>sensinact-framework-extension.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.eclipse.sensinact.gateway</groupId>
									<artifactId>sensinact-security-none</artifactId>
									<version>${project.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>sensinact-security-none.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.eclipse.sensinact.gateway.tools</groupId>
									<artifactId>sensinact-test-configuration</artifactId>
									<version>${project.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>sensinact-test-configuration.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.eclipse.sensinact.gateway</groupId>
									<artifactId>sensinact-generic</artifactId>
									<version>${project.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>sensinact-generic.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.eclipse.sensinact.gateway.nthbnd</groupId>
									<artifactId>sensinact-northbound-access</artifactId>
									<version>${project.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>sensinact-northbound-access.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.eclipse.sensinact.gateway.nthbnd</groupId>
									<artifactId>rest-access</artifactId>
									<version>${project.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>rest-access.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.eclipse.sensinact.gateway.protocol</groupId>
									<artifactId>http</artifactId>
									<version>${project.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>http.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>javax.servlet</groupId>
									<artifactId>javax.servlet-api</artifactId>
									<version>3.1.0</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>javax.servlet-api.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.apache.felix</groupId>
									<artifactId>org.apache.felix.http.api</artifactId>
									<version>2.3.2</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>org.apache.felix.http.api.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.apache.felix</groupId>
									<artifactId>org.apache.felix.http.jetty</artifactId>
									<version>3.0.0</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>org.apache.felix.http.jetty.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.eclipse.sensinact.gateway.simulated.devices</groupId>
									<artifactId>slider</artifactId>
									<version>${project.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>slider.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.eclipse.sensinact.gateway.simulated.devices</groupId>
									<artifactId>light</artifactId>
									<version>${project.version}</version>
									<outputDirectory>${project.build.directory}/felix/bundle</outputDirectory>
									<destFileName>light.jar</destFileName>
								</artifactItem>
							</artifactItems>
						</configuration>
					</execution>
				</executions>
				<extensions>true</extensions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<version>1.8</version>
				<executions>
					<execution>
						<phase>generate-test-resources</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<tasks>
								<echo>Copying keystore.jks</echo>
								<copy file="../../sensinact-security/cert/keystore.jks"
									  tofile="${project.build.directory}/felix/bundle/keystore.jks"/>
							</tasks>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<extensions>true</extensions>
				<configuration>
					<instructions>
						<Bundle-Activator>
							org.eclipse.sensinact.gateway.nthbnd.http.tools.osgi.Activator
						</Bundle-Activator>
						<Export-Package>
							<!--   org.eclipse.sensinact.gateway.nthbnd.http.tools,-->
							org.eclipse.sensinact.gateway.nthbnd.http.tools.osgi,
							org.eclipse.sensinact.gateway.nthbnd.http.forward,
							org.eclipse.sensinact.gateway.nthbnd.http.callback
						</Export-Package>
						<Include-Resource>
							about.html
						</Include-Resource>
					</instructions>
				</configuration>				               								
				<executions>
					<execution>
						<goals>
							<goal>manifest</goal>
						</goals>
						<phase>generate-test-resources</phase>
						<configuration>
							<manifestLocation>${project.basedir}/target/generated-test-sources/META-INF</manifestLocation>
							<instructions>
								<_noee>true</_noee>
								<_exportcontents>*</_exportcontents>
								<_nouses>true</_nouses>
							</instructions>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>
