<?xml version="1.0" encoding="UTF-8"?>
<!--
// ========================================================================
// Copyright (c) 2009 Intalio, Inc.
// 
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// and Apache License v2.0 which accompanies this distribution.
// The Eclipse Public License is available at 
// http://www.eclipse.org/legal/epl-v10.html
// The Apache License v2.0 is available at
// http://www.opensource.org/licenses/apache2.0.php
// You may elect to redistribute this code under either of these licenses. 
// Contributors:
//    Hugues Malphettes - initial API and implementation
// ========================================================================
-->
<project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>jetty-osgi</artifactId>
    <groupId>org.eclipse.jetty.osgi</groupId>
    <version>7.5.1-SNAPSHOT</version>
    <relativePath>../../pom.xml</relativePath>
  </parent>
  <artifactId>org.eclipse.jetty.product</artifactId>
  <packaging>eclipse-repository</packaging>
  <description>Prototype: Eclipse Product for Jetty-Equinox, P2 able</description>
	<properties>
	    <tycho.updatesite.with.jre>true</tycho.updatesite.with.jre>
	    <tycho.publisher.with.statsUri>http://download.eclipse.org/stats</tycho.publisher.with.statsUri>
            <tycho.publisher.with.statsTrackedBundleIDs>org.eclipse.jetty.sdk,org.eclipse.jetty.starterkit.sdk,org.eclipse.jetty.starterkit,org.eclipse.jetty.tooling,org.eclipse.pde.junit4.runtime.addon,org.eclipse.pde.junit4.runtime.standalone</tycho.publisher.with.statsTrackedBundleIDs>
	</properties>
  <build>
    <extensions>
	    <extension>
		    <groupId>org.apache.maven.wagon</groupId>
		    <artifactId>wagon-ssh-external</artifactId>
		    <version>1.0-beta-6</version>
	    </extension>
    </extensions>
  </build>
	<profiles>
    <profile>
     <id>packAndSign</id>
      <activation>
        <property>
          <name>pack-and-sign</name>
          <value>true</value>
        </property>
      </activation>
      <build>
       <plugins>
         <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>zip-repository</id>
                <phase>generate-test-sources</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <tasks>
                    <zip destfile="${project.build.directory}/repository.zip" basedir="${project.build.directory}/repository/"/>
                  </tasks>
                </configuration>
              </execution>
              <execution>
                 <id>replace-unsigned-repository-by-signed-one</id>
                 <phase>prepare-package</phase>
                 <goals>
                   <goal>run</goal>
                 </goals>
                 <configuration>
                   <tasks>
                     <move file="${project.build.directory}/repository" tofile="${project.build.directory}/repository-not-signed"/>
                     <move file="${project.build.directory}/checksumFix" tofile="${project.build.directory}/repository"/>
                   </tasks>
                 </configuration>
              </execution>
              <!-- Somehow this never worked. Replaced by a shell script executed at the end of the build. -->
              <!--execution>
                <id>deploy</id>
                <phase>verify</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <tasks>
                    <delete includeemptydirs="false">
                      <fileset
                        dir="/home/data/httpd/download.eclipse.org/jetty/updates/${p2-install-parent-folder-name}/${p2-install-folder-name}">
                        <include name="**" />
                      </fileset>
                    </delete>
                    <mkdir dir="/home/data/httpd/download.eclipse.org/jetty/updates/${p2-install-parent-folder-name}/${p2-install-folder-name}"/>
                    <copy includeemptydirs="false"
                      todir="/home/data/httpd/download.eclipse.org/jetty/updates/${p2-install-parent-folder-name}/${p2-install-folder-name}">
                      <fileset dir="target/repository">
                        <include name="**" />
                      </fileset>
                    </copy>
                  </tasks>
                </configuration>
              </execution-->
           </executions>
         </plugin>
         <plugin>
           <groupId>org.eclipse.dash.maven</groupId>
           <artifactId>eclipse-signing-maven-plugin</artifactId>
           <version>${signing-plugin-version}</version>
           <executions>
             <execution>
               <id>pack</id>
               <configuration>
                 <inputFile>${project.build.directory}/repository.zip</inputFile>
               </configuration>
               <phase>generate-test-resources</phase>
               <goals>
                 <goal>pack</goal>
               </goals>
             </execution>
             <execution>
               <id>sign</id>
               <configuration>
                 <inputFile>${project.build.directory}/packed/repository.zip</inputFile>
                 <signerInputDirectory>/home/data/httpd/download-staging.priv/rt/jetty/wksigning</signerInputDirectory>
               </configuration>
               <phase>generate-test-resources</phase>
               <goals>
                 <goal>sign</goal>
               </goals>
             </execution>
             <execution>
               <id>repack</id>
               <configuration>
                 <inputFile>${project.build.directory}/signed/site_assembly.zip</inputFile>
               </configuration>
               <phase>generate-test-resources</phase>
               <goals>
                 <goal>pack</goal>
               </goals>
             </execution>
						<!-- signing and pack alters tycho checksums so fix them -->
             <execution>
               <id>fixCheckSums</id>
               <configuration>
                 <inputFile>${project.build.directory}/packed/site_assembly.zip</inputFile>
               </configuration>
               <phase>generate-test-resources</phase>
               <goals>
                 <goal>fixCheckSums</goal>
               </goals>
             </execution>
           </executions>
         </plugin>
        </plugins>
       </build>
     </profile>
		<profile>
			<id>packAndSignRemote</id>
			<build>
				<plugins>
					<plugin>
					      <groupId>org.sonatype.tycho</groupId>
					      <artifactId>tycho-p2-publisher-director</artifactId>
					      <version>${tycho-version}</version>
					      <configuration>
						<compress>true</compress>
						<pack200>true</pack200>
						<recreateRepository>true</recreateRepository>
						<signedAndRepackedTargetRepository>${project.build.directory}/packed/${project.artifactId}-${project.version}.zip</signedAndRepackedTargetRepository>
	<statsURI>http://download.eclipse.org/stats/helios/</statsURI>
	<statsTrackedArtifacts>org.eclipse.jetty.server,org.eclipse.jetty.osgi.pde.templates,org.eclipse.pde.junit.runtime.standalone,org.eclipse.pde.junit.runtime.addon</statsTrackedArtifacts>
	<packExclude>plugins/org.sat4j.core_*.jar,plugins/org.sat4j.pb_*.jar,plugins/org.eclipse.jdt.core.compiler.batch*.jar</packExclude>
					      </configuration>
					</plugin>
					<plugin>
						<groupId>org.mortbay.jetty.toolchain</groupId>
						<artifactId>eclipse-signing-maven-plugin</artifactId>
						<version>1.0-SNAPSHOT</version>
						<executions>
						<!--  example of executing locally for pack >
							<execution>
								<id>pack</id>
								<configuration>
								    <execute>remote</execute>
									<wagonProtocol>scpexe://</wagonProtocol>
									<wagonHost>build.eclipse.org</wagonHost>
									<wagonPath>/home/data/users/jmcconnell</wagonPath>
									<serverId>jetty.eclipse.website</serverId>
									<inputFile>${project.build.directory}/${project.artifactId}-${project.version}.zip</inputFile>
								</configuration>
								<phase>prepare-package</phase>
								<goals>
									<goal>pack</goal>
								</goals>
							</execution-->
							<execution>
								<id>pack</id>
								<configuration>
								    <execute>local</execute>
        <!-- we don't need the wagon* but it keeps complaining -->
        <serverId>jetty.eclipse.website</serverId>
        <wagonProtocol>scpexe://</wagonProtocol>
        <wagonHost>build.eclipse.org</wagonHost>
        <wagonPath>/home/data/httpd/download-staging.priv/rt/jetty</wagonPath>
								    <pack200>${pathToPack200ParentFolder}</pack200>
								    <inputFile>${project.build.directory}/repository</inputFile>
	<packExclude>plugins/org.sat4j.core_*.jar,plugins/org.sat4j.pb_*.jar,plugins/org.eclipse.jdt.core.compiler.batch*.jar</packExclude>
								</configuration>
								<phase>prepare-package</phase>
								<goals>
									<goal>pack</goal>
								</goals>
							</execution>
							
						<!-- the sign remote -->
							<execution>
								<id>sign</id>
								<configuration>
									<execute>remote</execute>
									<wagonProtocol>scpexe://</wagonProtocol>
									<wagonHost>build.eclipse.org</wagonHost>
									<wagonPath>/home/data/httpd/download-staging.priv/rt/jetty</wagonPath>
									<serverId>jetty.eclipse.website</serverId>
									<inputFile>${project.build.directory}/packed/${project.artifactId}-${project.version}.zip</inputFile>
								</configuration>
								<phase>prepare-package</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						<!-- example of remote pack >
							<execution>
								<id>repack</id>
								<configuration>
									<execute>remote</execute>
									<wagonProtocol>scpexe://</wagonProtocol>
									<wagonHost>build.eclipse.org</wagonHost>
									<wagonPath>/home/data/users/jmcconnell</wagonPath>
									<serverId>jetty.eclipse.website</serverId>
									<inputFile>${project.build.directory}/signed/${project.artifactId}-${project.version}.zip</inputFile>
								</configuration>
								<phase>prepare-package</phase>
								<goals>
									<goal>pack</goal>
								</goals>
							</execution-->
							<execution>
								<id>repack</id>
								<configuration>
									<execute>local</execute>
        <!-- we don't need the wagon* but it keeps complaining -->
        <serverId>jetty.eclipse.website</serverId>
        <wagonProtocol>scpexe://</wagonProtocol>
        <wagonHost>build.eclipse.org</wagonHost>
        <wagonPath>/home/data/httpd/download-staging.priv/rt/jetty</wagonPath>
									<pack200>${pathToPack200ParentFolder}</pack200>
									<inputFile>${project.build.directory}/signed/${project.artifactId}-${project.version}.zip</inputFile>
								</configuration>
								<phase>prepare-package</phase>
								<goals>
									<goal>pack</goal>
								</goals>
							</execution>
						<!-- signing and pack alters tycho checksums so fix them -->
						<!-- now taken care of by the RecreateRepositoryApplication at the beginning of the package phase -->
						<!--	<execution>
								<id>fixCheckSums</id>
								<configuration>
									<inputFile>${project.build.directory}/packed/${project.artifactId}-${project.version}.zip</inputFile>
									<outputFile>${project.build.directory}/${project.artifactId}-${project.version}.zip</outputFile>
									<artifactsXml>${project.build.directory}/checksumFix/${project.artifactId}-${project.version}/repository/artifacts.xml</artifactsXml>
								</configuration>
								<phase>prepare-package</phase>
								<goals>
									<goal>fixCheckSums</goal>
								</goals>
							</execution>
						-->
						<!-- promote the release somewhere -->
							<execution>
								<id>promoteSite</id>
								<configuration>
									<wagonProtocol>scpexe://</wagonProtocol>
									<wagonHost>build.eclipse.org</wagonHost>
									<!--wagonPath>/home/www/jetty/nightly</wagonPath-->
                                    <wagonPath>/home/data/httpd/download.eclipse.org/jetty</wagonPath>
                                    <wagonHost>build.eclipse.org</wagonHost>
									<serverId>jetty.eclipse.website</serverId>
									<inputFile>${project.build.directory}/${project.artifactId}-${project.version}.zip</inputFile>
									<promotionDirectory>T${project.version}</promotionDirectory>
								</configuration>
								<phase>verify</phase>
								<goals>
									<goal>promote</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
