<project>
  <modelVersion>4.0.0</modelVersion>
  <name>jSLP-OSGi</name>
  <groupId>ch.ethz.iks.slp</groupId>
  <artifactId>jslp-osgi</artifactId>
  <version>1.1.0.RC1</version>
  <packaging>bundle</packaging>

	<url>http://jslp.sourceforge.net</url>

	<organization>
		<name>Systems Group, ETH Zurich</name>
		<url>http://www.systems.ethz.ch</url>
	</organization>

	<developers>
		<developer>
			<id>rjan</id>
			<name>Jan S. Rellermeyer</name>
			<email>rellermeyer_at_inf.ethz.ch</email>
			<url>http://people.inf.ethz.ch/rjan</url>
			<organization>Systems Group, ETH Zurich</organization>
			<organizationUrl>http://www.systems.ethz.ch</organizationUrl>
			<roles>
				<role>Project creator</role>
				<role>Researcher</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
		<developer>
			<id>lemmster</id>
			<name>Markus Alexander Kuppe</name>
			<email>jslp.sf.net_at_lemmster.de</email>
			<url>http://www.lemmster.de</url>
			<organization>Versant GmbH</organization>
			<organizationUrl>http://www.versant.com</organizationUrl>
			<roles>
				<role>Developer</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
	</developers>

	<licenses>
		<license>
			<name>BSD License</name>
			<distribution>repo</distribution>
			<url>src/main/resources/LICENSE.txt</url>
		</license>
	</licenses>    
	
	<scm>
		<connection>scm:svn:https://jslp.svn.sourceforge.net/svnroot/jslp</connection>
		<developerConnection>scm:svn:https://rjan@jslp.svn.sourceforge.net/svnroot/jslp</developerConnection>
		<url>http://jslp.svn.sourceforge.net/jslp</url>
	</scm>
    
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.2</version>
        <executions>
          <execution>
            <phase>integration-test</phase>
            <configuration>
              <tasks>
              	<property name="debug.suspend" value="n" />
              	<property name="debug.port" value="10044" />
              	<property name="jslp.port" value="10427" />
				<echo message="Compiling the unit test environment..."/>
				<mkdir dir="runtimeTests/target"/>
				<condition property="maven.executable" value="mvn.bat">
      				<os family="windows" />
    			</condition>
    			<property name="maven.executable" value="mvn" />
				<exec dir="runtimeTests" executable="${maven.home}/bin/${maven.executable}">
					<arg line="package"/>
				</exec>
				<delete dir="test/storage" quiet="true"/>
				<echo file="target/init.xargs" append="false">
					-Dorg.osgi.framework.system.packages=junit.framework,junit.textui
					-init
					-istart file:target/jslp-osgi-${pom.version}.jar
					-istart file:runtimeTests/target/jslp-test-${pom.version}.jar
				</echo>
				<java fork="true" classname="ch.ethz.iks.concierge.framework.Framework" failonerror="true" resultproperty="testresult">
					<classpath>
						<pathelement location="${maven.dependency.ch.ethz.iks.concierge.concierge.jar.path}"/>
						<pathelement location="${maven.dependency.junit.junit.jar.path}"/> 
					</classpath>
					<jvmarg value="-Dxargs=target/init.xargs"/>
					<jvmarg value="-Dnet.slp.port=${jslp.port}"/>
					<jvmarg value="-Dch.ethz.iks.concierge.log.level=4"/> <!-- LOG_DEBUG -->
					<jvmarg value="-Dch.ethz.iks.concierge.log.enabled=true"/>
					<jvmarg value="-Dch.ethz.iks.slp.debug=true" />
					<jvmarg value="-Dnet.slp.traceDATraffic=true" />
					<jvmarg value="-Dnet.slp.traceMsg=true" />
					<jvmarg value="-Dnet.slp.traceDrop=true" />
					<jvmarg value="-Dnet.slp.traceReg=true" />
					<jvmarg value="-Xrunjdwp:transport=dt_socket,address=${debug.port},server=y,suspend=${debug.suspend}" />
					<jvmarg value="-Xdebug" />
					<jvmarg value="-Dnet.slp.versionUnderTest=${pom.version}" />
				</java>
				<delete dir="test/storage" quiet="true"/>
				
				<!-- run integration tests with two instances running -->
				<get src="http://ecf2.osuosl.org/ch.ethz.iks.slp_1.1.0.v20090227-1900.jar" dest="target/ch.ethz.iks.slp_1.1.0.v20090227-1900.jar"/>

				<mkdir dir="target/configuration" />
				<echo file="target/configuration/config.ini" append="false">
					eclipse.ignoreApp=true
					eclipse.consoleLog=true
					osgi.bundles=file:${maven.dependency.org.eclipse.osgi.services.jar.path}@2:start, \
								 file:${maven.dependency.org.junit.jar.path}@start, \
								 file:${basedir}/target/ch.ethz.iks.slp_1.1.0.v20090227-1900.jar@start, \
								 file:${basedir}/target/jslp-osgi-${pom.version}.jar@start, \
								 file:${basedir}/runtimeTests/target/jslp-test-${pom.version}.jar@start
				</echo>
				<java fork="true" classname="org.eclipse.core.runtime.adaptor.EclipseStarter" failonerror="true" resultproperty="testresult2">
					<classpath>
						<pathelement location="${maven.dependency.org.eclipse.osgi.jar.path}"/>
					</classpath>
					<!-- osgi locations -->
					<jvmarg value="-Dosgi.configuration.area=target/configuration" />
					<!-- jSLP options -->
					<jvmarg value="-Dnet.slp.port=${jslp.port}"/>
					<jvmarg value="-Dch.ethz.iks.slp.debug=true" />
					<jvmarg value="-Dnet.slp.traceDATraffic=true" />
					<jvmarg value="-Dnet.slp.traceMsg=true" />
					<jvmarg value="-Dnet.slp.traceDrop=true" />
					<jvmarg value="-Dnet.slp.traceReg=true" />
					<jvmarg value="-Dnet.slp.versionUnderTest=${pom.version}" />
					<!-- enable remote debug mode -->
					<jvmarg value="-Xrunjdwp:transport=dt_socket,address=${debug.port},server=y,suspend=${debug.suspend}" />
					<jvmarg value="-Xdebug" />
					<jvmarg value="-noverify"/>
				</java>
				
				<!-- run integration tests with openslp running on 427 -->
			<!--
				<condition property="openslp.running">
				  <socket server="localhost" port="427"/>
				</condition>
				<fail message="An OpenSLP instance must be running on port 427" unless="openslp.running"/>
				<echo file="target/configuration/config.ini" append="false">
					eclipse.ignoreApp=true
					eclipse.consoleLog=true
					osgi.bundles=file:${maven.dependency.org.eclipse.osgi.services.jar.path}@2:start, \
								 file:${maven.dependency.org.junit.jar.path}@start, \
								 file:${basedir}/target/jslp-osgi-${pom.version}.jar@start, \
								 file:${basedir}/runtimeTests/target/jslp-test-${pom.version}.jar@start
				</echo>
				<java fork="true" classname="org.eclipse.core.runtime.adaptor.EclipseStarter" failonerror="true" resultproperty="testresult3">
					<classpath>
						<pathelement location="${maven.dependency.org.eclipse.osgi.jar.path}"/>
					</classpath>
					<jvmarg value="-Dosgi.configuration.area=target/configuration" />
					<jvmarg value="-Dnet.slp.port=427"/>
					<jvmarg value="-Dch.ethz.iks.slp.debug=true" />
					<jvmarg value="-Dnet.slp.traceDATraffic=true" />
					<jvmarg value="-Dnet.slp.traceMsg=true" />
					<jvmarg value="-Dnet.slp.traceDrop=true" />
					<jvmarg value="-Dnet.slp.traceReg=true" />
					<jvmarg value="-Dnet.slp.versionUnderTest=${pom.version}" />
					<jvmarg value="-Xrunjdwp:transport=dt_socket,address=${debug.port},server=y,suspend=${debug.suspend}" />
					<jvmarg value="-Xdebug" />
					<jvmarg value="-noverify"/>
				</java>
			-->
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
		    <groupId>org.apache.maven.plugins</groupId>
        	<artifactId>maven-compiler-plugin</artifactId>
          	<configuration>
	    		<source>1.2</source>
	    		<target>1.1</target>
	    		<optimize>true</optimize>
	    		<debug>false</debug>
	    	</configuration>
	  </plugin>
	  <!-- http://felix.apache.org/site/maven-bundle-plugin-bnd.html -->
      <plugin>
  	    <groupId>org.apache.felix</groupId>
    	<artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
	      	<instructions>
				<Include-Resource>{maven-resources}, {maven-dependencies}, target/classes</Include-Resource>
				<Bundle-Version>${pom.version}</Bundle-Version>
				<Bundle-Name>jslp-osgi</Bundle-Name>
				<Bundle-SymbolicName>ch.ethz.iks.slp</Bundle-SymbolicName>
				<Export-Package>ch.ethz.iks.slp;version=1.0.0</Export-Package>
				<_include>~META-INF/MANIFEST.MF</_include>
				<!-- BND just produces Bundle-ManifestVersion: 2 headers which we don't want -->
				<_removeheaders>Bundle-ManifestVersion</_removeheaders> 
    	  	</instructions>
        </configuration>
      </plugin>
    </plugins>
	<resources>
			<resource>
				<directory>src/main/resources</directory>
			</resource>
	    </resources>
    </build>
    
	<reporting>
    	<plugins>
  	       <plugin>
    	      <artifactId>maven-site-plugin</artifactId>
        	  <configuration>
          	     <templateFile>maven-site-jslp.vm</templateFile>
        	   </configuration>
   	    	</plugin>
      		<plugin>
        		<groupId>org.apache.maven.plugins</groupId>
        		<artifactId>maven-javadoc-plugin</artifactId>
				<configuration>
					<excludePackageNames>ch.ethz.iks.slp.impl,org.osgi.service.log</excludePackageNames>
				</configuration>
			</plugin>
    	</plugins>
  	</reporting>
  
  <dependencies>
		<dependency>
			<groupId>org.osgi</groupId>
			<artifactId>org.osgi</artifactId>
			<version>3.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
        	<groupId>junit</groupId>
         	<artifactId>junit</artifactId>
         	<version>3.8.1</version>
         	<scope>test</scope>
      	</dependency>
      	<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.0.4</version>
			<scope>provided</scope>
		</dependency>		
      	<dependency>
			<groupId>ch.ethz.iks.concierge</groupId>
			<artifactId>concierge</artifactId>
			<version>1.0_RC2</version>
			<scope>test</scope>
		</dependency>		
      	<dependency>
			<groupId>org.eclipse</groupId>
			<artifactId>osgi</artifactId>
			<version>3.3.0-v20070530</version>
			<scope>test</scope>
		</dependency>		
      	<dependency>
			<groupId>org.eclipse.osgi</groupId>
			<artifactId>services</artifactId>
			<version>3.1.200-v20070605</version>
			<scope>test</scope>
		</dependency>		
      	<dependency>
			<groupId>org.eclipse</groupId>
			<artifactId>osgi</artifactId>
			<version>3.3.0-v20070530</version>
			<scope>test</scope>
		</dependency>		
      	<dependency>
			<groupId>org.eclipse.osgi</groupId>
			<artifactId>services</artifactId>
			<version>3.1.200-v20070605</version>
			<scope>test</scope>
		</dependency>		
      	<dependency>
			<groupId>org</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.2-v200706111738</version>
			<scope>test</scope>
		</dependency>
   </dependencies>
   
  <repositories>
    <repository>
      <id>iks-repository</id>
      <name>ETH Zurich IKS Repository</name>
      <url>http://www.flowsgi.inf.ethz.ch/repository/maven2/</url>
    </repository>
    <repository>
      <id>Maven eclipse</id>
      <name>Eclipse Maven</name>
      <url>http://repo2.maven.org/eclipse/</url>
    </repository>
  </repositories> 
  <pluginRepositories>
    <pluginRepository>
      <id>iks-repository</id>
      <name>ETH Zurich IKS Repository</name>
      <url>http://www.flowsgi.inf.ethz.ch/repository/maven2/</url>
    </pluginRepository>  
  </pluginRepositories> 
  
  <distributionManagement>
    <site>
      <id>sourceforge-site</id>
      <url>scp://shell.sourceforge.net/home/groups/j/js/jslp/htdocs/</url>
    </site>
    <repository>
      <id>iks-snapshots</id>
      <name>ETH Zurich IKS Snapshots</name>
      <url>scp://flowsgi.inf.ethz.ch/repository/maven2</url>
    </repository>
  </distributionManagement>
</project>