<project 
		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" 
		xmlns="http://maven.apache.org/POM/4.0.0" 
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
		
	<modelVersion>4.0.0</modelVersion> 
	<parent>
		<groupId>org.eclipse.bpel</groupId>
		<artifactId>org.eclipse.bpel.parent.pom</artifactId>
		<version>0.0.1-SNAPSHOT</version>
		<relativePath>../parent/pom.xml</relativePath>
	</parent>
	
	<!-- 
		The Maven version is also used as a directory name.
		Please, update it every time the BPEL Designer version changes.
	 -->
	<groupId>org.eclipse.bpel</groupId>
	<artifactId>site</artifactId> 
	<name>bpel.site</name>
	<version>1.0.2</version>
	<packaging>eclipse-repository</packaging>
	
	<profiles>
		<profile>
			<id>eclipse-build</id>
			<activation>
				<property>
					<name>build.at.eclipse.org</name>
					<value>true</value>
				</property>
			</activation>
			
			<properties>
				<staging.directory>/home/data/httpd/download-staging.priv/soa/bpel</staging.directory>
				<publish.directory>/shared/soa/bpel/${project.version}/${platform.name}</publish.directory>
				<update.site.directory>${publish.directory}/update-site</update.site.directory>
			</properties>
			
			<build>
				<plugins>
				
					<!-- Pack and sign the update site -->
					<plugin>
						<groupId>org.eclipse.dash.maven</groupId>
						<artifactId>eclipse-signing-maven-plugin</artifactId>
						<version>1.0.5</version>
								
						<executions>
							<execution>
								<id>pack</id>
								<configuration>
									<inputFile>${project.build.directory}/site.zip</inputFile>
								</configuration>
								<phase>package</phase>
								<goals>
									<goal>pack</goal>
								</goals>
							</execution>
							 
							<execution>
								<id>sign</id>
								<configuration>
									<inputFile>${project.build.directory}/site.zip</inputFile>
									<signerInputDirectory>${staging.directory}</signerInputDirectory>
									<maxZipChecks>50</maxZipChecks>
								</configuration>
								<phase>package</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
							 
							<execution>
								<id>repack</id>
								<configuration>
									<inputFile>${project.build.directory}/signed/site_assembly.zip</inputFile>
								</configuration>
								<phase>package</phase>
								<goals>
									<goal>pack</goal>
								</goals>
							</execution>
							 
							<execution>
								<id>fixCheckSums</id>
								<phase>package</phase>
								<goals>
									<goal>fixCheckSums</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					
					<!-- Publish the update site -->
					<plugin>
						<artifactId>maven-antrun-plugin</artifactId>
						<version>1.6</version>
						<executions>
							<execution>
								<id>publish-update-site</id>
								<phase>install</phase>
								
								<configuration>
									<target>
									
										<!-- Create directories -->
										<mkdir dir="${publish.directory}" />
										<mkdir dir="${update.site.directory}" />
										
										<!-- Prepare the publication -->
										<mkdir dir="${update.site.directory}" />								
										<delete includeemptydirs="true">
											<fileset dir="${update.site.directory}">
												<include name="**/*" />
											</fileset>
										</delete>
																				
										<!-- Copy the update site for aggregation -->
										<copy includeemptydirs="false" todir="${update.site.directory}">
					                     	<fileset dir="${project.build.directory}/checksumFix">
					                        	<exclude name="META-INF" />
					                        	<exclude name="META-INF/**" />
					                       	</fileset>
					                    </copy>
										
										<!-- Now, make a ZIP archive of the update site -->
										<tstamp>
											<format property="TODAY" pattern="yyyyMMddHHmmss" />
										</tstamp>
		              					
		              					<!-- ZIP the signed update site -->
		              					<zip basedir="${update.site.directory}" destfile="${publish.directory}/BPEL-Designer--${project.version}.${TODAY}.zip" />
										
										<!-- Clean up the signing directory -->
										<delete includeemptydirs="true">
											<fileset dir="${staging.directory}" includes="**/*" />
										</delete>
										
									</target>
								</configuration>
								
								<goals>
									<goal>run</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					
					<!-- End of plug-ins -->
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
