prep for signing
diff --git a/releng.wtpbuilder/scripts/build/pack.properties b/releng.wtpbuilder/scripts/build/pack.properties
new file mode 100644
index 0000000..b212c86
--- /dev/null
+++ b/releng.wtpbuilder/scripts/build/pack.properties
@@ -0,0 +1,2 @@
+pack200.default.args=-E4
+pack.excludes=eclipse/plugins/@excludejars@
\ No newline at end of file
diff --git a/releng.wtpbuilder/scripts/build/signjars.xml b/releng.wtpbuilder/scripts/build/signjars.xml
new file mode 100644
index 0000000..f99d2ff
--- /dev/null
+++ b/releng.wtpbuilder/scripts/build/signjars.xml
@@ -0,0 +1,186 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ name="signJarsInArchive"
+ default="signJarsInArchive"
+ basedir=".">
+
+ <!-- = = = standard properties pattern = = = -->
+ <!--
+ Note to be cross-platform, "environment variables" are only appropriate for
+ some variables, e.g. ones we set, since properties are case sensitive, even if
+ the environment variables on your operating system are not, e.g. it will
+ be ${env.Path} not ${env.PATH} on Windows -->
+ <property
+ environment="env" />
+
+ <!--
+ Let users override standard properties, if desired.
+ If directory, file, or some properties do not exist,
+ then standard properties will be used.
+ -->
+ <property
+ file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties" />
+
+ <!-- = = = end standard properties pattern = = = -->
+ <property
+ name="stagingDirectory"
+ value="/our/staging/directory" />
+ <fail
+ unless="buildDirectory"
+ message="buildDirectory must be specified by caller" />
+ <fail
+ unless="archiveName"
+ message="archiveName must be specified by caller" />
+ <fail
+ unless="buildLabel"
+ message="buildLabel must be specified by caller" />
+ <fail
+ unless="buildId"
+ message="buildId must be specified by caller" />
+ <fail
+ unless="wtp.builder.home"
+ message="wtp.builder.home must be specified by caller" />
+ <target
+ name="compareAttribs">
+ <!--poll file for change in attributes-->
+ <exec
+ dir="${buildDirectory}"
+ executable="ssh"
+ outputProperty="polledAttribs">
+ <arg
+ line="${sshline}" />
+ </exec>
+ <echo
+ message="original: ${originalAttribs}" />
+ <condition
+ property="attribChanged">
+ <not>
+ <contains
+ string="${polledAttribs}"
+ substring="No such file or directory"
+ casesensitive="no" />
+ </not>
+ </condition>
+ <echo
+ message="polled: ${polledAttribs}" />
+ <antcall
+ target="writeDiffResult" />
+ <sleep
+ seconds="120" />
+ <available
+ property="attribs.changed"
+ file="${buildDirectory}/attribDiff.txt" />
+ <antcall
+ target="waitForChangedAttribs" />
+ </target>
+ <target
+ name="writeDiffResult"
+ if="attribChanged">
+ <echo
+ message="original: ${originalAttribs}"
+ file="${buildDirectory}/attribDiff.txt" />
+ <echo
+ message="new: ${polledAttribs}"
+ file="${buildDirectory}/attribDiff.txt"
+ append="true" />
+ </target>
+ <target
+ name="signJarsInArchive"
+ if="sign">
+ <property
+ name="packtmp"
+ value="${buildDirectory}/packtmp" />
+ <property
+ name="stagingDirectoryOutput"
+ value="${stagingDirectory}/${buildId}-out" />
+ <property
+ name="outputFile"
+ value="${stagingDirectoryOutput}/${archiveName}" />
+ <mkdir
+ dir="${packtmp}" />
+ <move
+ file="${buildDirectory}/${buildLabel}/${archiveName}"
+ tofile="${packtmp}/${archiveName}" />
+ <!-- add pack.properties file that specifies effort level -->
+ <exec
+ dir="."
+ executable="zip">
+ <arg
+ line="-r ${packtmp}/${archiveName} ${wtp.builder.home}/scripts/build/pack.properties" />
+ </exec>
+
+ <!--push drop to staging directory-->
+ <echo
+ message="push drop to staging directory" />
+ <exec
+ dir="${packtmp}"
+ executable="scp"
+ output="signing.txt">
+ <arg
+ line="${archiveName} build.eclipse.org:${stagingDirectory}" />
+ </exec>
+ <exec
+ dir="${buildDirectory}"
+ executable="ssh"
+ output="signing.txt"
+ append="true">
+ <arg
+ line="build.eclipse.org /bin/chmod ugo+rw ${stagingDirectory}/${archiveName} " />
+ </exec>
+
+ <!--invoke sign script and wait-->
+ <echo
+ message="invoke sign script and wait" />
+ <exec
+ dir="${basedir}"
+ executable="ssh"
+ output="signing.txt"
+ append="true">
+ <arg
+ line="build.eclipse.org cd ${stagingDirectory}; /usr/bin/sign ${stagingDirectory}/${archiveName} mail ${stagingDirectoryOutput}" />
+ </exec>
+
+ <!--Wait for signed build to be available -->
+ <antcall
+ target="waitForChangedAttribs">
+ <param
+ name="sshline"
+ value="build.eclipse.org cd ${stagingDirectoryOutput};ls ${archiveName}" />
+ </antcall>
+
+ <!--copy zip back to build machine -->
+ <echo
+ message="copy zip back to build machine" />
+ <exec
+ dir="${basedir}"
+ executable="scp"
+ output="signing.txt"
+ append="true">
+ <arg
+ line="build.eclipse.org:${stagingDirectory}/${buildId}-out/${archiveName} ${buildDirectory}/${buildLabel}" />
+ </exec>
+
+ <!--delete files on build.eclipse.org-->
+ <echo
+ message="delete temp files on build.eclipse.org" />
+ <exec
+ dir="${basedir}"
+ executable="ssh"
+ output="signing.txt"
+ append="true">
+ <arg
+ line="build.eclipse.org /bin/rm -rf ${stagingDirectory}/${buildId}-out ${stagingDirectory}/${archiveName}" />
+ </exec>
+ </target>
+ <target
+ name="waitForChangedAttribs"
+ unless="attribs.changed">
+ <antcall
+ target="compareAttribs"
+ inheritAll="false">
+ <param
+ name="originalAttribs"
+ value="${originalAttribs}" />
+ </antcall>
+ </target>
+</project>
\ No newline at end of file