setup build for jaxws
diff --git a/releng.wtpbuilder/buildtemplates/build.xml b/releng.wtpbuilder/buildtemplates/build.xml
new file mode 100644
index 0000000..78d7438
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/build.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- ======================================================================
+
+##########################################################################
+# Copyright (c) 2009 IBM Corporation and others.
+# 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:
+# IBM Corporation - initial API and implementation
+##########################################################################
+
+
+ Jan 12, 2009 4:01:53 AM
+
+ buildtemplates
+
+ Some simple "get started" scripts to
+ build files for simple cases.
+
+ These algorithms/heuristics assume there's only one
+ feature being worked with per component
+
+ Note:
+ Nothing is done for "dependancies".
+
+ Note:
+ In components, the build.properties and dependency.xml files can stay as they are in templates
+ (they differ, very slightly from each other).
+
+ Note:
+ foldername pattern:
+
+ component/%shortname%
+ component/%shortname%_sdk
+ component/%shortname%_tests
+ distribution/%shortname%.build
+ distribution/%shortname%.site
+ distribution/%shortname%.tests
+
+ davidw
+ ====================================================================== -->
+<project name="project" default="default">
+ <description>
+ script to create new component build
+ </description>
+
+ <property name="componentpropertyfile" value="jaxws.properties" />
+
+
+ <target name="default" depends="replaceTokens">
+ <property file="${componentpropertyfile}" />
+ <echo message=" Creating build files for ${shortname}" />
+
+ <move todir="../temp/components/${shortname}">
+ <fileset dir="../temp/components/template" />
+ </move>
+ <move todir="../temp/components/${shortname}_sdk">
+ <fileset dir="../temp/components/template_sdk" />
+ </move>
+ <move todir="../temp/components/${shortname}_tests">
+ <fileset dir="../temp/components/template_tests" />
+ </move>
+ <move todir="../temp/distribution/${shortname}.build">
+ <fileset dir="../temp/distribution/template.build" />
+ </move>
+ <move todir="../temp/distribution/${shortname}.site">
+ <fileset dir="../temp/distribution/template.site" />
+ </move>
+ <move todir="../temp/distribution/${shortname}.tests">
+ <fileset dir="../temp/distribution/template.tests" />
+ </move>
+ </target>
+
+ <target name="replaceTokens" depends="copyToTemp" description="replaces tokens based on property file">
+ <replace dir="../temp" value="error-no-value-specified" propertyFile="${componentpropertyfile}">
+ <replacefilter token="@featurename@" property="featurename" />
+ <replacefilter token="@zipprefix@" property="zipprefix" />
+ <replacefilter token="@relengmapsenv@" property="relengmapsenv" />
+ <replacefilter token="@shortname@" property="shortname" />
+ <replacefilter token="@longdescription@" property="longdescription" />
+ <replacefilter token="@testplugin@" property="testplugin" />
+ </replace>
+
+ </target>
+
+ <target name="copyToTemp">
+ <copy todir="../temp" overwrite="true">
+ <fileset dir="../buildtemplates" excludes="build.xml, variables.txt, *.properties" />
+ </copy>
+ </target>
+
+</project>
diff --git a/releng.wtpbuilder/buildtemplates/components/template/build.properties b/releng.wtpbuilder/buildtemplates/components/template/build.properties
new file mode 100644
index 0000000..1232026
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/components/template/build.properties
@@ -0,0 +1,45 @@
+###############################################################################
+# Copyright (c) 2003, 2009 IBM Corporation and others.
+# 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:
+# IBM Corporation - initial API and implementation
+###############################################################################
+
+# This property file is used automatically by the PDE build process
+
+runPackager=true
+
+# This is a subdirectory of $buildDirectory
+# Set collectingFolder and archivePrefix to . if you want to create archives without
+# trailing eclipse in the paths of the included files
+collectingFolder=eclipse
+logExtension=.xml
+# The prefix that will be used in the generated archive.
+# Does not make sense to use a different archivePrefix than collectingFolder,
+# because zip wouldn't find any files to include into the target zip otherwise
+archivePrefix=eclipse
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=true
+
+# Whether or not to fail the build if there are compiler errors
+javacFailOnError=false
+
+##################################################
+# Asks the compiler for verbose output. This should be set to true in order for *.bin.log files to be generated when
+# using the JDT Compiler Adapter to compile.
+javacVerbose=true
+
+sign=true
+
+#############################################################
+
+# Properties introduced in 3.5 M3 (PDE base builder R35_M2). See
+# http://aniefer.blogspot.com/2008/10/sorting-bundles-and-parallel.html
+
+flattenDependencies=true
+parallelCompilation=true
diff --git a/releng.wtpbuilder/buildtemplates/components/template/customTargets.xml b/releng.wtpbuilder/buildtemplates/components/template/customTargets.xml
new file mode 100644
index 0000000..80a94e2
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/components/template/customTargets.xml
@@ -0,0 +1,319 @@
+<project
+ name="PDECustomTargets"
+ default="noDefault"
+ 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"/>
+
+ <!-- let this project specify properties, if not already set -->
+ <property
+ file="build.properties"/>
+ <fail
+ message="dependancy.properties must be specified by distribution script"
+ unless="dependency.properties"/>
+ <fail
+ unless="buildDirectory"
+ message="buildDirectory must be set"/>
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <!--
+ Run a given ${target} on all elements being built Add on <ant>
+ task for each top level element being built.
+ -->
+ <target
+ name="allElements">
+ <echo
+ level="info"
+ message="Target:${target} "/>
+ <echo
+ level="debug"
+ message="basedir: ${basedir}"/>
+ <echo
+ level="info"
+ message="component: ${component}"/>
+ <echo
+ level="debug"
+ message="buildDirectory: ${buildDirectory}"/>
+ <echo
+ level="debug"
+ message="baseLocation: ${baseLocation}"/>
+ <echo
+ level="debug"
+ message="generic target: ${genericTargets}"/>
+ <echo
+ message="compilerArg: ${compilerArg}"/>
+ <echo
+ message="individualSourceBundles: ${individualSourceBundles}"/>
+ <ant
+ antfile="${genericTargets}"
+ target="${target}">
+ <property
+ name="type"
+ value="feature"/>
+ <property
+ name="id"
+ value="@featurename@.feature"/>
+ </ant>
+ </target>
+ <!--
+ Targets to assemble the built elements for particular
+ configurations These generally call the generated assemble
+ scripts (named in ${assembleScriptName}) but may also add pre
+ and post processing Add one target for each root element and
+ each configuration
+ -->
+ <target
+ name="assemble.@featurename@.feature">
+ <property
+ name="archiveName"
+ value="@zipprefix@-${buildLabel}.zip"/>
+ <ant
+ antfile="${assembleScriptName}"
+ dir="${buildDirectory}"/>
+ </target>
+ <target
+ name="prePackage"/>
+ <target
+ name="postPackage">
+ <property
+ name="archiveName"
+ value="@zipprefix@-${buildLabel}.zip"/>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/buildutilities.xml"
+ target="unpackUpdateJarsAndCreateZippedPackages">
+ <property
+ name="buildDirectory"
+ value="${buildDirectory}"/>
+ <property
+ name="buildLabel"
+ value="${buildLabel}"/>
+ <property
+ name="archiveName"
+ value="${archiveName}"/>
+ </ant>
+ </target>
+
+ <!--
+ Check out map files from repository
+ -->
+ <target
+ name="getMapFiles">
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENG}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.@relengmapsenv@}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ </target>
+
+
+ <!--
+ Steps to do before setup
+ -->
+ <target
+ name="preSetup"></target>
+ <!--
+ Steps to do after setup but before starting the build proper
+ -->
+ <target
+ name="postSetup">
+ <dirname
+ file="${ant.file}"
+ property="component.dir"/>
+ <echo
+ level="debug"
+ message="ant.file: ${ant.file}"/>
+ <echo
+ level="debug"
+ message="component.dir: ${component.dir}"/>
+
+ <!-- Get the dependencies -->
+ <antcall
+ target="getDependencies"/>
+ </target>
+ <!--
+ =====================================================================
+ -->
+ <!-- Get the dependencies based on releng maps -->
+ <!--
+ =====================================================================
+ -->
+ <target
+ name="getDependencies">
+ <ant
+ antfile="${component.dir}/dependency.xml"
+ target="get">
+ <property
+ name="base.install.dir"
+ value="${buildRoot}"/>
+ </ant>
+ </target>
+
+ <!--
+ Steps to do before fetching the build elements
+ -->
+ <target
+ name="preFetch"></target>
+
+ <!--
+ Steps to do after fetching the build elements
+ -->
+ <target
+ name="postFetch"></target>
+
+ <!--
+ Steps to do before generating the build scripts.
+ -->
+ <target
+ name="preGenerate"></target>
+
+ <!--
+ Steps to do after generating the build scripts.
+ -->
+ <target
+ name="postGenerate">
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <customizeAccessRules
+ bundleDirectory="${buildDirectory}/plugins"/>
+ </target>
+ <!--
+ Steps to do before running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="preProcess">
+ <replace
+ dir="${buildDirectory}/plugins"
+ value="${timestamp}"
+ token="@build@">
+ <include
+ name="**/about.mappings"/>
+ </replace>
+ </target>
+ <!--
+ Steps to do after running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="postProcess">
+ <condition
+ property="logsAvailable">
+ <istrue
+ value="${javacVerbose}"/>
+ </condition>
+ <antcall
+ target="gatherLogs"/>
+ </target>
+
+
+ <!--
+ Steps to do before running assemble.
+ -->
+ <target
+ name="preAssemble"></target>
+
+ <!--
+ Steps to do after running assemble.
+ -->
+ <target
+ name="postAssemble"></target>
+
+ <!--
+ Steps to do after the build is done.
+ -->
+ <target
+ name="postBuild"></target>
+
+ <!--
+ Steps to do to test the build results
+ -->
+ <target
+ name="test"></target>
+
+ <!--
+ Steps to do to publish the build results
+ -->
+ <target
+ name="publish"></target>
+
+ <!--
+ Helper targets
+ -->
+ <target
+ name="gatherLogs"
+ if="logsAvailable">
+ <mkdir
+ dir="${buildDirectory}/${buildLabel}/compilelogs"/>
+ <echo
+ level="debug"
+ message="logExtension: ${logExtension}"/>
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="gatherLogs"/>
+ <param
+ name="logExtension"
+ value="${logExtension}"/>
+ </antcall>
+ <unzip
+ dest="${buildDirectory}/${buildLabel}/compilelogs"
+ overwrite="true">
+ <fileset
+ dir="${buildDirectory}/features/@featurename@.feature">
+ <include
+ name="**/*.log.zip"/>
+ </fileset>
+ </unzip>
+ </target>
+ <target
+ name="clean"
+ unless="noclean">
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="cleanElement"/>
+ </antcall>
+ </target>
+
+ <!--
+ Default target
+ -->
+ <target
+ name="noDefault">
+ <echo
+ level="error"
+ message="You must specify a target when invoking this file"/>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/buildtemplates/components/template/dependency.xml b/releng.wtpbuilder/buildtemplates/components/template/dependency.xml
new file mode 100644
index 0000000..9ddeb56
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/components/template/dependency.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+ <!--
+ ======================================================================
+ Properties that must be passed to this script: base.install.dir
+ dependencyTargets local.cache.dir dependency.properties
+ ======================================================================
+ -->
+<project
+ name="test"
+ default="get">
+ <target
+ name="get">
+ <!--
+ read in this properties, just so we can make sure our
+ requested pre-reqs are defined, which we do later with
+ statements such if="${groupId}.url"
+ -->
+ <property
+ file="${dependency.properties}"/>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="emf"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="emfxsd"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="gef"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="eclipse"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="xml"/>
+ </antcall>
+ </target>
+ <target
+ name="getAndInstall"
+ if="${groupId}.url">
+ <ant
+ antfile="${dependencyTargets}"
+ target="checkDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ </ant>
+ <ant
+ antfile="${dependencyTargets}"
+ target="installDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ <property
+ name="install.destination"
+ value="${base.install.dir}"/>
+ </ant>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/buildtemplates/components/template_sdk/build.properties b/releng.wtpbuilder/buildtemplates/components/template_sdk/build.properties
new file mode 100644
index 0000000..fef57d7
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/components/template_sdk/build.properties
@@ -0,0 +1,45 @@
+###############################################################################
+# Copyright (c) 2003, 2009 IBM Corporation and others.
+# 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:
+# IBM Corporation - initial API and implementation
+###############################################################################
+
+# This property file is used automatically by the PDE build process
+
+runPackager=true
+
+# This is a subdirectory of $buildDirectory
+# Set collectingFolder and archivePrefix to . if you want to create archives without
+# trailing eclipse in the paths of the included files
+collectingFolder=eclipse
+logExtension=.xml
+# The prefix that will be used in the generated archive.
+# Does not make sense to use a different archivePrefix than collectingFolder,
+# because zip wouldn't find any files to include into the target zip otherwise
+archivePrefix=eclipse
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=true
+
+# Whether or not to fail the build if there are compiler errors
+javacFailOnError=false
+
+##################################################
+# Asks the compiler for verbose output. This should be set to true in order for *.bin.log files to be generated when
+# using the JDT Compiler Adapter to compile.
+javacVerbose=true
+
+sign=true
+
+#############################################################
+
+# Properties introduced in 3.5 M3 (PDE base builder R35_M2). See
+# http://aniefer.blogspot.com/2008/10/sorting-bundles-and-parallel.html
+
+flattenDependencies=true
+parallelCompilation=true
\ No newline at end of file
diff --git a/releng.wtpbuilder/buildtemplates/components/template_sdk/customTargets.xml b/releng.wtpbuilder/buildtemplates/components/template_sdk/customTargets.xml
new file mode 100644
index 0000000..4c7bdd9
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/components/template_sdk/customTargets.xml
@@ -0,0 +1,319 @@
+<project
+ name="PDECustomTargets"
+ default="noDefault"
+ 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"/>
+
+ <!-- let this project specify properties, if not already set -->
+ <property
+ file="build.properties"/>
+ <fail
+ message="dependancy.properties must be specified by distribution script"
+ unless="dependency.properties"/>
+ <fail
+ unless="buildDirectory"
+ message="buildDirectory must be set"/>
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <!--
+ Run a given ${target} on all elements being built Add on <ant>
+ task for each top level element being built.
+ -->
+ <target
+ name="allElements">
+ <echo
+ level="info"
+ message="Target:${target} "/>
+ <echo
+ level="debug"
+ message="basedir: ${basedir}"/>
+ <echo
+ level="info"
+ message="component: ${component}"/>
+ <echo
+ level="debug"
+ message="buildDirectory: ${buildDirectory}"/>
+ <echo
+ level="debug"
+ message="baseLocation: ${baseLocation}"/>
+ <echo
+ level="debug"
+ message="generic target: ${genericTargets}"/>
+ <echo
+ message="compilerArg: ${compilerArg}"/>
+ <echo
+ message="individualSourceBundles: ${individualSourceBundles}"/>
+ <ant
+ antfile="${genericTargets}"
+ target="${target}">
+ <property
+ name="type"
+ value="feature"/>
+ <property
+ name="id"
+ value="@featurename@_sdk.feature"/>
+ </ant>
+ </target>
+ <!--
+ Targets to assemble the built elements for particular
+ configurations These generally call the generated assemble
+ scripts (named in ${assembleScriptName}) but may also add pre
+ and post processing Add one target for each root element and
+ each configuration
+ -->
+ <target
+ name="assemble.@featurename@_sdk.feature">
+ <property
+ name="archiveName"
+ value="@zipprefix@-${buildLabel}.zip"/>
+ <ant
+ antfile="${assembleScriptName}"
+ dir="${buildDirectory}"/>
+ </target>
+ <target
+ name="prePackage"/>
+ <target
+ name="postPackage">
+ <property
+ name="archiveName"
+ value="@zipprefix@-${buildLabel}.zip"/>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/buildutilities.xml"
+ target="unpackUpdateJarsAndCreateZippedPackages">
+ <property
+ name="buildDirectory"
+ value="${buildDirectory}"/>
+ <property
+ name="buildLabel"
+ value="${buildLabel}"/>
+ <property
+ name="archiveName"
+ value="${archiveName}"/>
+ </ant>
+ </target>
+
+ <!--
+ Check out map files from repository
+ -->
+ <target
+ name="getMapFiles">
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENG}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.@relengmapsenv@}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ </target>
+
+
+ <!--
+ Steps to do before setup
+ -->
+ <target
+ name="preSetup"></target>
+ <!--
+ Steps to do after setup but before starting the build proper
+ -->
+ <target
+ name="postSetup">
+ <dirname
+ file="${ant.file}"
+ property="component.dir"/>
+ <echo
+ level="debug"
+ message="ant.file: ${ant.file}"/>
+ <echo
+ level="debug"
+ message="component.dir: ${component.dir}"/>
+
+ <!-- Get the dependencies -->
+ <antcall
+ target="getDependencies"/>
+ </target>
+ <!--
+ =====================================================================
+ -->
+ <!-- Get the dependencies based on releng maps -->
+ <!--
+ =====================================================================
+ -->
+ <target
+ name="getDependencies">
+ <ant
+ antfile="${component.dir}/dependency.xml"
+ target="get">
+ <property
+ name="base.install.dir"
+ value="${buildRoot}"/>
+ </ant>
+ </target>
+
+ <!--
+ Steps to do before fetching the build elements
+ -->
+ <target
+ name="preFetch"></target>
+
+ <!--
+ Steps to do after fetching the build elements
+ -->
+ <target
+ name="postFetch"></target>
+
+ <!--
+ Steps to do before generating the build scripts.
+ -->
+ <target
+ name="preGenerate"></target>
+
+ <!--
+ Steps to do after generating the build scripts.
+ -->
+ <target
+ name="postGenerate">
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <customizeAccessRules
+ bundleDirectory="${buildDirectory}/plugins"/>
+ </target>
+ <!--
+ Steps to do before running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="preProcess">
+ <replace
+ dir="${buildDirectory}/plugins"
+ value="${timestamp}"
+ token="@build@">
+ <include
+ name="**/about.mappings"/>
+ </replace>
+ </target>
+ <!--
+ Steps to do after running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="postProcess">
+ <condition
+ property="logsAvailable">
+ <istrue
+ value="${javacVerbose}"/>
+ </condition>
+ <antcall
+ target="gatherLogs"/>
+ </target>
+
+
+ <!--
+ Steps to do before running assemble.
+ -->
+ <target
+ name="preAssemble"></target>
+
+ <!--
+ Steps to do after running assemble.
+ -->
+ <target
+ name="postAssemble"></target>
+
+ <!--
+ Steps to do after the build is done.
+ -->
+ <target
+ name="postBuild"></target>
+
+ <!--
+ Steps to do to test the build results
+ -->
+ <target
+ name="test"></target>
+
+ <!--
+ Steps to do to publish the build results
+ -->
+ <target
+ name="publish"></target>
+
+ <!--
+ Helper targets
+ -->
+ <target
+ name="gatherLogs"
+ if="logsAvailable">
+ <mkdir
+ dir="${buildDirectory}/${buildLabel}/compilelogs"/>
+ <echo
+ level="debug"
+ message="logExtension: ${logExtension}"/>
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="gatherLogs"/>
+ <param
+ name="logExtension"
+ value="${logExtension}"/>
+ </antcall>
+ <unzip
+ dest="${buildDirectory}/${buildLabel}/compilelogs"
+ overwrite="true">
+ <fileset
+ dir="${buildDirectory}/features/@featurename@_sdk.feature">
+ <include
+ name="**/*.log.zip"/>
+ </fileset>
+ </unzip>
+ </target>
+ <target
+ name="clean"
+ unless="noclean">
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="cleanElement"/>
+ </antcall>
+ </target>
+
+ <!--
+ Default target
+ -->
+ <target
+ name="noDefault">
+ <echo
+ level="error"
+ message="You must specify a target when invoking this file"/>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/buildtemplates/components/template_sdk/dependency.xml b/releng.wtpbuilder/buildtemplates/components/template_sdk/dependency.xml
new file mode 100644
index 0000000..191c279
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/components/template_sdk/dependency.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+ <!--
+ ======================================================================
+ Properties that must be passed to this script: base.install.dir
+ dependencyTargets local.cache.dir dependency.properties
+ ======================================================================
+ -->
+<project
+ name="test"
+ default="get">
+ <target
+ name="get">
+ <!--
+ read in this properties, just so we can make sure our
+ requested pre-reqs are defined
+ -->
+ <property
+ file="${dependency.properties}"/>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="orbitthirdpartymap"/>
+ <param
+ name="base.install.dir"
+ value="${buildDirectory}/maps/${env.RELENG}/maps/"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="eclipse"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="xml"/>
+ </antcall>
+ </target>
+ <target
+ name="getAndInstall"
+ if="${groupId}.url">
+ <ant
+ antfile="${dependencyTargets}"
+ target="checkDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ </ant>
+ <ant
+ antfile="${dependencyTargets}"
+ target="installDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ <property
+ name="install.destination"
+ value="${base.install.dir}"/>
+ </ant>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/buildtemplates/components/template_tests/build.properties b/releng.wtpbuilder/buildtemplates/components/template_tests/build.properties
new file mode 100644
index 0000000..43b2ed3
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/components/template_tests/build.properties
@@ -0,0 +1,45 @@
+###############################################################################
+# Copyright (c) 2003, 2009 IBM Corporation and others.
+# 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:
+# IBM Corporation - initial API and implementation
+###############################################################################
+
+# This property file is used automatically by the PDE build process
+
+runPackager=true
+
+# This is a subdirectory of $buildDirectory
+# Set collectingFolder and archivePrefix to . if you want to create archives without
+# trailing eclipse in the paths of the included files
+collectingFolder=eclipse
+logExtension=.xml
+# The prefix that will be used in the generated archive.
+# Does not make sense to use a different archivePrefix than collectingFolder,
+# because zip wouldn't find any files to include into the target zip otherwise
+archivePrefix=eclipse
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=true
+
+# Whether or not to fail the build if there are compiler errors
+javacFailOnError=false
+
+##################################################
+# Asks the compiler for verbose output. This should be set to true in order for *.bin.log files to be generated when
+# using the JDT Compiler Adapter to compile.
+javacVerbose=true
+
+sign=false
+
+#############################################################
+
+# Properties introduced in 3.5 M3 (PDE base builder R35_M2). See
+# http://aniefer.blogspot.com/2008/10/sorting-bundles-and-parallel.html
+
+flattenDependencies=true
+parallelCompilation=true
diff --git a/releng.wtpbuilder/buildtemplates/components/template_tests/customTargets.xml b/releng.wtpbuilder/buildtemplates/components/template_tests/customTargets.xml
new file mode 100644
index 0000000..68dbdf4
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/components/template_tests/customTargets.xml
@@ -0,0 +1,319 @@
+<project
+ name="PDECustomTargets"
+ default="noDefault"
+ 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"/>
+
+ <!-- let this project specify properties, if not already set -->
+ <property
+ file="build.properties"/>
+ <fail
+ message="dependancy.properties must be specified by distribution script"
+ unless="dependency.properties"/>
+ <fail
+ unless="buildDirectory"
+ message="buildDirectory must be set"/>
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <!--
+ Run a given ${target} on all elements being built Add on <ant>
+ task for each top level element being built.
+ -->
+ <target
+ name="allElements">
+ <echo
+ level="info"
+ message="Target:${target} "/>
+ <echo
+ level="debug"
+ message="basedir: ${basedir}"/>
+ <echo
+ level="info"
+ message="component: ${component}"/>
+ <echo
+ level="debug"
+ message="buildDirectory: ${buildDirectory}"/>
+ <echo
+ level="debug"
+ message="baseLocation: ${baseLocation}"/>
+ <echo
+ level="debug"
+ message="generic target: ${genericTargets}"/>
+ <echo
+ message="compilerArg: ${compilerArg}"/>
+ <echo
+ message="individualSourceBundles: ${individualSourceBundles}"/>
+ <ant
+ antfile="${genericTargets}"
+ target="${target}">
+ <property
+ name="type"
+ value="feature"/>
+ <property
+ name="id"
+ value="@featurename@_tests.feature"/>
+ </ant>
+ </target>
+ <!--
+ Targets to assemble the built elements for particular
+ configurations These generally call the generated assemble
+ scripts (named in ${assembleScriptName}) but may also add pre
+ and post processing Add one target for each root element and
+ each configuration
+ -->
+ <target
+ name="assemble.@featurename@_tests.feature">
+ <property
+ name="archiveName"
+ value="@zipprefix@-${buildLabel}.zip"/>
+ <ant
+ antfile="${assembleScriptName}"
+ dir="${buildDirectory}"/>
+ </target>
+ <target
+ name="prePackage"/>
+ <target
+ name="postPackage">
+ <property
+ name="archiveName"
+ value="@zipprefix@-${buildLabel}.zip"/>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/buildutilities.xml"
+ target="unpackUpdateJarsAndCreateZippedPackages">
+ <property
+ name="buildDirectory"
+ value="${buildDirectory}"/>
+ <property
+ name="buildLabel"
+ value="${buildLabel}"/>
+ <property
+ name="archiveName"
+ value="${archiveName}"/>
+ </ant>
+ </target>
+
+ <!--
+ Check out map files from repository
+ -->
+ <target
+ name="getMapFiles">
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENG}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.@relengmapsenv@}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ </target>
+
+
+ <!--
+ Steps to do before setup
+ -->
+ <target
+ name="preSetup"></target>
+ <!--
+ Steps to do after setup but before starting the build proper
+ -->
+ <target
+ name="postSetup">
+ <dirname
+ file="${ant.file}"
+ property="component.dir"/>
+ <echo
+ level="debug"
+ message="ant.file: ${ant.file}"/>
+ <echo
+ level="debug"
+ message="component.dir: ${component.dir}"/>
+
+ <!-- Get the dependencies -->
+ <antcall
+ target="getDependencies"/>
+ </target>
+ <!--
+ =====================================================================
+ -->
+ <!-- Get the dependencies based on releng maps -->
+ <!--
+ =====================================================================
+ -->
+ <target
+ name="getDependencies">
+ <ant
+ antfile="${component.dir}/dependency.xml"
+ target="get">
+ <property
+ name="base.install.dir"
+ value="${buildRoot}"/>
+ </ant>
+ </target>
+
+ <!--
+ Steps to do before fetching the build elements
+ -->
+ <target
+ name="preFetch"></target>
+
+ <!--
+ Steps to do after fetching the build elements
+ -->
+ <target
+ name="postFetch"></target>
+
+ <!--
+ Steps to do before generating the build scripts.
+ -->
+ <target
+ name="preGenerate"></target>
+
+ <!--
+ Steps to do after generating the build scripts.
+ -->
+ <target
+ name="postGenerate">
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <customizeAccessRules
+ bundleDirectory="${buildDirectory}/plugins"/>
+ </target>
+ <!--
+ Steps to do before running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="preProcess">
+ <replace
+ dir="${buildDirectory}/plugins"
+ value="${timestamp}"
+ token="@build@">
+ <include
+ name="**/about.mappings"/>
+ </replace>
+ </target>
+ <!--
+ Steps to do after running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="postProcess">
+ <condition
+ property="logsAvailable">
+ <istrue
+ value="${javacVerbose}"/>
+ </condition>
+ <antcall
+ target="gatherLogs"/>
+ </target>
+
+
+ <!--
+ Steps to do before running assemble.
+ -->
+ <target
+ name="preAssemble"></target>
+
+ <!--
+ Steps to do after running assemble.
+ -->
+ <target
+ name="postAssemble"></target>
+
+ <!--
+ Steps to do after the build is done.
+ -->
+ <target
+ name="postBuild"></target>
+
+ <!--
+ Steps to do to test the build results
+ -->
+ <target
+ name="test"></target>
+
+ <!--
+ Steps to do to publish the build results
+ -->
+ <target
+ name="publish"></target>
+
+ <!--
+ Helper targets
+ -->
+ <target
+ name="gatherLogs"
+ if="logsAvailable">
+ <mkdir
+ dir="${buildDirectory}/${buildLabel}/testcompilelogs"/>
+ <echo
+ level="debug"
+ message="logExtension: ${logExtension}"/>
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="gatherLogs"/>
+ <param
+ name="logExtension"
+ value="${logExtension}"/>
+ </antcall>
+ <unzip
+ dest="${buildDirectory}/${buildLabel}/testcompilelogs"
+ overwrite="true">
+ <fileset
+ dir="${buildDirectory}/features/@featurename@_tests.feature">
+ <include
+ name="**/*.log.zip"/>
+ </fileset>
+ </unzip>
+ </target>
+ <target
+ name="clean"
+ unless="noclean">
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="cleanElement"/>
+ </antcall>
+ </target>
+
+ <!--
+ Default target
+ -->
+ <target
+ name="noDefault">
+ <echo
+ level="error"
+ message="You must specify a target when invoking this file"/>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/buildtemplates/components/template_tests/dependency.xml b/releng.wtpbuilder/buildtemplates/components/template_tests/dependency.xml
new file mode 100644
index 0000000..8565e7e
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/components/template_tests/dependency.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+ <!--
+ ======================================================================
+ Properties that must be passed to this script: base.install.dir
+ dependencyTargets local.cache.dir dependency.properties
+ ======================================================================
+ -->
+<project
+ name="test"
+ default="get">
+ <target
+ name="get">
+ <!--
+ read in this properties, just so we can make sure our
+ requested pre-reqs are defined
+ -->
+ <property
+ file="${dependency.properties}"/>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="orbitthirdpartymap"/>
+ <param
+ name="base.install.dir"
+ value="${buildDirectory}/maps/${env.RELENG}/maps/"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="eclipse"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="eclipseTestFramework"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="xml"/>
+ </antcall>
+ </target>
+ <target
+ name="getAndInstall"
+ if="${groupId}.url">
+ <ant
+ antfile="${dependencyTargets}"
+ target="checkDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ </ant>
+ <ant
+ antfile="${dependencyTargets}"
+ target="installDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ <property
+ name="install.destination"
+ value="${base.install.dir}"/>
+ </ant>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.build/build.xml b/releng.wtpbuilder/buildtemplates/distribution/template.build/build.xml
new file mode 100644
index 0000000..c4b55e5
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.build/build.xml
@@ -0,0 +1,83 @@
+<project
+ default="build"
+ basedir=".">
+ <fail
+ unless="wtp.builder.home"/>
+ <property
+ file="${wtp.builder.home}/build.properties"/>
+ <target
+ name="build"
+ depends="getBaseBuilder">
+ <dirname
+ file="${ant.file}"
+ property="distribution.wtp.build.dir"/>
+ <property
+ name="buildTargets"
+ value="${wtp.builder.home}/scripts/build/runbuild.xml"/>
+
+ <!-- for this distribution, dependencies come from project's releng map project-->
+ <property
+ name="dependency.properties"
+ value="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties"/>
+
+ <!-- calling label.xml to createg label.properties file -->
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/label.xml"/>
+
+ <echo
+ level="info"
+ message="invoking buildTargets: ${buildTargets} to build for each component"/>
+
+ <ant
+ antfile="${buildTargets}">
+ <property
+ name="component"
+ value="@shortname@"/>
+ </ant>
+ <ant
+ antfile="${buildTargets}">
+ <property
+ name="component"
+ value="@shortname@_sdk"/>
+ </ant>
+ <ant
+ antfile="${buildTargets}">
+ <property
+ name="component"
+ value="@shortname@_tests"/>
+ <property
+ name="eclipseBuildFailOnError"
+ value="false"/>
+ </ant>
+
+ <!-- package -->
+ <antcall
+ target="package"/>
+ </target>
+
+ <!-- invoking runbuild.xml targetting getBaseBuilder -->
+ <target
+ name="getBaseBuilder"
+ if="eclipse.builder.fetch">
+ <dirname
+ file="${ant.file}"
+ property="wtbuilder.dir"/>
+ <property
+ name="buildTargets"
+ value="${wtp.builder.home}/scripts/build/runbuild.xml"/>
+ <echo
+ level="info"
+ message="invoking buildTargets: ${buildTargets} -> getBaseBuilder"/>
+ <ant
+ antfile="${buildTargets}"
+ target="getBaseBuilder"/>
+ </target>
+ <target
+ name="package">
+ <!--
+ post, post packaging, for WTP ... "manually" assemble the
+ desired zips
+ -->
+ <!-- nothing to assemble right now -->
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/build.xml b/releng.wtpbuilder/buildtemplates/distribution/template.site/build.xml
new file mode 100644
index 0000000..7c7d077
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/build.xml
@@ -0,0 +1,126 @@
+<project
+ name="Build specific targets and properties"
+ default="build"
+ basedir=".">
+
+ <!-- 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 = = = -->
+
+ <echo message="ant.file: ${ant.file}" />
+ <target name="build">
+ <java
+ jar="${eclipse.launcher}"
+ fork="true"
+ failonerror="true">
+ <jvmarg value="-Dosgi.ws=${env.BASEWS}" />
+ <jvmarg value="-Dosgi.os=${env.BASEOS}" />
+ <jvmarg value="-Dosgi.arch=${env.BASEARCH}" />
+ <jvmarg value="-Dbuild.donottagmaps=${build.donottagmaps}" />
+ <jvmarg value="-DbuildBranch=${buildBranch}" />
+ <jvmarg value="-DbuildType=${buildType}" />
+ <jvmarg value="-DbuildId=${buildId}" />
+ <jvmarg value="-DmapVersionTag=${mapVersionTag}" />
+ <jvmarg value="-Dbuild.distribution=${build.distribution}" />
+ <jvmarg value="-DbuildDirectory=${buildDirectory}" />
+ <jvmarg value="-Dwtp.builder.home=${wtp.builder.home}" />
+ <jvmarg value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}" />
+ <jvmarg
+ value="-Dprojectname=${projectname}" />
+ <arg value="-data" />
+ <arg value="${basedir}/workspace" />
+ <arg value="-application" />
+ <arg value="org.eclipse.ant.core.antRunner" />
+ <arg value="-buildfile" />
+ <arg value="${ant.file}" />
+ <arg value="publish" />
+ </java>
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do to publish the build results -->
+ <!-- ===================================================================== -->
+ <target name="publish">
+ <dirname
+ file="${ant.file}"
+ property="component.dir" />
+ <ant antfile="${wtp.builder.home}/scripts/build/label.xml" />
+ <property file="${buildDirectory}/label.properties" />
+
+ <property
+ name="publish.xml"
+ value="${component.dir}/publish.xml" />
+
+ <property
+ name="indexFileName"
+ value="index.php" />
+ <property
+ name="result"
+ value="${buildDirectory}/${buildLabel}" />
+ <property
+ name="indexTemplateFilename"
+ value="index.html.template.php" />
+
+ <copy
+ file="${wtp.builder.home}/distribution/wtp.site/templateFiles/${indexTemplateFilename}"
+ tofile="${buildDirectory}/${indexFileName}" />
+
+ <condition
+ property="isBuildTested"
+ value="true">
+ <available
+ file="${buildDirectory}/${buildLabel}/testResults/html" />
+ </condition>
+
+ <ant
+ antfile="${publish.xml}"
+ dir="${component.dir}">
+ <property
+ name="dropTokenList"
+ value="%wtpruntime%,%wtpsdk%,%wtptest%,%wst%,%wst-sdk%,%wst-tests%,%jst-tests%,%wst-perf-tests%,%jst-perf-tests%,%jpt-runtime%,%jpt-sdk%,%jpt-tests%" />
+ <property
+ name="webtoolsDownloadURL"
+ value="http://www.eclipse.org/downloads/download.php?file=/webtools/committers/drops" />
+
+ <property
+ name="buildBranch"
+ value="${buildBranch}" />
+ <property
+ name="isBuildTested"
+ value="${isBuildTested}" />
+ <property
+ name="indexTemplateFilename"
+ value="${indexTemplateFilename}" />
+ </ant>
+
+ <!-- Get the build map over for the results to point to. -->
+ <copy
+ file="${buildDirectory}/directory.txt"
+ tofile="${result}/directory.txt" />
+
+ <!-- Copy info for build identification -->
+ <copy
+ file="${buildDirectory}/buildmachineinfo.properties"
+ tofile="${result}/buildmachineinfo.properties" />
+
+ <!-- final count files -->
+ <countBuildFiles
+ sourceDirectory="${buildDirectory}/${buildLabel}"
+ filterString=".zip,.tar.gz"
+ outputFile="${buildDirectory}/${buildLabel}/files.count" />
+
+ </target>
+
+
+</project>
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/compilerXMLOutputToHTML.xsl b/releng.wtpbuilder/buildtemplates/distribution/template.site/compilerXMLOutputToHTML.xsl
new file mode 100644
index 0000000..4f6809e
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/compilerXMLOutputToHTML.xsl
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet
+ version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+ <xsl:output
+ method="html"
+ indent="yes" />
+
+ <xsl:template match="/">
+ <html>
+ <body>
+ <xsl:apply-templates select="compiler" />
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="compiler">
+ <h2>Compiler Report</h2>
+ <p>
+ Compiler:
+ <xsl:value-of select="@name" />
+ <xsl:text> </xsl:text>
+ Version:
+ <xsl:value-of select="@version" />
+ </p>
+
+ <xsl:apply-templates select="stats" />
+
+ <xsl:apply-templates select="sources" />
+ </xsl:template>
+
+ <xsl:template
+ name="stats"
+ match="stats">
+
+ <p>
+ Number of source files:
+ <xsl:value-of select="count(..//source)" />
+ Number of classfiles:
+ <xsl:value-of select="number_of_classfiles/@value" />
+ </p>
+ <p>
+ Problems:
+ <xsl:value-of select="problem_summary/@problems" />
+ (Errors:
+ <xsl:value-of select="problem_summary/@errors" />
+ Warnings:
+ <xsl:value-of select="problem_summary/@warnings" />
+ )
+ </p>
+ </xsl:template>
+
+
+ <xsl:template
+ name="sources"
+ match="sources">
+
+ <xsl:if test="count(source) > 0">
+
+ <dl>
+ <xsl:for-each select="source">
+
+ <xsl:variable
+ name="package"
+ select="normalize-space(@package)">
+ </xsl:variable>
+ <xsl:variable
+ name="path"
+ select="normalize-space(@path)">
+ </xsl:variable>
+ <xsl:variable
+ name="classname"
+ select="substring-after($path, $package)">
+ </xsl:variable>
+ <xsl:if test="count(problems) > 0">
+ <dt style="font-weight: bold; color: black">
+ Source File:
+ <xsl:value-of select="$package" />
+ <xsl:value-of select="$classname" />
+ </dt>
+ <xsl:apply-templates select="problems">
+ <xsl:with-param name="classname">
+ <xsl:value-of select="$classname" />
+ </xsl:with-param>
+ </xsl:apply-templates>
+ </xsl:if>
+ </xsl:for-each>
+ </dl>
+
+ </xsl:if>
+
+ </xsl:template>
+
+ <xsl:template match="problems">
+ <xsl:param name="classname" />
+ <xsl:for-each select="problem">
+
+ <dd style="font-weight: normal; color: black">
+ <xsl:value-of select="position()" />
+ <xsl:text>. </xsl:text>
+ <xsl:value-of select="@severity" />
+ <xsl:text>: </xsl:text>
+ <xsl:value-of select="@id" />
+ <xsl:variable
+ name="lineNumber"
+ select="@line">
+ </xsl:variable>
+ <xsl:for-each select="message">
+ <p
+ style="margin-left: +.5in; font-size: -1; margin-top: 0;margin-bottom:0;">
+ <small>
+ <xsl:value-of select="@value" />
+ </small>
+ </p>
+ </xsl:for-each>
+ <xsl:for-each select="source_context">
+ <xsl:variable
+ name="pre"
+ select="substring(@value,0,(@sourceStart + 1))">
+ </xsl:variable>
+ <xsl:variable
+ name="main"
+ select="substring(@value,(@sourceStart + 1),(((@sourceEnd + 1) - (@sourceStart + 1)) + 1))">
+ </xsl:variable>
+ <xsl:variable
+ name="end"
+ select="substring(@value,(@sourceEnd + 2))">
+ </xsl:variable>
+
+ <p
+ style="margin-left: +.5in; font-size: -2; margin-top: 0;margin-bottom:0;">
+ <xsl:value-of select="substring($classname,2)" />
+ :
+ </p>
+ <p
+ style="margin-left: +.5in; font-size: -2;font-family: monospace; margin-top: 0;margin-bottom:0;">
+ <xsl:value-of select="$lineNumber" />
+ :
+ <xsl:value-of select="$pre" />
+ <b>
+ <u>
+ <xsl:value-of select="$main" />
+ </u>
+ </b>
+ <xsl:value-of select="$end" />
+ </p>
+ </xsl:for-each>
+ </dd>
+ </xsl:for-each>
+
+
+ </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/publish.xml b/releng.wtpbuilder/buildtemplates/distribution/template.site/publish.xml
new file mode 100644
index 0000000..5f6697c
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/publish.xml
@@ -0,0 +1,548 @@
+<project
+ name="Publish Build"
+ default="default"
+ basedir=".">
+
+ <!-- Properties that must be passed to this script:
+ buildDirectory: Path to perform the build in. (A working directory)
+ buildType: Type of build (nightly, integration etc.)
+ buildId: Build name
+ buildLabel: <buildType>-<buildName>-<timestamp>
+ -->
+
+ <property environment="env" />
+
+ <property
+ name="resultDir"
+ value="${buildDirectory}/${buildLabel}" />
+ <!--name of generated index page-->
+ <property
+ name="indexFileName"
+ value="index.php" />
+ <property
+ name="templateDir"
+ value="${wtp.builder.home}/distribution/${build.distribution}.site" />
+ <property
+ name="resultingIndex"
+ value="${resultDir}/${indexFileName}" />
+ <echo
+ level="debug"
+ message="resultDir: ${resultDir}" />
+ <echo
+ level="debug"
+ message="templateDir: ${templateDir}" />
+ <echo
+ level="debug"
+ message="resultingIndex: ${resultingIndex}" />
+
+
+
+ <target name="default">
+ <copy
+ overwrite="true"
+ file="${wtp.builder.home}/distribution/${build.distribution}.site/templateFiles/${indexTemplateFilename}"
+ tofile="${resultingIndex}" />
+ <antcall target="countFiles" />
+ <antcall target="generateCompileIndex" />
+ <antcall target="generateJUnitTestsIndex" />
+ <antcall target="getStaticFiles" />
+ </target>
+
+ <target name="generateCompileIndex">
+
+
+ <!--
+ <taskdef name="indexResults" classname="org.eclipse.wtp.releng.tools.ResultsSummaryGenerator" />
+ -->
+
+ <!--
+ isBuildTested: true|false should JUnit plugin test results be used to generate index page
+ dropTokenList: comma separated list of strings which should be replaced by the fileName attribute settings in the testManifest.xml.
+ xmlDirectoryName: path to directory containing JUnit plugin test results in xml format (see doc is org.eclipse.test).
+ dropDirectoryName: path to directory containing the result of the build.
+ testResultsTemplateFileName: path to template file used to generate page with links to JUnit test results
+ testResultsHtmlFileName: name of file which will be generated with links to JUnit test results
+ dropHtmlFileName: name of generated index page
+ hrefTestResultsTargetPath: relative path from index page to directory containing JUnit html test results
+ hrefCompileLogsTargetPath: relative path from index page directory containing compilelogs
+ testManifestFileName: name of xml file containing descriptions of zip types and log files
+
+
+
+ -->
+ <property
+ file="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties" />
+
+ <!-- create tables of test plugin compiles first -->
+ <antcall
+ target="generateCompileOutput">
+ <param
+ name="outputDirectory"
+ value="${resultDir}/testcompilelogs" />
+ </antcall>
+
+ <!-- create table of code plugins compiles -->
+ <summarizeResults
+ isBuildTested="false"
+ includeAll="true"
+ dropTokenList="${dropTokenList}"
+ xmlDirectoryName=""
+ dropDirectoryName="${resultDir}"
+ testResultsTemplateFileName="${templateDir}/templateFiles/compileResults.php.template"
+ testResultsHtmlFileName="compileResults.php"
+ hrefTestResultsTargetPath="testResults/html"
+ hrefCompileLogsTargetPath="compilelogs"
+ compileLogsDirectoryName="${resultDir}/compilelogs" />
+ <xslt
+ basedir="${resultDir}/compilelogs"
+ destdir="${resultDir}/compilelogs"
+ includes="**/*.bin.xml"
+ scanincludeddirectories="true"
+ style="compilerXMLOutputToHTML.xsl"
+ force="true" />
+ <tstamp>
+ <format
+ property="TODAY"
+ pattern="MMMM d, yyyy" />
+ </tstamp>
+
+ <!-- Insert Build Type descriptor -->
+ <antcall
+ target="${buildType}" />
+ <antcall
+ target="writeData" />
+
+ <!-- Update timestamp on file to permit overwrite through Ant copy task -->
+ <touch
+ file="${resultingIndex}" />
+ </target>
+ <target
+ name="generateCompileOutput"
+ depends="checkIfCompileLogs"
+ if="doCompileLogs">
+ <summarizeResults
+ isBuildTested="false"
+ includeAll="true"
+ dropTokenList="${dropTokenList}"
+ xmlDirectoryName=""
+ dropDirectoryName="${resultDir}"
+ testResultsTemplateFileName="${templateDir}/templateFiles/testCompileResults.php.template"
+ testResultsHtmlFileName="testCompileResults.php"
+ hrefTestResultsTargetPath=""
+ hrefCompileLogsTargetPath="testcompilelogs"
+ compileLogsDirectoryName="${outputDirectory}" />
+ <xslt
+ basedir="${outputDirectory}"
+ destdir="${outputDirectory}"
+ includes="**/*.bin.xml"
+ scanincludeddirectories="true"
+ style="compilerXMLOutputToHTML.xsl"
+ force="true" />
+ </target>
+ <target
+ name="generateJUnitTestsIndex"
+ depends="checkIfTested"
+ if="doTests">
+
+ <!--
+ isBuildTested: true|false should JUnit plugin test results be used to generate index page
+ dropTokenList: comma separated list of strings which should be replaced by the fileName attribute settings in the testManifest.xml.
+ xmlDirectoryName: path to directory containing JUnit plugin test results in xml format (see doc is org.eclipse.test).
+ dropDirectoryName: path to directory containing the result of the build.
+ testResultsTemplateFileName: path to template file used to generate page with links to JUnit test results
+ testResultsHtmlFileName: name of file which will be generated with links to JUnit test results
+ dropHtmlFileName: name of generated index page
+ hrefTestResultsTargetPath: relative path from index page to directory containing JUnit html test results
+ hrefCompileLogsTargetPath: relative path from index page directory containing compilelogs
+ testManifestFileName: name of xml file containing descriptions of zip types and log files
+
+
+
+ -->
+ <property
+ file="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties" />
+
+ <!-- create table of test plugin compiles first -->
+ <!-- set isBuildTested to true for the "compile only" results -->
+ <summarizeResults
+ isBuildTested="true"
+ dropTokenList="${dropTokenList}"
+ dropDirectoryName="${resultDir}"
+ xmlDirectoryName="${resultDir}/testResults/xml"
+ testResultsTemplateFileName="${templateDir}/templateFiles/testResults.php.template"
+ testResultsHtmlFileName="testResults.php"
+ hrefTestResultsTargetPath="testResults/html"
+ compileLogsDirectoryName="" />
+ <tstamp>
+ <format
+ property="TODAY"
+ pattern="MMMM d, yyyy" />
+ </tstamp>
+
+ <!-- Insert Build Type descriptor -->
+ <antcall
+ target="${buildType}" />
+ <antcall
+ target="writeData" />
+
+ <!-- Update timestamp on file to permit overwrite through Ant copy task -->
+ <touch
+ file="${resultingIndex}" />
+ </target>
+ <target
+ name="getStaticFiles">
+ <!--get static files required in the buildLabel directory-->
+ <copy
+ todir="${resultDir}">
+ <fileset
+ dir="${templateDir}/staticDropFiles" />
+ </copy>
+
+ <!--copy buildnotes from plugin directories-->
+ <mkdir
+ dir="${resultDir}/buildnotes" />
+ <copy
+ todir="${resultDir}/buildnotes"
+ flatten="true">
+ <fileset
+ dir="${buildDirectory}/plugins"
+ includes="**/buildnotes_*.html" />
+ <fileset
+ dir="${buildDirectory}/features"
+ includes="**/buildnotes_*.html" />
+ </copy>
+ <copy
+ file="${templateDir}/staticDropFiles/logIndex.php"
+ tofile="${resultDir}/testResults/consolelogs/full/logIndex.php" />
+ <copy
+ file="${templateDir}/staticDropFiles/logIndex.php"
+ tofile="${resultDir}/testResults/consolelogs/testLogs/logIndex.php" />
+ <copy
+ file="${templateDir}/staticDropFiles/logIndex.php"
+ tofile="${resultDir}/testResults/consolelogs/testSysErrorLogs/logIndex.php" />
+ </target>
+ <target
+ name="updateSite">
+
+
+ <!-- get our authored, tokenized site.xml file -->
+ <copy
+ file="${wtp.builder.home}/distribution/${build.distribution}.site/templateFiles/siteWTP.xml"
+ tofile="${buildDirectory}/${buildLabel}/updateSite/site.xml"
+ overwrite="true"
+ failonerror="true" />
+ <!-- get the ${buildDirectory}/finalPluginsVersions.properties, and
+ read as properties -->
+ <!-- substitute property value for tokens -->
+ <replace
+ file="${buildDirectory}/${buildLabel}/updateSite/site.xml"
+ propertyfile="${buildDirectory}/finalFeaturesVersions.properties">
+ <replacefilter
+ token="@org.eclipse.wst@"
+ property="org.eclipse.wst" />
+ <replacefilter
+ token="@org.eclipse.wst.sdk@"
+ property="org.eclipse.wst.sdk" />
+ <replacefilter
+ token="@org.eclipse.jst@"
+ property="org.eclipse.jst" />
+ <replacefilter
+ token="@org.eclipse.jst.sdk@"
+ property="org.eclipse.jst.sdk" />
+ <replacefilter
+ token="@org.eclipse.jpt.feature@"
+ property="org.eclipse.jpt.feature" />
+ <replacefilter
+ token="@org.eclipse.jpt_sdk.feature@"
+ property="org.eclipse.jpt_sdk.feature" />
+ </replace>
+ </target>
+ <target
+ name="countFiles">
+ <!--
+ files.count is a file that should exist in the drop directory with a count of the zip files in the same directory.
+ It is required to generate a link to the build on the downloads page.
+ -->
+ <countBuildFiles
+ sourceDirectory="${resultDir}"
+ filterString=".zip,.tar.gz"
+ outputFile="${resultDir}/files.count" />
+ </target>
+
+ <!--Build type descriptors-->
+ <target
+ name="I">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Integration" />
+ </target>
+ <target
+ name="S">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Stable" />
+ </target>
+ <target
+ name="N">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Nightly" />
+ </target>
+ <target
+ name="M">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Maintenance" />
+ </target>
+ <target
+ name="R">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Release" />
+ </target>
+ <target
+ name="T">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Test" />
+ </target>
+ <target
+ name="P">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Patches" />
+ </target>
+ <target
+ name="checkIfTested">
+ <echo
+ level="debug"
+ message="isBuildTested: ${isBuildTested}" />
+ <condition
+ property="doTests">
+ <equals
+ arg1="${isBuildTested}"
+ arg2="true"
+ trim="true"
+ casesensitive="false" />
+ </condition>
+ </target>
+ <target
+ name="checkIfCompileLogs">
+ <condition
+ property="doCompileLogs">
+ <available
+ file="${outputDirectory}" />
+ </condition>
+ </target>
+ <target
+ name="writeData">
+ <!-- Insert Build Date -->
+ <replace
+ file="${resultingIndex}"
+ token="@date@"
+ value="${TODAY}" />
+
+ <!-- Insert Build Name -->
+ <replace
+ file="${resultingIndex}"
+ token="@build@"
+ value="${buildLabel}" />
+ <replace
+ file="${resultingIndex}"
+ token="@buildBranch@"
+ value="${buildBranch}" />
+
+ <!-- Insert PreRequsites -->
+ <replace
+ file="${resultingIndex}"
+ token="@eclipseFile@"
+ value="${eclipse.file.linux-gtk-x86}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipseURL@"
+ value="${eclipse.url}/${eclipse.file.linux-gtk-x86}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipseBuildURL@"
+ value="${eclipse.url}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipsefilelinux@"
+ value="${eclipse.file.linux-gtk-x86}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipsefilewindows@"
+ value="${eclipse.file.win32-win32-x86}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipsefilemacos@"
+ value="${eclipse.file.macosx-carbon-ppc}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipseBuildHome@"
+ value="${eclipse.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipse.mirror.prefixuri@"
+ value="${eclipse.mirror.prefixuri}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipse.fspath.prefix@"
+ value="${eclipse.fspath.prefix}" />
+ <replace
+ file="${resultingIndex}"
+ token="@testURL@"
+ value="${eclipseTestFramework.url}/${eclipseTestFramework.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@testFile@"
+ value="${eclipseTestFramework.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@emfFile@"
+ value="${emf.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@emfURL@"
+ value="${emf.url}/${emf.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@emfBuildHome@"
+ value="${emf.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@emf.mirror.prefixuri@"
+ value="${emf.mirror.prefixuri}" />
+ <replace
+ file="${resultingIndex}"
+ token="@wstFile@"
+ value="${wst.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@wstURL@"
+ value="${wst.url}/${wst.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@wstBuildHome@"
+ value="${wst.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@wst.mirror.prefixuri@"
+ value="${wst.mirror.prefixuri}" />
+ <replace
+ file="${resultingIndex}"
+ token="@gefFile@"
+ value="${gef.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@gefURL@"
+ value="${gef.url}/${gef.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@gefBuildHome@"
+ value="${gef.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@gef.mirror.prefixuri@"
+ value="${gef.mirror.prefixuri}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipserelengFile@"
+ value="${eclipsereleng.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipserelengURL@"
+ value="${eclipsereleng.url}/${eclipsereleng.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@orbitthirdpartyzipFile@"
+ value="${orbitthirdpartyzip.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@orbitthirdpartyzipURL@"
+ value="${orbitthirdpartyzip.url}/${orbitthirdpartyzip.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@orbitthirdpartyzipBuildHome@"
+ value="${orbitthirdpartyzip.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@orbitthirdpartyzip.mirror.prefixuri@"
+ value="${orbitthirdpartyzip.mirror.prefixuri}" />
+
+
+ <!-- no longer used. Post 1.5.5 -->
+ <replace
+ file="${resultingIndex}"
+ token="@jemFile@"
+ value="${jem.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@jemURL@"
+ value="${jem.url}/${jem.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@jemBuildHome@"
+ value="${jem.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@jem.mirror.prefixuri@"
+ value="${jem.mirror.prefixuri}" />
+ <!--
+ these token/s should not exist in maintenance stream, but
+ do no harm done, so in the interests of keeping builder
+ streams in sync, we'll leave them here as place hold
+ -->
+ <replace
+ file="${resultingIndex}"
+ token="@dtpFile@"
+ value="${dtp.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@dtpURL@"
+ value="${dtp.url}/${dtp.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@dtpBuildHome@"
+ value="${dtp.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@dtp.mirror.prefixuri@"
+ value="${dtp.mirror.prefixuri}" />
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/buildNotes.php b/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/buildNotes.php
new file mode 100644
index 0000000..e843ecf
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/buildNotes.php
@@ -0,0 +1,63 @@
+<html>
+<head>
+<?php
+$parts = explode("/", getcwd());
+$parts2 = explode("-", $parts[count($parts) - 1]);
+$buildName = $parts2[1];
+
+echo "<title>Build Notes for $buildName </title>";
+?>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
+ type="text/css">
+</head>
+<body>
+
+<p><b><font face="Verdana" size="+3">Build Notes</font></b></p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%">
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font
+ color="#FFFFFF" face="Arial,Helvetica"> Build Notes for <?php echo "$buildName"; ?></font></b></td>
+ </tr>
+</table>
+<table border="0">
+
+<?php
+$hasNotes = false;
+$aDirectory = dir("buildnotes");
+while ($anEntry = $aDirectory->read()) {
+ if ($anEntry != "." && $anEntry != "..") {
+ //print_r($anEntry);
+ //echo "<br />";
+
+ $subject = $anEntry;
+ $pattern = '/^buildnotes_(.*)/i';
+ preg_match($pattern, $subject, $matches);
+ $subject = $matches[1];
+ //print_r($subject);
+ //echo "<br />";
+ $pattern = '/^(.*)\.html$/';
+ preg_match($pattern, $subject, $matches);
+ //print_r($matches);
+ //echo "<br />";
+
+ $component = $matches[1];
+
+ $line = "<td>Component: <a href=\"buildnotes/$anEntry\">$component</a></td>";
+ echo "<tr>";
+ echo "$line";
+ echo "</tr>";
+ $hasNotes = true;
+
+ }
+}
+$aDirectory.closedir();
+if (!$hasNotes) {
+ echo "<br>There are no build notes for this build.";
+}
+?>
+
+</table>
+</body>
+</html>
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/consoleLogs.php b/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/consoleLogs.php
new file mode 100644
index 0000000..7dd5f42
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/consoleLogs.php
@@ -0,0 +1,94 @@
+<html>
+<head>
+<?php
+$parts = explode("/", getcwd());
+$parts2 = explode("-", $parts[count($parts) - 1]);
+$buildName = $parts2[1];
+
+echo "<title>Test Console Output for $buildName </title>";
+?>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
+ type="text/css">
+<title>Console Logs from Running JUnit Plug-in Tests</title>
+</head>
+<body>
+
+<p><b><font face="Verdana" size="+3">Test Console Output</font></b></p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%">
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font
+ color="#FFFFFF" face="Arial,Helvetica">Console output from running
+ JUnit plugin tests for <?php echo "$buildName"; ?> </font></b></td>
+ </tr>
+</table>
+<table border="0">
+
+<?php
+$rootDir = "testResults/consolelogs";
+$hasNotes = false;
+$aDirectory = dir($rootDir);
+$index = 0;
+$dirindex = 0;
+while ($anEntry = $aDirectory->read()) {
+ if ($anEntry != "." && $anEntry != "..") {
+ if (is_file("$rootDir/$anEntry")) {
+ $entries[$index] = $anEntry;
+ $index++;
+ } else if (is_dir("$rootDir/$anEntry")) {
+ $direntries[$dirindex] = $anEntry;
+ $dirindex++;
+ }
+ }
+}
+$aDirectory->close();
+
+
+sort($entries);
+sort($direntries);
+
+for ($i = 0; $i < $dirindex; $i++) {
+ $anEntry = $direntries[$i];
+ $line = "<td><a href=\"testResults/consolelogs/$anEntry/logIndex.php\">$anEntry</a></td>";
+ echo "<tr>";
+ echo "$line";
+ echo "</tr>";
+}
+for ($i = 0; $i < $index; $i++) {
+ $anEntry = $entries[$i];
+ $logsize = filesize("testResults/consolelogs/$anEntry");
+
+
+ $level = 0;
+ if ($logsize > 20000) {
+ $level = 2;
+ }
+ else if ($logsize > 2000) {
+ $level = 1;
+ }
+
+ if ($level == 0) {
+ $line = "<td><a href=\"testResults/consolelogs/$anEntry\">$anEntry</a> ($logsize bytes)</td>";
+ }
+ else if ($level == 1) {
+ $line = "<td><em><a href=\"testResults/consolelogs/$anEntry\">$anEntry</a> ($logsize bytes)</em></td>";
+ } else if ($level == 2) {
+ $line = "<td><strong><a href=\"testResults/consolelogs/$anEntry\">$anEntry</a> ($logsize bytes)</strong></td>";
+ }
+
+
+ echo "<tr>";
+ echo "$line";
+ echo "</tr>";
+ $hasNotes = true;
+}
+
+if (!$hasNotes) {
+ echo "<br>There are no test logs for this build.";
+}
+?>
+
+</table>
+</body>
+</html>
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/logIndex.php b/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/logIndex.php
new file mode 100644
index 0000000..0b36334
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/logIndex.php
@@ -0,0 +1,84 @@
+<html>
+<head>
+<?php
+
+function endsWith( $str, $sub ) {
+
+ return ( substr( $str, strlen( $str ) - strlen( $sub ) ) === $sub );
+}
+
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ echo "<title>Test Console Output for $buildName </title>";
+?>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+<title>Console Logs from Running JUnit Plug-in Tests</title></head>
+<body>
+
+<p><b><font face="Verdana" size="+3">Test Console Output</font></b> </p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Console
+ output from running JUnit plugin tests for
+ <?php echo "$buildName"; ?>
+ </font></b></td>
+ </tr>
+</table>
+<table border="0">
+
+<?php
+ $hasNotes = false;
+ $aDirectory = dir(".");
+ $index = 0;
+ while ($anEntry = $aDirectory->read()) {
+ if ($anEntry != "." && $anEntry != ".." && !endsWith(__FILE__, $anEntry)) {
+ $entries[$index] = $anEntry;
+ $index++;
+ }
+ }
+ aDirectory.closedir();
+
+
+ sort($entries);
+
+ for ($i = 0; $i < $index; $i++) {
+ $anEntry = $entries[$i];
+ $logsize = filesize("$anEntry");
+
+
+ $level = 0;
+ if ($logsize > 20000) {
+ $level = 2;
+ }
+ else if ($logsize > 2000) {
+ $level = 1;
+ }
+
+ if ($level == 0) {
+ $line = "<td><a href=\"$anEntry\">$anEntry</a> ($logsize bytes)</td>";
+ }
+ else if ($level == 1) {
+ $line = "<td><em><a href=\"$anEntry\">$anEntry</a> ($logsize bytes)</em></td>";
+ } else if ($level == 2) {
+ $line = "<td><strong><a href=\"$anEntry\">$anEntry</a> ($logsize bytes)</strong></td>";
+ }
+
+
+ echo "<tr>";
+ echo "$line";
+ echo "</tr>";
+ $hasNotes = true;
+ }
+
+ if (!$hasNotes) {
+ echo "<br>There are no test logs for this build.";
+ }
+?>
+
+</table>
+</body>
+</html>
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/miscUtil.php b/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/miscUtil.php
new file mode 100644
index 0000000..c83bdf6
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/miscUtil.php
@@ -0,0 +1,214 @@
+<?php
+
+// todo: unsure if can handle filenames that are URLs?
+// handy constant to compute file size in megabytes
+
+function fileSizeInMegs($filename) {
+ $onemeg=1024*1024;
+ $zipfilesize=filesize($filename);
+ $zipfilesize=round($zipfilesize/$onemeg, 0);
+ return $zipfilesize;
+}
+
+function fileSizeForDisplay($filename) {
+ $onekilo=1024;
+ $onemeg=$onekilo * $onekilo;
+ $criteria = 10 * $onemeg;
+ $scaleChar = "M";
+ $zipfilesize=filesize($filename);
+ if ($zipfilesize > $criteria) {
+ $zipfilesize=round($zipfilesize/$onemeg, 0);
+ $scaleChar = "M";
+ }
+ else {
+ $zipfilesize=round($zipfilesize/$onekilo, 0);
+ $scaleChar = "K";
+ }
+ $result = "(" . $zipfilesize . $scaleChar . ")";
+ return $result;
+}
+
+
+function displayFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription) {
+ echo "<td align=\"right\" valign=\"top\" width=\"30%\">";
+ echo "<a href=\"$downloadprefix$filename\">" . $fileShortDescription . "</a>";
+ echo "</td><td align=\"right\" valign=\"top\" width=\"3%\">";
+ echo $zipfilesize;
+ echo "</td>";
+ echo "<td align=\"right\" valign=\"top\" width=\"2%\">";
+ echo "[<a href=\"checksum/$filename.md5\">md5</a>]";
+ echo "</td>";
+}
+
+function resourceExist($url, $mirrorPrefixuri, $prereqfilename, $eclipseFSpathPrefix)
+{
+ $result = false;
+
+ $allowURLopen = ini_get('allow_url_fopen');
+
+ if ($allowURLopen && stream_last_modified($url)) {
+ $result = true;
+ }
+ else {
+ // TODO: for now, we'll do a raw check on the whole file name, since enable_url_open
+ // is off. better would be to check if we are on build.eclipse.org or download.eclipse.org?
+ $wholePath = trim($eclipseFSpathPrefix) . "/" . trim($mirrorPrefixuri) . "/" . trim($prereqfilename);
+ if (file_exists($wholePath)) {
+ $result = true;
+ }
+ }
+ return $result;
+}
+
+function stream_last_modified($url)
+{
+ if (function_exists('version_compare') && version_compare(phpversion(), '4.3.0') > 0)
+ {
+ if (!($fp = @fopen($url, 'r')))
+ return NULL;
+
+ $meta = stream_get_meta_data($fp);
+ for ($j = 0; isset($meta['wrapper_data'][$j]); $j++)
+ {
+ if (strstr(strtolower($meta['wrapper_data'][$j]), 'last-modified'))
+ {
+ $modtime = substr($meta['wrapper_data'][$j], 15);
+ break;
+ }
+ }
+ fclose($fp);
+ }
+ else
+ {
+ $parts = parse_url($url);
+ $host = $parts['host'];
+ $path = $parts['path'];
+
+ if (!($fp = @fsockopen($host, 80)))
+ return NULL;
+
+ $req = "HEAD $path HTTP/1.0\r\nUser-Agent: PHP/".phpversion()."\r\nHost: $host:80\r\nAccept: */*\r\n\r\n";
+ fputs($fp, $req);
+
+ while (!feof($fp))
+ {
+ $str = fgets($fp, 4096);
+ if (strstr(strtolower($str), 'last-modified'))
+ {
+ $modtime = substr($str, 15);
+ break;
+ }
+ }
+ fclose($fp);
+ }
+ return isset($modtime) ? strtotime($modtime) : time();
+}
+
+function isMirrored($uriToCheck) {
+ global $debugScript;
+ global $debugFunctions;
+ $localuri = $uriToCheck;
+
+ $debugMirrorList = false;
+ if ($debugScript) {
+ echo "uriToCheck: " . $localuri . "<br />";
+ }
+
+ $xmlcount = 0;
+
+ /* This method true and accurate method of parsing mirror results
+ * may be expensive, and would
+ * likely cause artificially high counts of "downloads".
+ * Could maybe use if somehow only checked once ever 5 minutes or something.
+
+
+ // turn off warnings, as sometimes HTML is returned, which causes lots of warnings
+ $holdLevel = error_reporting(E_ERROR);
+ $mirrorsxml=simplexml_load_file(rawurlencode($localuri) . urlencode("&format=xml"));
+ error_reporting($holdLevel);
+
+
+ if ($mirrorsxml) {
+ if ($debugFunctions) {
+ echo "root node: " . $mirrorsxml->getName() . "<br />";
+ }
+ if (strcmp($mirrorsxml->getName(), "mirrors") == 0) {
+ foreach ($mirrorsxml->children() as $mirror) {
+ if (strcmp($mirror->getName(),"mirror") == 0) {
+ $xmlcount=$xmlcount+1;
+ }
+ if ($debugMirrorList) {
+ print_r($mirror);
+ echo "<br />";
+ }
+ }
+ }
+ if ($debugFunctions) {
+ echo "Mirror count: " . $xmlcount . "<br />";
+ }
+ }
+ */
+ /*
+ * Use simple heuristic based on pattern
+ * in the URI ... if it contains "/downloads/" then assume it's mirrored
+ */
+ if (strpos($uriToCheck, "webtools/downloads/") > 0) {
+ $xmlcount = 1;
+ }
+ return ($xmlcount > 0);
+
+}
+
+// TODO: replace with Phoenix variables
+function getPlatform () {
+ global $debugScript;
+ global $debugFunctions;
+ // getBrowser is expensive, so cache the data
+ static $browser;
+ $platform = "unknown";
+
+
+ if(ini_get("browscap")) {
+ if(!isset($browser)){
+ $browser = get_browser(null, true);
+ }
+
+ if ($browser) {
+ $rawPlatform = $browser['platform'];
+ if ($debugFunctions) {
+ echo "browser platfrom: " . $rawPlatform . "<br />" ;
+ }
+
+ if ($debugFunctions) {
+ $browserKeys = array_keys($browser);
+ foreach ($browserKeys as $key) {
+ echo $key . ": " . $browser[$key] . "<br />";
+ }
+ }
+ }
+ if (strpos($rawPlatform, "Win") === 0) {
+ $platform="windows";
+ } else if (strpos($rawPlatform, "Linux") === 0) {
+ $platform="linux";
+ } else if (strpos($rawPlatform, "Mac") === 0) {
+ $platform="mac";
+ }
+ }
+ return $platform;
+}
+
+
+function getPrereqReferenceOrName($eclipseMirrorScript, $mirrorPrefixuri, $prerequrl, $prereqfilename, $eclipseFSpathPrefix) {
+ // todo: we really only need "if exists" so could make a bit more efficient
+ // I tried "file_exists" but is didn't seem to work on my test server
+ // For these pre-reqs, we assume if they exist, they are mirrored. This is true
+ // 99% of the time.
+
+ if (resourceExist($prerequrl, $mirrorPrefixuri, $prereqfilename, $eclipseFSpathPrefix)) {
+ $reflink="<a href=\"" . $eclipseMirrorScript . $mirrorPrefixuri . "/" . $prereqfilename . "\">" . $prereqfilename . "</a>";
+ } else {
+ $reflink=$prereqfilename;
+ }
+ return $reflink;
+}
+?>
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/report2.php b/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/report2.php
new file mode 100644
index 0000000..52d2284
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/staticDropFiles/report2.php
@@ -0,0 +1,45 @@
+
+ <?php
+
+function parse_testResults($filename)
+{
+ $junitFailures = 0;
+ if (is_file($filename)) {
+ $handle = @fopen($filename, "r");
+ if ($handle)
+ {
+ $size = filesize($filename);
+ $content = fread($handle, $size);
+ fclose($handle);
+ $junitStart = strpos($content, "Errors & Failures");
+ $junitEnd = strpos($content, "</table>", $junitStart);
+ $junitInfo = substr($content, $junitStart, $junitEnd - $junitStart);
+ $start = strpos($junitInfo, "<td><b><font color=\"#ff0000\">");
+ while ($start !== false)
+ {
+ $start += 29;
+ $stop = strpos($junitInfo, "</font></b></td>", $start);
+ if ($stop !== false)
+ {
+ $result = substr($junitInfo, $start, $stop - $start);
+ if (is_numeric($result))
+ {
+ $junitFailures += $result;
+ }
+ else if (strcmp($result, "DNF") == 0)
+ {
+ $junitFailures++;
+ }
+ }
+ $start = strpos($junitInfo, "<td><b><font color=\"#ff0000\">", $stop);
+ }
+ $results = array($junitFailures);
+ return $results;
+ }
+ }
+}
+
+
+?>
+
+
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/compileResults.php.template b/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/compileResults.php.template
new file mode 100644
index 0000000..f785771
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/compileResults.php.template
@@ -0,0 +1,76 @@
+<html>
+<head>
+
+<?php
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ echo "<title>Compile Logs: Code Bundles for $buildName</title>";
+?>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+<style>
+.bold, .bold TD, .bold TH, .bold TR
+{
+font-weight:bold;
+}
+.numeric, .numeric TD
+{
+text-align:right;
+padding-right:2%;
+}
+.normaltable, .normaltable TD, .normaltable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:White;
+}
+.errorltable, .errortable TD, .errortable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:Red;
+font-weight:bold;
+}
+.warningtable, .warningtable TD, .warningtable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:khaki;
+}
+.extraWarningTable, .extraWarningTable TD, .extraWarningTable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:Yellow;
+}
+</style>
+</head>
+<body>
+
+<?php
+ echo "<h1>Compile Logs: Code Bundles for $buildName</h1>";
+?>
+
+
+<table id=tabledata align = "center" width="75%" border="1">
+ <tr>
+ <td class="bold" align="center">Compile Logs</td>
+ <td class="bold" align="center">Compile Errors</td>
+ <td class="bold" align="center">Compiler Warnings</td>
+ <td class="bold" align="center">Access Violations</td>
+ <td class="bold" align="center">Access Warnings</td>
+ </tr>
+
+ %compilelogs%
+
+</table>
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/index.html.template.php b/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/index.html.template.php
new file mode 100644
index 0000000..93312b1
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/index.html.template.php
@@ -0,0 +1,516 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+<title>WTP Incubator Downloads</title>
+
+
+<?php
+
+$buildBranch="@buildBranch@";
+$build="@build@";
+$type="@type@";
+$builddate="@date@";
+
+$eclipseMirrorPrefixuri="@eclipse.mirror.prefixuri@";
+$eclipseFSpathPrefix="@eclipse.fspath.prefix@";
+
+$eclipsefilelinux="@eclipsefilelinux@";
+$eclipsefilewindows="@eclipsefilewindows@";
+$eclipsefilemacosx="@eclipsefilemacos@";
+
+$eclipseURL="@eclipseURL@";
+$eclipseFile="@eclipseFile@";
+$eclipseBuildURL="@eclipseBuildURL@";
+$eclipseBuildHome="@eclipseBuildHome@";
+$testURL="@testURL@";
+$testFile="@testFile@";
+
+$wstURL="@wstURL@";
+$wstFile="@wstFile@";
+$wstMirrorPrefixuri="@wst.mirror.prefixuri@";
+$wstBuildHome="@wstBuildHome@";
+
+
+$gefURL="@gefURL@";
+$gefFile="@gefFile@";
+$gefMirrorPrefixuri="@gef.mirror.prefixuri@";
+$gefBuildHome="@gefBuildHome@";
+
+$emfURL="@emfURL@";
+$emfFile="@emfFile@";
+$emfMirrorPrefixuri="@emf.mirror.prefixuri@";
+$emfBuildHome="@emfBuildHome@";
+
+$dtpURL="@dtpURL@";
+$dtpFile="@dtpFile@";
+$dtpMirrorPrefixuri="@dtp.mirror.prefixuri@";
+$dtpBuildHome="@dtpBuildHome@";
+
+
+$eclipserelengFile="@eclipserelengFile@";
+$eclipserelengURL="@eclipserelengURL@";
+$orbitthirdpartyzipFile="@orbitthirdpartyzipFile@";
+$orbitthirdpartyzipURL="@orbitthirdpartyzipURL@";
+$orbitthirdpartyzipBuildHome="@orbitthirdpartyzipBuildHome@";
+$orbitthirdpartyzipMirrorPrefixuri="@orbitthirdpartyzip.mirror.prefixuri@";
+
+
+
+
+include("miscUtil.php");
+
+
+
+ini_set("display_errors", "true");
+error_reporting (E_ALL);
+
+
+$debugScript = false;
+$debugFunctions = false;
+
+$defaultMirrorScript="";
+$defaultWTPMirrorPrefix="./";
+
+$eclipseMirrorScript="http://www.eclipse.org/downloads/download.php?file=";
+
+// TODO: improve so this hard coding isn't required.
+// This depends on the declare script changing webtools/committers to webtools/downloads
+// And, the logic is such that if it is not mirrored, this URI is not used at all, just
+// a relative reference only
+$eclipseWTPMirrorPrefix="/webtools/committers/drops/$buildBranch/$build/";
+
+
+$mirrorScript=$defaultMirrorScript;
+$downloadprefix=$defaultWTPMirrorPrefix;
+
+
+$keytestMirrorString=$eclipseMirrorScript . "$eclipseWTPMirrorPrefix/@zipprefix@-sdk-$build.zip";
+if (isMirrored($keytestMirrorString) ) {
+ $mirrorScript=$eclipseMirrorScript;
+ $downloadprefix="${mirrorScript}${eclipseWTPMirrorPrefix}";
+}
+
+if ($debugScript) {
+ echo "inferred platform: " . getPlatform();
+}
+
+
+// our summary results handling requires php 5 (for simple xml file loading)
+// so, if not php 5, just don't display any summary results
+// This was found to be required, since some mirror our whole site (e.g. IBM)
+// and not all mirrors use PHP 5
+$displayTestSummary=false;
+if (phpversion() >= 5) {
+
+ $displayTestSummary=true;
+ // expecting grandTotalErrors and grandTotalTests
+ $filename = "unitTestsSummary.xml";
+ if (file_exists($filename)) {
+ $prefix = "unitTests_";
+ $unitTestsSummary = simplexml_load_file($filename);
+ foreach ($unitTestsSummary->summaryItem as $summaryItem) {
+ $name = $summaryItem->name;
+ $value = $summaryItem->value;
+ $code= "\$" . $prefix . $name . " = " . $value . ";";
+ //echo "<br />code: " . $code;
+ eval($code);
+ }
+ }
+
+ $filename = "compilelogsSummary.xml";
+ $prefix = "code_";
+ $compileSummary = simplexml_load_file($filename);
+ foreach ($compileSummary->summaryItem as $summaryItem) {
+ $name = $summaryItem->name;
+ $value = $summaryItem->value;
+ $code= "\$" . $prefix . $name . " = " . $value . ";";
+ //echo "<br />code: " . $code;
+ eval($code);
+ }
+
+ $filename = "testcompilelogsSummary.xml";
+ $prefix = "test_";
+ $compileSummary = simplexml_load_file($filename);
+ foreach ($compileSummary->summaryItem as $summaryItem) {
+ $name = $summaryItem->name;
+ $value = $summaryItem->value;
+ $code= "\$" . $prefix . $name . " = " . $value . ";";
+ //echo "<br />code: " . $code;
+ eval($code);
+ }
+}
+
+
+?>
+
+
+</head>
+
+<body>
+
+
+<?php
+
+// tiny banner to remind when looking at "local" machine results
+$serverName = $_SERVER["SERVER_NAME"];
+
+if (!stristr($serverName, "eclipse.org") && !stristr($serverName,"you.are.at.eclipsecon.org")) {
+ echo '<center>
+ <p>
+ Reminder: this is <font color="#FF0000">' .
+ $serverName .
+ '</font>
+ See also
+ <a href="http://download.eclipse.org/webtools/downloads" target="_top">the live public Eclipse site</a>.
+ </p>
+ <hr />
+ </center>';
+
+}
+?>
+<table BORDER=0 CELLSPACING=2 CELLPADDING=2 WIDTH="100%">
+ <tr>
+ <td ALIGN=left><font face="'Bitstream Vera',Helvetica,Arial" size="+2"><b><?php echo "$type";?>
+ Build: <?php echo "$build";?></b></font></td>
+ <td align="right" rowspan="3"><a
+ href="http://www.eclipse.org/projects/what-is-incubation.php"><img
+ src="http://www.eclipse.org/images/egg-incubation.png" alt="Incubation"
+ align="middle" border="0"></a></td>
+
+ <tr valign="top">
+ <td><font size="-1"><?php echo "$builddate";?></font></td>
+ </tr>
+ <tr valign="top">
+ <td>
+ <p>The Eclipse Web Tools Platform (WTP) Incubator Project provides
+ tools for development that are just getting started, or are
+ experimental in some fashion.</p>
+ </td>
+ </tr>
+</table>
+
+<!-- *********** Required Prerequisites ************** -->
+<table border=0 cellspacing=2 cellpadding=2 width="100%">
+ <tr>
+ <td align="left" valign="top" bgcolor="#0080C0"><font
+ face="'Bitstream Vera',Helvetica,Arial" color="#FFFFFF">Required
+ Prerequisites and Handy Extras</font></td>
+ </tr>
+ <tr>
+ <td>
+ <p>These are the prerequisites to install and run the Web Tools
+ Platform. Also listed are some frequently needed links for
+ committer-required packages when creating new developmnet
+ environmnets, or targets to run against.</p>
+ <p>Note that WTP requires Java 5 or higher (and, for some things,
+ actually requires a JDK rather than only a JRE) even though many other
+ <a href="http://www.eclipse.org/downloads/">Eclipse Projects</a> can
+ run with <a href="http://www.eclipse.org/downloads/moreinfo/jre.php">other
+ JRE levels</a>.</p><p></p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border=0 cellspacing=1 cellpadding=1 width="90%" align="center">
+ <tr valign="top">
+ <td width="10%"></td>
+ <td width="40%">Eclipse Platform (Platform, JDT)</td>
+ <?php
+ //customize page depending on user's browser/platform, if we can detect it
+ $usersPlatform = getPlatform();
+ // assume windows by default, since likely most frequent, even for cases where
+ // platform is "unknown". I've noticed Opera reports 'unknown' :(
+ $recommendedFile=$eclipsefilewindows;
+ if (strcmp($usersPlatform,"linux")== 0) {
+ $recommendedFile=$eclipsefilelinux;
+ } else if (strcmp($usersPlatform,"mac") == 0) {
+ $recommendedFile=$eclipsefilemacosx;
+ }
+ ?>
+ <td align="right"><?php
+ echo getPrereqReferenceOrName($eclipseMirrorScript, $eclipseMirrorPrefixuri, $eclipseURL, $recommendedFile, $eclipseFSpathPrefix);
+ echo " or <a href=\"" . $eclipseBuildURL . "\">appropriate platform</a>";
+ echo " or <a href=\"" . $eclipseBuildHome . "\">equivalent</a></td>";
+ ?>
+
+ </tr>
+
+ <tr valign="top">
+ <td width="10%"></td>
+ <td>Webtools Platform (at least WST)</td>
+ <td align="right"><?php
+ // debug
+ // echo "debug: full path: " . $eclipseFSpathPrefix . "/" . $wstMirrorPrefixuri . "/" . $wstFile;
+ echo getPrereqReferenceOrName($eclipseMirrorScript, $wstMirrorPrefixuri, $wstURL, $wstFile, $eclipseFSpathPrefix);
+ echo " or <a href=\"" . $wstBuildHome . "\">equivalent</a></td>";
+ ?>
+
+ </tr>
+
+ <tr valign="top">
+ <td width="10%"></td>
+ <td>Eclipse Modeling Framework (EMF, XSD InfoSet)</td>
+ <td align="right"><?php
+ echo getPrereqReferenceOrName($eclipseMirrorScript, $emfMirrorPrefixuri, $emfURL, $emfFile, $eclipseFSpathPrefix);
+ echo " or <a href=\"" . $emfBuildHome . "\">equivalent</a></td>";
+ ?>
+
+ </tr>
+
+ <tr valign="top">
+ <td width="10%"></td>
+ <td>Graphical Editing Framework (GEF)</td>
+ <td align="right"><?php
+ echo getPrereqReferenceOrName($eclipseMirrorScript, $gefMirrorPrefixuri, $gefURL, $gefFile, $eclipseFSpathPrefix);
+ echo " or <a href=\"" . $gefBuildHome . "\">equivalent</a></td>";
+ ?>
+
+ </tr>
+
+ <tr valign="middle">
+ <td width="10%"></td>
+ <td colspan="2">
+ <hr />
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td width="10%"></td>
+ <td>Eclipse Test Framework (required only for Automated JUnit tests)</td>
+ <td align="right"><?php
+ echo getPrereqReferenceOrName($eclipseMirrorScript, $eclipseMirrorPrefixuri, $testURL, $testFile, $eclipseFSpathPrefix);
+ echo " or <a href=\"" . $eclipseBuildHome . "\">equivalent</a></td>";
+ ?>
+
+ </tr>
+
+ <tr valign="top">
+ <td width="10%"></td>
+ <td>Eclipse releng tool (required only for committers to more easily
+ "release" code to a build)</td>
+ <td align="right"><?php
+ echo getPrereqReferenceOrName($eclipseMirrorScript, $eclipseMirrorPrefixuri, $eclipserelengURL, $eclipserelengFile, $eclipseFSpathPrefix);
+ echo " or <a href=\"" . $eclipseBuildHome . "\">equivalent</a></td>";
+ ?>
+
+ </tr>
+
+ <tr valign="top">
+ <td width="10%"></td>
+ <td>Third Party code from Orbit (currently much more than needed
+ for WTP, but some committers like having the whole heap in their
+ target)</td>
+ <td align="right"><?php
+ echo getPrereqReferenceOrName($eclipseMirrorScript, $orbitthirdpartyzipMirrorPrefixuri, $orbitthirdpartyzipURL, $orbitthirdpartyzipFile,$eclipseFSpathPrefix);
+ echo " or <a href=\"" . $orbitthirdpartyzipBuildHome . "\">equivalent</a></td>";
+ ?>
+
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+
+<!-- *********** WTP ************** -->
+<table border=0 cellspacing=2 cellpadding=2 width="100%">
+ <tr>
+ <td align=left valign=top colspan="5" bgcolor="#0080C0"><font
+ face="'Bitstream Vera',Helvetica,Arial" color="#FFFFFF"> Web Tools
+ Incubating Components</font></td>
+ </tr>
+
+ <tr>
+ <td align="left" valign="top" colspan="5">
+ <p>@longdescription@</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border=0 cellspacing=2 cellpadding=2 width="90%" align="center">
+
+
+ <tr>
+ <td align="left" valign="top" width="10%"><b>Minimal</b></td>
+ <td align="left" valign="top">
+ <p>Executable code only.</p>
+ </td>
+ <?php
+ $zipfilename="@zipprefix@-${build}";
+ $filename=$zipfilename.".zip";
+ $zipfilesize=fileSizeForDisplay($filename);
+ $fileShortDescription="@shortname@";
+ displayFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
+ ?>
+ </tr>
+
+ <tr>
+ <td align="left" valign="top" width="10%"><b>SDK</b></td>
+ <td align="left" valign="top">
+ <p>Executable code and source code.</p>
+ </td>
+ <?php
+ $zipfilename="@zipprefix@-sdk-${build}";
+ $filename=$zipfilename.".zip";
+ $zipfilesize=fileSizeForDisplay($filename);
+ $fileShortDescription="@shortname@ sdk";
+ displayFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
+ ?>
+ </tr>
+ <tr>
+ <td align="left" valign="top" width="10%"><b>Tests</b></td>
+ <td align="left" valign="top">
+ <p>Unit tests.</p>
+ </td>
+ <?php
+ $zipfilename="@zipprefix@-tests-${build}";
+ $filename=$zipfilename.".zip";
+ $zipfilesize=fileSizeForDisplay($filename);
+ $fileShortDescription="@shortname@ tests";
+ displayFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
+ ?>
+ </tr>
+ </table>
+ </td>
+
+
+ <tr>
+
+</table>
+
+
+
+
+
+
+
+<!-- *********** Build Status ************** -->
+<table border=0 cellspacing=2 cellpadding=2 width="100%">
+ <tr>
+ <td align=left valign=top bgcolor="#0080C0"><font
+ face="'Bitstream Vera',Helvetica,Arial" color="#FFFFFF">Status, tests
+ and other interesting details</font></td>
+ </tr>
+ <tr>
+ <td>
+ <table border=0 cellspacing=2 cellpadding=2 width="90%" align="center">
+
+ <tr>
+ <td><a href="buildNotes.php">Build notes</a> <br />
+ <a href="directory.txt">map files</a> <br />
+ <?php
+
+ if ($displayTestSummary) {
+
+
+ if (isset($unitTests_grandTotalErrors)) {
+ $errorColor="green";
+ if ($unitTests_grandTotalErrors > 0) {
+ $errorColor="red";
+ }
+ echo "<a href=\"testResults.php\">Unit test results</a> ";
+ echo "<img src=\"junit_err.gif\"/><font color=\"" . $errorColor . "\">" . $unitTests_grandTotalErrors . "</font> Total: " . $unitTests_grandTotalTests;
+ }
+ else {
+ echo "<br /><font color=\"orange\">Unit tests are pending</font> <img src=\"pending.gif\"/>";
+ }
+
+ echo "<br />";
+ echo "<a href=\"compileResults.php\">Compile logs: Code Bundles</a>";
+
+ echo " ($code_totalBundles) ";
+ echo "<img src=\"compile_err.gif\"/><font color=red>$code_totalErrors</font> ";
+ echo "<img src=\"compile_warn.gif\"/><font color=orange>$code_totalWarnings</font> ";
+ echo "<img src=\"access_err.gif\"/><font color=red>$code_totalforbiddenAccessWarningCount</font> ";
+ echo "<img src=\"access_warn.gif\"/><font color=orange>$code_totaldiscouragedAccessWarningCount</font> ";
+
+ echo "<br />";
+ echo "<a href=\"testCompileResults.php\">Compile logs: Test Bundles</a>";
+
+ echo " ($test_totalBundles) ";
+ echo "<img src=\"compile_err.gif\"/><font color=red>$test_totalErrors</font> ";
+ echo "<img src=\"compile_warn.gif\"/><font color=orange>$test_totalWarnings</font> ";
+ echo "<img src=\"access_err.gif\"/><font color=red>$test_totalforbiddenAccessWarningCount</font> ";
+ echo "<img src=\"access_warn.gif\"/><font color=orange>$test_totaldiscouragedAccessWarningCount</font> ";
+ }
+
+ ?> <br />
+
+ <?php
+ if (file_exists("versioningReportName.php")) {
+ include "versioningReportName.php";
+ $fname="${versionReportFilename}.html";
+ if (file_exists($fname)) {
+ echo "<br /> <a href='$fname'>Versioning Information</a>";
+ }
+}
+?> <?php
+echo "<br />";
+if (file_exists("./apiresults/api-progress.html"))
+{
+ echo "<br /> <a href=\"apiresults/api-progress.html\">API Progress Report</a>";
+}
+if (file_exists("./apiresults/api-info-summary.html"))
+{
+ echo "<br /> <a href=\"apiresults/api-info-summary.html\">APIs Defined by Each Component</a>";
+}
+if (file_exists("./apiresults/api-ref-compatibility.html"))
+{
+ echo "<br /> <a href=\"apiresults/api-ref-compatibility.html\">Adopter Breakage Report</a>";
+}
+if (file_exists("./apiresults/api-violation-summary.html"))
+{
+ echo "<br /> <a href=\"apiresults/api-violation-summary.html\">API Violations</a>";
+}
+if (file_exists("./apiresults/component-api-violation-all.html"))
+{
+ echo "<br /> <a href=\"apiresults/component-api-violation-all.html\">Non-API dependencies</a>";
+}
+if (file_exists("./apiresults/api-tc-summary.html"))
+{
+ echo "<br /> <a href=\"apiresults/api-tc-summary.html\">API Test Coverage</a>";
+}
+if (file_exists("./apiresults/api-javadoc-summary.html"))
+{
+ echo "<br /> <a href=\"apiresults/api-javadoc-summary.html\">API Javadoc Coverage</a>";
+}
+if (file_exists("./apiresults/api-tc-summary.html"))
+{
+ echo "<br /><br /> <a href=\"apiresults/full_test_coverage/api-tc-summary.html\">Test Coverage for All Classes and Methods</a>";
+}
+?> <?php
+if (file_exists("./perfresults/graph/performance.php"))
+{
+ echo "<br />";
+ echo "<br /> <a href=\"perfresults/graph/performance.php\">Performance Results</a>";
+ echo "<br />";
+}
+?></td>
+ </tr>
+
+
+ </table>
+ </td>
+ </tr>
+</table>
+
+
+
+<!-- footer -->
+<center>
+<hr>
+<p>All downloads are provided under the terms and conditions of the <a
+ href="http://www.eclipse.org/legal/notice.html">Eclipse.org Software
+User Agreement</a> unless otherwise specified.</p>
+
+<p>If you have problems downloading the drops, contact the <font
+ face="'Bitstream Vera',Helvetica,Arial" size="-1"><a
+ href="mailto:webmaster@eclipse.org">webmaster</a></font>.</p>
+
+</center>
+<!-- end footer -->
+
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/siteEnablingFeatures.xml b/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/siteEnablingFeatures.xml
new file mode 100644
index 0000000..e4ace4d
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/siteEnablingFeatures.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+
+ <description>
+ The update site contains the enabling features.
+ </description>
+
+
+
+
+
+
+
+ <category-def
+ name="Enabling Features"
+ label="Enabling Features">
+ <description>
+ This category contains features used by several projects
+ that enable some functionality, but which by themselves are
+ not very interesting.
+ </description>
+ </category-def>
+
+
+
+</site>
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/siteWTP.xml b/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/siteWTP.xml
new file mode 100644
index 0000000..e3a86fa
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/siteWTP.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site
+ pack200="true"
+ mirrorsURL="http://www.eclipse.org/downloads/download.php?file=/webtools/testUpdates/site.xml&format=xml"
+ digestURL="http://download.eclipse.org/webtools/testUpdates/">
+
+ <description
+ url="http://download.eclipse.org/webtools/declaredUpdates/index.html">
+ The update site contains the features of the of Eclipse Web
+ Tools Project (WTP)
+ </description>
+
+ <feature
+ url="features/org.eclipse.wst_@org.eclipse.wst@.jar"
+ id="org.eclipse.wst"
+ version="@org.eclipse.wst@">
+ <category name="Web Tools Platform (WTP)" />
+ </feature>
+
+ <feature
+ url="features/org.eclipse.wst.sdk_@org.eclipse.wst.sdk@.jar"
+ id="org.eclipse.wst.sdk"
+ version="@org.eclipse.wst.sdk@">
+ <category name="Web Tools Platform (WTP)" />
+ </feature>
+
+ <feature
+ url="features/org.eclipse.jst_@org.eclipse.jst@.jar"
+ id="org.eclipse.jst"
+ version="@org.eclipse.jst@">
+ <category name="Web Tools Platform (WTP)" />
+ </feature>
+
+ <feature
+ url="features/org.eclipse.jst.sdk_@org.eclipse.jst.sdk@.jar"
+ id="org.eclipse.jst.sdk"
+ version="@org.eclipse.jst.sdk@">
+ <category name="Web Tools Platform (WTP)" />
+ </feature>
+
+
+
+
+ <feature
+ url="features/org.eclipse.jpt.feature_@org.eclipse.jpt.feature@.jar"
+ id="org.eclipse.jpt.feature"
+ version="@org.eclipse.jpt.feature@">
+ <category name="Web Tools Platform (WTP)" />
+ </feature>
+
+ <feature
+ url="features/org.eclipse.jpt_sdk.feature_@org.eclipse.jpt_sdk.feature@.jar"
+ id="org.eclipse.jpt_sdk.feature"
+ version="@org.eclipse.jpt_sdk.feature@">
+ <category name="Web Tools Platform (WTP)" />
+ </feature>
+
+
+ <category-def
+ name="Web Tools Platform (WTP)"
+ label="Web Tools Platform (WTP)">
+ <description>
+ This category contains the features of the Eclipse Web Tools
+ Project (WTP).
+ </description>
+ </category-def>
+
+
+</site>
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/testCompileResults.php.template b/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/testCompileResults.php.template
new file mode 100644
index 0000000..42d6f65
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/testCompileResults.php.template
@@ -0,0 +1,76 @@
+<html>
+<head>
+
+<?php
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ echo "<title>Compile Logs: Test Bundles for $buildName</title>";
+?>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+<style>
+.bold, .bold TD, .bold TH, .bold TR
+{
+font-weight:bold;
+}
+.numeric, .numeric TD
+{
+text-align:right;
+padding-right:2em;
+}
+.normaltable, .normaltable TD, .normaltable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:White;
+}
+.errorltable, .errortable TD, .errortable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:Red;
+font-weight:Bold;
+}
+.warningtable, .warningtable TD, .warningtable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:khaki;
+}
+.extraWarningTable, .extraWarningTable TD, .extraWarningTable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:Yellow;
+}
+</style>
+</head>
+<body>
+
+<?php
+ echo "<h1>Compile Logs: Test Bundles for $buildName</h1>";
+?>
+
+
+<table id=tabledata align = "center" width="75%" border="1">
+ <tr>
+ <td class="bold" align="center">Compile Logs</td>
+ <td class="bold" align="center">Compile Errors</td>
+ <td class="bold" align="center">Compiler Warnings</td>
+ <td class="bold" align="center">Access Violations</td>
+ <td class="bold" align="center">Access Warnings</td>
+ </tr>
+
+ %compilelogs%
+
+</table>
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/testResults.php.template b/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/testResults.php.template
new file mode 100644
index 0000000..ddad0b7
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/templateFiles/testResults.php.template
@@ -0,0 +1,119 @@
+<html>
+<head>
+
+<?php
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ echo "<title>Test Results for $buildName </title>";
+?>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+<style>
+.bold, .bold TD, .bold TH, .bold TR
+{
+font-weight:bold;
+}
+.numeric, .numeric TD
+{
+text-align:right;
+padding-right:2em;
+}
+.normaltable, .normaltable TD, .normaltable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:White;
+}
+.errorltable, .errortable TD, .errortable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:Red;
+font-weight:Bold;
+}
+.warningtable, .warningtable TD, .warningtable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:khaki;
+}
+.extraWarningTable, .extraWarningTable TD, .extraWarningTable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:Yellow;
+
+}
+</style>
+
+
+</head>
+<body>
+<p><b><font face="Verdana" size="+3">Test Results</font></b> </p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">
+ Unit Test Results for <?php echo "$buildName"; ?> on Various Platforms and JRE</font></b></td>
+ </tr>
+</table>
+
+<?php
+if (file_exists("testResults"))
+{
+$dir = dir("testResults");
+while ($anEntry = $dir->read())
+{
+ if ($anEntry != "." && $anEntry != ".." && $anEntry != "consolelogs" && $anEntry != "html" && $anEntry != "xml")
+ {
+ $link = "testResults/".$anEntry."/results/index.php";
+ echo "<p><a href=\"$link\">$anEntry</a></p>";
+ }
+}
+}
+?>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Unit
+ Test Results for <?php echo "$buildName"; ?> </font></b></td>
+ </tr>
+</table>
+
+<table id=tableunittestdata align = "center" width="75%" border="1">
+ <tr>
+ <td class="bold" align="center" width="70%">Test Suite</td>
+ <td class="bold" align="center" width="10%">Errors & Failures</td>
+ <td class="bold" align="center" width="10%">Total Tests</td>
+ <td class="bold" align="center" width="10%">Total Time (s)</td>
+ </tr>
+
+
+ %testresults%
+
+</table>
+<p></p>
+<br>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">
+ Console output logs
+ <?php echo "$buildName"; ?>
+ </font></b></td>
+ </tr>
+</table>
+<br>
+These <a href="consoleLogs.php">logs</a> contain the console output captured while
+running the JUnit automated tests. <br>
+<br>
+
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.site/transformReportToHTML.xml b/releng.wtpbuilder/buildtemplates/distribution/template.site/transformReportToHTML.xml
new file mode 100644
index 0000000..f5a70cd
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.site/transformReportToHTML.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ name="xsl-conversion"
+ default="main"
+ basedir=".">
+
+ <target
+ name="main"
+ description="example.bin.xml to produce example.html">
+ <xslt
+ basedir="."
+ destdir="."
+ includes="*.bin.xml"
+ scanincludeddirectories="true"
+ style="compilerXMLOutputToHTML.xsl"
+ force="true" />
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.tests/build.xml b/releng.wtpbuilder/buildtemplates/distribution/template.tests/build.xml
new file mode 100644
index 0000000..c417b75
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.tests/build.xml
@@ -0,0 +1,326 @@
+<project
+ name="Build specific targets and properties"
+ default="runTest">
+
+ <!-- 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" />
+ <fail
+ message="testRoot must be set for this task"
+ unless="testRoot" />
+ <!-- required to get proper value of dropinsFolder -->
+ <property name="keyCfgFile" value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg" />
+ <echo
+ level="debug"
+ message="keyCfgFile: ${keyCfgFile}" />
+ <property file="${keyCfgFile}" />
+
+
+ <!--
+ Steps to do after the build is done.
+ -->
+ <target
+ name="test">
+ <dirname
+ file="${ant.file}"
+ property="currentDirectory" />
+ <ant
+ antfile="${ant.file}"
+ target="runTest"
+ dir="${currentDirectory}" />
+ </target>
+
+ <!--
+ Steps to do to test the build results
+ -->
+ <target
+ name="runTest">
+ <dirname
+ file="${ant.file}"
+ property="test.component.dir" />
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/label.xml" />
+ <property
+ file="${buildDirectory}/label.properties" />
+ <property
+ file="${wtp.builder.home}/build.properties" />
+ <fail
+ message="testRoot must be set for this task"
+ unless="testRoot" />
+ <mkdir
+ dir="${testRoot}" />
+
+ <!-- if results already exist, delete them -->
+ <delete
+ dir="${testRoot}/results"
+ failOnError="false" />
+ <mkdir
+ dir="${testRoot}/results" />
+ <mkdir
+ dir="${testRoot}/results/consolelogs" />
+ <mkdir
+ dir="${testRoot}/results/consolelogs/metadata-logs" />
+ <mkdir
+ dir="${testRoot}/results/consolelogs/configuration-logs" />
+ <copy
+ todir="${testRoot}"
+ overwrite="true">
+ <fileset
+ dir="${test.component.dir}/testScripts" />
+ </copy>
+ <echo
+ message="BASEOS: ${env.BASEOS} BASEWS: ${env.BASEWS} BASEARCH: ${env.BASEARCH} " />
+ <ant
+ antfile="${test.component.dir}/testdependency.xml"
+ target="get">
+ <property
+ name="dependency.properties"
+ value="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties" />
+ <property
+ name="base.install.dir"
+ value="${testRoot}" />
+ </ant>
+ <antcall
+ target="unzipTests" />
+ <antcall
+ target="runTestEclipse">
+ <param
+ name="testTarget"
+ value="all" />
+ </antcall>
+ <antcall
+ target="postRunTestEclipse">
+ <param
+ name="testTarget"
+ value="all" />
+ </antcall>
+ </target>
+ <target
+ name="unzipTests">
+
+ <!--unzip the builds and junit tests
+ we use 'unzip' here, so we can continue on error, if desired.
+ (such as if zip was not created, due to other failures or options).
+ -->
+ <echo
+ message="installing sdk" />
+ <exec
+ dir="${buildDirectory}/${buildLabel}"
+ executable="unzip"
+ failonerror="true">
+ <arg
+ line="-o -qq @zipprefix@-sdk-${buildLabel}.zip -d ${testRoot}${dropinsFolder}" />
+ </exec>
+ <echo
+ message="installing tests" />
+ <exec
+ dir="${buildDirectory}/${buildLabel}"
+ executable="unzip"
+ failonerror="true">
+ <arg
+ line="-o -qq @zipprefix@-tests-${buildLabel}.zip -d ${testRoot}${dropinsFolder}" />
+ </exec>
+ </target>
+
+ <!-- time out may need to be set/adjust for api or performance tests?
+ This testTimeLimit is the whole, overall limit on tests. There's a shorter
+ one for individual suites.
+
+ some common values, of milliseconds to more recognizable units:
+ 7200000: 2 hours
+ 3600000: 1 hour
+ 1800000: 30 minutes
+ 600000: 10 minutes
+ -->
+ <property
+ name="testTimeLimit"
+ value="7200000" />
+ <property
+ name="testFailOnError"
+ value="false" />
+ <target
+ name="runTestEclipse"
+ description="Run our JUnit's within an instance of antRunner">
+ <property
+ name="test-vm"
+ value="${env.JAVA_6_HOME}/bin/java" />
+ <property
+ name="plugin-path"
+ value="${testRoot}${dropinsFolder}/eclipse/plugins" />
+ <property
+ name="vmargs"
+ value="-Xmx512m -Dosgi.ws=${env.BASEWS} -Dosgi.os=${env.BASEOS} -Dosgi.arch=${env.BASEARCH} -Dws=${env.BASEWS} -Dos=${env.BASEOS} -Darch=${env.BASEARCH} -Dnoclean=true -DbuildBranch=${buildBranch} -DbuildType=${buildType} -DbuildId=${buildId} -DtestRoot=${testRoot} -DtestDir=${testRoot} -DbuildDirectory=${buildDirectory} -Dbuild.home=${env.BUILD_HOME} -DeclipseBuilderDirectory=${pde.builder.path} -DbuildLabel=${buildLabel} -Dtest-vm=${test-vm} -Dperf.buildId=${buildType}${date}-${time}" />
+
+
+ <!-- set path to eclipse folder. If local folder, use '.'; otherwise, use c:\path\to\eclipse or /path/to/eclipse/ -->
+ <property
+ name="eclipse.home"
+ value="${testRoot}" />
+ <echo
+ message="Running junits" />
+
+ <!--
+ Remember: using -debug for org.eclipse.ant.core.antRunner
+ produces ant debug info to be output ... which is a TON of stuff
+ -->
+ <echo
+ message="eclipse.launcher: ${eclipse.launcher}" />
+ <java
+ taskname="unit-test-masterprocess"
+ fork="true"
+ resultProperty="wtpmasterjunitresult"
+ failonerror="false"
+ timeout="${testTimeLimit}"
+ dir="${testRoot}/eclipse"
+ jvm="${env.JAVA_6_HOME}/bin/java"
+ classname="org.eclipse.equinox.launcher.Main">
+ <classpath>
+ <fileset
+ dir="${testRoot}/eclipse/plugins">
+ <include
+ name="org.eclipse.equinox.launcher_*.jar" />
+ </fileset>
+ </classpath>
+ <jvmarg
+ value="-Xmx512m" />
+ <jvmarg
+ value="-Dosgi.ws=${env.BASEWS}" />
+ <jvmarg
+ value="-Dosgi.os=${env.BASEOS}" />
+ <jvmarg
+ value="-Dosgi.arch=${env.BASEARCH}" />
+ <jvmarg
+ value="-Dws=${env.BASEWS}" />
+ <jvmarg
+ value="-Dos=${env.BASEOS}" />
+ <jvmarg
+ value="-Darch=${env.BASEARCH}" />
+
+ <jvmarg
+ value="-Dnoclean=true" />
+ <jvmarg
+ value="-DbuildBranch=${buildBranch}" />
+ <jvmarg
+ value="-DbuildType=${buildType}" />
+ <jvmarg
+ value="-DbuildId=${buildId}" />
+ <jvmarg
+ value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}" />
+ <jvmarg
+ value="-Dprojectname=${projectname}" />
+ <arg
+ value="-nosplash" />
+ <arg
+ value="-consolelog" />
+ <arg
+ value="-data" />
+ <arg
+ value="${testRoot}/overallTestWorkspace" />
+ <arg
+ value="-application" />
+ <arg
+ value="org.eclipse.ant.core.antRunner" />
+ <arg
+ value="-file" />
+ <arg
+ value="${testRoot}/test.xml" />
+ <arg
+ value="-logger" />
+ <arg
+ value="org.apache.tools.ant.DefaultLogger" />
+ <env
+ key="DISPLAY"
+ value="${env.DISPLAY}" />
+ <redirector
+ output="${testRoot}/results/fullOutput.txt"
+ error="${testRoot}/results/fullErrorLog.txt" />
+ <sysproperty
+ key="build.home"
+ value="${env.BUILD_HOME}" />
+ <sysproperty
+ key="buildDirectory"
+ value="${buildDirectory}" />
+ <sysproperty
+ key="buildLabel"
+ value="${buildLabel}" />
+ <sysproperty
+ key="baseLocation"
+ value="${baseLocation}" />
+ <sysproperty
+ key="testRoot"
+ value="${testRoot}" />
+ <sysproperty
+ key="testDir"
+ value="${testRoot}" />
+ <sysproperty
+ key="perf.buildId"
+ value="${buildType}${date}-${time}" />
+ <sysproperty
+ key="eclipseBuilderDirectory"
+ value="${pde.builder.path}" />
+ <sysproperty
+ key="buildLabel"
+ value="${buildLabel}" />
+ </java>
+ <echo
+ message="wtpmasterjunitresult ${wtpmasterjunitresult}" />
+ </target>
+ <target
+ name="postRunTestEclipse">
+ <copy
+ todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testLogs"
+ overwrite="true"
+ failonerror="false">
+ <fileset
+ dir="${testRoot}/results">
+ <include
+ name="*output.txt" />
+ </fileset>
+ </copy>
+ <copy
+ todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testSysErrorLogs"
+ overwrite="true"
+ failonerror="false">
+ <fileset
+ dir="${testRoot}/results">
+ <include
+ name="*error.txt" />
+ </fileset>
+ </copy>
+ <copy
+ file="${testRoot}/results/fullOutput.txt"
+ toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
+ overwrite="true"
+ failonerror="false">
+ </copy>
+ <copy
+ file="${testRoot}/results/fullErrorLog.txt"
+ toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
+ overwrite="true"
+ failonerror="false">
+ </copy>
+ <copy
+ todir="${buildDirectory}/${buildLabel}/testResults/xml"
+ overwrite="true"
+ failonerror="false">
+ <fileset
+ dir="${testRoot}/results/xml">
+ <include
+ name="*.xml" />
+ </fileset>
+ </copy>
+ <copy
+ todir="${buildDirectory}/${buildLabel}/testResults/html"
+ overwrite="true"
+ failonerror="false">
+ <fileset
+ dir="${testRoot}/results/html">
+ <include
+ name="*.html" />
+ </fileset>
+ </copy>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.tests/templateFiles/index.php b/releng.wtpbuilder/buildtemplates/distribution/template.tests/templateFiles/index.php
new file mode 100644
index 0000000..8d23693
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.tests/templateFiles/index.php
@@ -0,0 +1,80 @@
+<html>
+<head>
+
+<?php
+ $parts = explode("/", realpath(".."));
+ $label = $parts[count($parts) - 1];
+?>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+</head>
+<body>
+<p><b><font face="Verdana" size="+3">Test Results</font></b> </p>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Unit
+ Test Results for <?php echo "$label"; ?> </font></b></td>
+ </tr>
+</table>
+<p></p><table border="0">
+</table>
+
+<table width="77%" border="1">
+ <tr>
+ <td width="81%"><b>Tests Performed</b></td>
+ <td width="19%"><b>Errors & Failures</b></td>
+ </tr>
+
+ <?
+ $dir = dir("html");
+ while ($anEntry = $dir->read())
+ {
+ if ($anEntry != "." && $anEntry != "..")
+ {
+ $link = "html/".$anEntry;
+ $xml = "xml/".substr($anEntry, 0, strlen($anEntry)-4)."xml";
+ $count = 0;
+ $fileHandle = fopen($xml, "r");
+ while (!feof($fileHandle))
+ {
+ $aLine = fgets($fileHandle, 4096); // Length parameter only optional after 4.2.0
+ $count = $count + substr_count($aLine, '<error');
+ }
+ fclose($fileHandle);
+ if ($count > 0)
+ {
+ echo "<tr><td><a href=\"$link\"><b><font color=\"red\">";
+ echo "$anEntry";
+ echo "</font></b></a></td>";
+ echo "<td><b><font color=\"red\">$count</font></b></td></tr>";
+ }
+ else
+ {
+ echo "<tr><td><a href=\"$link\">";
+ echo "$anEntry";
+ echo "</a></td>";
+ echo "<td>$count</td></tr>";
+ }
+ }
+ }
+ ?>
+
+</table>
+<p></p>
+<br>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">
+ Console output logs
+ <?php echo "$label"; ?>
+ </font></b></td>
+ </tr>
+</table>
+<br>
+These <a href="consolelogs/wtptestlog.txt">logs</a> contain the console output captured while
+running the JUnit automated tests. <br>
+<br>
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.tests/testScripts/ComputePluginVersion.jar b/releng.wtpbuilder/buildtemplates/distribution/template.tests/testScripts/ComputePluginVersion.jar
new file mode 100644
index 0000000..ad06a45
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.tests/testScripts/ComputePluginVersion.jar
Binary files differ
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.tests/testScripts/JUNIT.XSL b/releng.wtpbuilder/buildtemplates/distribution/template.tests/testScripts/JUNIT.XSL
new file mode 100644
index 0000000..f57faaa
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.tests/testScripts/JUNIT.XSL
@@ -0,0 +1,580 @@
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+ <xsl:output
+ method="html"
+ indent="yes" />
+ <xsl:decimal-format
+ decimal-separator="."
+ grouping-separator="," />
+
+ <xsl:template match="testsuites">
+ <HTML>
+ <HEAD>
+ <style type="text/css">
+ body { font:normal 68% verdana,arial,helvetica;
+ color:#000000; } table tr td, table tr th {
+ font-size: 68%; } table.details tr th{ font-weight:
+ bold; text-align:left; background:#a6caf0; }
+ table.details tr td{ background:#eeeee0; }
+
+ p { line-height:1.5em; margin-top:0.5em;
+ margin-bottom:1.0em; } h1 { margin: 0px 0px 5px;
+ font: 165% verdana,arial,helvetica } h2 {
+ margin-top: 1em; margin-bottom: 0.5em; font: bold
+ 125% verdana,arial,helvetica } h3 { margin-bottom:
+ 0.5em; font: bold 115% verdana,arial,helvetica } h4
+ { margin-bottom: 0.5em; font: bold 100%
+ verdana,arial,helvetica } h5 { margin-bottom: 0.5em;
+ font: bold 100% verdana,arial,helvetica } h6 {
+ margin-bottom: 0.5em; font: bold 100%
+ verdana,arial,helvetica } .Error { font-weight:bold;
+ color:red; } .Failure { font-weight:bold;
+ color:purple; } .Properties { text-align:right; }
+ </style>
+ <script language="JavaScript">
+ var TestCases = new Array(); var cur;
+ <xsl:for-each select="./testsuite">
+ <xsl:apply-templates select="properties" />
+ </xsl:for-each>
+
+ </script>
+ <script language="JavaScript"><![CDATA[
+ function displayProperties (name) {
+ var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1');
+ var doc = win.document.open();
+ doc.write("<html><head><title>Properties of " + name + "</title>");
+ doc.write("<style>")
+ doc.write("body {font:normal 68% verdana,arial,helvetica; color:#000000; }");
+ doc.write("table tr td, table tr th { font-size: 68%; }");
+ doc.write("table.properties { border-collapse:collapse; border-left:solid 1 #cccccc; border-top:solid 1 #cccccc; padding:5px; }");
+ doc.write("table.properties th { text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#eeeeee; }");
+ doc.write("table.properties td { font:normal; text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#fffffff; }");
+ doc.write("h3 { margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica }");
+ doc.write("</style>");
+ doc.write("</head><body>");
+ doc.write("<h3>Properties of " + name + "</h3>");
+ doc.write("<div align=\"right\"><a href=\"javascript:window.close();\">Close</a></div>");
+ doc.write("<table class='properties'>");
+ doc.write("<tr><th>Name</th><th>Value</th></tr>");
+ for (prop in TestCases[name]) {
+ doc.write("<tr><th>" + prop + "</th><td>" + TestCases[name][prop] + "</td></tr>");
+ }
+ doc.write("</table>");
+ doc.write("</body></html>");
+ doc.close();
+ win.focus();
+ }
+ ]]>
+ </script>
+ </HEAD>
+ <body>
+ <a name="top"></a>
+ <xsl:call-template name="pageHeader" />
+
+ <!-- Summary part -->
+ <xsl:call-template name="summary" />
+ <hr
+ size="1"
+ width="95%"
+ align="left" />
+
+ <!-- Package List part -->
+ <xsl:call-template name="packagelist" />
+ <hr
+ size="1"
+ width="95%"
+ align="left" />
+
+ <!-- For each package create its part -->
+ <xsl:call-template name="packages" />
+ <hr
+ size="1"
+ width="95%"
+ align="left" />
+
+ <!-- For each class create the part -->
+ <xsl:call-template name="classes" />
+
+ </body>
+ </HTML>
+ </xsl:template>
+
+
+
+ <!-- ================================================================== -->
+ <!-- Write a list of all packages with an hyperlink to the anchor of -->
+ <!-- of the package name. -->
+ <!-- ================================================================== -->
+ <xsl:template name="packagelist">
+ <h2>Packages</h2>
+ Note: package statistics are not computed recursively, they only
+ sum up all of its testsuites numbers.
+ <table
+ class="details"
+ border="0"
+ cellpadding="5"
+ cellspacing="2"
+ width="95%">
+ <xsl:call-template name="testsuite.test.header" />
+ <!-- list all packages recursively -->
+ <xsl:for-each
+ select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
+ <xsl:sort select="@package" />
+ <xsl:variable
+ name="testsuites-in-package"
+ select="/testsuites/testsuite[./@package = current()/@package]" />
+ <xsl:variable
+ name="testCount"
+ select="sum($testsuites-in-package/@tests)" />
+ <xsl:variable
+ name="errorCount"
+ select="sum($testsuites-in-package/@errors)" />
+ <xsl:variable
+ name="failureCount"
+ select="sum($testsuites-in-package/@failures)" />
+ <xsl:variable
+ name="timeCount"
+ select="sum($testsuites-in-package/@time)" />
+
+ <!-- write a summary for the package -->
+ <tr valign="top">
+ <!-- set a nice color depending if there is an error/failure -->
+ <xsl:attribute name="class">
+ <xsl:choose>
+ <xsl:when test="$failureCount > 0">Failure</xsl:when>
+ <xsl:when test="$errorCount > 0">Error</xsl:when>
+ </xsl:choose>
+ </xsl:attribute>
+ <td>
+ <a href="#{@package}">
+ <xsl:value-of select="@package" />
+ </a>
+ </td>
+ <td>
+ <xsl:value-of select="$testCount" />
+ </td>
+ <td>
+ <xsl:value-of select="$errorCount" />
+ </td>
+ <td>
+ <xsl:value-of select="$failureCount" />
+ </td>
+ <td>
+ <xsl:call-template name="display-time">
+ <xsl:with-param
+ name="value"
+ select="$timeCount" />
+ </xsl:call-template>
+ </td>
+ </tr>
+ </xsl:for-each>
+ </table>
+ </xsl:template>
+
+
+ <!-- ================================================================== -->
+ <!-- Write a package level report -->
+ <!-- It creates a table with values from the document: -->
+ <!-- Name | Tests | Errors | Failures | Time -->
+ <!-- ================================================================== -->
+ <xsl:template name="packages">
+ <!-- create an anchor to this package name -->
+ <xsl:for-each
+ select="/testsuites/testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
+ <xsl:sort select="@package" />
+ <a name="{@package}"></a>
+ <h3>
+ Package
+ <xsl:value-of select="@package" />
+ </h3>
+
+ <table
+ class="details"
+ border="0"
+ cellpadding="5"
+ cellspacing="2"
+ width="95%">
+ <xsl:call-template name="testsuite.test.header" />
+
+ <!-- match the testsuites of this package -->
+ <xsl:apply-templates
+ select="/testsuites/testsuite[./@package = current()/@package]"
+ mode="print.test" />
+ </table>
+ <a href="#top">Back to top</a>
+ <p />
+ <p />
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template name="classes">
+ <xsl:for-each select="testsuite">
+ <xsl:sort select="@name" />
+ <!-- create an anchor to this class name -->
+ <a name="{@name}"></a>
+ <h3>
+ TestCase
+ <xsl:value-of select="@name" />
+ </h3>
+
+ <table
+ class="details"
+ border="0"
+ cellpadding="5"
+ cellspacing="2"
+ width="95%">
+ <xsl:call-template name="testcase.test.header" />
+ <!--
+ test can even not be started at all (failure to load the class)
+ so report the error directly
+ -->
+ <xsl:if test="./error">
+ <tr class="Error">
+ <td colspan="4">
+ <xsl:apply-templates select="./error" />
+ </td>
+ </tr>
+ </xsl:if>
+ <xsl:apply-templates
+ select="./testcase"
+ mode="print.test" />
+ </table>
+ <div class="Properties">
+ <a>
+ <xsl:attribute name="href">javascript:displayProperties('<xsl:value-of
+ select="@package" />.<xsl:value-of
+ select="@name" />');</xsl:attribute>
+ Properties >>
+ </a>
+ </div>
+ <p />
+
+ <a href="#top">Back to top</a>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template name="summary">
+ <h2>Summary</h2>
+ <xsl:variable
+ name="testCount"
+ select="sum(testsuite/@tests)" />
+ <xsl:variable
+ name="errorCount"
+ select="sum(testsuite/@errors)" />
+ <xsl:variable
+ name="failureCount"
+ select="sum(testsuite/@failures)" />
+ <xsl:variable
+ name="timeCount"
+ select="sum(testsuite/@time)" />
+ <xsl:variable
+ name="successRate"
+ select="($testCount - $failureCount - $errorCount) div $testCount" />
+ <table
+ class="details"
+ border="0"
+ cellpadding="5"
+ cellspacing="2"
+ width="95%">
+ <tr valign="top">
+ <th>Tests</th>
+ <th>Failures</th>
+ <th>Errors</th>
+ <th>Success rate</th>
+ <th>Time</th>
+ </tr>
+ <tr valign="top">
+ <xsl:attribute name="class">
+ <xsl:choose>
+ <xsl:when test="$failureCount > 0">Failure</xsl:when>
+ <xsl:when test="$errorCount > 0">Error</xsl:when>
+ </xsl:choose>
+ </xsl:attribute>
+ <td>
+ <xsl:value-of select="$testCount" />
+ </td>
+ <td>
+ <xsl:value-of select="$failureCount" />
+ </td>
+ <td>
+ <xsl:value-of select="$errorCount" />
+ </td>
+ <td>
+ <xsl:call-template name="display-percent">
+ <xsl:with-param
+ name="value"
+ select="$successRate" />
+ </xsl:call-template>
+ </td>
+ <td>
+ <xsl:call-template name="display-time">
+ <xsl:with-param
+ name="value"
+ select="$timeCount" />
+ </xsl:call-template>
+ </td>
+
+ </tr>
+ </table>
+ <table
+ border="0"
+ width="95%">
+ <tr>
+ <td style="text-align: justify;">
+ Note:
+ <i>failures</i>
+ are anticipated and checked for with assertions
+ while
+ <i>errors</i>
+ are unanticipated.
+ </td>
+ </tr>
+ </table>
+ </xsl:template>
+
+ <!--
+ Write properties into a JavaScript data structure.
+ This is based on the original idea by Erik Hatcher (erik@hatcher.net)
+ -->
+ <xsl:template match="properties">
+ cur = TestCases['
+ <xsl:value-of select="../@package" />
+ .
+ <xsl:value-of select="../@name" />
+ '] = new Array();
+ <xsl:for-each select="property">
+ <xsl:sort select="@name" />
+ cur['
+ <xsl:value-of select="@name" />
+ '] = '
+ <xsl:call-template name="JS-escape">
+ <xsl:with-param
+ name="string"
+ select="@value" />
+ </xsl:call-template>
+ ';
+ </xsl:for-each>
+ </xsl:template>
+
+ <!-- Page HEADER -->
+ <xsl:template name="pageHeader">
+ <h1>Unit Test Results</h1>
+ <table width="100%">
+ <tr>
+ <td align="left"></td>
+ <td align="right">
+ Designed for use with
+ <a href='http://www.junit.org'>JUnit</a>
+ and
+ <a href='http://jakarta.apache.org/ant'>Ant</a>
+ .
+ </td>
+ </tr>
+ </table>
+ <hr size="1" />
+ </xsl:template>
+
+ <xsl:template
+ match="testsuite"
+ mode="header">
+ <tr valign="top">
+ <th width="80%">Name</th>
+ <th>Tests</th>
+ <th>Errors</th>
+ <th>Failures</th>
+ <th nowrap="nowrap">Time(s)</th>
+ </tr>
+ </xsl:template>
+
+ <!-- class header -->
+ <xsl:template name="testsuite.test.header">
+ <tr valign="top">
+ <th width="80%">Name</th>
+ <th>Tests</th>
+ <th>Errors</th>
+ <th>Failures</th>
+ <th nowrap="nowrap">Time(s)</th>
+ </tr>
+ </xsl:template>
+
+ <!-- method header -->
+ <xsl:template name="testcase.test.header">
+ <tr valign="top">
+ <th>Name</th>
+ <th>Status</th>
+ <th width="80%">Type</th>
+ <th nowrap="nowrap">Time(s)</th>
+ </tr>
+ </xsl:template>
+
+
+ <!-- class information -->
+ <xsl:template
+ match="testsuite"
+ mode="print.test">
+ <tr valign="top">
+ <!-- set a nice color depending if there is an error/failure -->
+ <xsl:attribute name="class">
+ <xsl:choose>
+ <xsl:when test="@failures[.> 0]">Failure</xsl:when>
+ <xsl:when test="@errors[.> 0]">Error</xsl:when>
+ </xsl:choose>
+ </xsl:attribute>
+
+ <!-- print testsuite information -->
+ <td>
+ <a href="#{@name}">
+ <xsl:value-of select="@name" />
+ </a>
+ </td>
+ <td>
+ <xsl:value-of select="@tests" />
+ </td>
+ <td>
+ <xsl:value-of select="@errors" />
+ </td>
+ <td>
+ <xsl:value-of select="@failures" />
+ </td>
+ <td>
+ <xsl:call-template name="display-time">
+ <xsl:with-param
+ name="value"
+ select="@time" />
+ </xsl:call-template>
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template
+ match="testcase"
+ mode="print.test">
+ <tr valign="top">
+ <xsl:attribute name="class">
+ <xsl:choose>
+ <xsl:when test="failure | error">Error</xsl:when>
+ </xsl:choose>
+ </xsl:attribute>
+ <td>
+ <xsl:value-of select="@name" />
+ </td>
+ <xsl:choose>
+ <xsl:when test="failure">
+ <td>Failure</td>
+ <td>
+ <xsl:apply-templates select="failure" />
+ </td>
+ </xsl:when>
+ <xsl:when test="error">
+ <td>Error</td>
+ <td>
+ <xsl:apply-templates select="error" />
+ </td>
+ </xsl:when>
+ <xsl:otherwise>
+ <td>Success</td>
+ <td></td>
+ </xsl:otherwise>
+ </xsl:choose>
+ <td>
+ <xsl:call-template name="display-time">
+ <xsl:with-param
+ name="value"
+ select="@time" />
+ </xsl:call-template>
+ </td>
+ </tr>
+ </xsl:template>
+
+
+ <xsl:template match="failure">
+ <xsl:call-template name="display-failures" />
+ </xsl:template>
+
+ <xsl:template match="error">
+ <xsl:call-template name="display-failures" />
+ </xsl:template>
+
+ <!-- Style for the error and failure in the tescase template -->
+ <xsl:template name="display-failures">
+ <xsl:choose>
+ <xsl:when test="not(@message)">N/A</xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@message" />
+ </xsl:otherwise>
+ </xsl:choose>
+ <!-- display the stacktrace -->
+ <code>
+ <p />
+ <xsl:call-template name="br-replace">
+ <xsl:with-param
+ name="word"
+ select="." />
+ </xsl:call-template>
+ </code>
+ <!-- the later is better but might be problematic for non-21" monitors... -->
+ <!--pre><xsl:value-of select="."/></pre-->
+ </xsl:template>
+
+ <xsl:template name="JS-escape">
+ <xsl:param name="string" />
+ <xsl:choose>
+ <!-- something isn't right here, basically all single quotes need to be replaced with backslash-single-quote
+ <xsl:when test="contains($string,''')">
+ <xsl:value-of select="substring-before($string,''')"/>
+ \'
+ <xsl:call-template name="JS-escape">
+ <xsl:with-param name="string" select="substring-after($string,''')"/>
+ </xsl:call-template>
+ </xsl:when> -->
+ <xsl:when test="contains($string,'\')">
+ <xsl:value-of select="substring-before($string,'\')" />
+ \\
+ <xsl:call-template name="JS-escape">
+ <xsl:with-param
+ name="string"
+ select="substring-after($string,'\')" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$string" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+
+ <!--
+ template that will convert a carriage return into a br tag
+ @param word the text from which to convert CR to BR tag
+ -->
+ <xsl:template name="br-replace">
+ <xsl:param name="word" />
+ <xsl:choose>
+ <xsl:when test="contains($word,'
')">
+ <xsl:value-of select="substring-before($word,'
')" />
+ <br />
+ <xsl:call-template name="br-replace">
+ <xsl:with-param
+ name="word"
+ select="substring-after($word,'
')" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$word" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="display-time">
+ <xsl:param name="value" />
+ <xsl:value-of select="format-number($value,'0.000')" />
+ </xsl:template>
+
+ <xsl:template name="display-percent">
+ <xsl:param name="value" />
+ <xsl:value-of select="format-number($value,'0.00%')" />
+ </xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.tests/testScripts/test.xml b/releng.wtpbuilder/buildtemplates/distribution/template.tests/testScripts/test.xml
new file mode 100644
index 0000000..ba1431e
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.tests/testScripts/test.xml
@@ -0,0 +1,184 @@
+<project
+ name="Automated Eclipse Testing"
+ default="all"
+ basedir=".">
+ <property
+ environment="env" />
+
+ <!-- required to get proper value of dropinsFolder -->
+ <property name="keyCfgFile" value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg" />
+ <echo
+ level="debug"
+ message="keyCfgFile: ${keyCfgFile}" />
+ <property file="${keyCfgFile}" />
+
+ <echo
+ level="info"
+ message="starting Automated Eclipse Testing" />
+ <echo
+ level="debug"
+ message="basedir: ${basedir}" />
+ <echo
+ level="debug"
+ message="testRoot: ${testRoot}" />
+ <fail
+ message="testRoot must be set"
+ unless="testRoot" />
+
+ <!--properties file containing the build information-->
+ <property
+ file="${buildDirectory}/label.properties" />
+
+ <!--default directory where test-eclipse will be installed-->
+ <property
+ name="install"
+ value="${testRoot}" />
+
+ <!--name that can be added to report name to identify which platform tests results come from-->
+ <property
+ name="platform"
+ value="" />
+
+ <!-- The root of the eclipse installation -->
+ <property
+ name="eclipse-home"
+ value="${testRoot}${dropinsFolder}/eclipse/" />
+
+ <!-- The directory that will contain the xml and html results from the tests that are run -->
+ <property
+ name="results"
+ value="${testRoot}/results" />
+ <target
+ name="init">
+ <antcall
+ target="computePluginVersion" />
+ <property
+ file="${testRoot}/test2.properties" />
+ </target>
+ <target
+ name="runtests"
+ description="Runs ant on the test.xml for a specified plugin.">
+ <available
+ file="${eclipse-home}/plugins/${testPlugin}/test.xml"
+ property="test.xml.exists" />
+ <antcall
+ target="runtests2" />
+ </target>
+ <target
+ name="runtests2"
+ if="test.xml.exists">
+ <antcall
+ target="runtests-normal" />
+ <copy
+ file="${eclipse-home}/${report}.xml"
+ tofile="${results}/xml/${report}_${platform}.xml"
+ failonerror="false" />
+ <antcall
+ target="genHtml" />
+ </target>
+ <target
+ name="runtests-normal">
+ <ant
+ antfile="${eclipse-home}/plugins/${testPlugin}/test.xml"
+ dir="${eclipse-home}">
+ <property
+ name="library-file"
+ value="${testRoot}/wtp-junit-tests.xml" />
+ </ant>
+ <copy
+ file="${eclipse-home}/${report}.xml"
+ tofile="${results}/xml/${report}_${platform}.xml"
+ failonerror="false" />
+ <antcall
+ target="genHtml" />
+ </target>
+ <target
+ name="@shortname@-tests"
+ depends="init">
+ <antcall
+ target="runtests">
+ <param
+ name="testPlugin"
+ value="${@testplugin@}" />
+ <param
+ name="report"
+ value="@testplugin@" />
+ </antcall>
+
+ </target>
+
+
+ <!-- releng Tests -->
+ <!--
+ <target
+ name="releng-tests"
+ depends="init"
+ description="Runs the releng tests.">
+ <antcall target="runtests">
+ <param
+ name="testPlugin"
+ value="${org.eclipse.wtp.releng.tests}" />
+ <param
+ name="report"
+ value="org.eclipse.wtp.releng.tests" />
+ </antcall>
+ </target>
+ -->
+ <target
+ name="all"
+ depends="init">
+ <echo
+ level="info"
+ message="Starting Unit Tests" />
+
+ <!--
+ <echo
+ level="info"
+ message="Starting releng tests" />
+ <antcall target="releng-tests" />
+ -->
+ <echo
+ level="info"
+ message="Starting @shortname@ tests" />
+ <antcall
+ target="@shortname@-tests" />
+ <echo
+ level="info"
+ message="Ended Unit Tests" />
+ </target>
+ <target
+ name="genHtml"
+ description="Generates HTML results with provided JUNIT.XSL provided"
+ unless="genHtml.disable">
+ <xslt
+ style="JUNIT.XSL"
+ basedir="${results}/xml"
+ destdir="${results}/html" />
+ </target>
+ <target
+ name="computePluginVersion"
+ depends="test2properties"
+ unless="test2propertiesexists">
+ <java
+ classname="org.eclipse.wtp.releng.test.ComputePluginVersion">
+ <classpath>
+ <pathelement
+ location="ComputePluginVersion.jar" />
+ </classpath>
+ <arg
+ value="${eclipse-home}/plugins" />
+ <arg
+ value="${testRoot}/test2.properties" />
+ <jvmarg
+ value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}" />
+ </java>
+ </target>
+ <target
+ name="test2properties">
+ <condition
+ property="test2propertiesexists">
+ <available
+ file="${testRoot}/test2.properties" />
+ </condition>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.tests/testScripts/wtp-junit-tests.xml b/releng.wtpbuilder/buildtemplates/distribution/template.tests/testScripts/wtp-junit-tests.xml
new file mode 100644
index 0000000..5108dad
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.tests/testScripts/wtp-junit-tests.xml
@@ -0,0 +1,317 @@
+<?xml version="1.0"?>
+<project
+ name="JUnit tests"
+ basedir=".">
+ <property
+ environment="env" />
+ <!-- required to get proper value of dropinsFolder -->
+ <property name="keyCfgFile" value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg" />
+ <echo
+ level="debug"
+ message="keyCfgFile: ${keyCfgFile}" />
+ <property file="${keyCfgFile}" />
+
+ <target
+ name="init">
+ <!--
+ Parameters:
+ (Mandatory)
+ data-dir - the workspace directory for Eclipse to write its data
+ plugin-name - symboic name of the plugin to test
+ testPlugin - directory name of plugin (with version suffix)
+ classname - the name of the test class
+
+ (Optional - overrides defaults set in script)
+ extraVMargs - allows separate setting of VM args from separate caller.
+ timeout - overrides default test timeout value (in milliseconds).
+ -->
+ <property
+ name="junit-report-output"
+ value="${testRoot}/results" />
+ <mkdir
+ dir="${junit-report-output}/raw" />
+
+
+ <!-- if not otherwise set, be sure extraVMargs is at least empty string -->
+ <property
+ name="extraVMargs"
+ value="" />
+
+ <!-- if not otherwise set, use a unique workspace name -->
+ <property
+ name="data-dir"
+ value="${testRoot}/junitworkspaces/workspace-${classname}" />
+ <property
+ name="testRoot"
+ value="${testRoot}" />
+ <property
+ name="timeout"
+ value="1800000" />
+ <property
+ name="junit-report-output"
+ value="${junit-report-output}" />
+ <property
+ name="plugin-path"
+ value="${testRoot}${dropinsFolder}/eclipse/plugins/${testPlugin}" />
+ <property
+ name="formatter"
+ value="org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter" />
+ <property
+ name="test-output"
+ value="${junit-report-output}/raw/${classname}.xml" />
+ <property
+ name="jvm"
+ value="${env.JAVA_6_HOME}/bin/java" />
+ <dirname
+ file="${ant.file}"
+ property="currentDir" />
+ <echo
+ level="debug"
+ message="data-dir: ${data-dir}" />
+ <echo
+ level="debug"
+ message="plugin-name: ${plugin-name}" />
+ <echo
+ level="debug"
+ message="testPlugin: ${testPlugin}" />
+ <echo
+ level="debug"
+ message="classname: ${classname}" />
+ <echo
+ level="debug"
+ message="extraVMargs: ${extraVMargs}" />
+ <echo
+ level="debug"
+ message="timeout: ${timeout}" />
+ <echo
+ level="debug"
+ message="testRoot: ${testRoot}" />
+ <echo
+ level="debug"
+ message="basedir: ${basedir}" />
+ <echo
+ level="debug"
+ message="eclipse-home: ${eclipse-home}" />
+ <echo
+ level="debug"
+ message="plugin-path: ${plugin-path}" />
+ <echo
+ level="debug"
+ message="junit-report-output: ${junit-report-output}" />
+ <echo
+ level="debug"
+ message="test-output: ${test-output}" />
+ <echo
+ level="debug"
+ message="buildDirectory: ${buildDirectory}" />
+ <echo
+ level="debug"
+ message="buildLabel: ${buildLabel}" />
+ <echo
+ level="debug"
+ message="jvm: ${jvm}" />
+ </target>
+ <target
+ name="core-test"
+ depends="init">
+ <echo
+ level="info"
+ message="test-type: core-test" />
+ <ant
+ antfile="${ant.file}"
+ dir="${currentDir}"
+ target="eclipse-test">
+ <property
+ name="application"
+ value="org.eclipse.test.coretestapplication" />
+ </ant>
+ </target>
+ <target
+ name="ui-test"
+ depends="init">
+ <echo
+ level="info"
+ message="test-type: ui-test" />
+ <ant
+ antfile="${ant.file}"
+ dir="${currentDir}"
+ target="eclipse-test">
+ <property
+ name="application"
+ value="org.eclipse.test.uitestapplication" />
+ </ant>
+ </target>
+ <target
+ name="eclipse-test"
+ description="Runs the specified classname as a plug-in test.">
+ <echo
+ level="info"
+ message="Running ${classname}" />
+ <echo
+ level="debug"
+ message="Result file: ${junit-report-output}/${classname}.xml." />
+ <echo
+ level="debug"
+ message="DISPLAY: ${env.DISPLAY}" />
+
+ <!-- If there is not exactly one launcher in the stack,
+ we'd best fail fast, since we are not expecting that,
+ and may indicate an installation that would produce unpredictable
+ results -->
+ <!-- requires ant 1.7, and at this point, we're running 1.6 from
+ eclipse ...
+
+ <condition property="expectedNumberOfLaunchers">
+ <resourcecount when="equal" count="1" >
+ <fileset dir="${testRoot}/eclipse/plugins">
+ <include name="org.eclipse.equinox.launcher_*.jar" />
+ </fileset>
+ </resourcecount>
+ </condition>
+ <fail message="Did not find expected number of launcher jars. Check installation." unless="expectedNumberOfLaunchers" />
+ -->
+ <java
+ taskname="suiteUnitTest"
+ fork="true"
+ resultProperty="suitejunitresult"
+ failonerror="false"
+ timeout="${timeout}"
+ dir="${testRoot}/eclipse"
+ jvm="${jvm}"
+ classname="org.eclipse.equinox.launcher.Main">
+ <classpath>
+ <fileset
+ dir="${testRoot}/eclipse/plugins">
+ <include
+ name="org.eclipse.equinox.launcher_*.jar" />
+ </fileset>
+ </classpath>
+ <jvmarg
+ value="-Xmx512m" />
+ <jvmarg
+ value="-Dosgi.ws=${env.BASEWS}" />
+ <jvmarg
+ value="-Dosgi.os=${env.BASEOS}" />
+ <jvmarg
+ value="-Dosgi.arch=${env.BASEARCH}" />
+ <jvmarg
+ value="-DbuildLabel=${buildLabel}" />
+ <jvmarg
+ value="-DbuildDirectory=${buildDirectory}" />
+ <jvmarg
+ value="-Djava.protocol.handler.pkgs=com.ibm.etools.www.protocol" />
+ <jvmarg
+ value="-DurlLogLocation=${buildDirectory}/outgoinghttplogfromtests.log" />
+ <jvmarg
+ value="-Dwtp.autotest.noninteractive=true" />
+ <jvmarg
+ value="-DPLUGIN_PATH=${plugin-path}" />
+ <jvmarg
+ line="${extraVMargs}" />
+ <jvmarg
+ value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}" />
+ <jvmarg
+ value="-Dprojectname=${projectname}" />
+ <arg
+ value="-nosplash" />
+ <arg
+ value="-consolelog" />
+ <arg
+ value="-debug" />
+ <arg
+ value="-data" />
+ <arg
+ value="${data-dir}" />
+ <arg
+ value="-application" />
+ <arg
+ value="${application}" />
+ <arg
+ value="formatter=${formatter},${test-output}" />
+ <arg
+ value="-testPluginName" />
+ <arg
+ value="${plugin-name}" />
+ <arg
+ value="-className" />
+ <arg
+ value="${classname}" />
+ <env
+ key="DISPLAY"
+ value="${env.DISPLAY}" />
+ <redirector
+ output="${junit-report-output}/${classname}.output.txt"
+ error="${junit-report-output}/${classname}.error.txt" />
+ </java>
+ <echo
+ level="info"
+ message="suitejunitresult: ${suitejunitresult}" />
+ <antcall
+ target="summarizeFailure" />
+ <antcall
+ target="collect-results" />
+ </target>
+ <target
+ name="collect-results">
+ <dirname
+ property="output-dir"
+ file="${test-output}" />
+ <basename
+ property="output-file-name"
+ file="${test-output}" />
+ <mkdir
+ dir="${junit-report-output}/xml" />
+ <junitreport
+ todir="${junit-report-output}/xml"
+ tofile="${classname}.xml">
+ <fileset
+ dir="${output-dir}">
+ <include
+ name="${output-file-name}" />
+ </fileset>
+ </junitreport>
+ <mkdir
+ dir="${junit-report-output}/html" />
+ <xslt
+ style="${testRoot}/JUNIT.XSL"
+ basedir="${junit-report-output}"
+ includes="${classname}.xml"
+ destdir="${junit-report-output}/html" />
+ <copy
+ file="${data-dir}/.metadata/.log"
+ toFile="${testRoot}/results/consolelogs/metadata-logs/${classname}.workspace.log"
+ overwrite="true"
+ failonError="false" />
+
+ <!-- todo: this, especially, should be concat (there could be more than one, in theory) -->
+ <copy
+ file="${testRoot}/eclipse/configuration/*.log"
+ toFile="${testRoot}/results/consolelogs/configuration-logs/${classname}.config.log"
+ overwrite="true"
+ failonError="false" />
+ </target>
+ <target
+ name="collect">
+ <!-- deprecated, each test.xml uses it, and we should remove, eventually -->
+ </target>
+ <target
+ name="summarizeFailure"
+ depends="checkFailure"
+ if="doFailure">
+ <echo
+ append="true"
+ file="${buildDirectory}/junitFailureList.log">${plugin-name}${line.separator}</echo>
+ </target>
+ <target
+ name="checkFailure">
+ <condition
+ property="doFailure">
+ <not>
+ <equals
+ arg1="${suitejunitresult}"
+ arg2="0"
+ trim="true" />
+ </not>
+ </condition>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/buildtemplates/distribution/template.tests/testdependency.xml b/releng.wtpbuilder/buildtemplates/distribution/template.tests/testdependency.xml
new file mode 100644
index 0000000..39916b9
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/distribution/template.tests/testdependency.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0"?>
+<!-- ======================================================================
+ Properties that must be passed to this script:
+ base.install.dir
+ dependencyTargets
+ local.cache.dir
+ dependency.properties
+
+ ====================================================================== -->
+<project
+ name="test"
+ default="get">
+ <property
+ environment="env" />
+<!-- required to get proper value of dropinsFolder -->
+<property name="keyCfgFile" value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg" />
+<echo
+ level="debug"
+ message="keyCfgFile: ${keyCfgFile}" />
+<property file="${keyCfgFile}" />
+ <target name="get">
+ <antcall target="getAndInstallDropins">
+ <param
+ name="groupId"
+ value="emf" />
+ </antcall>
+ <antcall target="getAndInstallDropins">
+ <param
+ name="groupId"
+ value="emfxsd" />
+ </antcall>
+ <antcall target="getAndInstallDropins">
+ <param
+ name="groupId"
+ value="gef" />
+ </antcall>
+
+
+ <antcall target="getAndInstallBase">
+ <param
+ name="groupId"
+ value="eclipse" />
+ </antcall>
+ <antcall target="getAndInstallDropins">
+ <param
+ name="groupId"
+ value="eclipseTestFramework" />
+ </antcall>
+ <antcall target="getAndInstallDropins">
+ <param
+ name="groupId"
+ value="wst" />
+ </antcall>
+
+ </target>
+
+
+ <target name="getAndInstallBase">
+ <ant
+ antfile="${dependencyTargets}"
+ target="checkDependency">
+ <property
+ name="groupId"
+ value="${groupId}" />
+ </ant>
+ <ant
+ antfile="${dependencyTargets}"
+ target="installDependency">
+ <property
+ name="groupId"
+ value="${groupId}" />
+ <property
+ name="install.destination"
+ value="${base.install.dir}" />
+ </ant>
+ </target>
+
+ <target name="getAndInstallDropins">
+ <ant
+ antfile="${dependencyTargets}"
+ target="checkDependency">
+ <property
+ name="groupId"
+ value="${groupId}" />
+ </ant>
+ <ant
+ antfile="${dependencyTargets}"
+ target="installDependency">
+ <property
+ name="groupId"
+ value="${groupId}" />
+ <property
+ name="install.destination"
+ value="${base.install.dir}${dropinsFolder}" />
+ </ant>
+ </target>
+
+
+
+
+</project>
+
diff --git a/releng.wtpbuilder/buildtemplates/jaxws.properties b/releng.wtpbuilder/buildtemplates/jaxws.properties
new file mode 100644
index 0000000..3bd1764
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/jaxws.properties
@@ -0,0 +1,32 @@
+
+# These first three properties are mainly for component templates
+
+# 'featurename' assumes group of three features
+# a) featurename.feature
+# b) featurename_sdk.feature
+# c) featurename_tests.feature
+
+featurename=org.eclipse.jst.ws.cxf
+
+# 'zipprefix' is prefixed to -[type]-${buildlabel},
+# where type is empty, 'sdk' or 'tests',
+# usually of the form [top-level project]-[project]-[component]
+# for example, wtp-incubator-xmlsecurity
+zipprefix=wtp-incubator-jaxws
+
+# 'relengmapseng' must match the environment variable set in
+# commonComputedVariables, such as RELENGXMLSEC
+relengmapsenv=RELENGJAXWS
+
+
+# These next three properties are mainly for distribution template files
+
+# 'shortname' effects all foldernames too, plus some content, in distribution section
+shortname=jaxws
+
+# longdescription appears on the download webpage
+longdescription=The Zip files includes the features and plugins for the WTP Incubator XML VEX Component.
+
+# testplugin is the "main" test plugin, which may "call" the others
+testplugin=org.eclipse.jst.cfx.tests
+
diff --git a/releng.wtpbuilder/buildtemplates/xmlsec.properties b/releng.wtpbuilder/buildtemplates/xmlsec.properties
new file mode 100644
index 0000000..44fc3ce
--- /dev/null
+++ b/releng.wtpbuilder/buildtemplates/xmlsec.properties
@@ -0,0 +1,32 @@
+
+# These first three properties are mainly for component templates
+
+# 'featurename' assumes group of three features
+# a) featurename.feature
+# b) featurename_sdk.feature
+# c) featurename_tests.feature
+
+featurename=org.eclipse.wst.xml.security
+
+# 'zipprefix' is prefixed to -[type]-${buildlabel},
+# where type is empty, 'sdk' or 'tests',
+# usually of the form [top-level project]-[project]-[component]
+# for example, wtp-incubator-xmlsecurity
+zipprefix=wtp-incubator-xmlsecurity
+
+# 'relengmapseng' must match the environment variable set in
+# commonComputedVariables, such as RELENGXMLSEC
+relengmapsenv=RELENGXMLSEC
+
+
+# These next three properties are mainly for distribution template files
+
+# 'shortname' effects all foldernames too, plus some content, in distribution section
+shortname=xmlsec
+
+# longdescription appears on the download webpage
+longdescription=The Zip files includes the features and plugins for the WTP Incubator XML VEX Component.
+
+# testplugin is the "main" test plugin, which may "call" the others
+testplugin=org.eclipse.wst.xml.security.core.tests
+
diff --git a/releng.wtpbuilder/components/jaxws/build.properties b/releng.wtpbuilder/components/jaxws/build.properties
new file mode 100644
index 0000000..1232026
--- /dev/null
+++ b/releng.wtpbuilder/components/jaxws/build.properties
@@ -0,0 +1,45 @@
+###############################################################################
+# Copyright (c) 2003, 2009 IBM Corporation and others.
+# 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:
+# IBM Corporation - initial API and implementation
+###############################################################################
+
+# This property file is used automatically by the PDE build process
+
+runPackager=true
+
+# This is a subdirectory of $buildDirectory
+# Set collectingFolder and archivePrefix to . if you want to create archives without
+# trailing eclipse in the paths of the included files
+collectingFolder=eclipse
+logExtension=.xml
+# The prefix that will be used in the generated archive.
+# Does not make sense to use a different archivePrefix than collectingFolder,
+# because zip wouldn't find any files to include into the target zip otherwise
+archivePrefix=eclipse
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=true
+
+# Whether or not to fail the build if there are compiler errors
+javacFailOnError=false
+
+##################################################
+# Asks the compiler for verbose output. This should be set to true in order for *.bin.log files to be generated when
+# using the JDT Compiler Adapter to compile.
+javacVerbose=true
+
+sign=true
+
+#############################################################
+
+# Properties introduced in 3.5 M3 (PDE base builder R35_M2). See
+# http://aniefer.blogspot.com/2008/10/sorting-bundles-and-parallel.html
+
+flattenDependencies=true
+parallelCompilation=true
diff --git a/releng.wtpbuilder/components/jaxws/customTargets.xml b/releng.wtpbuilder/components/jaxws/customTargets.xml
new file mode 100644
index 0000000..e05cd30
--- /dev/null
+++ b/releng.wtpbuilder/components/jaxws/customTargets.xml
@@ -0,0 +1,319 @@
+<project
+ name="PDECustomTargets"
+ default="noDefault"
+ 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"/>
+
+ <!-- let this project specify properties, if not already set -->
+ <property
+ file="build.properties"/>
+ <fail
+ message="dependancy.properties must be specified by distribution script"
+ unless="dependency.properties"/>
+ <fail
+ unless="buildDirectory"
+ message="buildDirectory must be set"/>
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <!--
+ Run a given ${target} on all elements being built Add on <ant>
+ task for each top level element being built.
+ -->
+ <target
+ name="allElements">
+ <echo
+ level="info"
+ message="Target:${target} "/>
+ <echo
+ level="debug"
+ message="basedir: ${basedir}"/>
+ <echo
+ level="info"
+ message="component: ${component}"/>
+ <echo
+ level="debug"
+ message="buildDirectory: ${buildDirectory}"/>
+ <echo
+ level="debug"
+ message="baseLocation: ${baseLocation}"/>
+ <echo
+ level="debug"
+ message="generic target: ${genericTargets}"/>
+ <echo
+ message="compilerArg: ${compilerArg}"/>
+ <echo
+ message="individualSourceBundles: ${individualSourceBundles}"/>
+ <ant
+ antfile="${genericTargets}"
+ target="${target}">
+ <property
+ name="type"
+ value="feature"/>
+ <property
+ name="id"
+ value="org.eclipse.jst.ws.cxf .feature"/>
+ </ant>
+ </target>
+ <!--
+ Targets to assemble the built elements for particular
+ configurations These generally call the generated assemble
+ scripts (named in ${assembleScriptName}) but may also add pre
+ and post processing Add one target for each root element and
+ each configuration
+ -->
+ <target
+ name="assemble.org.eclipse.jst.ws.cxf .feature">
+ <property
+ name="archiveName"
+ value="wtp-incubator-jaxws-${buildLabel}.zip"/>
+ <ant
+ antfile="${assembleScriptName}"
+ dir="${buildDirectory}"/>
+ </target>
+ <target
+ name="prePackage"/>
+ <target
+ name="postPackage">
+ <property
+ name="archiveName"
+ value="wtp-incubator-jaxws-${buildLabel}.zip"/>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/buildutilities.xml"
+ target="unpackUpdateJarsAndCreateZippedPackages">
+ <property
+ name="buildDirectory"
+ value="${buildDirectory}"/>
+ <property
+ name="buildLabel"
+ value="${buildLabel}"/>
+ <property
+ name="archiveName"
+ value="${archiveName}"/>
+ </ant>
+ </target>
+
+ <!--
+ Check out map files from repository
+ -->
+ <target
+ name="getMapFiles">
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENG}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENGJAXWS}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ </target>
+
+
+ <!--
+ Steps to do before setup
+ -->
+ <target
+ name="preSetup"></target>
+ <!--
+ Steps to do after setup but before starting the build proper
+ -->
+ <target
+ name="postSetup">
+ <dirname
+ file="${ant.file}"
+ property="component.dir"/>
+ <echo
+ level="debug"
+ message="ant.file: ${ant.file}"/>
+ <echo
+ level="debug"
+ message="component.dir: ${component.dir}"/>
+
+ <!-- Get the dependencies -->
+ <antcall
+ target="getDependencies"/>
+ </target>
+ <!--
+ =====================================================================
+ -->
+ <!-- Get the dependencies based on releng maps -->
+ <!--
+ =====================================================================
+ -->
+ <target
+ name="getDependencies">
+ <ant
+ antfile="${component.dir}/dependency.xml"
+ target="get">
+ <property
+ name="base.install.dir"
+ value="${buildRoot}"/>
+ </ant>
+ </target>
+
+ <!--
+ Steps to do before fetching the build elements
+ -->
+ <target
+ name="preFetch"></target>
+
+ <!--
+ Steps to do after fetching the build elements
+ -->
+ <target
+ name="postFetch"></target>
+
+ <!--
+ Steps to do before generating the build scripts.
+ -->
+ <target
+ name="preGenerate"></target>
+
+ <!--
+ Steps to do after generating the build scripts.
+ -->
+ <target
+ name="postGenerate">
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <customizeAccessRules
+ bundleDirectory="${buildDirectory}/plugins"/>
+ </target>
+ <!--
+ Steps to do before running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="preProcess">
+ <replace
+ dir="${buildDirectory}/plugins"
+ value="${timestamp}"
+ token="@build@">
+ <include
+ name="**/about.mappings"/>
+ </replace>
+ </target>
+ <!--
+ Steps to do after running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="postProcess">
+ <condition
+ property="logsAvailable">
+ <istrue
+ value="${javacVerbose}"/>
+ </condition>
+ <antcall
+ target="gatherLogs"/>
+ </target>
+
+
+ <!--
+ Steps to do before running assemble.
+ -->
+ <target
+ name="preAssemble"></target>
+
+ <!--
+ Steps to do after running assemble.
+ -->
+ <target
+ name="postAssemble"></target>
+
+ <!--
+ Steps to do after the build is done.
+ -->
+ <target
+ name="postBuild"></target>
+
+ <!--
+ Steps to do to test the build results
+ -->
+ <target
+ name="test"></target>
+
+ <!--
+ Steps to do to publish the build results
+ -->
+ <target
+ name="publish"></target>
+
+ <!--
+ Helper targets
+ -->
+ <target
+ name="gatherLogs"
+ if="logsAvailable">
+ <mkdir
+ dir="${buildDirectory}/${buildLabel}/compilelogs"/>
+ <echo
+ level="debug"
+ message="logExtension: ${logExtension}"/>
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="gatherLogs"/>
+ <param
+ name="logExtension"
+ value="${logExtension}"/>
+ </antcall>
+ <unzip
+ dest="${buildDirectory}/${buildLabel}/compilelogs"
+ overwrite="true">
+ <fileset
+ dir="${buildDirectory}/features/org.eclipse.jst.ws.cxf .feature">
+ <include
+ name="**/*.log.zip"/>
+ </fileset>
+ </unzip>
+ </target>
+ <target
+ name="clean"
+ unless="noclean">
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="cleanElement"/>
+ </antcall>
+ </target>
+
+ <!--
+ Default target
+ -->
+ <target
+ name="noDefault">
+ <echo
+ level="error"
+ message="You must specify a target when invoking this file"/>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/components/jaxws/dependency.xml b/releng.wtpbuilder/components/jaxws/dependency.xml
new file mode 100644
index 0000000..9ddeb56
--- /dev/null
+++ b/releng.wtpbuilder/components/jaxws/dependency.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+ <!--
+ ======================================================================
+ Properties that must be passed to this script: base.install.dir
+ dependencyTargets local.cache.dir dependency.properties
+ ======================================================================
+ -->
+<project
+ name="test"
+ default="get">
+ <target
+ name="get">
+ <!--
+ read in this properties, just so we can make sure our
+ requested pre-reqs are defined, which we do later with
+ statements such if="${groupId}.url"
+ -->
+ <property
+ file="${dependency.properties}"/>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="emf"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="emfxsd"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="gef"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="eclipse"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="xml"/>
+ </antcall>
+ </target>
+ <target
+ name="getAndInstall"
+ if="${groupId}.url">
+ <ant
+ antfile="${dependencyTargets}"
+ target="checkDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ </ant>
+ <ant
+ antfile="${dependencyTargets}"
+ target="installDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ <property
+ name="install.destination"
+ value="${base.install.dir}"/>
+ </ant>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/components/jaxws_sdk/build.properties b/releng.wtpbuilder/components/jaxws_sdk/build.properties
new file mode 100644
index 0000000..fef57d7
--- /dev/null
+++ b/releng.wtpbuilder/components/jaxws_sdk/build.properties
@@ -0,0 +1,45 @@
+###############################################################################
+# Copyright (c) 2003, 2009 IBM Corporation and others.
+# 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:
+# IBM Corporation - initial API and implementation
+###############################################################################
+
+# This property file is used automatically by the PDE build process
+
+runPackager=true
+
+# This is a subdirectory of $buildDirectory
+# Set collectingFolder and archivePrefix to . if you want to create archives without
+# trailing eclipse in the paths of the included files
+collectingFolder=eclipse
+logExtension=.xml
+# The prefix that will be used in the generated archive.
+# Does not make sense to use a different archivePrefix than collectingFolder,
+# because zip wouldn't find any files to include into the target zip otherwise
+archivePrefix=eclipse
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=true
+
+# Whether or not to fail the build if there are compiler errors
+javacFailOnError=false
+
+##################################################
+# Asks the compiler for verbose output. This should be set to true in order for *.bin.log files to be generated when
+# using the JDT Compiler Adapter to compile.
+javacVerbose=true
+
+sign=true
+
+#############################################################
+
+# Properties introduced in 3.5 M3 (PDE base builder R35_M2). See
+# http://aniefer.blogspot.com/2008/10/sorting-bundles-and-parallel.html
+
+flattenDependencies=true
+parallelCompilation=true
\ No newline at end of file
diff --git a/releng.wtpbuilder/components/jaxws_sdk/customTargets.xml b/releng.wtpbuilder/components/jaxws_sdk/customTargets.xml
new file mode 100644
index 0000000..54be6e0
--- /dev/null
+++ b/releng.wtpbuilder/components/jaxws_sdk/customTargets.xml
@@ -0,0 +1,319 @@
+<project
+ name="PDECustomTargets"
+ default="noDefault"
+ 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"/>
+
+ <!-- let this project specify properties, if not already set -->
+ <property
+ file="build.properties"/>
+ <fail
+ message="dependancy.properties must be specified by distribution script"
+ unless="dependency.properties"/>
+ <fail
+ unless="buildDirectory"
+ message="buildDirectory must be set"/>
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <!--
+ Run a given ${target} on all elements being built Add on <ant>
+ task for each top level element being built.
+ -->
+ <target
+ name="allElements">
+ <echo
+ level="info"
+ message="Target:${target} "/>
+ <echo
+ level="debug"
+ message="basedir: ${basedir}"/>
+ <echo
+ level="info"
+ message="component: ${component}"/>
+ <echo
+ level="debug"
+ message="buildDirectory: ${buildDirectory}"/>
+ <echo
+ level="debug"
+ message="baseLocation: ${baseLocation}"/>
+ <echo
+ level="debug"
+ message="generic target: ${genericTargets}"/>
+ <echo
+ message="compilerArg: ${compilerArg}"/>
+ <echo
+ message="individualSourceBundles: ${individualSourceBundles}"/>
+ <ant
+ antfile="${genericTargets}"
+ target="${target}">
+ <property
+ name="type"
+ value="feature"/>
+ <property
+ name="id"
+ value="org.eclipse.jst.ws.cxf _sdk.feature"/>
+ </ant>
+ </target>
+ <!--
+ Targets to assemble the built elements for particular
+ configurations These generally call the generated assemble
+ scripts (named in ${assembleScriptName}) but may also add pre
+ and post processing Add one target for each root element and
+ each configuration
+ -->
+ <target
+ name="assemble.org.eclipse.jst.ws.cxf _sdk.feature">
+ <property
+ name="archiveName"
+ value="wtp-incubator-jaxws-${buildLabel}.zip"/>
+ <ant
+ antfile="${assembleScriptName}"
+ dir="${buildDirectory}"/>
+ </target>
+ <target
+ name="prePackage"/>
+ <target
+ name="postPackage">
+ <property
+ name="archiveName"
+ value="wtp-incubator-jaxws-${buildLabel}.zip"/>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/buildutilities.xml"
+ target="unpackUpdateJarsAndCreateZippedPackages">
+ <property
+ name="buildDirectory"
+ value="${buildDirectory}"/>
+ <property
+ name="buildLabel"
+ value="${buildLabel}"/>
+ <property
+ name="archiveName"
+ value="${archiveName}"/>
+ </ant>
+ </target>
+
+ <!--
+ Check out map files from repository
+ -->
+ <target
+ name="getMapFiles">
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENG}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENGJAXWS}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ </target>
+
+
+ <!--
+ Steps to do before setup
+ -->
+ <target
+ name="preSetup"></target>
+ <!--
+ Steps to do after setup but before starting the build proper
+ -->
+ <target
+ name="postSetup">
+ <dirname
+ file="${ant.file}"
+ property="component.dir"/>
+ <echo
+ level="debug"
+ message="ant.file: ${ant.file}"/>
+ <echo
+ level="debug"
+ message="component.dir: ${component.dir}"/>
+
+ <!-- Get the dependencies -->
+ <antcall
+ target="getDependencies"/>
+ </target>
+ <!--
+ =====================================================================
+ -->
+ <!-- Get the dependencies based on releng maps -->
+ <!--
+ =====================================================================
+ -->
+ <target
+ name="getDependencies">
+ <ant
+ antfile="${component.dir}/dependency.xml"
+ target="get">
+ <property
+ name="base.install.dir"
+ value="${buildRoot}"/>
+ </ant>
+ </target>
+
+ <!--
+ Steps to do before fetching the build elements
+ -->
+ <target
+ name="preFetch"></target>
+
+ <!--
+ Steps to do after fetching the build elements
+ -->
+ <target
+ name="postFetch"></target>
+
+ <!--
+ Steps to do before generating the build scripts.
+ -->
+ <target
+ name="preGenerate"></target>
+
+ <!--
+ Steps to do after generating the build scripts.
+ -->
+ <target
+ name="postGenerate">
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <customizeAccessRules
+ bundleDirectory="${buildDirectory}/plugins"/>
+ </target>
+ <!--
+ Steps to do before running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="preProcess">
+ <replace
+ dir="${buildDirectory}/plugins"
+ value="${timestamp}"
+ token="@build@">
+ <include
+ name="**/about.mappings"/>
+ </replace>
+ </target>
+ <!--
+ Steps to do after running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="postProcess">
+ <condition
+ property="logsAvailable">
+ <istrue
+ value="${javacVerbose}"/>
+ </condition>
+ <antcall
+ target="gatherLogs"/>
+ </target>
+
+
+ <!--
+ Steps to do before running assemble.
+ -->
+ <target
+ name="preAssemble"></target>
+
+ <!--
+ Steps to do after running assemble.
+ -->
+ <target
+ name="postAssemble"></target>
+
+ <!--
+ Steps to do after the build is done.
+ -->
+ <target
+ name="postBuild"></target>
+
+ <!--
+ Steps to do to test the build results
+ -->
+ <target
+ name="test"></target>
+
+ <!--
+ Steps to do to publish the build results
+ -->
+ <target
+ name="publish"></target>
+
+ <!--
+ Helper targets
+ -->
+ <target
+ name="gatherLogs"
+ if="logsAvailable">
+ <mkdir
+ dir="${buildDirectory}/${buildLabel}/compilelogs"/>
+ <echo
+ level="debug"
+ message="logExtension: ${logExtension}"/>
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="gatherLogs"/>
+ <param
+ name="logExtension"
+ value="${logExtension}"/>
+ </antcall>
+ <unzip
+ dest="${buildDirectory}/${buildLabel}/compilelogs"
+ overwrite="true">
+ <fileset
+ dir="${buildDirectory}/features/org.eclipse.jst.ws.cxf _sdk.feature">
+ <include
+ name="**/*.log.zip"/>
+ </fileset>
+ </unzip>
+ </target>
+ <target
+ name="clean"
+ unless="noclean">
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="cleanElement"/>
+ </antcall>
+ </target>
+
+ <!--
+ Default target
+ -->
+ <target
+ name="noDefault">
+ <echo
+ level="error"
+ message="You must specify a target when invoking this file"/>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/components/jaxws_sdk/dependency.xml b/releng.wtpbuilder/components/jaxws_sdk/dependency.xml
new file mode 100644
index 0000000..191c279
--- /dev/null
+++ b/releng.wtpbuilder/components/jaxws_sdk/dependency.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+ <!--
+ ======================================================================
+ Properties that must be passed to this script: base.install.dir
+ dependencyTargets local.cache.dir dependency.properties
+ ======================================================================
+ -->
+<project
+ name="test"
+ default="get">
+ <target
+ name="get">
+ <!--
+ read in this properties, just so we can make sure our
+ requested pre-reqs are defined
+ -->
+ <property
+ file="${dependency.properties}"/>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="orbitthirdpartymap"/>
+ <param
+ name="base.install.dir"
+ value="${buildDirectory}/maps/${env.RELENG}/maps/"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="eclipse"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="xml"/>
+ </antcall>
+ </target>
+ <target
+ name="getAndInstall"
+ if="${groupId}.url">
+ <ant
+ antfile="${dependencyTargets}"
+ target="checkDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ </ant>
+ <ant
+ antfile="${dependencyTargets}"
+ target="installDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ <property
+ name="install.destination"
+ value="${base.install.dir}"/>
+ </ant>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/components/jaxws_tests/build.properties b/releng.wtpbuilder/components/jaxws_tests/build.properties
new file mode 100644
index 0000000..43b2ed3
--- /dev/null
+++ b/releng.wtpbuilder/components/jaxws_tests/build.properties
@@ -0,0 +1,45 @@
+###############################################################################
+# Copyright (c) 2003, 2009 IBM Corporation and others.
+# 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:
+# IBM Corporation - initial API and implementation
+###############################################################################
+
+# This property file is used automatically by the PDE build process
+
+runPackager=true
+
+# This is a subdirectory of $buildDirectory
+# Set collectingFolder and archivePrefix to . if you want to create archives without
+# trailing eclipse in the paths of the included files
+collectingFolder=eclipse
+logExtension=.xml
+# The prefix that will be used in the generated archive.
+# Does not make sense to use a different archivePrefix than collectingFolder,
+# because zip wouldn't find any files to include into the target zip otherwise
+archivePrefix=eclipse
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=true
+
+# Whether or not to fail the build if there are compiler errors
+javacFailOnError=false
+
+##################################################
+# Asks the compiler for verbose output. This should be set to true in order for *.bin.log files to be generated when
+# using the JDT Compiler Adapter to compile.
+javacVerbose=true
+
+sign=false
+
+#############################################################
+
+# Properties introduced in 3.5 M3 (PDE base builder R35_M2). See
+# http://aniefer.blogspot.com/2008/10/sorting-bundles-and-parallel.html
+
+flattenDependencies=true
+parallelCompilation=true
diff --git a/releng.wtpbuilder/components/jaxws_tests/customTargets.xml b/releng.wtpbuilder/components/jaxws_tests/customTargets.xml
new file mode 100644
index 0000000..06a6e5e
--- /dev/null
+++ b/releng.wtpbuilder/components/jaxws_tests/customTargets.xml
@@ -0,0 +1,319 @@
+<project
+ name="PDECustomTargets"
+ default="noDefault"
+ 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"/>
+
+ <!-- let this project specify properties, if not already set -->
+ <property
+ file="build.properties"/>
+ <fail
+ message="dependancy.properties must be specified by distribution script"
+ unless="dependency.properties"/>
+ <fail
+ unless="buildDirectory"
+ message="buildDirectory must be set"/>
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <!--
+ Run a given ${target} on all elements being built Add on <ant>
+ task for each top level element being built.
+ -->
+ <target
+ name="allElements">
+ <echo
+ level="info"
+ message="Target:${target} "/>
+ <echo
+ level="debug"
+ message="basedir: ${basedir}"/>
+ <echo
+ level="info"
+ message="component: ${component}"/>
+ <echo
+ level="debug"
+ message="buildDirectory: ${buildDirectory}"/>
+ <echo
+ level="debug"
+ message="baseLocation: ${baseLocation}"/>
+ <echo
+ level="debug"
+ message="generic target: ${genericTargets}"/>
+ <echo
+ message="compilerArg: ${compilerArg}"/>
+ <echo
+ message="individualSourceBundles: ${individualSourceBundles}"/>
+ <ant
+ antfile="${genericTargets}"
+ target="${target}">
+ <property
+ name="type"
+ value="feature"/>
+ <property
+ name="id"
+ value="org.eclipse.jst.ws.cxf _tests.feature"/>
+ </ant>
+ </target>
+ <!--
+ Targets to assemble the built elements for particular
+ configurations These generally call the generated assemble
+ scripts (named in ${assembleScriptName}) but may also add pre
+ and post processing Add one target for each root element and
+ each configuration
+ -->
+ <target
+ name="assemble.org.eclipse.jst.ws.cxf _tests.feature">
+ <property
+ name="archiveName"
+ value="wtp-incubator-jaxws-${buildLabel}.zip"/>
+ <ant
+ antfile="${assembleScriptName}"
+ dir="${buildDirectory}"/>
+ </target>
+ <target
+ name="prePackage"/>
+ <target
+ name="postPackage">
+ <property
+ name="archiveName"
+ value="wtp-incubator-jaxws-${buildLabel}.zip"/>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/buildutilities.xml"
+ target="unpackUpdateJarsAndCreateZippedPackages">
+ <property
+ name="buildDirectory"
+ value="${buildDirectory}"/>
+ <property
+ name="buildLabel"
+ value="${buildLabel}"/>
+ <property
+ name="archiveName"
+ value="${archiveName}"/>
+ </ant>
+ </target>
+
+ <!--
+ Check out map files from repository
+ -->
+ <target
+ name="getMapFiles">
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENG}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENGJAXWS}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ </target>
+
+
+ <!--
+ Steps to do before setup
+ -->
+ <target
+ name="preSetup"></target>
+ <!--
+ Steps to do after setup but before starting the build proper
+ -->
+ <target
+ name="postSetup">
+ <dirname
+ file="${ant.file}"
+ property="component.dir"/>
+ <echo
+ level="debug"
+ message="ant.file: ${ant.file}"/>
+ <echo
+ level="debug"
+ message="component.dir: ${component.dir}"/>
+
+ <!-- Get the dependencies -->
+ <antcall
+ target="getDependencies"/>
+ </target>
+ <!--
+ =====================================================================
+ -->
+ <!-- Get the dependencies based on releng maps -->
+ <!--
+ =====================================================================
+ -->
+ <target
+ name="getDependencies">
+ <ant
+ antfile="${component.dir}/dependency.xml"
+ target="get">
+ <property
+ name="base.install.dir"
+ value="${buildRoot}"/>
+ </ant>
+ </target>
+
+ <!--
+ Steps to do before fetching the build elements
+ -->
+ <target
+ name="preFetch"></target>
+
+ <!--
+ Steps to do after fetching the build elements
+ -->
+ <target
+ name="postFetch"></target>
+
+ <!--
+ Steps to do before generating the build scripts.
+ -->
+ <target
+ name="preGenerate"></target>
+
+ <!--
+ Steps to do after generating the build scripts.
+ -->
+ <target
+ name="postGenerate">
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <customizeAccessRules
+ bundleDirectory="${buildDirectory}/plugins"/>
+ </target>
+ <!--
+ Steps to do before running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="preProcess">
+ <replace
+ dir="${buildDirectory}/plugins"
+ value="${timestamp}"
+ token="@build@">
+ <include
+ name="**/about.mappings"/>
+ </replace>
+ </target>
+ <!--
+ Steps to do after running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="postProcess">
+ <condition
+ property="logsAvailable">
+ <istrue
+ value="${javacVerbose}"/>
+ </condition>
+ <antcall
+ target="gatherLogs"/>
+ </target>
+
+
+ <!--
+ Steps to do before running assemble.
+ -->
+ <target
+ name="preAssemble"></target>
+
+ <!--
+ Steps to do after running assemble.
+ -->
+ <target
+ name="postAssemble"></target>
+
+ <!--
+ Steps to do after the build is done.
+ -->
+ <target
+ name="postBuild"></target>
+
+ <!--
+ Steps to do to test the build results
+ -->
+ <target
+ name="test"></target>
+
+ <!--
+ Steps to do to publish the build results
+ -->
+ <target
+ name="publish"></target>
+
+ <!--
+ Helper targets
+ -->
+ <target
+ name="gatherLogs"
+ if="logsAvailable">
+ <mkdir
+ dir="${buildDirectory}/${buildLabel}/testcompilelogs"/>
+ <echo
+ level="debug"
+ message="logExtension: ${logExtension}"/>
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="gatherLogs"/>
+ <param
+ name="logExtension"
+ value="${logExtension}"/>
+ </antcall>
+ <unzip
+ dest="${buildDirectory}/${buildLabel}/testcompilelogs"
+ overwrite="true">
+ <fileset
+ dir="${buildDirectory}/features/org.eclipse.jst.ws.cxf _tests.feature">
+ <include
+ name="**/*.log.zip"/>
+ </fileset>
+ </unzip>
+ </target>
+ <target
+ name="clean"
+ unless="noclean">
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="cleanElement"/>
+ </antcall>
+ </target>
+
+ <!--
+ Default target
+ -->
+ <target
+ name="noDefault">
+ <echo
+ level="error"
+ message="You must specify a target when invoking this file"/>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/components/jaxws_tests/dependency.xml b/releng.wtpbuilder/components/jaxws_tests/dependency.xml
new file mode 100644
index 0000000..8565e7e
--- /dev/null
+++ b/releng.wtpbuilder/components/jaxws_tests/dependency.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+ <!--
+ ======================================================================
+ Properties that must be passed to this script: base.install.dir
+ dependencyTargets local.cache.dir dependency.properties
+ ======================================================================
+ -->
+<project
+ name="test"
+ default="get">
+ <target
+ name="get">
+ <!--
+ read in this properties, just so we can make sure our
+ requested pre-reqs are defined
+ -->
+ <property
+ file="${dependency.properties}"/>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="orbitthirdpartymap"/>
+ <param
+ name="base.install.dir"
+ value="${buildDirectory}/maps/${env.RELENG}/maps/"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="eclipse"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="eclipseTestFramework"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="xml"/>
+ </antcall>
+ </target>
+ <target
+ name="getAndInstall"
+ if="${groupId}.url">
+ <ant
+ antfile="${dependencyTargets}"
+ target="checkDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ </ant>
+ <ant
+ antfile="${dependencyTargets}"
+ target="installDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ <property
+ name="install.destination"
+ value="${base.install.dir}"/>
+ </ant>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/components/xmlsec/build.properties b/releng.wtpbuilder/components/xmlsec/build.properties
new file mode 100644
index 0000000..1232026
--- /dev/null
+++ b/releng.wtpbuilder/components/xmlsec/build.properties
@@ -0,0 +1,45 @@
+###############################################################################
+# Copyright (c) 2003, 2009 IBM Corporation and others.
+# 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:
+# IBM Corporation - initial API and implementation
+###############################################################################
+
+# This property file is used automatically by the PDE build process
+
+runPackager=true
+
+# This is a subdirectory of $buildDirectory
+# Set collectingFolder and archivePrefix to . if you want to create archives without
+# trailing eclipse in the paths of the included files
+collectingFolder=eclipse
+logExtension=.xml
+# The prefix that will be used in the generated archive.
+# Does not make sense to use a different archivePrefix than collectingFolder,
+# because zip wouldn't find any files to include into the target zip otherwise
+archivePrefix=eclipse
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=true
+
+# Whether or not to fail the build if there are compiler errors
+javacFailOnError=false
+
+##################################################
+# Asks the compiler for verbose output. This should be set to true in order for *.bin.log files to be generated when
+# using the JDT Compiler Adapter to compile.
+javacVerbose=true
+
+sign=true
+
+#############################################################
+
+# Properties introduced in 3.5 M3 (PDE base builder R35_M2). See
+# http://aniefer.blogspot.com/2008/10/sorting-bundles-and-parallel.html
+
+flattenDependencies=true
+parallelCompilation=true
diff --git a/releng.wtpbuilder/components/xmlsec/customTargets.xml b/releng.wtpbuilder/components/xmlsec/customTargets.xml
new file mode 100644
index 0000000..e05cd30
--- /dev/null
+++ b/releng.wtpbuilder/components/xmlsec/customTargets.xml
@@ -0,0 +1,319 @@
+<project
+ name="PDECustomTargets"
+ default="noDefault"
+ 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"/>
+
+ <!-- let this project specify properties, if not already set -->
+ <property
+ file="build.properties"/>
+ <fail
+ message="dependancy.properties must be specified by distribution script"
+ unless="dependency.properties"/>
+ <fail
+ unless="buildDirectory"
+ message="buildDirectory must be set"/>
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <!--
+ Run a given ${target} on all elements being built Add on <ant>
+ task for each top level element being built.
+ -->
+ <target
+ name="allElements">
+ <echo
+ level="info"
+ message="Target:${target} "/>
+ <echo
+ level="debug"
+ message="basedir: ${basedir}"/>
+ <echo
+ level="info"
+ message="component: ${component}"/>
+ <echo
+ level="debug"
+ message="buildDirectory: ${buildDirectory}"/>
+ <echo
+ level="debug"
+ message="baseLocation: ${baseLocation}"/>
+ <echo
+ level="debug"
+ message="generic target: ${genericTargets}"/>
+ <echo
+ message="compilerArg: ${compilerArg}"/>
+ <echo
+ message="individualSourceBundles: ${individualSourceBundles}"/>
+ <ant
+ antfile="${genericTargets}"
+ target="${target}">
+ <property
+ name="type"
+ value="feature"/>
+ <property
+ name="id"
+ value="org.eclipse.jst.ws.cxf .feature"/>
+ </ant>
+ </target>
+ <!--
+ Targets to assemble the built elements for particular
+ configurations These generally call the generated assemble
+ scripts (named in ${assembleScriptName}) but may also add pre
+ and post processing Add one target for each root element and
+ each configuration
+ -->
+ <target
+ name="assemble.org.eclipse.jst.ws.cxf .feature">
+ <property
+ name="archiveName"
+ value="wtp-incubator-jaxws-${buildLabel}.zip"/>
+ <ant
+ antfile="${assembleScriptName}"
+ dir="${buildDirectory}"/>
+ </target>
+ <target
+ name="prePackage"/>
+ <target
+ name="postPackage">
+ <property
+ name="archiveName"
+ value="wtp-incubator-jaxws-${buildLabel}.zip"/>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/buildutilities.xml"
+ target="unpackUpdateJarsAndCreateZippedPackages">
+ <property
+ name="buildDirectory"
+ value="${buildDirectory}"/>
+ <property
+ name="buildLabel"
+ value="${buildLabel}"/>
+ <property
+ name="archiveName"
+ value="${archiveName}"/>
+ </ant>
+ </target>
+
+ <!--
+ Check out map files from repository
+ -->
+ <target
+ name="getMapFiles">
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENG}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENGJAXWS}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ </target>
+
+
+ <!--
+ Steps to do before setup
+ -->
+ <target
+ name="preSetup"></target>
+ <!--
+ Steps to do after setup but before starting the build proper
+ -->
+ <target
+ name="postSetup">
+ <dirname
+ file="${ant.file}"
+ property="component.dir"/>
+ <echo
+ level="debug"
+ message="ant.file: ${ant.file}"/>
+ <echo
+ level="debug"
+ message="component.dir: ${component.dir}"/>
+
+ <!-- Get the dependencies -->
+ <antcall
+ target="getDependencies"/>
+ </target>
+ <!--
+ =====================================================================
+ -->
+ <!-- Get the dependencies based on releng maps -->
+ <!--
+ =====================================================================
+ -->
+ <target
+ name="getDependencies">
+ <ant
+ antfile="${component.dir}/dependency.xml"
+ target="get">
+ <property
+ name="base.install.dir"
+ value="${buildRoot}"/>
+ </ant>
+ </target>
+
+ <!--
+ Steps to do before fetching the build elements
+ -->
+ <target
+ name="preFetch"></target>
+
+ <!--
+ Steps to do after fetching the build elements
+ -->
+ <target
+ name="postFetch"></target>
+
+ <!--
+ Steps to do before generating the build scripts.
+ -->
+ <target
+ name="preGenerate"></target>
+
+ <!--
+ Steps to do after generating the build scripts.
+ -->
+ <target
+ name="postGenerate">
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <customizeAccessRules
+ bundleDirectory="${buildDirectory}/plugins"/>
+ </target>
+ <!--
+ Steps to do before running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="preProcess">
+ <replace
+ dir="${buildDirectory}/plugins"
+ value="${timestamp}"
+ token="@build@">
+ <include
+ name="**/about.mappings"/>
+ </replace>
+ </target>
+ <!--
+ Steps to do after running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="postProcess">
+ <condition
+ property="logsAvailable">
+ <istrue
+ value="${javacVerbose}"/>
+ </condition>
+ <antcall
+ target="gatherLogs"/>
+ </target>
+
+
+ <!--
+ Steps to do before running assemble.
+ -->
+ <target
+ name="preAssemble"></target>
+
+ <!--
+ Steps to do after running assemble.
+ -->
+ <target
+ name="postAssemble"></target>
+
+ <!--
+ Steps to do after the build is done.
+ -->
+ <target
+ name="postBuild"></target>
+
+ <!--
+ Steps to do to test the build results
+ -->
+ <target
+ name="test"></target>
+
+ <!--
+ Steps to do to publish the build results
+ -->
+ <target
+ name="publish"></target>
+
+ <!--
+ Helper targets
+ -->
+ <target
+ name="gatherLogs"
+ if="logsAvailable">
+ <mkdir
+ dir="${buildDirectory}/${buildLabel}/compilelogs"/>
+ <echo
+ level="debug"
+ message="logExtension: ${logExtension}"/>
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="gatherLogs"/>
+ <param
+ name="logExtension"
+ value="${logExtension}"/>
+ </antcall>
+ <unzip
+ dest="${buildDirectory}/${buildLabel}/compilelogs"
+ overwrite="true">
+ <fileset
+ dir="${buildDirectory}/features/org.eclipse.jst.ws.cxf .feature">
+ <include
+ name="**/*.log.zip"/>
+ </fileset>
+ </unzip>
+ </target>
+ <target
+ name="clean"
+ unless="noclean">
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="cleanElement"/>
+ </antcall>
+ </target>
+
+ <!--
+ Default target
+ -->
+ <target
+ name="noDefault">
+ <echo
+ level="error"
+ message="You must specify a target when invoking this file"/>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/components/xmlsec/dependency.xml b/releng.wtpbuilder/components/xmlsec/dependency.xml
new file mode 100644
index 0000000..9ddeb56
--- /dev/null
+++ b/releng.wtpbuilder/components/xmlsec/dependency.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+ <!--
+ ======================================================================
+ Properties that must be passed to this script: base.install.dir
+ dependencyTargets local.cache.dir dependency.properties
+ ======================================================================
+ -->
+<project
+ name="test"
+ default="get">
+ <target
+ name="get">
+ <!--
+ read in this properties, just so we can make sure our
+ requested pre-reqs are defined, which we do later with
+ statements such if="${groupId}.url"
+ -->
+ <property
+ file="${dependency.properties}"/>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="emf"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="emfxsd"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="gef"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="eclipse"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="xml"/>
+ </antcall>
+ </target>
+ <target
+ name="getAndInstall"
+ if="${groupId}.url">
+ <ant
+ antfile="${dependencyTargets}"
+ target="checkDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ </ant>
+ <ant
+ antfile="${dependencyTargets}"
+ target="installDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ <property
+ name="install.destination"
+ value="${base.install.dir}"/>
+ </ant>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/components/xmlsec_sdk/build.properties b/releng.wtpbuilder/components/xmlsec_sdk/build.properties
new file mode 100644
index 0000000..fef57d7
--- /dev/null
+++ b/releng.wtpbuilder/components/xmlsec_sdk/build.properties
@@ -0,0 +1,45 @@
+###############################################################################
+# Copyright (c) 2003, 2009 IBM Corporation and others.
+# 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:
+# IBM Corporation - initial API and implementation
+###############################################################################
+
+# This property file is used automatically by the PDE build process
+
+runPackager=true
+
+# This is a subdirectory of $buildDirectory
+# Set collectingFolder and archivePrefix to . if you want to create archives without
+# trailing eclipse in the paths of the included files
+collectingFolder=eclipse
+logExtension=.xml
+# The prefix that will be used in the generated archive.
+# Does not make sense to use a different archivePrefix than collectingFolder,
+# because zip wouldn't find any files to include into the target zip otherwise
+archivePrefix=eclipse
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=true
+
+# Whether or not to fail the build if there are compiler errors
+javacFailOnError=false
+
+##################################################
+# Asks the compiler for verbose output. This should be set to true in order for *.bin.log files to be generated when
+# using the JDT Compiler Adapter to compile.
+javacVerbose=true
+
+sign=true
+
+#############################################################
+
+# Properties introduced in 3.5 M3 (PDE base builder R35_M2). See
+# http://aniefer.blogspot.com/2008/10/sorting-bundles-and-parallel.html
+
+flattenDependencies=true
+parallelCompilation=true
\ No newline at end of file
diff --git a/releng.wtpbuilder/components/xmlsec_sdk/customTargets.xml b/releng.wtpbuilder/components/xmlsec_sdk/customTargets.xml
new file mode 100644
index 0000000..54be6e0
--- /dev/null
+++ b/releng.wtpbuilder/components/xmlsec_sdk/customTargets.xml
@@ -0,0 +1,319 @@
+<project
+ name="PDECustomTargets"
+ default="noDefault"
+ 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"/>
+
+ <!-- let this project specify properties, if not already set -->
+ <property
+ file="build.properties"/>
+ <fail
+ message="dependancy.properties must be specified by distribution script"
+ unless="dependency.properties"/>
+ <fail
+ unless="buildDirectory"
+ message="buildDirectory must be set"/>
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <!--
+ Run a given ${target} on all elements being built Add on <ant>
+ task for each top level element being built.
+ -->
+ <target
+ name="allElements">
+ <echo
+ level="info"
+ message="Target:${target} "/>
+ <echo
+ level="debug"
+ message="basedir: ${basedir}"/>
+ <echo
+ level="info"
+ message="component: ${component}"/>
+ <echo
+ level="debug"
+ message="buildDirectory: ${buildDirectory}"/>
+ <echo
+ level="debug"
+ message="baseLocation: ${baseLocation}"/>
+ <echo
+ level="debug"
+ message="generic target: ${genericTargets}"/>
+ <echo
+ message="compilerArg: ${compilerArg}"/>
+ <echo
+ message="individualSourceBundles: ${individualSourceBundles}"/>
+ <ant
+ antfile="${genericTargets}"
+ target="${target}">
+ <property
+ name="type"
+ value="feature"/>
+ <property
+ name="id"
+ value="org.eclipse.jst.ws.cxf _sdk.feature"/>
+ </ant>
+ </target>
+ <!--
+ Targets to assemble the built elements for particular
+ configurations These generally call the generated assemble
+ scripts (named in ${assembleScriptName}) but may also add pre
+ and post processing Add one target for each root element and
+ each configuration
+ -->
+ <target
+ name="assemble.org.eclipse.jst.ws.cxf _sdk.feature">
+ <property
+ name="archiveName"
+ value="wtp-incubator-jaxws-${buildLabel}.zip"/>
+ <ant
+ antfile="${assembleScriptName}"
+ dir="${buildDirectory}"/>
+ </target>
+ <target
+ name="prePackage"/>
+ <target
+ name="postPackage">
+ <property
+ name="archiveName"
+ value="wtp-incubator-jaxws-${buildLabel}.zip"/>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/buildutilities.xml"
+ target="unpackUpdateJarsAndCreateZippedPackages">
+ <property
+ name="buildDirectory"
+ value="${buildDirectory}"/>
+ <property
+ name="buildLabel"
+ value="${buildLabel}"/>
+ <property
+ name="archiveName"
+ value="${archiveName}"/>
+ </ant>
+ </target>
+
+ <!--
+ Check out map files from repository
+ -->
+ <target
+ name="getMapFiles">
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENG}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENGJAXWS}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ </target>
+
+
+ <!--
+ Steps to do before setup
+ -->
+ <target
+ name="preSetup"></target>
+ <!--
+ Steps to do after setup but before starting the build proper
+ -->
+ <target
+ name="postSetup">
+ <dirname
+ file="${ant.file}"
+ property="component.dir"/>
+ <echo
+ level="debug"
+ message="ant.file: ${ant.file}"/>
+ <echo
+ level="debug"
+ message="component.dir: ${component.dir}"/>
+
+ <!-- Get the dependencies -->
+ <antcall
+ target="getDependencies"/>
+ </target>
+ <!--
+ =====================================================================
+ -->
+ <!-- Get the dependencies based on releng maps -->
+ <!--
+ =====================================================================
+ -->
+ <target
+ name="getDependencies">
+ <ant
+ antfile="${component.dir}/dependency.xml"
+ target="get">
+ <property
+ name="base.install.dir"
+ value="${buildRoot}"/>
+ </ant>
+ </target>
+
+ <!--
+ Steps to do before fetching the build elements
+ -->
+ <target
+ name="preFetch"></target>
+
+ <!--
+ Steps to do after fetching the build elements
+ -->
+ <target
+ name="postFetch"></target>
+
+ <!--
+ Steps to do before generating the build scripts.
+ -->
+ <target
+ name="preGenerate"></target>
+
+ <!--
+ Steps to do after generating the build scripts.
+ -->
+ <target
+ name="postGenerate">
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <customizeAccessRules
+ bundleDirectory="${buildDirectory}/plugins"/>
+ </target>
+ <!--
+ Steps to do before running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="preProcess">
+ <replace
+ dir="${buildDirectory}/plugins"
+ value="${timestamp}"
+ token="@build@">
+ <include
+ name="**/about.mappings"/>
+ </replace>
+ </target>
+ <!--
+ Steps to do after running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="postProcess">
+ <condition
+ property="logsAvailable">
+ <istrue
+ value="${javacVerbose}"/>
+ </condition>
+ <antcall
+ target="gatherLogs"/>
+ </target>
+
+
+ <!--
+ Steps to do before running assemble.
+ -->
+ <target
+ name="preAssemble"></target>
+
+ <!--
+ Steps to do after running assemble.
+ -->
+ <target
+ name="postAssemble"></target>
+
+ <!--
+ Steps to do after the build is done.
+ -->
+ <target
+ name="postBuild"></target>
+
+ <!--
+ Steps to do to test the build results
+ -->
+ <target
+ name="test"></target>
+
+ <!--
+ Steps to do to publish the build results
+ -->
+ <target
+ name="publish"></target>
+
+ <!--
+ Helper targets
+ -->
+ <target
+ name="gatherLogs"
+ if="logsAvailable">
+ <mkdir
+ dir="${buildDirectory}/${buildLabel}/compilelogs"/>
+ <echo
+ level="debug"
+ message="logExtension: ${logExtension}"/>
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="gatherLogs"/>
+ <param
+ name="logExtension"
+ value="${logExtension}"/>
+ </antcall>
+ <unzip
+ dest="${buildDirectory}/${buildLabel}/compilelogs"
+ overwrite="true">
+ <fileset
+ dir="${buildDirectory}/features/org.eclipse.jst.ws.cxf _sdk.feature">
+ <include
+ name="**/*.log.zip"/>
+ </fileset>
+ </unzip>
+ </target>
+ <target
+ name="clean"
+ unless="noclean">
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="cleanElement"/>
+ </antcall>
+ </target>
+
+ <!--
+ Default target
+ -->
+ <target
+ name="noDefault">
+ <echo
+ level="error"
+ message="You must specify a target when invoking this file"/>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/components/xmlsec_sdk/dependency.xml b/releng.wtpbuilder/components/xmlsec_sdk/dependency.xml
new file mode 100644
index 0000000..191c279
--- /dev/null
+++ b/releng.wtpbuilder/components/xmlsec_sdk/dependency.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+ <!--
+ ======================================================================
+ Properties that must be passed to this script: base.install.dir
+ dependencyTargets local.cache.dir dependency.properties
+ ======================================================================
+ -->
+<project
+ name="test"
+ default="get">
+ <target
+ name="get">
+ <!--
+ read in this properties, just so we can make sure our
+ requested pre-reqs are defined
+ -->
+ <property
+ file="${dependency.properties}"/>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="orbitthirdpartymap"/>
+ <param
+ name="base.install.dir"
+ value="${buildDirectory}/maps/${env.RELENG}/maps/"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="eclipse"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="xml"/>
+ </antcall>
+ </target>
+ <target
+ name="getAndInstall"
+ if="${groupId}.url">
+ <ant
+ antfile="${dependencyTargets}"
+ target="checkDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ </ant>
+ <ant
+ antfile="${dependencyTargets}"
+ target="installDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ <property
+ name="install.destination"
+ value="${base.install.dir}"/>
+ </ant>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/components/xmlsec_tests/build.properties b/releng.wtpbuilder/components/xmlsec_tests/build.properties
new file mode 100644
index 0000000..43b2ed3
--- /dev/null
+++ b/releng.wtpbuilder/components/xmlsec_tests/build.properties
@@ -0,0 +1,45 @@
+###############################################################################
+# Copyright (c) 2003, 2009 IBM Corporation and others.
+# 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:
+# IBM Corporation - initial API and implementation
+###############################################################################
+
+# This property file is used automatically by the PDE build process
+
+runPackager=true
+
+# This is a subdirectory of $buildDirectory
+# Set collectingFolder and archivePrefix to . if you want to create archives without
+# trailing eclipse in the paths of the included files
+collectingFolder=eclipse
+logExtension=.xml
+# The prefix that will be used in the generated archive.
+# Does not make sense to use a different archivePrefix than collectingFolder,
+# because zip wouldn't find any files to include into the target zip otherwise
+archivePrefix=eclipse
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=true
+
+# Whether or not to fail the build if there are compiler errors
+javacFailOnError=false
+
+##################################################
+# Asks the compiler for verbose output. This should be set to true in order for *.bin.log files to be generated when
+# using the JDT Compiler Adapter to compile.
+javacVerbose=true
+
+sign=false
+
+#############################################################
+
+# Properties introduced in 3.5 M3 (PDE base builder R35_M2). See
+# http://aniefer.blogspot.com/2008/10/sorting-bundles-and-parallel.html
+
+flattenDependencies=true
+parallelCompilation=true
diff --git a/releng.wtpbuilder/components/xmlsec_tests/customTargets.xml b/releng.wtpbuilder/components/xmlsec_tests/customTargets.xml
new file mode 100644
index 0000000..06a6e5e
--- /dev/null
+++ b/releng.wtpbuilder/components/xmlsec_tests/customTargets.xml
@@ -0,0 +1,319 @@
+<project
+ name="PDECustomTargets"
+ default="noDefault"
+ 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"/>
+
+ <!-- let this project specify properties, if not already set -->
+ <property
+ file="build.properties"/>
+ <fail
+ message="dependancy.properties must be specified by distribution script"
+ unless="dependency.properties"/>
+ <fail
+ unless="buildDirectory"
+ message="buildDirectory must be set"/>
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <!--
+ Run a given ${target} on all elements being built Add on <ant>
+ task for each top level element being built.
+ -->
+ <target
+ name="allElements">
+ <echo
+ level="info"
+ message="Target:${target} "/>
+ <echo
+ level="debug"
+ message="basedir: ${basedir}"/>
+ <echo
+ level="info"
+ message="component: ${component}"/>
+ <echo
+ level="debug"
+ message="buildDirectory: ${buildDirectory}"/>
+ <echo
+ level="debug"
+ message="baseLocation: ${baseLocation}"/>
+ <echo
+ level="debug"
+ message="generic target: ${genericTargets}"/>
+ <echo
+ message="compilerArg: ${compilerArg}"/>
+ <echo
+ message="individualSourceBundles: ${individualSourceBundles}"/>
+ <ant
+ antfile="${genericTargets}"
+ target="${target}">
+ <property
+ name="type"
+ value="feature"/>
+ <property
+ name="id"
+ value="org.eclipse.jst.ws.cxf _tests.feature"/>
+ </ant>
+ </target>
+ <!--
+ Targets to assemble the built elements for particular
+ configurations These generally call the generated assemble
+ scripts (named in ${assembleScriptName}) but may also add pre
+ and post processing Add one target for each root element and
+ each configuration
+ -->
+ <target
+ name="assemble.org.eclipse.jst.ws.cxf _tests.feature">
+ <property
+ name="archiveName"
+ value="wtp-incubator-jaxws-${buildLabel}.zip"/>
+ <ant
+ antfile="${assembleScriptName}"
+ dir="${buildDirectory}"/>
+ </target>
+ <target
+ name="prePackage"/>
+ <target
+ name="postPackage">
+ <property
+ name="archiveName"
+ value="wtp-incubator-jaxws-${buildLabel}.zip"/>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/buildutilities.xml"
+ target="unpackUpdateJarsAndCreateZippedPackages">
+ <property
+ name="buildDirectory"
+ value="${buildDirectory}"/>
+ <property
+ name="buildLabel"
+ value="${buildLabel}"/>
+ <property
+ name="archiveName"
+ value="${archiveName}"/>
+ </ant>
+ </target>
+
+ <!--
+ Check out map files from repository
+ -->
+ <target
+ name="getMapFiles">
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENG}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/maptasks.xml"
+ target="maputil">
+ <property
+ name="mapcomponent"
+ value="${env.RELENGJAXWS}"/>
+ <property
+ name="mapTag"
+ value="${mapVersionTag}"/>
+ </ant>
+ </target>
+
+
+ <!--
+ Steps to do before setup
+ -->
+ <target
+ name="preSetup"></target>
+ <!--
+ Steps to do after setup but before starting the build proper
+ -->
+ <target
+ name="postSetup">
+ <dirname
+ file="${ant.file}"
+ property="component.dir"/>
+ <echo
+ level="debug"
+ message="ant.file: ${ant.file}"/>
+ <echo
+ level="debug"
+ message="component.dir: ${component.dir}"/>
+
+ <!-- Get the dependencies -->
+ <antcall
+ target="getDependencies"/>
+ </target>
+ <!--
+ =====================================================================
+ -->
+ <!-- Get the dependencies based on releng maps -->
+ <!--
+ =====================================================================
+ -->
+ <target
+ name="getDependencies">
+ <ant
+ antfile="${component.dir}/dependency.xml"
+ target="get">
+ <property
+ name="base.install.dir"
+ value="${buildRoot}"/>
+ </ant>
+ </target>
+
+ <!--
+ Steps to do before fetching the build elements
+ -->
+ <target
+ name="preFetch"></target>
+
+ <!--
+ Steps to do after fetching the build elements
+ -->
+ <target
+ name="postFetch"></target>
+
+ <!--
+ Steps to do before generating the build scripts.
+ -->
+ <target
+ name="preGenerate"></target>
+
+ <!--
+ Steps to do after generating the build scripts.
+ -->
+ <target
+ name="postGenerate">
+ <echo
+ message="buildDirectory: ${buildDirectory}"/>
+ <customizeAccessRules
+ bundleDirectory="${buildDirectory}/plugins"/>
+ </target>
+ <!--
+ Steps to do before running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="preProcess">
+ <replace
+ dir="${buildDirectory}/plugins"
+ value="${timestamp}"
+ token="@build@">
+ <include
+ name="**/about.mappings"/>
+ </replace>
+ </target>
+ <!--
+ Steps to do after running the build.xmls for the elements being
+ built.
+ -->
+ <target
+ name="postProcess">
+ <condition
+ property="logsAvailable">
+ <istrue
+ value="${javacVerbose}"/>
+ </condition>
+ <antcall
+ target="gatherLogs"/>
+ </target>
+
+
+ <!--
+ Steps to do before running assemble.
+ -->
+ <target
+ name="preAssemble"></target>
+
+ <!--
+ Steps to do after running assemble.
+ -->
+ <target
+ name="postAssemble"></target>
+
+ <!--
+ Steps to do after the build is done.
+ -->
+ <target
+ name="postBuild"></target>
+
+ <!--
+ Steps to do to test the build results
+ -->
+ <target
+ name="test"></target>
+
+ <!--
+ Steps to do to publish the build results
+ -->
+ <target
+ name="publish"></target>
+
+ <!--
+ Helper targets
+ -->
+ <target
+ name="gatherLogs"
+ if="logsAvailable">
+ <mkdir
+ dir="${buildDirectory}/${buildLabel}/testcompilelogs"/>
+ <echo
+ level="debug"
+ message="logExtension: ${logExtension}"/>
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="gatherLogs"/>
+ <param
+ name="logExtension"
+ value="${logExtension}"/>
+ </antcall>
+ <unzip
+ dest="${buildDirectory}/${buildLabel}/testcompilelogs"
+ overwrite="true">
+ <fileset
+ dir="${buildDirectory}/features/org.eclipse.jst.ws.cxf _tests.feature">
+ <include
+ name="**/*.log.zip"/>
+ </fileset>
+ </unzip>
+ </target>
+ <target
+ name="clean"
+ unless="noclean">
+ <antcall
+ target="allElements">
+ <param
+ name="target"
+ value="cleanElement"/>
+ </antcall>
+ </target>
+
+ <!--
+ Default target
+ -->
+ <target
+ name="noDefault">
+ <echo
+ level="error"
+ message="You must specify a target when invoking this file"/>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/components/xmlsec_tests/dependency.xml b/releng.wtpbuilder/components/xmlsec_tests/dependency.xml
new file mode 100644
index 0000000..8565e7e
--- /dev/null
+++ b/releng.wtpbuilder/components/xmlsec_tests/dependency.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+ <!--
+ ======================================================================
+ Properties that must be passed to this script: base.install.dir
+ dependencyTargets local.cache.dir dependency.properties
+ ======================================================================
+ -->
+<project
+ name="test"
+ default="get">
+ <target
+ name="get">
+ <!--
+ read in this properties, just so we can make sure our
+ requested pre-reqs are defined
+ -->
+ <property
+ file="${dependency.properties}"/>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="orbitthirdpartymap"/>
+ <param
+ name="base.install.dir"
+ value="${buildDirectory}/maps/${env.RELENG}/maps/"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="eclipse"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="eclipseTestFramework"/>
+ </antcall>
+ <antcall
+ target="getAndInstall">
+ <param
+ name="groupId"
+ value="xml"/>
+ </antcall>
+ </target>
+ <target
+ name="getAndInstall"
+ if="${groupId}.url">
+ <ant
+ antfile="${dependencyTargets}"
+ target="checkDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ </ant>
+ <ant
+ antfile="${dependencyTargets}"
+ target="installDependency">
+ <property
+ name="groupId"
+ value="${groupId}"/>
+ <property
+ name="install.destination"
+ value="${base.install.dir}"/>
+ </ant>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/jaxws.build/build.xml b/releng.wtpbuilder/distribution/jaxws.build/build.xml
new file mode 100644
index 0000000..9725be7
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.build/build.xml
@@ -0,0 +1,83 @@
+<project
+ default="build"
+ basedir=".">
+ <fail
+ unless="wtp.builder.home"/>
+ <property
+ file="${wtp.builder.home}/build.properties"/>
+ <target
+ name="build"
+ depends="getBaseBuilder">
+ <dirname
+ file="${ant.file}"
+ property="distribution.wtp.build.dir"/>
+ <property
+ name="buildTargets"
+ value="${wtp.builder.home}/scripts/build/runbuild.xml"/>
+
+ <!-- for this distribution, dependencies come from project's releng map project-->
+ <property
+ name="dependency.properties"
+ value="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties"/>
+
+ <!-- calling label.xml to createg label.properties file -->
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/label.xml"/>
+
+ <echo
+ level="info"
+ message="invoking buildTargets: ${buildTargets} to build for each component"/>
+
+ <ant
+ antfile="${buildTargets}">
+ <property
+ name="component"
+ value="jaxws"/>
+ </ant>
+ <ant
+ antfile="${buildTargets}">
+ <property
+ name="component"
+ value="jaxws_sdk"/>
+ </ant>
+ <ant
+ antfile="${buildTargets}">
+ <property
+ name="component"
+ value="jaxws_tests"/>
+ <property
+ name="eclipseBuildFailOnError"
+ value="false"/>
+ </ant>
+
+ <!-- package -->
+ <antcall
+ target="package"/>
+ </target>
+
+ <!-- invoking runbuild.xml targetting getBaseBuilder -->
+ <target
+ name="getBaseBuilder"
+ if="eclipse.builder.fetch">
+ <dirname
+ file="${ant.file}"
+ property="wtbuilder.dir"/>
+ <property
+ name="buildTargets"
+ value="${wtp.builder.home}/scripts/build/runbuild.xml"/>
+ <echo
+ level="info"
+ message="invoking buildTargets: ${buildTargets} -> getBaseBuilder"/>
+ <ant
+ antfile="${buildTargets}"
+ target="getBaseBuilder"/>
+ </target>
+ <target
+ name="package">
+ <!--
+ post, post packaging, for WTP ... "manually" assemble the
+ desired zips
+ -->
+ <!-- nothing to assemble right now -->
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/jaxws.site/build.xml b/releng.wtpbuilder/distribution/jaxws.site/build.xml
new file mode 100644
index 0000000..7c7d077
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/build.xml
@@ -0,0 +1,126 @@
+<project
+ name="Build specific targets and properties"
+ default="build"
+ basedir=".">
+
+ <!-- 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 = = = -->
+
+ <echo message="ant.file: ${ant.file}" />
+ <target name="build">
+ <java
+ jar="${eclipse.launcher}"
+ fork="true"
+ failonerror="true">
+ <jvmarg value="-Dosgi.ws=${env.BASEWS}" />
+ <jvmarg value="-Dosgi.os=${env.BASEOS}" />
+ <jvmarg value="-Dosgi.arch=${env.BASEARCH}" />
+ <jvmarg value="-Dbuild.donottagmaps=${build.donottagmaps}" />
+ <jvmarg value="-DbuildBranch=${buildBranch}" />
+ <jvmarg value="-DbuildType=${buildType}" />
+ <jvmarg value="-DbuildId=${buildId}" />
+ <jvmarg value="-DmapVersionTag=${mapVersionTag}" />
+ <jvmarg value="-Dbuild.distribution=${build.distribution}" />
+ <jvmarg value="-DbuildDirectory=${buildDirectory}" />
+ <jvmarg value="-Dwtp.builder.home=${wtp.builder.home}" />
+ <jvmarg value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}" />
+ <jvmarg
+ value="-Dprojectname=${projectname}" />
+ <arg value="-data" />
+ <arg value="${basedir}/workspace" />
+ <arg value="-application" />
+ <arg value="org.eclipse.ant.core.antRunner" />
+ <arg value="-buildfile" />
+ <arg value="${ant.file}" />
+ <arg value="publish" />
+ </java>
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do to publish the build results -->
+ <!-- ===================================================================== -->
+ <target name="publish">
+ <dirname
+ file="${ant.file}"
+ property="component.dir" />
+ <ant antfile="${wtp.builder.home}/scripts/build/label.xml" />
+ <property file="${buildDirectory}/label.properties" />
+
+ <property
+ name="publish.xml"
+ value="${component.dir}/publish.xml" />
+
+ <property
+ name="indexFileName"
+ value="index.php" />
+ <property
+ name="result"
+ value="${buildDirectory}/${buildLabel}" />
+ <property
+ name="indexTemplateFilename"
+ value="index.html.template.php" />
+
+ <copy
+ file="${wtp.builder.home}/distribution/wtp.site/templateFiles/${indexTemplateFilename}"
+ tofile="${buildDirectory}/${indexFileName}" />
+
+ <condition
+ property="isBuildTested"
+ value="true">
+ <available
+ file="${buildDirectory}/${buildLabel}/testResults/html" />
+ </condition>
+
+ <ant
+ antfile="${publish.xml}"
+ dir="${component.dir}">
+ <property
+ name="dropTokenList"
+ value="%wtpruntime%,%wtpsdk%,%wtptest%,%wst%,%wst-sdk%,%wst-tests%,%jst-tests%,%wst-perf-tests%,%jst-perf-tests%,%jpt-runtime%,%jpt-sdk%,%jpt-tests%" />
+ <property
+ name="webtoolsDownloadURL"
+ value="http://www.eclipse.org/downloads/download.php?file=/webtools/committers/drops" />
+
+ <property
+ name="buildBranch"
+ value="${buildBranch}" />
+ <property
+ name="isBuildTested"
+ value="${isBuildTested}" />
+ <property
+ name="indexTemplateFilename"
+ value="${indexTemplateFilename}" />
+ </ant>
+
+ <!-- Get the build map over for the results to point to. -->
+ <copy
+ file="${buildDirectory}/directory.txt"
+ tofile="${result}/directory.txt" />
+
+ <!-- Copy info for build identification -->
+ <copy
+ file="${buildDirectory}/buildmachineinfo.properties"
+ tofile="${result}/buildmachineinfo.properties" />
+
+ <!-- final count files -->
+ <countBuildFiles
+ sourceDirectory="${buildDirectory}/${buildLabel}"
+ filterString=".zip,.tar.gz"
+ outputFile="${buildDirectory}/${buildLabel}/files.count" />
+
+ </target>
+
+
+</project>
diff --git a/releng.wtpbuilder/distribution/jaxws.site/compilerXMLOutputToHTML.xsl b/releng.wtpbuilder/distribution/jaxws.site/compilerXMLOutputToHTML.xsl
new file mode 100644
index 0000000..4f6809e
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/compilerXMLOutputToHTML.xsl
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet
+ version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+ <xsl:output
+ method="html"
+ indent="yes" />
+
+ <xsl:template match="/">
+ <html>
+ <body>
+ <xsl:apply-templates select="compiler" />
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="compiler">
+ <h2>Compiler Report</h2>
+ <p>
+ Compiler:
+ <xsl:value-of select="@name" />
+ <xsl:text> </xsl:text>
+ Version:
+ <xsl:value-of select="@version" />
+ </p>
+
+ <xsl:apply-templates select="stats" />
+
+ <xsl:apply-templates select="sources" />
+ </xsl:template>
+
+ <xsl:template
+ name="stats"
+ match="stats">
+
+ <p>
+ Number of source files:
+ <xsl:value-of select="count(..//source)" />
+ Number of classfiles:
+ <xsl:value-of select="number_of_classfiles/@value" />
+ </p>
+ <p>
+ Problems:
+ <xsl:value-of select="problem_summary/@problems" />
+ (Errors:
+ <xsl:value-of select="problem_summary/@errors" />
+ Warnings:
+ <xsl:value-of select="problem_summary/@warnings" />
+ )
+ </p>
+ </xsl:template>
+
+
+ <xsl:template
+ name="sources"
+ match="sources">
+
+ <xsl:if test="count(source) > 0">
+
+ <dl>
+ <xsl:for-each select="source">
+
+ <xsl:variable
+ name="package"
+ select="normalize-space(@package)">
+ </xsl:variable>
+ <xsl:variable
+ name="path"
+ select="normalize-space(@path)">
+ </xsl:variable>
+ <xsl:variable
+ name="classname"
+ select="substring-after($path, $package)">
+ </xsl:variable>
+ <xsl:if test="count(problems) > 0">
+ <dt style="font-weight: bold; color: black">
+ Source File:
+ <xsl:value-of select="$package" />
+ <xsl:value-of select="$classname" />
+ </dt>
+ <xsl:apply-templates select="problems">
+ <xsl:with-param name="classname">
+ <xsl:value-of select="$classname" />
+ </xsl:with-param>
+ </xsl:apply-templates>
+ </xsl:if>
+ </xsl:for-each>
+ </dl>
+
+ </xsl:if>
+
+ </xsl:template>
+
+ <xsl:template match="problems">
+ <xsl:param name="classname" />
+ <xsl:for-each select="problem">
+
+ <dd style="font-weight: normal; color: black">
+ <xsl:value-of select="position()" />
+ <xsl:text>. </xsl:text>
+ <xsl:value-of select="@severity" />
+ <xsl:text>: </xsl:text>
+ <xsl:value-of select="@id" />
+ <xsl:variable
+ name="lineNumber"
+ select="@line">
+ </xsl:variable>
+ <xsl:for-each select="message">
+ <p
+ style="margin-left: +.5in; font-size: -1; margin-top: 0;margin-bottom:0;">
+ <small>
+ <xsl:value-of select="@value" />
+ </small>
+ </p>
+ </xsl:for-each>
+ <xsl:for-each select="source_context">
+ <xsl:variable
+ name="pre"
+ select="substring(@value,0,(@sourceStart + 1))">
+ </xsl:variable>
+ <xsl:variable
+ name="main"
+ select="substring(@value,(@sourceStart + 1),(((@sourceEnd + 1) - (@sourceStart + 1)) + 1))">
+ </xsl:variable>
+ <xsl:variable
+ name="end"
+ select="substring(@value,(@sourceEnd + 2))">
+ </xsl:variable>
+
+ <p
+ style="margin-left: +.5in; font-size: -2; margin-top: 0;margin-bottom:0;">
+ <xsl:value-of select="substring($classname,2)" />
+ :
+ </p>
+ <p
+ style="margin-left: +.5in; font-size: -2;font-family: monospace; margin-top: 0;margin-bottom:0;">
+ <xsl:value-of select="$lineNumber" />
+ :
+ <xsl:value-of select="$pre" />
+ <b>
+ <u>
+ <xsl:value-of select="$main" />
+ </u>
+ </b>
+ <xsl:value-of select="$end" />
+ </p>
+ </xsl:for-each>
+ </dd>
+ </xsl:for-each>
+
+
+ </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/jaxws.site/publish.xml b/releng.wtpbuilder/distribution/jaxws.site/publish.xml
new file mode 100644
index 0000000..5f6697c
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/publish.xml
@@ -0,0 +1,548 @@
+<project
+ name="Publish Build"
+ default="default"
+ basedir=".">
+
+ <!-- Properties that must be passed to this script:
+ buildDirectory: Path to perform the build in. (A working directory)
+ buildType: Type of build (nightly, integration etc.)
+ buildId: Build name
+ buildLabel: <buildType>-<buildName>-<timestamp>
+ -->
+
+ <property environment="env" />
+
+ <property
+ name="resultDir"
+ value="${buildDirectory}/${buildLabel}" />
+ <!--name of generated index page-->
+ <property
+ name="indexFileName"
+ value="index.php" />
+ <property
+ name="templateDir"
+ value="${wtp.builder.home}/distribution/${build.distribution}.site" />
+ <property
+ name="resultingIndex"
+ value="${resultDir}/${indexFileName}" />
+ <echo
+ level="debug"
+ message="resultDir: ${resultDir}" />
+ <echo
+ level="debug"
+ message="templateDir: ${templateDir}" />
+ <echo
+ level="debug"
+ message="resultingIndex: ${resultingIndex}" />
+
+
+
+ <target name="default">
+ <copy
+ overwrite="true"
+ file="${wtp.builder.home}/distribution/${build.distribution}.site/templateFiles/${indexTemplateFilename}"
+ tofile="${resultingIndex}" />
+ <antcall target="countFiles" />
+ <antcall target="generateCompileIndex" />
+ <antcall target="generateJUnitTestsIndex" />
+ <antcall target="getStaticFiles" />
+ </target>
+
+ <target name="generateCompileIndex">
+
+
+ <!--
+ <taskdef name="indexResults" classname="org.eclipse.wtp.releng.tools.ResultsSummaryGenerator" />
+ -->
+
+ <!--
+ isBuildTested: true|false should JUnit plugin test results be used to generate index page
+ dropTokenList: comma separated list of strings which should be replaced by the fileName attribute settings in the testManifest.xml.
+ xmlDirectoryName: path to directory containing JUnit plugin test results in xml format (see doc is org.eclipse.test).
+ dropDirectoryName: path to directory containing the result of the build.
+ testResultsTemplateFileName: path to template file used to generate page with links to JUnit test results
+ testResultsHtmlFileName: name of file which will be generated with links to JUnit test results
+ dropHtmlFileName: name of generated index page
+ hrefTestResultsTargetPath: relative path from index page to directory containing JUnit html test results
+ hrefCompileLogsTargetPath: relative path from index page directory containing compilelogs
+ testManifestFileName: name of xml file containing descriptions of zip types and log files
+
+
+
+ -->
+ <property
+ file="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties" />
+
+ <!-- create tables of test plugin compiles first -->
+ <antcall
+ target="generateCompileOutput">
+ <param
+ name="outputDirectory"
+ value="${resultDir}/testcompilelogs" />
+ </antcall>
+
+ <!-- create table of code plugins compiles -->
+ <summarizeResults
+ isBuildTested="false"
+ includeAll="true"
+ dropTokenList="${dropTokenList}"
+ xmlDirectoryName=""
+ dropDirectoryName="${resultDir}"
+ testResultsTemplateFileName="${templateDir}/templateFiles/compileResults.php.template"
+ testResultsHtmlFileName="compileResults.php"
+ hrefTestResultsTargetPath="testResults/html"
+ hrefCompileLogsTargetPath="compilelogs"
+ compileLogsDirectoryName="${resultDir}/compilelogs" />
+ <xslt
+ basedir="${resultDir}/compilelogs"
+ destdir="${resultDir}/compilelogs"
+ includes="**/*.bin.xml"
+ scanincludeddirectories="true"
+ style="compilerXMLOutputToHTML.xsl"
+ force="true" />
+ <tstamp>
+ <format
+ property="TODAY"
+ pattern="MMMM d, yyyy" />
+ </tstamp>
+
+ <!-- Insert Build Type descriptor -->
+ <antcall
+ target="${buildType}" />
+ <antcall
+ target="writeData" />
+
+ <!-- Update timestamp on file to permit overwrite through Ant copy task -->
+ <touch
+ file="${resultingIndex}" />
+ </target>
+ <target
+ name="generateCompileOutput"
+ depends="checkIfCompileLogs"
+ if="doCompileLogs">
+ <summarizeResults
+ isBuildTested="false"
+ includeAll="true"
+ dropTokenList="${dropTokenList}"
+ xmlDirectoryName=""
+ dropDirectoryName="${resultDir}"
+ testResultsTemplateFileName="${templateDir}/templateFiles/testCompileResults.php.template"
+ testResultsHtmlFileName="testCompileResults.php"
+ hrefTestResultsTargetPath=""
+ hrefCompileLogsTargetPath="testcompilelogs"
+ compileLogsDirectoryName="${outputDirectory}" />
+ <xslt
+ basedir="${outputDirectory}"
+ destdir="${outputDirectory}"
+ includes="**/*.bin.xml"
+ scanincludeddirectories="true"
+ style="compilerXMLOutputToHTML.xsl"
+ force="true" />
+ </target>
+ <target
+ name="generateJUnitTestsIndex"
+ depends="checkIfTested"
+ if="doTests">
+
+ <!--
+ isBuildTested: true|false should JUnit plugin test results be used to generate index page
+ dropTokenList: comma separated list of strings which should be replaced by the fileName attribute settings in the testManifest.xml.
+ xmlDirectoryName: path to directory containing JUnit plugin test results in xml format (see doc is org.eclipse.test).
+ dropDirectoryName: path to directory containing the result of the build.
+ testResultsTemplateFileName: path to template file used to generate page with links to JUnit test results
+ testResultsHtmlFileName: name of file which will be generated with links to JUnit test results
+ dropHtmlFileName: name of generated index page
+ hrefTestResultsTargetPath: relative path from index page to directory containing JUnit html test results
+ hrefCompileLogsTargetPath: relative path from index page directory containing compilelogs
+ testManifestFileName: name of xml file containing descriptions of zip types and log files
+
+
+
+ -->
+ <property
+ file="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties" />
+
+ <!-- create table of test plugin compiles first -->
+ <!-- set isBuildTested to true for the "compile only" results -->
+ <summarizeResults
+ isBuildTested="true"
+ dropTokenList="${dropTokenList}"
+ dropDirectoryName="${resultDir}"
+ xmlDirectoryName="${resultDir}/testResults/xml"
+ testResultsTemplateFileName="${templateDir}/templateFiles/testResults.php.template"
+ testResultsHtmlFileName="testResults.php"
+ hrefTestResultsTargetPath="testResults/html"
+ compileLogsDirectoryName="" />
+ <tstamp>
+ <format
+ property="TODAY"
+ pattern="MMMM d, yyyy" />
+ </tstamp>
+
+ <!-- Insert Build Type descriptor -->
+ <antcall
+ target="${buildType}" />
+ <antcall
+ target="writeData" />
+
+ <!-- Update timestamp on file to permit overwrite through Ant copy task -->
+ <touch
+ file="${resultingIndex}" />
+ </target>
+ <target
+ name="getStaticFiles">
+ <!--get static files required in the buildLabel directory-->
+ <copy
+ todir="${resultDir}">
+ <fileset
+ dir="${templateDir}/staticDropFiles" />
+ </copy>
+
+ <!--copy buildnotes from plugin directories-->
+ <mkdir
+ dir="${resultDir}/buildnotes" />
+ <copy
+ todir="${resultDir}/buildnotes"
+ flatten="true">
+ <fileset
+ dir="${buildDirectory}/plugins"
+ includes="**/buildnotes_*.html" />
+ <fileset
+ dir="${buildDirectory}/features"
+ includes="**/buildnotes_*.html" />
+ </copy>
+ <copy
+ file="${templateDir}/staticDropFiles/logIndex.php"
+ tofile="${resultDir}/testResults/consolelogs/full/logIndex.php" />
+ <copy
+ file="${templateDir}/staticDropFiles/logIndex.php"
+ tofile="${resultDir}/testResults/consolelogs/testLogs/logIndex.php" />
+ <copy
+ file="${templateDir}/staticDropFiles/logIndex.php"
+ tofile="${resultDir}/testResults/consolelogs/testSysErrorLogs/logIndex.php" />
+ </target>
+ <target
+ name="updateSite">
+
+
+ <!-- get our authored, tokenized site.xml file -->
+ <copy
+ file="${wtp.builder.home}/distribution/${build.distribution}.site/templateFiles/siteWTP.xml"
+ tofile="${buildDirectory}/${buildLabel}/updateSite/site.xml"
+ overwrite="true"
+ failonerror="true" />
+ <!-- get the ${buildDirectory}/finalPluginsVersions.properties, and
+ read as properties -->
+ <!-- substitute property value for tokens -->
+ <replace
+ file="${buildDirectory}/${buildLabel}/updateSite/site.xml"
+ propertyfile="${buildDirectory}/finalFeaturesVersions.properties">
+ <replacefilter
+ token="@org.eclipse.wst@"
+ property="org.eclipse.wst" />
+ <replacefilter
+ token="@org.eclipse.wst.sdk@"
+ property="org.eclipse.wst.sdk" />
+ <replacefilter
+ token="@org.eclipse.jst@"
+ property="org.eclipse.jst" />
+ <replacefilter
+ token="@org.eclipse.jst.sdk@"
+ property="org.eclipse.jst.sdk" />
+ <replacefilter
+ token="@org.eclipse.jpt.feature@"
+ property="org.eclipse.jpt.feature" />
+ <replacefilter
+ token="@org.eclipse.jpt_sdk.feature@"
+ property="org.eclipse.jpt_sdk.feature" />
+ </replace>
+ </target>
+ <target
+ name="countFiles">
+ <!--
+ files.count is a file that should exist in the drop directory with a count of the zip files in the same directory.
+ It is required to generate a link to the build on the downloads page.
+ -->
+ <countBuildFiles
+ sourceDirectory="${resultDir}"
+ filterString=".zip,.tar.gz"
+ outputFile="${resultDir}/files.count" />
+ </target>
+
+ <!--Build type descriptors-->
+ <target
+ name="I">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Integration" />
+ </target>
+ <target
+ name="S">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Stable" />
+ </target>
+ <target
+ name="N">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Nightly" />
+ </target>
+ <target
+ name="M">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Maintenance" />
+ </target>
+ <target
+ name="R">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Release" />
+ </target>
+ <target
+ name="T">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Test" />
+ </target>
+ <target
+ name="P">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Patches" />
+ </target>
+ <target
+ name="checkIfTested">
+ <echo
+ level="debug"
+ message="isBuildTested: ${isBuildTested}" />
+ <condition
+ property="doTests">
+ <equals
+ arg1="${isBuildTested}"
+ arg2="true"
+ trim="true"
+ casesensitive="false" />
+ </condition>
+ </target>
+ <target
+ name="checkIfCompileLogs">
+ <condition
+ property="doCompileLogs">
+ <available
+ file="${outputDirectory}" />
+ </condition>
+ </target>
+ <target
+ name="writeData">
+ <!-- Insert Build Date -->
+ <replace
+ file="${resultingIndex}"
+ token="@date@"
+ value="${TODAY}" />
+
+ <!-- Insert Build Name -->
+ <replace
+ file="${resultingIndex}"
+ token="@build@"
+ value="${buildLabel}" />
+ <replace
+ file="${resultingIndex}"
+ token="@buildBranch@"
+ value="${buildBranch}" />
+
+ <!-- Insert PreRequsites -->
+ <replace
+ file="${resultingIndex}"
+ token="@eclipseFile@"
+ value="${eclipse.file.linux-gtk-x86}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipseURL@"
+ value="${eclipse.url}/${eclipse.file.linux-gtk-x86}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipseBuildURL@"
+ value="${eclipse.url}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipsefilelinux@"
+ value="${eclipse.file.linux-gtk-x86}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipsefilewindows@"
+ value="${eclipse.file.win32-win32-x86}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipsefilemacos@"
+ value="${eclipse.file.macosx-carbon-ppc}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipseBuildHome@"
+ value="${eclipse.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipse.mirror.prefixuri@"
+ value="${eclipse.mirror.prefixuri}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipse.fspath.prefix@"
+ value="${eclipse.fspath.prefix}" />
+ <replace
+ file="${resultingIndex}"
+ token="@testURL@"
+ value="${eclipseTestFramework.url}/${eclipseTestFramework.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@testFile@"
+ value="${eclipseTestFramework.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@emfFile@"
+ value="${emf.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@emfURL@"
+ value="${emf.url}/${emf.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@emfBuildHome@"
+ value="${emf.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@emf.mirror.prefixuri@"
+ value="${emf.mirror.prefixuri}" />
+ <replace
+ file="${resultingIndex}"
+ token="@wstFile@"
+ value="${wst.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@wstURL@"
+ value="${wst.url}/${wst.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@wstBuildHome@"
+ value="${wst.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@wst.mirror.prefixuri@"
+ value="${wst.mirror.prefixuri}" />
+ <replace
+ file="${resultingIndex}"
+ token="@gefFile@"
+ value="${gef.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@gefURL@"
+ value="${gef.url}/${gef.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@gefBuildHome@"
+ value="${gef.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@gef.mirror.prefixuri@"
+ value="${gef.mirror.prefixuri}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipserelengFile@"
+ value="${eclipsereleng.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipserelengURL@"
+ value="${eclipsereleng.url}/${eclipsereleng.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@orbitthirdpartyzipFile@"
+ value="${orbitthirdpartyzip.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@orbitthirdpartyzipURL@"
+ value="${orbitthirdpartyzip.url}/${orbitthirdpartyzip.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@orbitthirdpartyzipBuildHome@"
+ value="${orbitthirdpartyzip.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@orbitthirdpartyzip.mirror.prefixuri@"
+ value="${orbitthirdpartyzip.mirror.prefixuri}" />
+
+
+ <!-- no longer used. Post 1.5.5 -->
+ <replace
+ file="${resultingIndex}"
+ token="@jemFile@"
+ value="${jem.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@jemURL@"
+ value="${jem.url}/${jem.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@jemBuildHome@"
+ value="${jem.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@jem.mirror.prefixuri@"
+ value="${jem.mirror.prefixuri}" />
+ <!--
+ these token/s should not exist in maintenance stream, but
+ do no harm done, so in the interests of keeping builder
+ streams in sync, we'll leave them here as place hold
+ -->
+ <replace
+ file="${resultingIndex}"
+ token="@dtpFile@"
+ value="${dtp.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@dtpURL@"
+ value="${dtp.url}/${dtp.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@dtpBuildHome@"
+ value="${dtp.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@dtp.mirror.prefixuri@"
+ value="${dtp.mirror.prefixuri}" />
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/buildNotes.php b/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/buildNotes.php
new file mode 100644
index 0000000..e843ecf
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/buildNotes.php
@@ -0,0 +1,63 @@
+<html>
+<head>
+<?php
+$parts = explode("/", getcwd());
+$parts2 = explode("-", $parts[count($parts) - 1]);
+$buildName = $parts2[1];
+
+echo "<title>Build Notes for $buildName </title>";
+?>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
+ type="text/css">
+</head>
+<body>
+
+<p><b><font face="Verdana" size="+3">Build Notes</font></b></p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%">
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font
+ color="#FFFFFF" face="Arial,Helvetica"> Build Notes for <?php echo "$buildName"; ?></font></b></td>
+ </tr>
+</table>
+<table border="0">
+
+<?php
+$hasNotes = false;
+$aDirectory = dir("buildnotes");
+while ($anEntry = $aDirectory->read()) {
+ if ($anEntry != "." && $anEntry != "..") {
+ //print_r($anEntry);
+ //echo "<br />";
+
+ $subject = $anEntry;
+ $pattern = '/^buildnotes_(.*)/i';
+ preg_match($pattern, $subject, $matches);
+ $subject = $matches[1];
+ //print_r($subject);
+ //echo "<br />";
+ $pattern = '/^(.*)\.html$/';
+ preg_match($pattern, $subject, $matches);
+ //print_r($matches);
+ //echo "<br />";
+
+ $component = $matches[1];
+
+ $line = "<td>Component: <a href=\"buildnotes/$anEntry\">$component</a></td>";
+ echo "<tr>";
+ echo "$line";
+ echo "</tr>";
+ $hasNotes = true;
+
+ }
+}
+$aDirectory.closedir();
+if (!$hasNotes) {
+ echo "<br>There are no build notes for this build.";
+}
+?>
+
+</table>
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/consoleLogs.php b/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/consoleLogs.php
new file mode 100644
index 0000000..7dd5f42
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/consoleLogs.php
@@ -0,0 +1,94 @@
+<html>
+<head>
+<?php
+$parts = explode("/", getcwd());
+$parts2 = explode("-", $parts[count($parts) - 1]);
+$buildName = $parts2[1];
+
+echo "<title>Test Console Output for $buildName </title>";
+?>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
+ type="text/css">
+<title>Console Logs from Running JUnit Plug-in Tests</title>
+</head>
+<body>
+
+<p><b><font face="Verdana" size="+3">Test Console Output</font></b></p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%">
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font
+ color="#FFFFFF" face="Arial,Helvetica">Console output from running
+ JUnit plugin tests for <?php echo "$buildName"; ?> </font></b></td>
+ </tr>
+</table>
+<table border="0">
+
+<?php
+$rootDir = "testResults/consolelogs";
+$hasNotes = false;
+$aDirectory = dir($rootDir);
+$index = 0;
+$dirindex = 0;
+while ($anEntry = $aDirectory->read()) {
+ if ($anEntry != "." && $anEntry != "..") {
+ if (is_file("$rootDir/$anEntry")) {
+ $entries[$index] = $anEntry;
+ $index++;
+ } else if (is_dir("$rootDir/$anEntry")) {
+ $direntries[$dirindex] = $anEntry;
+ $dirindex++;
+ }
+ }
+}
+$aDirectory->close();
+
+
+sort($entries);
+sort($direntries);
+
+for ($i = 0; $i < $dirindex; $i++) {
+ $anEntry = $direntries[$i];
+ $line = "<td><a href=\"testResults/consolelogs/$anEntry/logIndex.php\">$anEntry</a></td>";
+ echo "<tr>";
+ echo "$line";
+ echo "</tr>";
+}
+for ($i = 0; $i < $index; $i++) {
+ $anEntry = $entries[$i];
+ $logsize = filesize("testResults/consolelogs/$anEntry");
+
+
+ $level = 0;
+ if ($logsize > 20000) {
+ $level = 2;
+ }
+ else if ($logsize > 2000) {
+ $level = 1;
+ }
+
+ if ($level == 0) {
+ $line = "<td><a href=\"testResults/consolelogs/$anEntry\">$anEntry</a> ($logsize bytes)</td>";
+ }
+ else if ($level == 1) {
+ $line = "<td><em><a href=\"testResults/consolelogs/$anEntry\">$anEntry</a> ($logsize bytes)</em></td>";
+ } else if ($level == 2) {
+ $line = "<td><strong><a href=\"testResults/consolelogs/$anEntry\">$anEntry</a> ($logsize bytes)</strong></td>";
+ }
+
+
+ echo "<tr>";
+ echo "$line";
+ echo "</tr>";
+ $hasNotes = true;
+}
+
+if (!$hasNotes) {
+ echo "<br>There are no test logs for this build.";
+}
+?>
+
+</table>
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/logIndex.php b/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/logIndex.php
new file mode 100644
index 0000000..0b36334
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/logIndex.php
@@ -0,0 +1,84 @@
+<html>
+<head>
+<?php
+
+function endsWith( $str, $sub ) {
+
+ return ( substr( $str, strlen( $str ) - strlen( $sub ) ) === $sub );
+}
+
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ echo "<title>Test Console Output for $buildName </title>";
+?>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+<title>Console Logs from Running JUnit Plug-in Tests</title></head>
+<body>
+
+<p><b><font face="Verdana" size="+3">Test Console Output</font></b> </p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Console
+ output from running JUnit plugin tests for
+ <?php echo "$buildName"; ?>
+ </font></b></td>
+ </tr>
+</table>
+<table border="0">
+
+<?php
+ $hasNotes = false;
+ $aDirectory = dir(".");
+ $index = 0;
+ while ($anEntry = $aDirectory->read()) {
+ if ($anEntry != "." && $anEntry != ".." && !endsWith(__FILE__, $anEntry)) {
+ $entries[$index] = $anEntry;
+ $index++;
+ }
+ }
+ aDirectory.closedir();
+
+
+ sort($entries);
+
+ for ($i = 0; $i < $index; $i++) {
+ $anEntry = $entries[$i];
+ $logsize = filesize("$anEntry");
+
+
+ $level = 0;
+ if ($logsize > 20000) {
+ $level = 2;
+ }
+ else if ($logsize > 2000) {
+ $level = 1;
+ }
+
+ if ($level == 0) {
+ $line = "<td><a href=\"$anEntry\">$anEntry</a> ($logsize bytes)</td>";
+ }
+ else if ($level == 1) {
+ $line = "<td><em><a href=\"$anEntry\">$anEntry</a> ($logsize bytes)</em></td>";
+ } else if ($level == 2) {
+ $line = "<td><strong><a href=\"$anEntry\">$anEntry</a> ($logsize bytes)</strong></td>";
+ }
+
+
+ echo "<tr>";
+ echo "$line";
+ echo "</tr>";
+ $hasNotes = true;
+ }
+
+ if (!$hasNotes) {
+ echo "<br>There are no test logs for this build.";
+ }
+?>
+
+</table>
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/miscUtil.php b/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/miscUtil.php
new file mode 100644
index 0000000..c83bdf6
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/miscUtil.php
@@ -0,0 +1,214 @@
+<?php
+
+// todo: unsure if can handle filenames that are URLs?
+// handy constant to compute file size in megabytes
+
+function fileSizeInMegs($filename) {
+ $onemeg=1024*1024;
+ $zipfilesize=filesize($filename);
+ $zipfilesize=round($zipfilesize/$onemeg, 0);
+ return $zipfilesize;
+}
+
+function fileSizeForDisplay($filename) {
+ $onekilo=1024;
+ $onemeg=$onekilo * $onekilo;
+ $criteria = 10 * $onemeg;
+ $scaleChar = "M";
+ $zipfilesize=filesize($filename);
+ if ($zipfilesize > $criteria) {
+ $zipfilesize=round($zipfilesize/$onemeg, 0);
+ $scaleChar = "M";
+ }
+ else {
+ $zipfilesize=round($zipfilesize/$onekilo, 0);
+ $scaleChar = "K";
+ }
+ $result = "(" . $zipfilesize . $scaleChar . ")";
+ return $result;
+}
+
+
+function displayFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription) {
+ echo "<td align=\"right\" valign=\"top\" width=\"30%\">";
+ echo "<a href=\"$downloadprefix$filename\">" . $fileShortDescription . "</a>";
+ echo "</td><td align=\"right\" valign=\"top\" width=\"3%\">";
+ echo $zipfilesize;
+ echo "</td>";
+ echo "<td align=\"right\" valign=\"top\" width=\"2%\">";
+ echo "[<a href=\"checksum/$filename.md5\">md5</a>]";
+ echo "</td>";
+}
+
+function resourceExist($url, $mirrorPrefixuri, $prereqfilename, $eclipseFSpathPrefix)
+{
+ $result = false;
+
+ $allowURLopen = ini_get('allow_url_fopen');
+
+ if ($allowURLopen && stream_last_modified($url)) {
+ $result = true;
+ }
+ else {
+ // TODO: for now, we'll do a raw check on the whole file name, since enable_url_open
+ // is off. better would be to check if we are on build.eclipse.org or download.eclipse.org?
+ $wholePath = trim($eclipseFSpathPrefix) . "/" . trim($mirrorPrefixuri) . "/" . trim($prereqfilename);
+ if (file_exists($wholePath)) {
+ $result = true;
+ }
+ }
+ return $result;
+}
+
+function stream_last_modified($url)
+{
+ if (function_exists('version_compare') && version_compare(phpversion(), '4.3.0') > 0)
+ {
+ if (!($fp = @fopen($url, 'r')))
+ return NULL;
+
+ $meta = stream_get_meta_data($fp);
+ for ($j = 0; isset($meta['wrapper_data'][$j]); $j++)
+ {
+ if (strstr(strtolower($meta['wrapper_data'][$j]), 'last-modified'))
+ {
+ $modtime = substr($meta['wrapper_data'][$j], 15);
+ break;
+ }
+ }
+ fclose($fp);
+ }
+ else
+ {
+ $parts = parse_url($url);
+ $host = $parts['host'];
+ $path = $parts['path'];
+
+ if (!($fp = @fsockopen($host, 80)))
+ return NULL;
+
+ $req = "HEAD $path HTTP/1.0\r\nUser-Agent: PHP/".phpversion()."\r\nHost: $host:80\r\nAccept: */*\r\n\r\n";
+ fputs($fp, $req);
+
+ while (!feof($fp))
+ {
+ $str = fgets($fp, 4096);
+ if (strstr(strtolower($str), 'last-modified'))
+ {
+ $modtime = substr($str, 15);
+ break;
+ }
+ }
+ fclose($fp);
+ }
+ return isset($modtime) ? strtotime($modtime) : time();
+}
+
+function isMirrored($uriToCheck) {
+ global $debugScript;
+ global $debugFunctions;
+ $localuri = $uriToCheck;
+
+ $debugMirrorList = false;
+ if ($debugScript) {
+ echo "uriToCheck: " . $localuri . "<br />";
+ }
+
+ $xmlcount = 0;
+
+ /* This method true and accurate method of parsing mirror results
+ * may be expensive, and would
+ * likely cause artificially high counts of "downloads".
+ * Could maybe use if somehow only checked once ever 5 minutes or something.
+
+
+ // turn off warnings, as sometimes HTML is returned, which causes lots of warnings
+ $holdLevel = error_reporting(E_ERROR);
+ $mirrorsxml=simplexml_load_file(rawurlencode($localuri) . urlencode("&format=xml"));
+ error_reporting($holdLevel);
+
+
+ if ($mirrorsxml) {
+ if ($debugFunctions) {
+ echo "root node: " . $mirrorsxml->getName() . "<br />";
+ }
+ if (strcmp($mirrorsxml->getName(), "mirrors") == 0) {
+ foreach ($mirrorsxml->children() as $mirror) {
+ if (strcmp($mirror->getName(),"mirror") == 0) {
+ $xmlcount=$xmlcount+1;
+ }
+ if ($debugMirrorList) {
+ print_r($mirror);
+ echo "<br />";
+ }
+ }
+ }
+ if ($debugFunctions) {
+ echo "Mirror count: " . $xmlcount . "<br />";
+ }
+ }
+ */
+ /*
+ * Use simple heuristic based on pattern
+ * in the URI ... if it contains "/downloads/" then assume it's mirrored
+ */
+ if (strpos($uriToCheck, "webtools/downloads/") > 0) {
+ $xmlcount = 1;
+ }
+ return ($xmlcount > 0);
+
+}
+
+// TODO: replace with Phoenix variables
+function getPlatform () {
+ global $debugScript;
+ global $debugFunctions;
+ // getBrowser is expensive, so cache the data
+ static $browser;
+ $platform = "unknown";
+
+
+ if(ini_get("browscap")) {
+ if(!isset($browser)){
+ $browser = get_browser(null, true);
+ }
+
+ if ($browser) {
+ $rawPlatform = $browser['platform'];
+ if ($debugFunctions) {
+ echo "browser platfrom: " . $rawPlatform . "<br />" ;
+ }
+
+ if ($debugFunctions) {
+ $browserKeys = array_keys($browser);
+ foreach ($browserKeys as $key) {
+ echo $key . ": " . $browser[$key] . "<br />";
+ }
+ }
+ }
+ if (strpos($rawPlatform, "Win") === 0) {
+ $platform="windows";
+ } else if (strpos($rawPlatform, "Linux") === 0) {
+ $platform="linux";
+ } else if (strpos($rawPlatform, "Mac") === 0) {
+ $platform="mac";
+ }
+ }
+ return $platform;
+}
+
+
+function getPrereqReferenceOrName($eclipseMirrorScript, $mirrorPrefixuri, $prerequrl, $prereqfilename, $eclipseFSpathPrefix) {
+ // todo: we really only need "if exists" so could make a bit more efficient
+ // I tried "file_exists" but is didn't seem to work on my test server
+ // For these pre-reqs, we assume if they exist, they are mirrored. This is true
+ // 99% of the time.
+
+ if (resourceExist($prerequrl, $mirrorPrefixuri, $prereqfilename, $eclipseFSpathPrefix)) {
+ $reflink="<a href=\"" . $eclipseMirrorScript . $mirrorPrefixuri . "/" . $prereqfilename . "\">" . $prereqfilename . "</a>";
+ } else {
+ $reflink=$prereqfilename;
+ }
+ return $reflink;
+}
+?>
diff --git a/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/report2.php b/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/report2.php
new file mode 100644
index 0000000..52d2284
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/staticDropFiles/report2.php
@@ -0,0 +1,45 @@
+
+ <?php
+
+function parse_testResults($filename)
+{
+ $junitFailures = 0;
+ if (is_file($filename)) {
+ $handle = @fopen($filename, "r");
+ if ($handle)
+ {
+ $size = filesize($filename);
+ $content = fread($handle, $size);
+ fclose($handle);
+ $junitStart = strpos($content, "Errors & Failures");
+ $junitEnd = strpos($content, "</table>", $junitStart);
+ $junitInfo = substr($content, $junitStart, $junitEnd - $junitStart);
+ $start = strpos($junitInfo, "<td><b><font color=\"#ff0000\">");
+ while ($start !== false)
+ {
+ $start += 29;
+ $stop = strpos($junitInfo, "</font></b></td>", $start);
+ if ($stop !== false)
+ {
+ $result = substr($junitInfo, $start, $stop - $start);
+ if (is_numeric($result))
+ {
+ $junitFailures += $result;
+ }
+ else if (strcmp($result, "DNF") == 0)
+ {
+ $junitFailures++;
+ }
+ }
+ $start = strpos($junitInfo, "<td><b><font color=\"#ff0000\">", $stop);
+ }
+ $results = array($junitFailures);
+ return $results;
+ }
+ }
+}
+
+
+?>
+
+
diff --git a/releng.wtpbuilder/distribution/jaxws.site/templateFiles/compileResults.php.template b/releng.wtpbuilder/distribution/jaxws.site/templateFiles/compileResults.php.template
new file mode 100644
index 0000000..f785771
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/templateFiles/compileResults.php.template
@@ -0,0 +1,76 @@
+<html>
+<head>
+
+<?php
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ echo "<title>Compile Logs: Code Bundles for $buildName</title>";
+?>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+<style>
+.bold, .bold TD, .bold TH, .bold TR
+{
+font-weight:bold;
+}
+.numeric, .numeric TD
+{
+text-align:right;
+padding-right:2%;
+}
+.normaltable, .normaltable TD, .normaltable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:White;
+}
+.errorltable, .errortable TD, .errortable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:Red;
+font-weight:bold;
+}
+.warningtable, .warningtable TD, .warningtable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:khaki;
+}
+.extraWarningTable, .extraWarningTable TD, .extraWarningTable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:Yellow;
+}
+</style>
+</head>
+<body>
+
+<?php
+ echo "<h1>Compile Logs: Code Bundles for $buildName</h1>";
+?>
+
+
+<table id=tabledata align = "center" width="75%" border="1">
+ <tr>
+ <td class="bold" align="center">Compile Logs</td>
+ <td class="bold" align="center">Compile Errors</td>
+ <td class="bold" align="center">Compiler Warnings</td>
+ <td class="bold" align="center">Access Violations</td>
+ <td class="bold" align="center">Access Warnings</td>
+ </tr>
+
+ %compilelogs%
+
+</table>
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/jaxws.site/templateFiles/index.html.template.php b/releng.wtpbuilder/distribution/jaxws.site/templateFiles/index.html.template.php
new file mode 100644
index 0000000..edddc09
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/templateFiles/index.html.template.php
@@ -0,0 +1,516 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+<title>WTP Incubator Downloads</title>
+
+
+<?php
+
+$buildBranch="@buildBranch@";
+$build="@build@";
+$type="@type@";
+$builddate="@date@";
+
+$eclipseMirrorPrefixuri="@eclipse.mirror.prefixuri@";
+$eclipseFSpathPrefix="@eclipse.fspath.prefix@";
+
+$eclipsefilelinux="@eclipsefilelinux@";
+$eclipsefilewindows="@eclipsefilewindows@";
+$eclipsefilemacosx="@eclipsefilemacos@";
+
+$eclipseURL="@eclipseURL@";
+$eclipseFile="@eclipseFile@";
+$eclipseBuildURL="@eclipseBuildURL@";
+$eclipseBuildHome="@eclipseBuildHome@";
+$testURL="@testURL@";
+$testFile="@testFile@";
+
+$wstURL="@wstURL@";
+$wstFile="@wstFile@";
+$wstMirrorPrefixuri="@wst.mirror.prefixuri@";
+$wstBuildHome="@wstBuildHome@";
+
+
+$gefURL="@gefURL@";
+$gefFile="@gefFile@";
+$gefMirrorPrefixuri="@gef.mirror.prefixuri@";
+$gefBuildHome="@gefBuildHome@";
+
+$emfURL="@emfURL@";
+$emfFile="@emfFile@";
+$emfMirrorPrefixuri="@emf.mirror.prefixuri@";
+$emfBuildHome="@emfBuildHome@";
+
+$dtpURL="@dtpURL@";
+$dtpFile="@dtpFile@";
+$dtpMirrorPrefixuri="@dtp.mirror.prefixuri@";
+$dtpBuildHome="@dtpBuildHome@";
+
+
+$eclipserelengFile="@eclipserelengFile@";
+$eclipserelengURL="@eclipserelengURL@";
+$orbitthirdpartyzipFile="@orbitthirdpartyzipFile@";
+$orbitthirdpartyzipURL="@orbitthirdpartyzipURL@";
+$orbitthirdpartyzipBuildHome="@orbitthirdpartyzipBuildHome@";
+$orbitthirdpartyzipMirrorPrefixuri="@orbitthirdpartyzip.mirror.prefixuri@";
+
+
+
+
+include("miscUtil.php");
+
+
+
+ini_set("display_errors", "true");
+error_reporting (E_ALL);
+
+
+$debugScript = false;
+$debugFunctions = false;
+
+$defaultMirrorScript="";
+$defaultWTPMirrorPrefix="./";
+
+$eclipseMirrorScript="http://www.eclipse.org/downloads/download.php?file=";
+
+// TODO: improve so this hard coding isn't required.
+// This depends on the declare script changing webtools/committers to webtools/downloads
+// And, the logic is such that if it is not mirrored, this URI is not used at all, just
+// a relative reference only
+$eclipseWTPMirrorPrefix="/webtools/committers/drops/$buildBranch/$build/";
+
+
+$mirrorScript=$defaultMirrorScript;
+$downloadprefix=$defaultWTPMirrorPrefix;
+
+
+$keytestMirrorString=$eclipseMirrorScript . "$eclipseWTPMirrorPrefix/wtp-incubator-jaxws-sdk-$build.zip";
+if (isMirrored($keytestMirrorString) ) {
+ $mirrorScript=$eclipseMirrorScript;
+ $downloadprefix="${mirrorScript}${eclipseWTPMirrorPrefix}";
+}
+
+if ($debugScript) {
+ echo "inferred platform: " . getPlatform();
+}
+
+
+// our summary results handling requires php 5 (for simple xml file loading)
+// so, if not php 5, just don't display any summary results
+// This was found to be required, since some mirror our whole site (e.g. IBM)
+// and not all mirrors use PHP 5
+$displayTestSummary=false;
+if (phpversion() >= 5) {
+
+ $displayTestSummary=true;
+ // expecting grandTotalErrors and grandTotalTests
+ $filename = "unitTestsSummary.xml";
+ if (file_exists($filename)) {
+ $prefix = "unitTests_";
+ $unitTestsSummary = simplexml_load_file($filename);
+ foreach ($unitTestsSummary->summaryItem as $summaryItem) {
+ $name = $summaryItem->name;
+ $value = $summaryItem->value;
+ $code= "\$" . $prefix . $name . " = " . $value . ";";
+ //echo "<br />code: " . $code;
+ eval($code);
+ }
+ }
+
+ $filename = "compilelogsSummary.xml";
+ $prefix = "code_";
+ $compileSummary = simplexml_load_file($filename);
+ foreach ($compileSummary->summaryItem as $summaryItem) {
+ $name = $summaryItem->name;
+ $value = $summaryItem->value;
+ $code= "\$" . $prefix . $name . " = " . $value . ";";
+ //echo "<br />code: " . $code;
+ eval($code);
+ }
+
+ $filename = "testcompilelogsSummary.xml";
+ $prefix = "test_";
+ $compileSummary = simplexml_load_file($filename);
+ foreach ($compileSummary->summaryItem as $summaryItem) {
+ $name = $summaryItem->name;
+ $value = $summaryItem->value;
+ $code= "\$" . $prefix . $name . " = " . $value . ";";
+ //echo "<br />code: " . $code;
+ eval($code);
+ }
+}
+
+
+?>
+
+
+</head>
+
+<body>
+
+
+<?php
+
+// tiny banner to remind when looking at "local" machine results
+$serverName = $_SERVER["SERVER_NAME"];
+
+if (!stristr($serverName, "eclipse.org") && !stristr($serverName,"you.are.at.eclipsecon.org")) {
+ echo '<center>
+ <p>
+ Reminder: this is <font color="#FF0000">' .
+ $serverName .
+ '</font>
+ See also
+ <a href="http://download.eclipse.org/webtools/downloads" target="_top">the live public Eclipse site</a>.
+ </p>
+ <hr />
+ </center>';
+
+}
+?>
+<table BORDER=0 CELLSPACING=2 CELLPADDING=2 WIDTH="100%">
+ <tr>
+ <td ALIGN=left><font face="'Bitstream Vera',Helvetica,Arial" size="+2"><b><?php echo "$type";?>
+ Build: <?php echo "$build";?></b></font></td>
+ <td align="right" rowspan="3"><a
+ href="http://www.eclipse.org/projects/what-is-incubation.php"><img
+ src="http://www.eclipse.org/images/egg-incubation.png" alt="Incubation"
+ align="middle" border="0"></a></td>
+
+ <tr valign="top">
+ <td><font size="-1"><?php echo "$builddate";?></font></td>
+ </tr>
+ <tr valign="top">
+ <td>
+ <p>The Eclipse Web Tools Platform (WTP) Incubator Project provides
+ tools for development that are just getting started, or are
+ experimental in some fashion.</p>
+ </td>
+ </tr>
+</table>
+
+<!-- *********** Required Prerequisites ************** -->
+<table border=0 cellspacing=2 cellpadding=2 width="100%">
+ <tr>
+ <td align="left" valign="top" bgcolor="#0080C0"><font
+ face="'Bitstream Vera',Helvetica,Arial" color="#FFFFFF">Required
+ Prerequisites and Handy Extras</font></td>
+ </tr>
+ <tr>
+ <td>
+ <p>These are the prerequisites to install and run the Web Tools
+ Platform. Also listed are some frequently needed links for
+ committer-required packages when creating new developmnet
+ environmnets, or targets to run against.</p>
+ <p>Note that WTP requires Java 5 or higher (and, for some things,
+ actually requires a JDK rather than only a JRE) even though many other
+ <a href="http://www.eclipse.org/downloads/">Eclipse Projects</a> can
+ run with <a href="http://www.eclipse.org/downloads/moreinfo/jre.php">other
+ JRE levels</a>.</p><p></p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border=0 cellspacing=1 cellpadding=1 width="90%" align="center">
+ <tr valign="top">
+ <td width="10%"></td>
+ <td width="40%">Eclipse Platform (Platform, JDT)</td>
+ <?php
+ //customize page depending on user's browser/platform, if we can detect it
+ $usersPlatform = getPlatform();
+ // assume windows by default, since likely most frequent, even for cases where
+ // platform is "unknown". I've noticed Opera reports 'unknown' :(
+ $recommendedFile=$eclipsefilewindows;
+ if (strcmp($usersPlatform,"linux")== 0) {
+ $recommendedFile=$eclipsefilelinux;
+ } else if (strcmp($usersPlatform,"mac") == 0) {
+ $recommendedFile=$eclipsefilemacosx;
+ }
+ ?>
+ <td align="right"><?php
+ echo getPrereqReferenceOrName($eclipseMirrorScript, $eclipseMirrorPrefixuri, $eclipseURL, $recommendedFile, $eclipseFSpathPrefix);
+ echo " or <a href=\"" . $eclipseBuildURL . "\">appropriate platform</a>";
+ echo " or <a href=\"" . $eclipseBuildHome . "\">equivalent</a></td>";
+ ?>
+
+ </tr>
+
+ <tr valign="top">
+ <td width="10%"></td>
+ <td>Webtools Platform (at least WST)</td>
+ <td align="right"><?php
+ // debug
+ // echo "debug: full path: " . $eclipseFSpathPrefix . "/" . $wstMirrorPrefixuri . "/" . $wstFile;
+ echo getPrereqReferenceOrName($eclipseMirrorScript, $wstMirrorPrefixuri, $wstURL, $wstFile, $eclipseFSpathPrefix);
+ echo " or <a href=\"" . $wstBuildHome . "\">equivalent</a></td>";
+ ?>
+
+ </tr>
+
+ <tr valign="top">
+ <td width="10%"></td>
+ <td>Eclipse Modeling Framework (EMF, XSD InfoSet)</td>
+ <td align="right"><?php
+ echo getPrereqReferenceOrName($eclipseMirrorScript, $emfMirrorPrefixuri, $emfURL, $emfFile, $eclipseFSpathPrefix);
+ echo " or <a href=\"" . $emfBuildHome . "\">equivalent</a></td>";
+ ?>
+
+ </tr>
+
+ <tr valign="top">
+ <td width="10%"></td>
+ <td>Graphical Editing Framework (GEF)</td>
+ <td align="right"><?php
+ echo getPrereqReferenceOrName($eclipseMirrorScript, $gefMirrorPrefixuri, $gefURL, $gefFile, $eclipseFSpathPrefix);
+ echo " or <a href=\"" . $gefBuildHome . "\">equivalent</a></td>";
+ ?>
+
+ </tr>
+
+ <tr valign="middle">
+ <td width="10%"></td>
+ <td colspan="2">
+ <hr />
+ </td>
+ </tr>
+
+ <tr valign="top">
+ <td width="10%"></td>
+ <td>Eclipse Test Framework (required only for Automated JUnit tests)</td>
+ <td align="right"><?php
+ echo getPrereqReferenceOrName($eclipseMirrorScript, $eclipseMirrorPrefixuri, $testURL, $testFile, $eclipseFSpathPrefix);
+ echo " or <a href=\"" . $eclipseBuildHome . "\">equivalent</a></td>";
+ ?>
+
+ </tr>
+
+ <tr valign="top">
+ <td width="10%"></td>
+ <td>Eclipse releng tool (required only for committers to more easily
+ "release" code to a build)</td>
+ <td align="right"><?php
+ echo getPrereqReferenceOrName($eclipseMirrorScript, $eclipseMirrorPrefixuri, $eclipserelengURL, $eclipserelengFile, $eclipseFSpathPrefix);
+ echo " or <a href=\"" . $eclipseBuildHome . "\">equivalent</a></td>";
+ ?>
+
+ </tr>
+
+ <tr valign="top">
+ <td width="10%"></td>
+ <td>Third Party code from Orbit (currently much more than needed
+ for WTP, but some committers like having the whole heap in their
+ target)</td>
+ <td align="right"><?php
+ echo getPrereqReferenceOrName($eclipseMirrorScript, $orbitthirdpartyzipMirrorPrefixuri, $orbitthirdpartyzipURL, $orbitthirdpartyzipFile,$eclipseFSpathPrefix);
+ echo " or <a href=\"" . $orbitthirdpartyzipBuildHome . "\">equivalent</a></td>";
+ ?>
+
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+
+<!-- *********** WTP ************** -->
+<table border=0 cellspacing=2 cellpadding=2 width="100%">
+ <tr>
+ <td align=left valign=top colspan="5" bgcolor="#0080C0"><font
+ face="'Bitstream Vera',Helvetica,Arial" color="#FFFFFF"> Web Tools
+ Incubating Components</font></td>
+ </tr>
+
+ <tr>
+ <td align="left" valign="top" colspan="5">
+ <p>The Zip files includes the features and plugins for the WTP Incubator XML VEX Component.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border=0 cellspacing=2 cellpadding=2 width="90%" align="center">
+
+
+ <tr>
+ <td align="left" valign="top" width="10%"><b>Minimal</b></td>
+ <td align="left" valign="top">
+ <p>Executable code only.</p>
+ </td>
+ <?php
+ $zipfilename="wtp-incubator-jaxws-${build}";
+ $filename=$zipfilename.".zip";
+ $zipfilesize=fileSizeForDisplay($filename);
+ $fileShortDescription="jaxws";
+ displayFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
+ ?>
+ </tr>
+
+ <tr>
+ <td align="left" valign="top" width="10%"><b>SDK</b></td>
+ <td align="left" valign="top">
+ <p>Executable code and source code.</p>
+ </td>
+ <?php
+ $zipfilename="wtp-incubator-jaxws-sdk-${build}";
+ $filename=$zipfilename.".zip";
+ $zipfilesize=fileSizeForDisplay($filename);
+ $fileShortDescription="jaxws sdk";
+ displayFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
+ ?>
+ </tr>
+ <tr>
+ <td align="left" valign="top" width="10%"><b>Tests</b></td>
+ <td align="left" valign="top">
+ <p>Unit tests.</p>
+ </td>
+ <?php
+ $zipfilename="wtp-incubator-jaxws-tests-${build}";
+ $filename=$zipfilename.".zip";
+ $zipfilesize=fileSizeForDisplay($filename);
+ $fileShortDescription="jaxws tests";
+ displayFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription);
+ ?>
+ </tr>
+ </table>
+ </td>
+
+
+ <tr>
+
+</table>
+
+
+
+
+
+
+
+<!-- *********** Build Status ************** -->
+<table border=0 cellspacing=2 cellpadding=2 width="100%">
+ <tr>
+ <td align=left valign=top bgcolor="#0080C0"><font
+ face="'Bitstream Vera',Helvetica,Arial" color="#FFFFFF">Status, tests
+ and other interesting details</font></td>
+ </tr>
+ <tr>
+ <td>
+ <table border=0 cellspacing=2 cellpadding=2 width="90%" align="center">
+
+ <tr>
+ <td><a href="buildNotes.php">Build notes</a> <br />
+ <a href="directory.txt">map files</a> <br />
+ <?php
+
+ if ($displayTestSummary) {
+
+
+ if (isset($unitTests_grandTotalErrors)) {
+ $errorColor="green";
+ if ($unitTests_grandTotalErrors > 0) {
+ $errorColor="red";
+ }
+ echo "<a href=\"testResults.php\">Unit test results</a> ";
+ echo "<img src=\"junit_err.gif\"/><font color=\"" . $errorColor . "\">" . $unitTests_grandTotalErrors . "</font> Total: " . $unitTests_grandTotalTests;
+ }
+ else {
+ echo "<br /><font color=\"orange\">Unit tests are pending</font> <img src=\"pending.gif\"/>";
+ }
+
+ echo "<br />";
+ echo "<a href=\"compileResults.php\">Compile logs: Code Bundles</a>";
+
+ echo " ($code_totalBundles) ";
+ echo "<img src=\"compile_err.gif\"/><font color=red>$code_totalErrors</font> ";
+ echo "<img src=\"compile_warn.gif\"/><font color=orange>$code_totalWarnings</font> ";
+ echo "<img src=\"access_err.gif\"/><font color=red>$code_totalforbiddenAccessWarningCount</font> ";
+ echo "<img src=\"access_warn.gif\"/><font color=orange>$code_totaldiscouragedAccessWarningCount</font> ";
+
+ echo "<br />";
+ echo "<a href=\"testCompileResults.php\">Compile logs: Test Bundles</a>";
+
+ echo " ($test_totalBundles) ";
+ echo "<img src=\"compile_err.gif\"/><font color=red>$test_totalErrors</font> ";
+ echo "<img src=\"compile_warn.gif\"/><font color=orange>$test_totalWarnings</font> ";
+ echo "<img src=\"access_err.gif\"/><font color=red>$test_totalforbiddenAccessWarningCount</font> ";
+ echo "<img src=\"access_warn.gif\"/><font color=orange>$test_totaldiscouragedAccessWarningCount</font> ";
+ }
+
+ ?> <br />
+
+ <?php
+ if (file_exists("versioningReportName.php")) {
+ include "versioningReportName.php";
+ $fname="${versionReportFilename}.html";
+ if (file_exists($fname)) {
+ echo "<br /> <a href='$fname'>Versioning Information</a>";
+ }
+}
+?> <?php
+echo "<br />";
+if (file_exists("./apiresults/api-progress.html"))
+{
+ echo "<br /> <a href=\"apiresults/api-progress.html\">API Progress Report</a>";
+}
+if (file_exists("./apiresults/api-info-summary.html"))
+{
+ echo "<br /> <a href=\"apiresults/api-info-summary.html\">APIs Defined by Each Component</a>";
+}
+if (file_exists("./apiresults/api-ref-compatibility.html"))
+{
+ echo "<br /> <a href=\"apiresults/api-ref-compatibility.html\">Adopter Breakage Report</a>";
+}
+if (file_exists("./apiresults/api-violation-summary.html"))
+{
+ echo "<br /> <a href=\"apiresults/api-violation-summary.html\">API Violations</a>";
+}
+if (file_exists("./apiresults/component-api-violation-all.html"))
+{
+ echo "<br /> <a href=\"apiresults/component-api-violation-all.html\">Non-API dependencies</a>";
+}
+if (file_exists("./apiresults/api-tc-summary.html"))
+{
+ echo "<br /> <a href=\"apiresults/api-tc-summary.html\">API Test Coverage</a>";
+}
+if (file_exists("./apiresults/api-javadoc-summary.html"))
+{
+ echo "<br /> <a href=\"apiresults/api-javadoc-summary.html\">API Javadoc Coverage</a>";
+}
+if (file_exists("./apiresults/api-tc-summary.html"))
+{
+ echo "<br /><br /> <a href=\"apiresults/full_test_coverage/api-tc-summary.html\">Test Coverage for All Classes and Methods</a>";
+}
+?> <?php
+if (file_exists("./perfresults/graph/performance.php"))
+{
+ echo "<br />";
+ echo "<br /> <a href=\"perfresults/graph/performance.php\">Performance Results</a>";
+ echo "<br />";
+}
+?></td>
+ </tr>
+
+
+ </table>
+ </td>
+ </tr>
+</table>
+
+
+
+<!-- footer -->
+<center>
+<hr>
+<p>All downloads are provided under the terms and conditions of the <a
+ href="http://www.eclipse.org/legal/notice.html">Eclipse.org Software
+User Agreement</a> unless otherwise specified.</p>
+
+<p>If you have problems downloading the drops, contact the <font
+ face="'Bitstream Vera',Helvetica,Arial" size="-1"><a
+ href="mailto:webmaster@eclipse.org">webmaster</a></font>.</p>
+
+</center>
+<!-- end footer -->
+
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/jaxws.site/templateFiles/siteEnablingFeatures.xml b/releng.wtpbuilder/distribution/jaxws.site/templateFiles/siteEnablingFeatures.xml
new file mode 100644
index 0000000..e4ace4d
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/templateFiles/siteEnablingFeatures.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+
+ <description>
+ The update site contains the enabling features.
+ </description>
+
+
+
+
+
+
+
+ <category-def
+ name="Enabling Features"
+ label="Enabling Features">
+ <description>
+ This category contains features used by several projects
+ that enable some functionality, but which by themselves are
+ not very interesting.
+ </description>
+ </category-def>
+
+
+
+</site>
diff --git a/releng.wtpbuilder/distribution/jaxws.site/templateFiles/siteWTP.xml b/releng.wtpbuilder/distribution/jaxws.site/templateFiles/siteWTP.xml
new file mode 100644
index 0000000..e3a86fa
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/templateFiles/siteWTP.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site
+ pack200="true"
+ mirrorsURL="http://www.eclipse.org/downloads/download.php?file=/webtools/testUpdates/site.xml&format=xml"
+ digestURL="http://download.eclipse.org/webtools/testUpdates/">
+
+ <description
+ url="http://download.eclipse.org/webtools/declaredUpdates/index.html">
+ The update site contains the features of the of Eclipse Web
+ Tools Project (WTP)
+ </description>
+
+ <feature
+ url="features/org.eclipse.wst_@org.eclipse.wst@.jar"
+ id="org.eclipse.wst"
+ version="@org.eclipse.wst@">
+ <category name="Web Tools Platform (WTP)" />
+ </feature>
+
+ <feature
+ url="features/org.eclipse.wst.sdk_@org.eclipse.wst.sdk@.jar"
+ id="org.eclipse.wst.sdk"
+ version="@org.eclipse.wst.sdk@">
+ <category name="Web Tools Platform (WTP)" />
+ </feature>
+
+ <feature
+ url="features/org.eclipse.jst_@org.eclipse.jst@.jar"
+ id="org.eclipse.jst"
+ version="@org.eclipse.jst@">
+ <category name="Web Tools Platform (WTP)" />
+ </feature>
+
+ <feature
+ url="features/org.eclipse.jst.sdk_@org.eclipse.jst.sdk@.jar"
+ id="org.eclipse.jst.sdk"
+ version="@org.eclipse.jst.sdk@">
+ <category name="Web Tools Platform (WTP)" />
+ </feature>
+
+
+
+
+ <feature
+ url="features/org.eclipse.jpt.feature_@org.eclipse.jpt.feature@.jar"
+ id="org.eclipse.jpt.feature"
+ version="@org.eclipse.jpt.feature@">
+ <category name="Web Tools Platform (WTP)" />
+ </feature>
+
+ <feature
+ url="features/org.eclipse.jpt_sdk.feature_@org.eclipse.jpt_sdk.feature@.jar"
+ id="org.eclipse.jpt_sdk.feature"
+ version="@org.eclipse.jpt_sdk.feature@">
+ <category name="Web Tools Platform (WTP)" />
+ </feature>
+
+
+ <category-def
+ name="Web Tools Platform (WTP)"
+ label="Web Tools Platform (WTP)">
+ <description>
+ This category contains the features of the Eclipse Web Tools
+ Project (WTP).
+ </description>
+ </category-def>
+
+
+</site>
diff --git a/releng.wtpbuilder/distribution/jaxws.site/templateFiles/testCompileResults.php.template b/releng.wtpbuilder/distribution/jaxws.site/templateFiles/testCompileResults.php.template
new file mode 100644
index 0000000..42d6f65
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/templateFiles/testCompileResults.php.template
@@ -0,0 +1,76 @@
+<html>
+<head>
+
+<?php
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ echo "<title>Compile Logs: Test Bundles for $buildName</title>";
+?>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+<style>
+.bold, .bold TD, .bold TH, .bold TR
+{
+font-weight:bold;
+}
+.numeric, .numeric TD
+{
+text-align:right;
+padding-right:2em;
+}
+.normaltable, .normaltable TD, .normaltable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:White;
+}
+.errorltable, .errortable TD, .errortable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:Red;
+font-weight:Bold;
+}
+.warningtable, .warningtable TD, .warningtable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:khaki;
+}
+.extraWarningTable, .extraWarningTable TD, .extraWarningTable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:Yellow;
+}
+</style>
+</head>
+<body>
+
+<?php
+ echo "<h1>Compile Logs: Test Bundles for $buildName</h1>";
+?>
+
+
+<table id=tabledata align = "center" width="75%" border="1">
+ <tr>
+ <td class="bold" align="center">Compile Logs</td>
+ <td class="bold" align="center">Compile Errors</td>
+ <td class="bold" align="center">Compiler Warnings</td>
+ <td class="bold" align="center">Access Violations</td>
+ <td class="bold" align="center">Access Warnings</td>
+ </tr>
+
+ %compilelogs%
+
+</table>
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/jaxws.site/templateFiles/testResults.php.template b/releng.wtpbuilder/distribution/jaxws.site/templateFiles/testResults.php.template
new file mode 100644
index 0000000..ddad0b7
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/templateFiles/testResults.php.template
@@ -0,0 +1,119 @@
+<html>
+<head>
+
+<?php
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ echo "<title>Test Results for $buildName </title>";
+?>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+<style>
+.bold, .bold TD, .bold TH, .bold TR
+{
+font-weight:bold;
+}
+.numeric, .numeric TD
+{
+text-align:right;
+padding-right:2em;
+}
+.normaltable, .normaltable TD, .normaltable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:White;
+}
+.errorltable, .errortable TD, .errortable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:Red;
+font-weight:Bold;
+}
+.warningtable, .warningtable TD, .warningtable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:khaki;
+}
+.extraWarningTable, .extraWarningTable TD, .extraWarningTable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:Yellow;
+
+}
+</style>
+
+
+</head>
+<body>
+<p><b><font face="Verdana" size="+3">Test Results</font></b> </p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">
+ Unit Test Results for <?php echo "$buildName"; ?> on Various Platforms and JRE</font></b></td>
+ </tr>
+</table>
+
+<?php
+if (file_exists("testResults"))
+{
+$dir = dir("testResults");
+while ($anEntry = $dir->read())
+{
+ if ($anEntry != "." && $anEntry != ".." && $anEntry != "consolelogs" && $anEntry != "html" && $anEntry != "xml")
+ {
+ $link = "testResults/".$anEntry."/results/index.php";
+ echo "<p><a href=\"$link\">$anEntry</a></p>";
+ }
+}
+}
+?>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Unit
+ Test Results for <?php echo "$buildName"; ?> </font></b></td>
+ </tr>
+</table>
+
+<table id=tableunittestdata align = "center" width="75%" border="1">
+ <tr>
+ <td class="bold" align="center" width="70%">Test Suite</td>
+ <td class="bold" align="center" width="10%">Errors & Failures</td>
+ <td class="bold" align="center" width="10%">Total Tests</td>
+ <td class="bold" align="center" width="10%">Total Time (s)</td>
+ </tr>
+
+
+ %testresults%
+
+</table>
+<p></p>
+<br>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">
+ Console output logs
+ <?php echo "$buildName"; ?>
+ </font></b></td>
+ </tr>
+</table>
+<br>
+These <a href="consoleLogs.php">logs</a> contain the console output captured while
+running the JUnit automated tests. <br>
+<br>
+
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/jaxws.site/transformReportToHTML.xml b/releng.wtpbuilder/distribution/jaxws.site/transformReportToHTML.xml
new file mode 100644
index 0000000..f5a70cd
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.site/transformReportToHTML.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ name="xsl-conversion"
+ default="main"
+ basedir=".">
+
+ <target
+ name="main"
+ description="example.bin.xml to produce example.html">
+ <xslt
+ basedir="."
+ destdir="."
+ includes="*.bin.xml"
+ scanincludeddirectories="true"
+ style="compilerXMLOutputToHTML.xsl"
+ force="true" />
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/jaxws.tests/build.xml b/releng.wtpbuilder/distribution/jaxws.tests/build.xml
new file mode 100644
index 0000000..f1c4961
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.tests/build.xml
@@ -0,0 +1,326 @@
+<project
+ name="Build specific targets and properties"
+ default="runTest">
+
+ <!-- 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" />
+ <fail
+ message="testRoot must be set for this task"
+ unless="testRoot" />
+ <!-- required to get proper value of dropinsFolder -->
+ <property name="keyCfgFile" value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg" />
+ <echo
+ level="debug"
+ message="keyCfgFile: ${keyCfgFile}" />
+ <property file="${keyCfgFile}" />
+
+
+ <!--
+ Steps to do after the build is done.
+ -->
+ <target
+ name="test">
+ <dirname
+ file="${ant.file}"
+ property="currentDirectory" />
+ <ant
+ antfile="${ant.file}"
+ target="runTest"
+ dir="${currentDirectory}" />
+ </target>
+
+ <!--
+ Steps to do to test the build results
+ -->
+ <target
+ name="runTest">
+ <dirname
+ file="${ant.file}"
+ property="test.component.dir" />
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/label.xml" />
+ <property
+ file="${buildDirectory}/label.properties" />
+ <property
+ file="${wtp.builder.home}/build.properties" />
+ <fail
+ message="testRoot must be set for this task"
+ unless="testRoot" />
+ <mkdir
+ dir="${testRoot}" />
+
+ <!-- if results already exist, delete them -->
+ <delete
+ dir="${testRoot}/results"
+ failOnError="false" />
+ <mkdir
+ dir="${testRoot}/results" />
+ <mkdir
+ dir="${testRoot}/results/consolelogs" />
+ <mkdir
+ dir="${testRoot}/results/consolelogs/metadata-logs" />
+ <mkdir
+ dir="${testRoot}/results/consolelogs/configuration-logs" />
+ <copy
+ todir="${testRoot}"
+ overwrite="true">
+ <fileset
+ dir="${test.component.dir}/testScripts" />
+ </copy>
+ <echo
+ message="BASEOS: ${env.BASEOS} BASEWS: ${env.BASEWS} BASEARCH: ${env.BASEARCH} " />
+ <ant
+ antfile="${test.component.dir}/testdependency.xml"
+ target="get">
+ <property
+ name="dependency.properties"
+ value="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties" />
+ <property
+ name="base.install.dir"
+ value="${testRoot}" />
+ </ant>
+ <antcall
+ target="unzipTests" />
+ <antcall
+ target="runTestEclipse">
+ <param
+ name="testTarget"
+ value="all" />
+ </antcall>
+ <antcall
+ target="postRunTestEclipse">
+ <param
+ name="testTarget"
+ value="all" />
+ </antcall>
+ </target>
+ <target
+ name="unzipTests">
+
+ <!--unzip the builds and junit tests
+ we use 'unzip' here, so we can continue on error, if desired.
+ (such as if zip was not created, due to other failures or options).
+ -->
+ <echo
+ message="installing sdk" />
+ <exec
+ dir="${buildDirectory}/${buildLabel}"
+ executable="unzip"
+ failonerror="true">
+ <arg
+ line="-o -qq wtp-incubator-jaxws-sdk-${buildLabel}.zip -d ${testRoot}${dropinsFolder}" />
+ </exec>
+ <echo
+ message="installing tests" />
+ <exec
+ dir="${buildDirectory}/${buildLabel}"
+ executable="unzip"
+ failonerror="true">
+ <arg
+ line="-o -qq wtp-incubator-jaxws-tests-${buildLabel}.zip -d ${testRoot}${dropinsFolder}" />
+ </exec>
+ </target>
+
+ <!-- time out may need to be set/adjust for api or performance tests?
+ This testTimeLimit is the whole, overall limit on tests. There's a shorter
+ one for individual suites.
+
+ some common values, of milliseconds to more recognizable units:
+ 7200000: 2 hours
+ 3600000: 1 hour
+ 1800000: 30 minutes
+ 600000: 10 minutes
+ -->
+ <property
+ name="testTimeLimit"
+ value="7200000" />
+ <property
+ name="testFailOnError"
+ value="false" />
+ <target
+ name="runTestEclipse"
+ description="Run our JUnit's within an instance of antRunner">
+ <property
+ name="test-vm"
+ value="${env.JAVA_6_HOME}/bin/java" />
+ <property
+ name="plugin-path"
+ value="${testRoot}${dropinsFolder}/eclipse/plugins" />
+ <property
+ name="vmargs"
+ value="-Xmx512m -Dosgi.ws=${env.BASEWS} -Dosgi.os=${env.BASEOS} -Dosgi.arch=${env.BASEARCH} -Dws=${env.BASEWS} -Dos=${env.BASEOS} -Darch=${env.BASEARCH} -Dnoclean=true -DbuildBranch=${buildBranch} -DbuildType=${buildType} -DbuildId=${buildId} -DtestRoot=${testRoot} -DtestDir=${testRoot} -DbuildDirectory=${buildDirectory} -Dbuild.home=${env.BUILD_HOME} -DeclipseBuilderDirectory=${pde.builder.path} -DbuildLabel=${buildLabel} -Dtest-vm=${test-vm} -Dperf.buildId=${buildType}${date}-${time}" />
+
+
+ <!-- set path to eclipse folder. If local folder, use '.'; otherwise, use c:\path\to\eclipse or /path/to/eclipse/ -->
+ <property
+ name="eclipse.home"
+ value="${testRoot}" />
+ <echo
+ message="Running junits" />
+
+ <!--
+ Remember: using -debug for org.eclipse.ant.core.antRunner
+ produces ant debug info to be output ... which is a TON of stuff
+ -->
+ <echo
+ message="eclipse.launcher: ${eclipse.launcher}" />
+ <java
+ taskname="unit-test-masterprocess"
+ fork="true"
+ resultProperty="wtpmasterjunitresult"
+ failonerror="false"
+ timeout="${testTimeLimit}"
+ dir="${testRoot}/eclipse"
+ jvm="${env.JAVA_6_HOME}/bin/java"
+ classname="org.eclipse.equinox.launcher.Main">
+ <classpath>
+ <fileset
+ dir="${testRoot}/eclipse/plugins">
+ <include
+ name="org.eclipse.equinox.launcher_*.jar" />
+ </fileset>
+ </classpath>
+ <jvmarg
+ value="-Xmx512m" />
+ <jvmarg
+ value="-Dosgi.ws=${env.BASEWS}" />
+ <jvmarg
+ value="-Dosgi.os=${env.BASEOS}" />
+ <jvmarg
+ value="-Dosgi.arch=${env.BASEARCH}" />
+ <jvmarg
+ value="-Dws=${env.BASEWS}" />
+ <jvmarg
+ value="-Dos=${env.BASEOS}" />
+ <jvmarg
+ value="-Darch=${env.BASEARCH}" />
+
+ <jvmarg
+ value="-Dnoclean=true" />
+ <jvmarg
+ value="-DbuildBranch=${buildBranch}" />
+ <jvmarg
+ value="-DbuildType=${buildType}" />
+ <jvmarg
+ value="-DbuildId=${buildId}" />
+ <jvmarg
+ value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}" />
+ <jvmarg
+ value="-Dprojectname=${projectname}" />
+ <arg
+ value="-nosplash" />
+ <arg
+ value="-consolelog" />
+ <arg
+ value="-data" />
+ <arg
+ value="${testRoot}/overallTestWorkspace" />
+ <arg
+ value="-application" />
+ <arg
+ value="org.eclipse.ant.core.antRunner" />
+ <arg
+ value="-file" />
+ <arg
+ value="${testRoot}/test.xml" />
+ <arg
+ value="-logger" />
+ <arg
+ value="org.apache.tools.ant.DefaultLogger" />
+ <env
+ key="DISPLAY"
+ value="${env.DISPLAY}" />
+ <redirector
+ output="${testRoot}/results/fullOutput.txt"
+ error="${testRoot}/results/fullErrorLog.txt" />
+ <sysproperty
+ key="build.home"
+ value="${env.BUILD_HOME}" />
+ <sysproperty
+ key="buildDirectory"
+ value="${buildDirectory}" />
+ <sysproperty
+ key="buildLabel"
+ value="${buildLabel}" />
+ <sysproperty
+ key="baseLocation"
+ value="${baseLocation}" />
+ <sysproperty
+ key="testRoot"
+ value="${testRoot}" />
+ <sysproperty
+ key="testDir"
+ value="${testRoot}" />
+ <sysproperty
+ key="perf.buildId"
+ value="${buildType}${date}-${time}" />
+ <sysproperty
+ key="eclipseBuilderDirectory"
+ value="${pde.builder.path}" />
+ <sysproperty
+ key="buildLabel"
+ value="${buildLabel}" />
+ </java>
+ <echo
+ message="wtpmasterjunitresult ${wtpmasterjunitresult}" />
+ </target>
+ <target
+ name="postRunTestEclipse">
+ <copy
+ todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testLogs"
+ overwrite="true"
+ failonerror="false">
+ <fileset
+ dir="${testRoot}/results">
+ <include
+ name="*output.txt" />
+ </fileset>
+ </copy>
+ <copy
+ todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testSysErrorLogs"
+ overwrite="true"
+ failonerror="false">
+ <fileset
+ dir="${testRoot}/results">
+ <include
+ name="*error.txt" />
+ </fileset>
+ </copy>
+ <copy
+ file="${testRoot}/results/fullOutput.txt"
+ toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
+ overwrite="true"
+ failonerror="false">
+ </copy>
+ <copy
+ file="${testRoot}/results/fullErrorLog.txt"
+ toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
+ overwrite="true"
+ failonerror="false">
+ </copy>
+ <copy
+ todir="${buildDirectory}/${buildLabel}/testResults/xml"
+ overwrite="true"
+ failonerror="false">
+ <fileset
+ dir="${testRoot}/results/xml">
+ <include
+ name="*.xml" />
+ </fileset>
+ </copy>
+ <copy
+ todir="${buildDirectory}/${buildLabel}/testResults/html"
+ overwrite="true"
+ failonerror="false">
+ <fileset
+ dir="${testRoot}/results/html">
+ <include
+ name="*.html" />
+ </fileset>
+ </copy>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/jaxws.tests/templateFiles/index.php b/releng.wtpbuilder/distribution/jaxws.tests/templateFiles/index.php
new file mode 100644
index 0000000..8d23693
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.tests/templateFiles/index.php
@@ -0,0 +1,80 @@
+<html>
+<head>
+
+<?php
+ $parts = explode("/", realpath(".."));
+ $label = $parts[count($parts) - 1];
+?>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+</head>
+<body>
+<p><b><font face="Verdana" size="+3">Test Results</font></b> </p>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Unit
+ Test Results for <?php echo "$label"; ?> </font></b></td>
+ </tr>
+</table>
+<p></p><table border="0">
+</table>
+
+<table width="77%" border="1">
+ <tr>
+ <td width="81%"><b>Tests Performed</b></td>
+ <td width="19%"><b>Errors & Failures</b></td>
+ </tr>
+
+ <?
+ $dir = dir("html");
+ while ($anEntry = $dir->read())
+ {
+ if ($anEntry != "." && $anEntry != "..")
+ {
+ $link = "html/".$anEntry;
+ $xml = "xml/".substr($anEntry, 0, strlen($anEntry)-4)."xml";
+ $count = 0;
+ $fileHandle = fopen($xml, "r");
+ while (!feof($fileHandle))
+ {
+ $aLine = fgets($fileHandle, 4096); // Length parameter only optional after 4.2.0
+ $count = $count + substr_count($aLine, '<error');
+ }
+ fclose($fileHandle);
+ if ($count > 0)
+ {
+ echo "<tr><td><a href=\"$link\"><b><font color=\"red\">";
+ echo "$anEntry";
+ echo "</font></b></a></td>";
+ echo "<td><b><font color=\"red\">$count</font></b></td></tr>";
+ }
+ else
+ {
+ echo "<tr><td><a href=\"$link\">";
+ echo "$anEntry";
+ echo "</a></td>";
+ echo "<td>$count</td></tr>";
+ }
+ }
+ }
+ ?>
+
+</table>
+<p></p>
+<br>
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">
+ Console output logs
+ <?php echo "$label"; ?>
+ </font></b></td>
+ </tr>
+</table>
+<br>
+These <a href="consolelogs/wtptestlog.txt">logs</a> contain the console output captured while
+running the JUnit automated tests. <br>
+<br>
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/jaxws.tests/testScripts/ComputePluginVersion.jar b/releng.wtpbuilder/distribution/jaxws.tests/testScripts/ComputePluginVersion.jar
new file mode 100644
index 0000000..ad06a45
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.tests/testScripts/ComputePluginVersion.jar
Binary files differ
diff --git a/releng.wtpbuilder/distribution/jaxws.tests/testScripts/JUNIT.XSL b/releng.wtpbuilder/distribution/jaxws.tests/testScripts/JUNIT.XSL
new file mode 100644
index 0000000..f57faaa
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.tests/testScripts/JUNIT.XSL
@@ -0,0 +1,580 @@
+<xsl:stylesheet
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+ <xsl:output
+ method="html"
+ indent="yes" />
+ <xsl:decimal-format
+ decimal-separator="."
+ grouping-separator="," />
+
+ <xsl:template match="testsuites">
+ <HTML>
+ <HEAD>
+ <style type="text/css">
+ body { font:normal 68% verdana,arial,helvetica;
+ color:#000000; } table tr td, table tr th {
+ font-size: 68%; } table.details tr th{ font-weight:
+ bold; text-align:left; background:#a6caf0; }
+ table.details tr td{ background:#eeeee0; }
+
+ p { line-height:1.5em; margin-top:0.5em;
+ margin-bottom:1.0em; } h1 { margin: 0px 0px 5px;
+ font: 165% verdana,arial,helvetica } h2 {
+ margin-top: 1em; margin-bottom: 0.5em; font: bold
+ 125% verdana,arial,helvetica } h3 { margin-bottom:
+ 0.5em; font: bold 115% verdana,arial,helvetica } h4
+ { margin-bottom: 0.5em; font: bold 100%
+ verdana,arial,helvetica } h5 { margin-bottom: 0.5em;
+ font: bold 100% verdana,arial,helvetica } h6 {
+ margin-bottom: 0.5em; font: bold 100%
+ verdana,arial,helvetica } .Error { font-weight:bold;
+ color:red; } .Failure { font-weight:bold;
+ color:purple; } .Properties { text-align:right; }
+ </style>
+ <script language="JavaScript">
+ var TestCases = new Array(); var cur;
+ <xsl:for-each select="./testsuite">
+ <xsl:apply-templates select="properties" />
+ </xsl:for-each>
+
+ </script>
+ <script language="JavaScript"><![CDATA[
+ function displayProperties (name) {
+ var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1');
+ var doc = win.document.open();
+ doc.write("<html><head><title>Properties of " + name + "</title>");
+ doc.write("<style>")
+ doc.write("body {font:normal 68% verdana,arial,helvetica; color:#000000; }");
+ doc.write("table tr td, table tr th { font-size: 68%; }");
+ doc.write("table.properties { border-collapse:collapse; border-left:solid 1 #cccccc; border-top:solid 1 #cccccc; padding:5px; }");
+ doc.write("table.properties th { text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#eeeeee; }");
+ doc.write("table.properties td { font:normal; text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#fffffff; }");
+ doc.write("h3 { margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica }");
+ doc.write("</style>");
+ doc.write("</head><body>");
+ doc.write("<h3>Properties of " + name + "</h3>");
+ doc.write("<div align=\"right\"><a href=\"javascript:window.close();\">Close</a></div>");
+ doc.write("<table class='properties'>");
+ doc.write("<tr><th>Name</th><th>Value</th></tr>");
+ for (prop in TestCases[name]) {
+ doc.write("<tr><th>" + prop + "</th><td>" + TestCases[name][prop] + "</td></tr>");
+ }
+ doc.write("</table>");
+ doc.write("</body></html>");
+ doc.close();
+ win.focus();
+ }
+ ]]>
+ </script>
+ </HEAD>
+ <body>
+ <a name="top"></a>
+ <xsl:call-template name="pageHeader" />
+
+ <!-- Summary part -->
+ <xsl:call-template name="summary" />
+ <hr
+ size="1"
+ width="95%"
+ align="left" />
+
+ <!-- Package List part -->
+ <xsl:call-template name="packagelist" />
+ <hr
+ size="1"
+ width="95%"
+ align="left" />
+
+ <!-- For each package create its part -->
+ <xsl:call-template name="packages" />
+ <hr
+ size="1"
+ width="95%"
+ align="left" />
+
+ <!-- For each class create the part -->
+ <xsl:call-template name="classes" />
+
+ </body>
+ </HTML>
+ </xsl:template>
+
+
+
+ <!-- ================================================================== -->
+ <!-- Write a list of all packages with an hyperlink to the anchor of -->
+ <!-- of the package name. -->
+ <!-- ================================================================== -->
+ <xsl:template name="packagelist">
+ <h2>Packages</h2>
+ Note: package statistics are not computed recursively, they only
+ sum up all of its testsuites numbers.
+ <table
+ class="details"
+ border="0"
+ cellpadding="5"
+ cellspacing="2"
+ width="95%">
+ <xsl:call-template name="testsuite.test.header" />
+ <!-- list all packages recursively -->
+ <xsl:for-each
+ select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
+ <xsl:sort select="@package" />
+ <xsl:variable
+ name="testsuites-in-package"
+ select="/testsuites/testsuite[./@package = current()/@package]" />
+ <xsl:variable
+ name="testCount"
+ select="sum($testsuites-in-package/@tests)" />
+ <xsl:variable
+ name="errorCount"
+ select="sum($testsuites-in-package/@errors)" />
+ <xsl:variable
+ name="failureCount"
+ select="sum($testsuites-in-package/@failures)" />
+ <xsl:variable
+ name="timeCount"
+ select="sum($testsuites-in-package/@time)" />
+
+ <!-- write a summary for the package -->
+ <tr valign="top">
+ <!-- set a nice color depending if there is an error/failure -->
+ <xsl:attribute name="class">
+ <xsl:choose>
+ <xsl:when test="$failureCount > 0">Failure</xsl:when>
+ <xsl:when test="$errorCount > 0">Error</xsl:when>
+ </xsl:choose>
+ </xsl:attribute>
+ <td>
+ <a href="#{@package}">
+ <xsl:value-of select="@package" />
+ </a>
+ </td>
+ <td>
+ <xsl:value-of select="$testCount" />
+ </td>
+ <td>
+ <xsl:value-of select="$errorCount" />
+ </td>
+ <td>
+ <xsl:value-of select="$failureCount" />
+ </td>
+ <td>
+ <xsl:call-template name="display-time">
+ <xsl:with-param
+ name="value"
+ select="$timeCount" />
+ </xsl:call-template>
+ </td>
+ </tr>
+ </xsl:for-each>
+ </table>
+ </xsl:template>
+
+
+ <!-- ================================================================== -->
+ <!-- Write a package level report -->
+ <!-- It creates a table with values from the document: -->
+ <!-- Name | Tests | Errors | Failures | Time -->
+ <!-- ================================================================== -->
+ <xsl:template name="packages">
+ <!-- create an anchor to this package name -->
+ <xsl:for-each
+ select="/testsuites/testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
+ <xsl:sort select="@package" />
+ <a name="{@package}"></a>
+ <h3>
+ Package
+ <xsl:value-of select="@package" />
+ </h3>
+
+ <table
+ class="details"
+ border="0"
+ cellpadding="5"
+ cellspacing="2"
+ width="95%">
+ <xsl:call-template name="testsuite.test.header" />
+
+ <!-- match the testsuites of this package -->
+ <xsl:apply-templates
+ select="/testsuites/testsuite[./@package = current()/@package]"
+ mode="print.test" />
+ </table>
+ <a href="#top">Back to top</a>
+ <p />
+ <p />
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template name="classes">
+ <xsl:for-each select="testsuite">
+ <xsl:sort select="@name" />
+ <!-- create an anchor to this class name -->
+ <a name="{@name}"></a>
+ <h3>
+ TestCase
+ <xsl:value-of select="@name" />
+ </h3>
+
+ <table
+ class="details"
+ border="0"
+ cellpadding="5"
+ cellspacing="2"
+ width="95%">
+ <xsl:call-template name="testcase.test.header" />
+ <!--
+ test can even not be started at all (failure to load the class)
+ so report the error directly
+ -->
+ <xsl:if test="./error">
+ <tr class="Error">
+ <td colspan="4">
+ <xsl:apply-templates select="./error" />
+ </td>
+ </tr>
+ </xsl:if>
+ <xsl:apply-templates
+ select="./testcase"
+ mode="print.test" />
+ </table>
+ <div class="Properties">
+ <a>
+ <xsl:attribute name="href">javascript:displayProperties('<xsl:value-of
+ select="@package" />.<xsl:value-of
+ select="@name" />');</xsl:attribute>
+ Properties >>
+ </a>
+ </div>
+ <p />
+
+ <a href="#top">Back to top</a>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template name="summary">
+ <h2>Summary</h2>
+ <xsl:variable
+ name="testCount"
+ select="sum(testsuite/@tests)" />
+ <xsl:variable
+ name="errorCount"
+ select="sum(testsuite/@errors)" />
+ <xsl:variable
+ name="failureCount"
+ select="sum(testsuite/@failures)" />
+ <xsl:variable
+ name="timeCount"
+ select="sum(testsuite/@time)" />
+ <xsl:variable
+ name="successRate"
+ select="($testCount - $failureCount - $errorCount) div $testCount" />
+ <table
+ class="details"
+ border="0"
+ cellpadding="5"
+ cellspacing="2"
+ width="95%">
+ <tr valign="top">
+ <th>Tests</th>
+ <th>Failures</th>
+ <th>Errors</th>
+ <th>Success rate</th>
+ <th>Time</th>
+ </tr>
+ <tr valign="top">
+ <xsl:attribute name="class">
+ <xsl:choose>
+ <xsl:when test="$failureCount > 0">Failure</xsl:when>
+ <xsl:when test="$errorCount > 0">Error</xsl:when>
+ </xsl:choose>
+ </xsl:attribute>
+ <td>
+ <xsl:value-of select="$testCount" />
+ </td>
+ <td>
+ <xsl:value-of select="$failureCount" />
+ </td>
+ <td>
+ <xsl:value-of select="$errorCount" />
+ </td>
+ <td>
+ <xsl:call-template name="display-percent">
+ <xsl:with-param
+ name="value"
+ select="$successRate" />
+ </xsl:call-template>
+ </td>
+ <td>
+ <xsl:call-template name="display-time">
+ <xsl:with-param
+ name="value"
+ select="$timeCount" />
+ </xsl:call-template>
+ </td>
+
+ </tr>
+ </table>
+ <table
+ border="0"
+ width="95%">
+ <tr>
+ <td style="text-align: justify;">
+ Note:
+ <i>failures</i>
+ are anticipated and checked for with assertions
+ while
+ <i>errors</i>
+ are unanticipated.
+ </td>
+ </tr>
+ </table>
+ </xsl:template>
+
+ <!--
+ Write properties into a JavaScript data structure.
+ This is based on the original idea by Erik Hatcher (erik@hatcher.net)
+ -->
+ <xsl:template match="properties">
+ cur = TestCases['
+ <xsl:value-of select="../@package" />
+ .
+ <xsl:value-of select="../@name" />
+ '] = new Array();
+ <xsl:for-each select="property">
+ <xsl:sort select="@name" />
+ cur['
+ <xsl:value-of select="@name" />
+ '] = '
+ <xsl:call-template name="JS-escape">
+ <xsl:with-param
+ name="string"
+ select="@value" />
+ </xsl:call-template>
+ ';
+ </xsl:for-each>
+ </xsl:template>
+
+ <!-- Page HEADER -->
+ <xsl:template name="pageHeader">
+ <h1>Unit Test Results</h1>
+ <table width="100%">
+ <tr>
+ <td align="left"></td>
+ <td align="right">
+ Designed for use with
+ <a href='http://www.junit.org'>JUnit</a>
+ and
+ <a href='http://jakarta.apache.org/ant'>Ant</a>
+ .
+ </td>
+ </tr>
+ </table>
+ <hr size="1" />
+ </xsl:template>
+
+ <xsl:template
+ match="testsuite"
+ mode="header">
+ <tr valign="top">
+ <th width="80%">Name</th>
+ <th>Tests</th>
+ <th>Errors</th>
+ <th>Failures</th>
+ <th nowrap="nowrap">Time(s)</th>
+ </tr>
+ </xsl:template>
+
+ <!-- class header -->
+ <xsl:template name="testsuite.test.header">
+ <tr valign="top">
+ <th width="80%">Name</th>
+ <th>Tests</th>
+ <th>Errors</th>
+ <th>Failures</th>
+ <th nowrap="nowrap">Time(s)</th>
+ </tr>
+ </xsl:template>
+
+ <!-- method header -->
+ <xsl:template name="testcase.test.header">
+ <tr valign="top">
+ <th>Name</th>
+ <th>Status</th>
+ <th width="80%">Type</th>
+ <th nowrap="nowrap">Time(s)</th>
+ </tr>
+ </xsl:template>
+
+
+ <!-- class information -->
+ <xsl:template
+ match="testsuite"
+ mode="print.test">
+ <tr valign="top">
+ <!-- set a nice color depending if there is an error/failure -->
+ <xsl:attribute name="class">
+ <xsl:choose>
+ <xsl:when test="@failures[.> 0]">Failure</xsl:when>
+ <xsl:when test="@errors[.> 0]">Error</xsl:when>
+ </xsl:choose>
+ </xsl:attribute>
+
+ <!-- print testsuite information -->
+ <td>
+ <a href="#{@name}">
+ <xsl:value-of select="@name" />
+ </a>
+ </td>
+ <td>
+ <xsl:value-of select="@tests" />
+ </td>
+ <td>
+ <xsl:value-of select="@errors" />
+ </td>
+ <td>
+ <xsl:value-of select="@failures" />
+ </td>
+ <td>
+ <xsl:call-template name="display-time">
+ <xsl:with-param
+ name="value"
+ select="@time" />
+ </xsl:call-template>
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template
+ match="testcase"
+ mode="print.test">
+ <tr valign="top">
+ <xsl:attribute name="class">
+ <xsl:choose>
+ <xsl:when test="failure | error">Error</xsl:when>
+ </xsl:choose>
+ </xsl:attribute>
+ <td>
+ <xsl:value-of select="@name" />
+ </td>
+ <xsl:choose>
+ <xsl:when test="failure">
+ <td>Failure</td>
+ <td>
+ <xsl:apply-templates select="failure" />
+ </td>
+ </xsl:when>
+ <xsl:when test="error">
+ <td>Error</td>
+ <td>
+ <xsl:apply-templates select="error" />
+ </td>
+ </xsl:when>
+ <xsl:otherwise>
+ <td>Success</td>
+ <td></td>
+ </xsl:otherwise>
+ </xsl:choose>
+ <td>
+ <xsl:call-template name="display-time">
+ <xsl:with-param
+ name="value"
+ select="@time" />
+ </xsl:call-template>
+ </td>
+ </tr>
+ </xsl:template>
+
+
+ <xsl:template match="failure">
+ <xsl:call-template name="display-failures" />
+ </xsl:template>
+
+ <xsl:template match="error">
+ <xsl:call-template name="display-failures" />
+ </xsl:template>
+
+ <!-- Style for the error and failure in the tescase template -->
+ <xsl:template name="display-failures">
+ <xsl:choose>
+ <xsl:when test="not(@message)">N/A</xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@message" />
+ </xsl:otherwise>
+ </xsl:choose>
+ <!-- display the stacktrace -->
+ <code>
+ <p />
+ <xsl:call-template name="br-replace">
+ <xsl:with-param
+ name="word"
+ select="." />
+ </xsl:call-template>
+ </code>
+ <!-- the later is better but might be problematic for non-21" monitors... -->
+ <!--pre><xsl:value-of select="."/></pre-->
+ </xsl:template>
+
+ <xsl:template name="JS-escape">
+ <xsl:param name="string" />
+ <xsl:choose>
+ <!-- something isn't right here, basically all single quotes need to be replaced with backslash-single-quote
+ <xsl:when test="contains($string,''')">
+ <xsl:value-of select="substring-before($string,''')"/>
+ \'
+ <xsl:call-template name="JS-escape">
+ <xsl:with-param name="string" select="substring-after($string,''')"/>
+ </xsl:call-template>
+ </xsl:when> -->
+ <xsl:when test="contains($string,'\')">
+ <xsl:value-of select="substring-before($string,'\')" />
+ \\
+ <xsl:call-template name="JS-escape">
+ <xsl:with-param
+ name="string"
+ select="substring-after($string,'\')" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$string" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+
+ <!--
+ template that will convert a carriage return into a br tag
+ @param word the text from which to convert CR to BR tag
+ -->
+ <xsl:template name="br-replace">
+ <xsl:param name="word" />
+ <xsl:choose>
+ <xsl:when test="contains($word,'
')">
+ <xsl:value-of select="substring-before($word,'
')" />
+ <br />
+ <xsl:call-template name="br-replace">
+ <xsl:with-param
+ name="word"
+ select="substring-after($word,'
')" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$word" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="display-time">
+ <xsl:param name="value" />
+ <xsl:value-of select="format-number($value,'0.000')" />
+ </xsl:template>
+
+ <xsl:template name="display-percent">
+ <xsl:param name="value" />
+ <xsl:value-of select="format-number($value,'0.00%')" />
+ </xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/releng.wtpbuilder/distribution/jaxws.tests/testScripts/test.xml b/releng.wtpbuilder/distribution/jaxws.tests/testScripts/test.xml
new file mode 100644
index 0000000..700eaf2
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.tests/testScripts/test.xml
@@ -0,0 +1,184 @@
+<project
+ name="Automated Eclipse Testing"
+ default="all"
+ basedir=".">
+ <property
+ environment="env" />
+
+ <!-- required to get proper value of dropinsFolder -->
+ <property name="keyCfgFile" value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg" />
+ <echo
+ level="debug"
+ message="keyCfgFile: ${keyCfgFile}" />
+ <property file="${keyCfgFile}" />
+
+ <echo
+ level="info"
+ message="starting Automated Eclipse Testing" />
+ <echo
+ level="debug"
+ message="basedir: ${basedir}" />
+ <echo
+ level="debug"
+ message="testRoot: ${testRoot}" />
+ <fail
+ message="testRoot must be set"
+ unless="testRoot" />
+
+ <!--properties file containing the build information-->
+ <property
+ file="${buildDirectory}/label.properties" />
+
+ <!--default directory where test-eclipse will be installed-->
+ <property
+ name="install"
+ value="${testRoot}" />
+
+ <!--name that can be added to report name to identify which platform tests results come from-->
+ <property
+ name="platform"
+ value="" />
+
+ <!-- The root of the eclipse installation -->
+ <property
+ name="eclipse-home"
+ value="${testRoot}${dropinsFolder}/eclipse/" />
+
+ <!-- The directory that will contain the xml and html results from the tests that are run -->
+ <property
+ name="results"
+ value="${testRoot}/results" />
+ <target
+ name="init">
+ <antcall
+ target="computePluginVersion" />
+ <property
+ file="${testRoot}/test2.properties" />
+ </target>
+ <target
+ name="runtests"
+ description="Runs ant on the test.xml for a specified plugin.">
+ <available
+ file="${eclipse-home}/plugins/${testPlugin}/test.xml"
+ property="test.xml.exists" />
+ <antcall
+ target="runtests2" />
+ </target>
+ <target
+ name="runtests2"
+ if="test.xml.exists">
+ <antcall
+ target="runtests-normal" />
+ <copy
+ file="${eclipse-home}/${report}.xml"
+ tofile="${results}/xml/${report}_${platform}.xml"
+ failonerror="false" />
+ <antcall
+ target="genHtml" />
+ </target>
+ <target
+ name="runtests-normal">
+ <ant
+ antfile="${eclipse-home}/plugins/${testPlugin}/test.xml"
+ dir="${eclipse-home}">
+ <property
+ name="library-file"
+ value="${testRoot}/wtp-junit-tests.xml" />
+ </ant>
+ <copy
+ file="${eclipse-home}/${report}.xml"
+ tofile="${results}/xml/${report}_${platform}.xml"
+ failonerror="false" />
+ <antcall
+ target="genHtml" />
+ </target>
+ <target
+ name="jaxws-tests"
+ depends="init">
+ <antcall
+ target="runtests">
+ <param
+ name="testPlugin"
+ value="${org.eclipse.jst.cfx.tests}" />
+ <param
+ name="report"
+ value="org.eclipse.jst.cfx.tests" />
+ </antcall>
+
+ </target>
+
+
+ <!-- releng Tests -->
+ <!--
+ <target
+ name="releng-tests"
+ depends="init"
+ description="Runs the releng tests.">
+ <antcall target="runtests">
+ <param
+ name="testPlugin"
+ value="${org.eclipse.wtp.releng.tests}" />
+ <param
+ name="report"
+ value="org.eclipse.wtp.releng.tests" />
+ </antcall>
+ </target>
+ -->
+ <target
+ name="all"
+ depends="init">
+ <echo
+ level="info"
+ message="Starting Unit Tests" />
+
+ <!--
+ <echo
+ level="info"
+ message="Starting releng tests" />
+ <antcall target="releng-tests" />
+ -->
+ <echo
+ level="info"
+ message="Starting jaxws tests" />
+ <antcall
+ target="jaxws-tests" />
+ <echo
+ level="info"
+ message="Ended Unit Tests" />
+ </target>
+ <target
+ name="genHtml"
+ description="Generates HTML results with provided JUNIT.XSL provided"
+ unless="genHtml.disable">
+ <xslt
+ style="JUNIT.XSL"
+ basedir="${results}/xml"
+ destdir="${results}/html" />
+ </target>
+ <target
+ name="computePluginVersion"
+ depends="test2properties"
+ unless="test2propertiesexists">
+ <java
+ classname="org.eclipse.wtp.releng.test.ComputePluginVersion">
+ <classpath>
+ <pathelement
+ location="ComputePluginVersion.jar" />
+ </classpath>
+ <arg
+ value="${eclipse-home}/plugins" />
+ <arg
+ value="${testRoot}/test2.properties" />
+ <jvmarg
+ value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}" />
+ </java>
+ </target>
+ <target
+ name="test2properties">
+ <condition
+ property="test2propertiesexists">
+ <available
+ file="${testRoot}/test2.properties" />
+ </condition>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/jaxws.tests/testScripts/wtp-junit-tests.xml b/releng.wtpbuilder/distribution/jaxws.tests/testScripts/wtp-junit-tests.xml
new file mode 100644
index 0000000..5108dad
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.tests/testScripts/wtp-junit-tests.xml
@@ -0,0 +1,317 @@
+<?xml version="1.0"?>
+<project
+ name="JUnit tests"
+ basedir=".">
+ <property
+ environment="env" />
+ <!-- required to get proper value of dropinsFolder -->
+ <property name="keyCfgFile" value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg" />
+ <echo
+ level="debug"
+ message="keyCfgFile: ${keyCfgFile}" />
+ <property file="${keyCfgFile}" />
+
+ <target
+ name="init">
+ <!--
+ Parameters:
+ (Mandatory)
+ data-dir - the workspace directory for Eclipse to write its data
+ plugin-name - symboic name of the plugin to test
+ testPlugin - directory name of plugin (with version suffix)
+ classname - the name of the test class
+
+ (Optional - overrides defaults set in script)
+ extraVMargs - allows separate setting of VM args from separate caller.
+ timeout - overrides default test timeout value (in milliseconds).
+ -->
+ <property
+ name="junit-report-output"
+ value="${testRoot}/results" />
+ <mkdir
+ dir="${junit-report-output}/raw" />
+
+
+ <!-- if not otherwise set, be sure extraVMargs is at least empty string -->
+ <property
+ name="extraVMargs"
+ value="" />
+
+ <!-- if not otherwise set, use a unique workspace name -->
+ <property
+ name="data-dir"
+ value="${testRoot}/junitworkspaces/workspace-${classname}" />
+ <property
+ name="testRoot"
+ value="${testRoot}" />
+ <property
+ name="timeout"
+ value="1800000" />
+ <property
+ name="junit-report-output"
+ value="${junit-report-output}" />
+ <property
+ name="plugin-path"
+ value="${testRoot}${dropinsFolder}/eclipse/plugins/${testPlugin}" />
+ <property
+ name="formatter"
+ value="org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter" />
+ <property
+ name="test-output"
+ value="${junit-report-output}/raw/${classname}.xml" />
+ <property
+ name="jvm"
+ value="${env.JAVA_6_HOME}/bin/java" />
+ <dirname
+ file="${ant.file}"
+ property="currentDir" />
+ <echo
+ level="debug"
+ message="data-dir: ${data-dir}" />
+ <echo
+ level="debug"
+ message="plugin-name: ${plugin-name}" />
+ <echo
+ level="debug"
+ message="testPlugin: ${testPlugin}" />
+ <echo
+ level="debug"
+ message="classname: ${classname}" />
+ <echo
+ level="debug"
+ message="extraVMargs: ${extraVMargs}" />
+ <echo
+ level="debug"
+ message="timeout: ${timeout}" />
+ <echo
+ level="debug"
+ message="testRoot: ${testRoot}" />
+ <echo
+ level="debug"
+ message="basedir: ${basedir}" />
+ <echo
+ level="debug"
+ message="eclipse-home: ${eclipse-home}" />
+ <echo
+ level="debug"
+ message="plugin-path: ${plugin-path}" />
+ <echo
+ level="debug"
+ message="junit-report-output: ${junit-report-output}" />
+ <echo
+ level="debug"
+ message="test-output: ${test-output}" />
+ <echo
+ level="debug"
+ message="buildDirectory: ${buildDirectory}" />
+ <echo
+ level="debug"
+ message="buildLabel: ${buildLabel}" />
+ <echo
+ level="debug"
+ message="jvm: ${jvm}" />
+ </target>
+ <target
+ name="core-test"
+ depends="init">
+ <echo
+ level="info"
+ message="test-type: core-test" />
+ <ant
+ antfile="${ant.file}"
+ dir="${currentDir}"
+ target="eclipse-test">
+ <property
+ name="application"
+ value="org.eclipse.test.coretestapplication" />
+ </ant>
+ </target>
+ <target
+ name="ui-test"
+ depends="init">
+ <echo
+ level="info"
+ message="test-type: ui-test" />
+ <ant
+ antfile="${ant.file}"
+ dir="${currentDir}"
+ target="eclipse-test">
+ <property
+ name="application"
+ value="org.eclipse.test.uitestapplication" />
+ </ant>
+ </target>
+ <target
+ name="eclipse-test"
+ description="Runs the specified classname as a plug-in test.">
+ <echo
+ level="info"
+ message="Running ${classname}" />
+ <echo
+ level="debug"
+ message="Result file: ${junit-report-output}/${classname}.xml." />
+ <echo
+ level="debug"
+ message="DISPLAY: ${env.DISPLAY}" />
+
+ <!-- If there is not exactly one launcher in the stack,
+ we'd best fail fast, since we are not expecting that,
+ and may indicate an installation that would produce unpredictable
+ results -->
+ <!-- requires ant 1.7, and at this point, we're running 1.6 from
+ eclipse ...
+
+ <condition property="expectedNumberOfLaunchers">
+ <resourcecount when="equal" count="1" >
+ <fileset dir="${testRoot}/eclipse/plugins">
+ <include name="org.eclipse.equinox.launcher_*.jar" />
+ </fileset>
+ </resourcecount>
+ </condition>
+ <fail message="Did not find expected number of launcher jars. Check installation." unless="expectedNumberOfLaunchers" />
+ -->
+ <java
+ taskname="suiteUnitTest"
+ fork="true"
+ resultProperty="suitejunitresult"
+ failonerror="false"
+ timeout="${timeout}"
+ dir="${testRoot}/eclipse"
+ jvm="${jvm}"
+ classname="org.eclipse.equinox.launcher.Main">
+ <classpath>
+ <fileset
+ dir="${testRoot}/eclipse/plugins">
+ <include
+ name="org.eclipse.equinox.launcher_*.jar" />
+ </fileset>
+ </classpath>
+ <jvmarg
+ value="-Xmx512m" />
+ <jvmarg
+ value="-Dosgi.ws=${env.BASEWS}" />
+ <jvmarg
+ value="-Dosgi.os=${env.BASEOS}" />
+ <jvmarg
+ value="-Dosgi.arch=${env.BASEARCH}" />
+ <jvmarg
+ value="-DbuildLabel=${buildLabel}" />
+ <jvmarg
+ value="-DbuildDirectory=${buildDirectory}" />
+ <jvmarg
+ value="-Djava.protocol.handler.pkgs=com.ibm.etools.www.protocol" />
+ <jvmarg
+ value="-DurlLogLocation=${buildDirectory}/outgoinghttplogfromtests.log" />
+ <jvmarg
+ value="-Dwtp.autotest.noninteractive=true" />
+ <jvmarg
+ value="-DPLUGIN_PATH=${plugin-path}" />
+ <jvmarg
+ line="${extraVMargs}" />
+ <jvmarg
+ value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}" />
+ <jvmarg
+ value="-Dprojectname=${projectname}" />
+ <arg
+ value="-nosplash" />
+ <arg
+ value="-consolelog" />
+ <arg
+ value="-debug" />
+ <arg
+ value="-data" />
+ <arg
+ value="${data-dir}" />
+ <arg
+ value="-application" />
+ <arg
+ value="${application}" />
+ <arg
+ value="formatter=${formatter},${test-output}" />
+ <arg
+ value="-testPluginName" />
+ <arg
+ value="${plugin-name}" />
+ <arg
+ value="-className" />
+ <arg
+ value="${classname}" />
+ <env
+ key="DISPLAY"
+ value="${env.DISPLAY}" />
+ <redirector
+ output="${junit-report-output}/${classname}.output.txt"
+ error="${junit-report-output}/${classname}.error.txt" />
+ </java>
+ <echo
+ level="info"
+ message="suitejunitresult: ${suitejunitresult}" />
+ <antcall
+ target="summarizeFailure" />
+ <antcall
+ target="collect-results" />
+ </target>
+ <target
+ name="collect-results">
+ <dirname
+ property="output-dir"
+ file="${test-output}" />
+ <basename
+ property="output-file-name"
+ file="${test-output}" />
+ <mkdir
+ dir="${junit-report-output}/xml" />
+ <junitreport
+ todir="${junit-report-output}/xml"
+ tofile="${classname}.xml">
+ <fileset
+ dir="${output-dir}">
+ <include
+ name="${output-file-name}" />
+ </fileset>
+ </junitreport>
+ <mkdir
+ dir="${junit-report-output}/html" />
+ <xslt
+ style="${testRoot}/JUNIT.XSL"
+ basedir="${junit-report-output}"
+ includes="${classname}.xml"
+ destdir="${junit-report-output}/html" />
+ <copy
+ file="${data-dir}/.metadata/.log"
+ toFile="${testRoot}/results/consolelogs/metadata-logs/${classname}.workspace.log"
+ overwrite="true"
+ failonError="false" />
+
+ <!-- todo: this, especially, should be concat (there could be more than one, in theory) -->
+ <copy
+ file="${testRoot}/eclipse/configuration/*.log"
+ toFile="${testRoot}/results/consolelogs/configuration-logs/${classname}.config.log"
+ overwrite="true"
+ failonError="false" />
+ </target>
+ <target
+ name="collect">
+ <!-- deprecated, each test.xml uses it, and we should remove, eventually -->
+ </target>
+ <target
+ name="summarizeFailure"
+ depends="checkFailure"
+ if="doFailure">
+ <echo
+ append="true"
+ file="${buildDirectory}/junitFailureList.log">${plugin-name}${line.separator}</echo>
+ </target>
+ <target
+ name="checkFailure">
+ <condition
+ property="doFailure">
+ <not>
+ <equals
+ arg1="${suitejunitresult}"
+ arg2="0"
+ trim="true" />
+ </not>
+ </condition>
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/jaxws.tests/testdependency.xml b/releng.wtpbuilder/distribution/jaxws.tests/testdependency.xml
new file mode 100644
index 0000000..39916b9
--- /dev/null
+++ b/releng.wtpbuilder/distribution/jaxws.tests/testdependency.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0"?>
+<!-- ======================================================================
+ Properties that must be passed to this script:
+ base.install.dir
+ dependencyTargets
+ local.cache.dir
+ dependency.properties
+
+ ====================================================================== -->
+<project
+ name="test"
+ default="get">
+ <property
+ environment="env" />
+<!-- required to get proper value of dropinsFolder -->
+<property name="keyCfgFile" value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg" />
+<echo
+ level="debug"
+ message="keyCfgFile: ${keyCfgFile}" />
+<property file="${keyCfgFile}" />
+ <target name="get">
+ <antcall target="getAndInstallDropins">
+ <param
+ name="groupId"
+ value="emf" />
+ </antcall>
+ <antcall target="getAndInstallDropins">
+ <param
+ name="groupId"
+ value="emfxsd" />
+ </antcall>
+ <antcall target="getAndInstallDropins">
+ <param
+ name="groupId"
+ value="gef" />
+ </antcall>
+
+
+ <antcall target="getAndInstallBase">
+ <param
+ name="groupId"
+ value="eclipse" />
+ </antcall>
+ <antcall target="getAndInstallDropins">
+ <param
+ name="groupId"
+ value="eclipseTestFramework" />
+ </antcall>
+ <antcall target="getAndInstallDropins">
+ <param
+ name="groupId"
+ value="wst" />
+ </antcall>
+
+ </target>
+
+
+ <target name="getAndInstallBase">
+ <ant
+ antfile="${dependencyTargets}"
+ target="checkDependency">
+ <property
+ name="groupId"
+ value="${groupId}" />
+ </ant>
+ <ant
+ antfile="${dependencyTargets}"
+ target="installDependency">
+ <property
+ name="groupId"
+ value="${groupId}" />
+ <property
+ name="install.destination"
+ value="${base.install.dir}" />
+ </ant>
+ </target>
+
+ <target name="getAndInstallDropins">
+ <ant
+ antfile="${dependencyTargets}"
+ target="checkDependency">
+ <property
+ name="groupId"
+ value="${groupId}" />
+ </ant>
+ <ant
+ antfile="${dependencyTargets}"
+ target="installDependency">
+ <property
+ name="groupId"
+ value="${groupId}" />
+ <property
+ name="install.destination"
+ value="${base.install.dir}${dropinsFolder}" />
+ </ant>
+ </target>
+
+
+
+
+</project>
+
diff --git a/releng.wtpbuilder/distribution/xmlsec.build/build.xml b/releng.wtpbuilder/distribution/xmlsec.build/build.xml
new file mode 100644
index 0000000..87fe089
--- /dev/null
+++ b/releng.wtpbuilder/distribution/xmlsec.build/build.xml
@@ -0,0 +1,83 @@
+<project
+ default="build"
+ basedir=".">
+ <fail
+ unless="wtp.builder.home"/>
+ <property
+ file="${wtp.builder.home}/build.properties"/>
+ <target
+ name="build"
+ depends="getBaseBuilder">
+ <dirname
+ file="${ant.file}"
+ property="distribution.wtp.build.dir"/>
+ <property
+ name="buildTargets"
+ value="${wtp.builder.home}/scripts/build/runbuild.xml"/>
+
+ <!-- for this distribution, dependencies come from project's releng map project-->
+ <property
+ name="dependency.properties"
+ value="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties"/>
+
+ <!-- calling label.xml to createg label.properties file -->
+ <ant
+ antfile="${wtp.builder.home}/scripts/build/label.xml"/>
+
+ <echo
+ level="info"
+ message="invoking buildTargets: ${buildTargets} to build for each component"/>
+
+ <ant
+ antfile="${buildTargets}">
+ <property
+ name="component"
+ value="xmlsec"/>
+ </ant>
+ <ant
+ antfile="${buildTargets}">
+ <property
+ name="component"
+ value="xmlsec_sdk"/>
+ </ant>
+ <ant
+ antfile="${buildTargets}">
+ <property
+ name="component"
+ value="xmlsec_tests"/>
+ <property
+ name="eclipseBuildFailOnError"
+ value="false"/>
+ </ant>
+
+ <!-- package -->
+ <antcall
+ target="package"/>
+ </target>
+
+ <!-- invoking runbuild.xml targetting getBaseBuilder -->
+ <target
+ name="getBaseBuilder"
+ if="eclipse.builder.fetch">
+ <dirname
+ file="${ant.file}"
+ property="wtbuilder.dir"/>
+ <property
+ name="buildTargets"
+ value="${wtp.builder.home}/scripts/build/runbuild.xml"/>
+ <echo
+ level="info"
+ message="invoking buildTargets: ${buildTargets} -> getBaseBuilder"/>
+ <ant
+ antfile="${buildTargets}"
+ target="getBaseBuilder"/>
+ </target>
+ <target
+ name="package">
+ <!--
+ post, post packaging, for WTP ... "manually" assemble the
+ desired zips
+ -->
+ <!-- nothing to assemble right now -->
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/xmlsec.site/build.xml b/releng.wtpbuilder/distribution/xmlsec.site/build.xml
new file mode 100644
index 0000000..7c7d077
--- /dev/null
+++ b/releng.wtpbuilder/distribution/xmlsec.site/build.xml
@@ -0,0 +1,126 @@
+<project
+ name="Build specific targets and properties"
+ default="build"
+ basedir=".">
+
+ <!-- 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 = = = -->
+
+ <echo message="ant.file: ${ant.file}" />
+ <target name="build">
+ <java
+ jar="${eclipse.launcher}"
+ fork="true"
+ failonerror="true">
+ <jvmarg value="-Dosgi.ws=${env.BASEWS}" />
+ <jvmarg value="-Dosgi.os=${env.BASEOS}" />
+ <jvmarg value="-Dosgi.arch=${env.BASEARCH}" />
+ <jvmarg value="-Dbuild.donottagmaps=${build.donottagmaps}" />
+ <jvmarg value="-DbuildBranch=${buildBranch}" />
+ <jvmarg value="-DbuildType=${buildType}" />
+ <jvmarg value="-DbuildId=${buildId}" />
+ <jvmarg value="-DmapVersionTag=${mapVersionTag}" />
+ <jvmarg value="-Dbuild.distribution=${build.distribution}" />
+ <jvmarg value="-DbuildDirectory=${buildDirectory}" />
+ <jvmarg value="-Dwtp.builder.home=${wtp.builder.home}" />
+ <jvmarg value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}" />
+ <jvmarg
+ value="-Dprojectname=${projectname}" />
+ <arg value="-data" />
+ <arg value="${basedir}/workspace" />
+ <arg value="-application" />
+ <arg value="org.eclipse.ant.core.antRunner" />
+ <arg value="-buildfile" />
+ <arg value="${ant.file}" />
+ <arg value="publish" />
+ </java>
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do to publish the build results -->
+ <!-- ===================================================================== -->
+ <target name="publish">
+ <dirname
+ file="${ant.file}"
+ property="component.dir" />
+ <ant antfile="${wtp.builder.home}/scripts/build/label.xml" />
+ <property file="${buildDirectory}/label.properties" />
+
+ <property
+ name="publish.xml"
+ value="${component.dir}/publish.xml" />
+
+ <property
+ name="indexFileName"
+ value="index.php" />
+ <property
+ name="result"
+ value="${buildDirectory}/${buildLabel}" />
+ <property
+ name="indexTemplateFilename"
+ value="index.html.template.php" />
+
+ <copy
+ file="${wtp.builder.home}/distribution/wtp.site/templateFiles/${indexTemplateFilename}"
+ tofile="${buildDirectory}/${indexFileName}" />
+
+ <condition
+ property="isBuildTested"
+ value="true">
+ <available
+ file="${buildDirectory}/${buildLabel}/testResults/html" />
+ </condition>
+
+ <ant
+ antfile="${publish.xml}"
+ dir="${component.dir}">
+ <property
+ name="dropTokenList"
+ value="%wtpruntime%,%wtpsdk%,%wtptest%,%wst%,%wst-sdk%,%wst-tests%,%jst-tests%,%wst-perf-tests%,%jst-perf-tests%,%jpt-runtime%,%jpt-sdk%,%jpt-tests%" />
+ <property
+ name="webtoolsDownloadURL"
+ value="http://www.eclipse.org/downloads/download.php?file=/webtools/committers/drops" />
+
+ <property
+ name="buildBranch"
+ value="${buildBranch}" />
+ <property
+ name="isBuildTested"
+ value="${isBuildTested}" />
+ <property
+ name="indexTemplateFilename"
+ value="${indexTemplateFilename}" />
+ </ant>
+
+ <!-- Get the build map over for the results to point to. -->
+ <copy
+ file="${buildDirectory}/directory.txt"
+ tofile="${result}/directory.txt" />
+
+ <!-- Copy info for build identification -->
+ <copy
+ file="${buildDirectory}/buildmachineinfo.properties"
+ tofile="${result}/buildmachineinfo.properties" />
+
+ <!-- final count files -->
+ <countBuildFiles
+ sourceDirectory="${buildDirectory}/${buildLabel}"
+ filterString=".zip,.tar.gz"
+ outputFile="${buildDirectory}/${buildLabel}/files.count" />
+
+ </target>
+
+
+</project>
diff --git a/releng.wtpbuilder/distribution/xmlsec.site/compilerXMLOutputToHTML.xsl b/releng.wtpbuilder/distribution/xmlsec.site/compilerXMLOutputToHTML.xsl
new file mode 100644
index 0000000..4f6809e
--- /dev/null
+++ b/releng.wtpbuilder/distribution/xmlsec.site/compilerXMLOutputToHTML.xsl
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet
+ version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+ <xsl:output
+ method="html"
+ indent="yes" />
+
+ <xsl:template match="/">
+ <html>
+ <body>
+ <xsl:apply-templates select="compiler" />
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="compiler">
+ <h2>Compiler Report</h2>
+ <p>
+ Compiler:
+ <xsl:value-of select="@name" />
+ <xsl:text> </xsl:text>
+ Version:
+ <xsl:value-of select="@version" />
+ </p>
+
+ <xsl:apply-templates select="stats" />
+
+ <xsl:apply-templates select="sources" />
+ </xsl:template>
+
+ <xsl:template
+ name="stats"
+ match="stats">
+
+ <p>
+ Number of source files:
+ <xsl:value-of select="count(..//source)" />
+ Number of classfiles:
+ <xsl:value-of select="number_of_classfiles/@value" />
+ </p>
+ <p>
+ Problems:
+ <xsl:value-of select="problem_summary/@problems" />
+ (Errors:
+ <xsl:value-of select="problem_summary/@errors" />
+ Warnings:
+ <xsl:value-of select="problem_summary/@warnings" />
+ )
+ </p>
+ </xsl:template>
+
+
+ <xsl:template
+ name="sources"
+ match="sources">
+
+ <xsl:if test="count(source) > 0">
+
+ <dl>
+ <xsl:for-each select="source">
+
+ <xsl:variable
+ name="package"
+ select="normalize-space(@package)">
+ </xsl:variable>
+ <xsl:variable
+ name="path"
+ select="normalize-space(@path)">
+ </xsl:variable>
+ <xsl:variable
+ name="classname"
+ select="substring-after($path, $package)">
+ </xsl:variable>
+ <xsl:if test="count(problems) > 0">
+ <dt style="font-weight: bold; color: black">
+ Source File:
+ <xsl:value-of select="$package" />
+ <xsl:value-of select="$classname" />
+ </dt>
+ <xsl:apply-templates select="problems">
+ <xsl:with-param name="classname">
+ <xsl:value-of select="$classname" />
+ </xsl:with-param>
+ </xsl:apply-templates>
+ </xsl:if>
+ </xsl:for-each>
+ </dl>
+
+ </xsl:if>
+
+ </xsl:template>
+
+ <xsl:template match="problems">
+ <xsl:param name="classname" />
+ <xsl:for-each select="problem">
+
+ <dd style="font-weight: normal; color: black">
+ <xsl:value-of select="position()" />
+ <xsl:text>. </xsl:text>
+ <xsl:value-of select="@severity" />
+ <xsl:text>: </xsl:text>
+ <xsl:value-of select="@id" />
+ <xsl:variable
+ name="lineNumber"
+ select="@line">
+ </xsl:variable>
+ <xsl:for-each select="message">
+ <p
+ style="margin-left: +.5in; font-size: -1; margin-top: 0;margin-bottom:0;">
+ <small>
+ <xsl:value-of select="@value" />
+ </small>
+ </p>
+ </xsl:for-each>
+ <xsl:for-each select="source_context">
+ <xsl:variable
+ name="pre"
+ select="substring(@value,0,(@sourceStart + 1))">
+ </xsl:variable>
+ <xsl:variable
+ name="main"
+ select="substring(@value,(@sourceStart + 1),(((@sourceEnd + 1) - (@sourceStart + 1)) + 1))">
+ </xsl:variable>
+ <xsl:variable
+ name="end"
+ select="substring(@value,(@sourceEnd + 2))">
+ </xsl:variable>
+
+ <p
+ style="margin-left: +.5in; font-size: -2; margin-top: 0;margin-bottom:0;">
+ <xsl:value-of select="substring($classname,2)" />
+ :
+ </p>
+ <p
+ style="margin-left: +.5in; font-size: -2;font-family: monospace; margin-top: 0;margin-bottom:0;">
+ <xsl:value-of select="$lineNumber" />
+ :
+ <xsl:value-of select="$pre" />
+ <b>
+ <u>
+ <xsl:value-of select="$main" />
+ </u>
+ </b>
+ <xsl:value-of select="$end" />
+ </p>
+ </xsl:for-each>
+ </dd>
+ </xsl:for-each>
+
+
+ </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/xmlsec.site/publish.xml b/releng.wtpbuilder/distribution/xmlsec.site/publish.xml
new file mode 100644
index 0000000..5f6697c
--- /dev/null
+++ b/releng.wtpbuilder/distribution/xmlsec.site/publish.xml
@@ -0,0 +1,548 @@
+<project
+ name="Publish Build"
+ default="default"
+ basedir=".">
+
+ <!-- Properties that must be passed to this script:
+ buildDirectory: Path to perform the build in. (A working directory)
+ buildType: Type of build (nightly, integration etc.)
+ buildId: Build name
+ buildLabel: <buildType>-<buildName>-<timestamp>
+ -->
+
+ <property environment="env" />
+
+ <property
+ name="resultDir"
+ value="${buildDirectory}/${buildLabel}" />
+ <!--name of generated index page-->
+ <property
+ name="indexFileName"
+ value="index.php" />
+ <property
+ name="templateDir"
+ value="${wtp.builder.home}/distribution/${build.distribution}.site" />
+ <property
+ name="resultingIndex"
+ value="${resultDir}/${indexFileName}" />
+ <echo
+ level="debug"
+ message="resultDir: ${resultDir}" />
+ <echo
+ level="debug"
+ message="templateDir: ${templateDir}" />
+ <echo
+ level="debug"
+ message="resultingIndex: ${resultingIndex}" />
+
+
+
+ <target name="default">
+ <copy
+ overwrite="true"
+ file="${wtp.builder.home}/distribution/${build.distribution}.site/templateFiles/${indexTemplateFilename}"
+ tofile="${resultingIndex}" />
+ <antcall target="countFiles" />
+ <antcall target="generateCompileIndex" />
+ <antcall target="generateJUnitTestsIndex" />
+ <antcall target="getStaticFiles" />
+ </target>
+
+ <target name="generateCompileIndex">
+
+
+ <!--
+ <taskdef name="indexResults" classname="org.eclipse.wtp.releng.tools.ResultsSummaryGenerator" />
+ -->
+
+ <!--
+ isBuildTested: true|false should JUnit plugin test results be used to generate index page
+ dropTokenList: comma separated list of strings which should be replaced by the fileName attribute settings in the testManifest.xml.
+ xmlDirectoryName: path to directory containing JUnit plugin test results in xml format (see doc is org.eclipse.test).
+ dropDirectoryName: path to directory containing the result of the build.
+ testResultsTemplateFileName: path to template file used to generate page with links to JUnit test results
+ testResultsHtmlFileName: name of file which will be generated with links to JUnit test results
+ dropHtmlFileName: name of generated index page
+ hrefTestResultsTargetPath: relative path from index page to directory containing JUnit html test results
+ hrefCompileLogsTargetPath: relative path from index page directory containing compilelogs
+ testManifestFileName: name of xml file containing descriptions of zip types and log files
+
+
+
+ -->
+ <property
+ file="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties" />
+
+ <!-- create tables of test plugin compiles first -->
+ <antcall
+ target="generateCompileOutput">
+ <param
+ name="outputDirectory"
+ value="${resultDir}/testcompilelogs" />
+ </antcall>
+
+ <!-- create table of code plugins compiles -->
+ <summarizeResults
+ isBuildTested="false"
+ includeAll="true"
+ dropTokenList="${dropTokenList}"
+ xmlDirectoryName=""
+ dropDirectoryName="${resultDir}"
+ testResultsTemplateFileName="${templateDir}/templateFiles/compileResults.php.template"
+ testResultsHtmlFileName="compileResults.php"
+ hrefTestResultsTargetPath="testResults/html"
+ hrefCompileLogsTargetPath="compilelogs"
+ compileLogsDirectoryName="${resultDir}/compilelogs" />
+ <xslt
+ basedir="${resultDir}/compilelogs"
+ destdir="${resultDir}/compilelogs"
+ includes="**/*.bin.xml"
+ scanincludeddirectories="true"
+ style="compilerXMLOutputToHTML.xsl"
+ force="true" />
+ <tstamp>
+ <format
+ property="TODAY"
+ pattern="MMMM d, yyyy" />
+ </tstamp>
+
+ <!-- Insert Build Type descriptor -->
+ <antcall
+ target="${buildType}" />
+ <antcall
+ target="writeData" />
+
+ <!-- Update timestamp on file to permit overwrite through Ant copy task -->
+ <touch
+ file="${resultingIndex}" />
+ </target>
+ <target
+ name="generateCompileOutput"
+ depends="checkIfCompileLogs"
+ if="doCompileLogs">
+ <summarizeResults
+ isBuildTested="false"
+ includeAll="true"
+ dropTokenList="${dropTokenList}"
+ xmlDirectoryName=""
+ dropDirectoryName="${resultDir}"
+ testResultsTemplateFileName="${templateDir}/templateFiles/testCompileResults.php.template"
+ testResultsHtmlFileName="testCompileResults.php"
+ hrefTestResultsTargetPath=""
+ hrefCompileLogsTargetPath="testcompilelogs"
+ compileLogsDirectoryName="${outputDirectory}" />
+ <xslt
+ basedir="${outputDirectory}"
+ destdir="${outputDirectory}"
+ includes="**/*.bin.xml"
+ scanincludeddirectories="true"
+ style="compilerXMLOutputToHTML.xsl"
+ force="true" />
+ </target>
+ <target
+ name="generateJUnitTestsIndex"
+ depends="checkIfTested"
+ if="doTests">
+
+ <!--
+ isBuildTested: true|false should JUnit plugin test results be used to generate index page
+ dropTokenList: comma separated list of strings which should be replaced by the fileName attribute settings in the testManifest.xml.
+ xmlDirectoryName: path to directory containing JUnit plugin test results in xml format (see doc is org.eclipse.test).
+ dropDirectoryName: path to directory containing the result of the build.
+ testResultsTemplateFileName: path to template file used to generate page with links to JUnit test results
+ testResultsHtmlFileName: name of file which will be generated with links to JUnit test results
+ dropHtmlFileName: name of generated index page
+ hrefTestResultsTargetPath: relative path from index page to directory containing JUnit html test results
+ hrefCompileLogsTargetPath: relative path from index page directory containing compilelogs
+ testManifestFileName: name of xml file containing descriptions of zip types and log files
+
+
+
+ -->
+ <property
+ file="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties" />
+
+ <!-- create table of test plugin compiles first -->
+ <!-- set isBuildTested to true for the "compile only" results -->
+ <summarizeResults
+ isBuildTested="true"
+ dropTokenList="${dropTokenList}"
+ dropDirectoryName="${resultDir}"
+ xmlDirectoryName="${resultDir}/testResults/xml"
+ testResultsTemplateFileName="${templateDir}/templateFiles/testResults.php.template"
+ testResultsHtmlFileName="testResults.php"
+ hrefTestResultsTargetPath="testResults/html"
+ compileLogsDirectoryName="" />
+ <tstamp>
+ <format
+ property="TODAY"
+ pattern="MMMM d, yyyy" />
+ </tstamp>
+
+ <!-- Insert Build Type descriptor -->
+ <antcall
+ target="${buildType}" />
+ <antcall
+ target="writeData" />
+
+ <!-- Update timestamp on file to permit overwrite through Ant copy task -->
+ <touch
+ file="${resultingIndex}" />
+ </target>
+ <target
+ name="getStaticFiles">
+ <!--get static files required in the buildLabel directory-->
+ <copy
+ todir="${resultDir}">
+ <fileset
+ dir="${templateDir}/staticDropFiles" />
+ </copy>
+
+ <!--copy buildnotes from plugin directories-->
+ <mkdir
+ dir="${resultDir}/buildnotes" />
+ <copy
+ todir="${resultDir}/buildnotes"
+ flatten="true">
+ <fileset
+ dir="${buildDirectory}/plugins"
+ includes="**/buildnotes_*.html" />
+ <fileset
+ dir="${buildDirectory}/features"
+ includes="**/buildnotes_*.html" />
+ </copy>
+ <copy
+ file="${templateDir}/staticDropFiles/logIndex.php"
+ tofile="${resultDir}/testResults/consolelogs/full/logIndex.php" />
+ <copy
+ file="${templateDir}/staticDropFiles/logIndex.php"
+ tofile="${resultDir}/testResults/consolelogs/testLogs/logIndex.php" />
+ <copy
+ file="${templateDir}/staticDropFiles/logIndex.php"
+ tofile="${resultDir}/testResults/consolelogs/testSysErrorLogs/logIndex.php" />
+ </target>
+ <target
+ name="updateSite">
+
+
+ <!-- get our authored, tokenized site.xml file -->
+ <copy
+ file="${wtp.builder.home}/distribution/${build.distribution}.site/templateFiles/siteWTP.xml"
+ tofile="${buildDirectory}/${buildLabel}/updateSite/site.xml"
+ overwrite="true"
+ failonerror="true" />
+ <!-- get the ${buildDirectory}/finalPluginsVersions.properties, and
+ read as properties -->
+ <!-- substitute property value for tokens -->
+ <replace
+ file="${buildDirectory}/${buildLabel}/updateSite/site.xml"
+ propertyfile="${buildDirectory}/finalFeaturesVersions.properties">
+ <replacefilter
+ token="@org.eclipse.wst@"
+ property="org.eclipse.wst" />
+ <replacefilter
+ token="@org.eclipse.wst.sdk@"
+ property="org.eclipse.wst.sdk" />
+ <replacefilter
+ token="@org.eclipse.jst@"
+ property="org.eclipse.jst" />
+ <replacefilter
+ token="@org.eclipse.jst.sdk@"
+ property="org.eclipse.jst.sdk" />
+ <replacefilter
+ token="@org.eclipse.jpt.feature@"
+ property="org.eclipse.jpt.feature" />
+ <replacefilter
+ token="@org.eclipse.jpt_sdk.feature@"
+ property="org.eclipse.jpt_sdk.feature" />
+ </replace>
+ </target>
+ <target
+ name="countFiles">
+ <!--
+ files.count is a file that should exist in the drop directory with a count of the zip files in the same directory.
+ It is required to generate a link to the build on the downloads page.
+ -->
+ <countBuildFiles
+ sourceDirectory="${resultDir}"
+ filterString=".zip,.tar.gz"
+ outputFile="${resultDir}/files.count" />
+ </target>
+
+ <!--Build type descriptors-->
+ <target
+ name="I">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Integration" />
+ </target>
+ <target
+ name="S">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Stable" />
+ </target>
+ <target
+ name="N">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Nightly" />
+ </target>
+ <target
+ name="M">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Maintenance" />
+ </target>
+ <target
+ name="R">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Release" />
+ </target>
+ <target
+ name="T">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Test" />
+ </target>
+ <target
+ name="P">
+ <replace
+ file="${resultingIndex}"
+ token="%wtpandprereqs%"
+ value=" " />
+ <replace
+ file="${resultingIndex}"
+ token="@type@"
+ value="Patches" />
+ </target>
+ <target
+ name="checkIfTested">
+ <echo
+ level="debug"
+ message="isBuildTested: ${isBuildTested}" />
+ <condition
+ property="doTests">
+ <equals
+ arg1="${isBuildTested}"
+ arg2="true"
+ trim="true"
+ casesensitive="false" />
+ </condition>
+ </target>
+ <target
+ name="checkIfCompileLogs">
+ <condition
+ property="doCompileLogs">
+ <available
+ file="${outputDirectory}" />
+ </condition>
+ </target>
+ <target
+ name="writeData">
+ <!-- Insert Build Date -->
+ <replace
+ file="${resultingIndex}"
+ token="@date@"
+ value="${TODAY}" />
+
+ <!-- Insert Build Name -->
+ <replace
+ file="${resultingIndex}"
+ token="@build@"
+ value="${buildLabel}" />
+ <replace
+ file="${resultingIndex}"
+ token="@buildBranch@"
+ value="${buildBranch}" />
+
+ <!-- Insert PreRequsites -->
+ <replace
+ file="${resultingIndex}"
+ token="@eclipseFile@"
+ value="${eclipse.file.linux-gtk-x86}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipseURL@"
+ value="${eclipse.url}/${eclipse.file.linux-gtk-x86}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipseBuildURL@"
+ value="${eclipse.url}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipsefilelinux@"
+ value="${eclipse.file.linux-gtk-x86}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipsefilewindows@"
+ value="${eclipse.file.win32-win32-x86}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipsefilemacos@"
+ value="${eclipse.file.macosx-carbon-ppc}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipseBuildHome@"
+ value="${eclipse.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipse.mirror.prefixuri@"
+ value="${eclipse.mirror.prefixuri}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipse.fspath.prefix@"
+ value="${eclipse.fspath.prefix}" />
+ <replace
+ file="${resultingIndex}"
+ token="@testURL@"
+ value="${eclipseTestFramework.url}/${eclipseTestFramework.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@testFile@"
+ value="${eclipseTestFramework.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@emfFile@"
+ value="${emf.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@emfURL@"
+ value="${emf.url}/${emf.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@emfBuildHome@"
+ value="${emf.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@emf.mirror.prefixuri@"
+ value="${emf.mirror.prefixuri}" />
+ <replace
+ file="${resultingIndex}"
+ token="@wstFile@"
+ value="${wst.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@wstURL@"
+ value="${wst.url}/${wst.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@wstBuildHome@"
+ value="${wst.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@wst.mirror.prefixuri@"
+ value="${wst.mirror.prefixuri}" />
+ <replace
+ file="${resultingIndex}"
+ token="@gefFile@"
+ value="${gef.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@gefURL@"
+ value="${gef.url}/${gef.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@gefBuildHome@"
+ value="${gef.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@gef.mirror.prefixuri@"
+ value="${gef.mirror.prefixuri}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipserelengFile@"
+ value="${eclipsereleng.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@eclipserelengURL@"
+ value="${eclipsereleng.url}/${eclipsereleng.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@orbitthirdpartyzipFile@"
+ value="${orbitthirdpartyzip.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@orbitthirdpartyzipURL@"
+ value="${orbitthirdpartyzip.url}/${orbitthirdpartyzip.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@orbitthirdpartyzipBuildHome@"
+ value="${orbitthirdpartyzip.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@orbitthirdpartyzip.mirror.prefixuri@"
+ value="${orbitthirdpartyzip.mirror.prefixuri}" />
+
+
+ <!-- no longer used. Post 1.5.5 -->
+ <replace
+ file="${resultingIndex}"
+ token="@jemFile@"
+ value="${jem.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@jemURL@"
+ value="${jem.url}/${jem.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@jemBuildHome@"
+ value="${jem.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@jem.mirror.prefixuri@"
+ value="${jem.mirror.prefixuri}" />
+ <!--
+ these token/s should not exist in maintenance stream, but
+ do no harm done, so in the interests of keeping builder
+ streams in sync, we'll leave them here as place hold
+ -->
+ <replace
+ file="${resultingIndex}"
+ token="@dtpFile@"
+ value="${dtp.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@dtpURL@"
+ value="${dtp.url}/${dtp.file}" />
+ <replace
+ file="${resultingIndex}"
+ token="@dtpBuildHome@"
+ value="${dtp.build.home}" />
+ <replace
+ file="${resultingIndex}"
+ token="@dtp.mirror.prefixuri@"
+ value="${dtp.mirror.prefixuri}" />
+ </target>
+</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/buildNotes.php b/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/buildNotes.php
new file mode 100644
index 0000000..e843ecf
--- /dev/null
+++ b/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/buildNotes.php
@@ -0,0 +1,63 @@
+<html>
+<head>
+<?php
+$parts = explode("/", getcwd());
+$parts2 = explode("-", $parts[count($parts) - 1]);
+$buildName = $parts2[1];
+
+echo "<title>Build Notes for $buildName </title>";
+?>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
+ type="text/css">
+</head>
+<body>
+
+<p><b><font face="Verdana" size="+3">Build Notes</font></b></p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%">
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font
+ color="#FFFFFF" face="Arial,Helvetica"> Build Notes for <?php echo "$buildName"; ?></font></b></td>
+ </tr>
+</table>
+<table border="0">
+
+<?php
+$hasNotes = false;
+$aDirectory = dir("buildnotes");
+while ($anEntry = $aDirectory->read()) {
+ if ($anEntry != "." && $anEntry != "..") {
+ //print_r($anEntry);
+ //echo "<br />";
+
+ $subject = $anEntry;
+ $pattern = '/^buildnotes_(.*)/i';
+ preg_match($pattern, $subject, $matches);
+ $subject = $matches[1];
+ //print_r($subject);
+ //echo "<br />";
+ $pattern = '/^(.*)\.html$/';
+ preg_match($pattern, $subject, $matches);
+ //print_r($matches);
+ //echo "<br />";
+
+ $component = $matches[1];
+
+ $line = "<td>Component: <a href=\"buildnotes/$anEntry\">$component</a></td>";
+ echo "<tr>";
+ echo "$line";
+ echo "</tr>";
+ $hasNotes = true;
+
+ }
+}
+$aDirectory.closedir();
+if (!$hasNotes) {
+ echo "<br>There are no build notes for this build.";
+}
+?>
+
+</table>
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/consoleLogs.php b/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/consoleLogs.php
new file mode 100644
index 0000000..7dd5f42
--- /dev/null
+++ b/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/consoleLogs.php
@@ -0,0 +1,94 @@
+<html>
+<head>
+<?php
+$parts = explode("/", getcwd());
+$parts2 = explode("-", $parts[count($parts) - 1]);
+$buildName = $parts2[1];
+
+echo "<title>Test Console Output for $buildName </title>";
+?>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
+ type="text/css">
+<title>Console Logs from Running JUnit Plug-in Tests</title>
+</head>
+<body>
+
+<p><b><font face="Verdana" size="+3">Test Console Output</font></b></p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%">
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font
+ color="#FFFFFF" face="Arial,Helvetica">Console output from running
+ JUnit plugin tests for <?php echo "$buildName"; ?> </font></b></td>
+ </tr>
+</table>
+<table border="0">
+
+<?php
+$rootDir = "testResults/consolelogs";
+$hasNotes = false;
+$aDirectory = dir($rootDir);
+$index = 0;
+$dirindex = 0;
+while ($anEntry = $aDirectory->read()) {
+ if ($anEntry != "." && $anEntry != "..") {
+ if (is_file("$rootDir/$anEntry")) {
+ $entries[$index] = $anEntry;
+ $index++;
+ } else if (is_dir("$rootDir/$anEntry")) {
+ $direntries[$dirindex] = $anEntry;
+ $dirindex++;
+ }
+ }
+}
+$aDirectory->close();
+
+
+sort($entries);
+sort($direntries);
+
+for ($i = 0; $i < $dirindex; $i++) {
+ $anEntry = $direntries[$i];
+ $line = "<td><a href=\"testResults/consolelogs/$anEntry/logIndex.php\">$anEntry</a></td>";
+ echo "<tr>";
+ echo "$line";
+ echo "</tr>";
+}
+for ($i = 0; $i < $index; $i++) {
+ $anEntry = $entries[$i];
+ $logsize = filesize("testResults/consolelogs/$anEntry");
+
+
+ $level = 0;
+ if ($logsize > 20000) {
+ $level = 2;
+ }
+ else if ($logsize > 2000) {
+ $level = 1;
+ }
+
+ if ($level == 0) {
+ $line = "<td><a href=\"testResults/consolelogs/$anEntry\">$anEntry</a> ($logsize bytes)</td>";
+ }
+ else if ($level == 1) {
+ $line = "<td><em><a href=\"testResults/consolelogs/$anEntry\">$anEntry</a> ($logsize bytes)</em></td>";
+ } else if ($level == 2) {
+ $line = "<td><strong><a href=\"testResults/consolelogs/$anEntry\">$anEntry</a> ($logsize bytes)</strong></td>";
+ }
+
+
+ echo "<tr>";
+ echo "$line";
+ echo "</tr>";
+ $hasNotes = true;
+}
+
+if (!$hasNotes) {
+ echo "<br>There are no test logs for this build.";
+}
+?>
+
+</table>
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/logIndex.php b/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/logIndex.php
new file mode 100644
index 0000000..0b36334
--- /dev/null
+++ b/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/logIndex.php
@@ -0,0 +1,84 @@
+<html>
+<head>
+<?php
+
+function endsWith( $str, $sub ) {
+
+ return ( substr( $str, strlen( $str ) - strlen( $sub ) ) === $sub );
+}
+
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ echo "<title>Test Console Output for $buildName </title>";
+?>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+<title>Console Logs from Running JUnit Plug-in Tests</title></head>
+<body>
+
+<p><b><font face="Verdana" size="+3">Test Console Output</font></b> </p>
+
+<table border=0 cellspacing=5 cellpadding=2 width="100%" >
+ <tr>
+ <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Console
+ output from running JUnit plugin tests for
+ <?php echo "$buildName"; ?>
+ </font></b></td>
+ </tr>
+</table>
+<table border="0">
+
+<?php
+ $hasNotes = false;
+ $aDirectory = dir(".");
+ $index = 0;
+ while ($anEntry = $aDirectory->read()) {
+ if ($anEntry != "." && $anEntry != ".." && !endsWith(__FILE__, $anEntry)) {
+ $entries[$index] = $anEntry;
+ $index++;
+ }
+ }
+ aDirectory.closedir();
+
+
+ sort($entries);
+
+ for ($i = 0; $i < $index; $i++) {
+ $anEntry = $entries[$i];
+ $logsize = filesize("$anEntry");
+
+
+ $level = 0;
+ if ($logsize > 20000) {
+ $level = 2;
+ }
+ else if ($logsize > 2000) {
+ $level = 1;
+ }
+
+ if ($level == 0) {
+ $line = "<td><a href=\"$anEntry\">$anEntry</a> ($logsize bytes)</td>";
+ }
+ else if ($level == 1) {
+ $line = "<td><em><a href=\"$anEntry\">$anEntry</a> ($logsize bytes)</em></td>";
+ } else if ($level == 2) {
+ $line = "<td><strong><a href=\"$anEntry\">$anEntry</a> ($logsize bytes)</strong></td>";
+ }
+
+
+ echo "<tr>";
+ echo "$line";
+ echo "</tr>";
+ $hasNotes = true;
+ }
+
+ if (!$hasNotes) {
+ echo "<br>There are no test logs for this build.";
+ }
+?>
+
+</table>
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/miscUtil.php b/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/miscUtil.php
new file mode 100644
index 0000000..c83bdf6
--- /dev/null
+++ b/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/miscUtil.php
@@ -0,0 +1,214 @@
+<?php
+
+// todo: unsure if can handle filenames that are URLs?
+// handy constant to compute file size in megabytes
+
+function fileSizeInMegs($filename) {
+ $onemeg=1024*1024;
+ $zipfilesize=filesize($filename);
+ $zipfilesize=round($zipfilesize/$onemeg, 0);
+ return $zipfilesize;
+}
+
+function fileSizeForDisplay($filename) {
+ $onekilo=1024;
+ $onemeg=$onekilo * $onekilo;
+ $criteria = 10 * $onemeg;
+ $scaleChar = "M";
+ $zipfilesize=filesize($filename);
+ if ($zipfilesize > $criteria) {
+ $zipfilesize=round($zipfilesize/$onemeg, 0);
+ $scaleChar = "M";
+ }
+ else {
+ $zipfilesize=round($zipfilesize/$onekilo, 0);
+ $scaleChar = "K";
+ }
+ $result = "(" . $zipfilesize . $scaleChar . ")";
+ return $result;
+}
+
+
+function displayFileLine($downloadprefix, $filename, $zipfilesize, $fileShortDescription) {
+ echo "<td align=\"right\" valign=\"top\" width=\"30%\">";
+ echo "<a href=\"$downloadprefix$filename\">" . $fileShortDescription . "</a>";
+ echo "</td><td align=\"right\" valign=\"top\" width=\"3%\">";
+ echo $zipfilesize;
+ echo "</td>";
+ echo "<td align=\"right\" valign=\"top\" width=\"2%\">";
+ echo "[<a href=\"checksum/$filename.md5\">md5</a>]";
+ echo "</td>";
+}
+
+function resourceExist($url, $mirrorPrefixuri, $prereqfilename, $eclipseFSpathPrefix)
+{
+ $result = false;
+
+ $allowURLopen = ini_get('allow_url_fopen');
+
+ if ($allowURLopen && stream_last_modified($url)) {
+ $result = true;
+ }
+ else {
+ // TODO: for now, we'll do a raw check on the whole file name, since enable_url_open
+ // is off. better would be to check if we are on build.eclipse.org or download.eclipse.org?
+ $wholePath = trim($eclipseFSpathPrefix) . "/" . trim($mirrorPrefixuri) . "/" . trim($prereqfilename);
+ if (file_exists($wholePath)) {
+ $result = true;
+ }
+ }
+ return $result;
+}
+
+function stream_last_modified($url)
+{
+ if (function_exists('version_compare') && version_compare(phpversion(), '4.3.0') > 0)
+ {
+ if (!($fp = @fopen($url, 'r')))
+ return NULL;
+
+ $meta = stream_get_meta_data($fp);
+ for ($j = 0; isset($meta['wrapper_data'][$j]); $j++)
+ {
+ if (strstr(strtolower($meta['wrapper_data'][$j]), 'last-modified'))
+ {
+ $modtime = substr($meta['wrapper_data'][$j], 15);
+ break;
+ }
+ }
+ fclose($fp);
+ }
+ else
+ {
+ $parts = parse_url($url);
+ $host = $parts['host'];
+ $path = $parts['path'];
+
+ if (!($fp = @fsockopen($host, 80)))
+ return NULL;
+
+ $req = "HEAD $path HTTP/1.0\r\nUser-Agent: PHP/".phpversion()."\r\nHost: $host:80\r\nAccept: */*\r\n\r\n";
+ fputs($fp, $req);
+
+ while (!feof($fp))
+ {
+ $str = fgets($fp, 4096);
+ if (strstr(strtolower($str), 'last-modified'))
+ {
+ $modtime = substr($str, 15);
+ break;
+ }
+ }
+ fclose($fp);
+ }
+ return isset($modtime) ? strtotime($modtime) : time();
+}
+
+function isMirrored($uriToCheck) {
+ global $debugScript;
+ global $debugFunctions;
+ $localuri = $uriToCheck;
+
+ $debugMirrorList = false;
+ if ($debugScript) {
+ echo "uriToCheck: " . $localuri . "<br />";
+ }
+
+ $xmlcount = 0;
+
+ /* This method true and accurate method of parsing mirror results
+ * may be expensive, and would
+ * likely cause artificially high counts of "downloads".
+ * Could maybe use if somehow only checked once ever 5 minutes or something.
+
+
+ // turn off warnings, as sometimes HTML is returned, which causes lots of warnings
+ $holdLevel = error_reporting(E_ERROR);
+ $mirrorsxml=simplexml_load_file(rawurlencode($localuri) . urlencode("&format=xml"));
+ error_reporting($holdLevel);
+
+
+ if ($mirrorsxml) {
+ if ($debugFunctions) {
+ echo "root node: " . $mirrorsxml->getName() . "<br />";
+ }
+ if (strcmp($mirrorsxml->getName(), "mirrors") == 0) {
+ foreach ($mirrorsxml->children() as $mirror) {
+ if (strcmp($mirror->getName(),"mirror") == 0) {
+ $xmlcount=$xmlcount+1;
+ }
+ if ($debugMirrorList) {
+ print_r($mirror);
+ echo "<br />";
+ }
+ }
+ }
+ if ($debugFunctions) {
+ echo "Mirror count: " . $xmlcount . "<br />";
+ }
+ }
+ */
+ /*
+ * Use simple heuristic based on pattern
+ * in the URI ... if it contains "/downloads/" then assume it's mirrored
+ */
+ if (strpos($uriToCheck, "webtools/downloads/") > 0) {
+ $xmlcount = 1;
+ }
+ return ($xmlcount > 0);
+
+}
+
+// TODO: replace with Phoenix variables
+function getPlatform () {
+ global $debugScript;
+ global $debugFunctions;
+ // getBrowser is expensive, so cache the data
+ static $browser;
+ $platform = "unknown";
+
+
+ if(ini_get("browscap")) {
+ if(!isset($browser)){
+ $browser = get_browser(null, true);
+ }
+
+ if ($browser) {
+ $rawPlatform = $browser['platform'];
+ if ($debugFunctions) {
+ echo "browser platfrom: " . $rawPlatform . "<br />" ;
+ }
+
+ if ($debugFunctions) {
+ $browserKeys = array_keys($browser);
+ foreach ($browserKeys as $key) {
+ echo $key . ": " . $browser[$key] . "<br />";
+ }
+ }
+ }
+ if (strpos($rawPlatform, "Win") === 0) {
+ $platform="windows";
+ } else if (strpos($rawPlatform, "Linux") === 0) {
+ $platform="linux";
+ } else if (strpos($rawPlatform, "Mac") === 0) {
+ $platform="mac";
+ }
+ }
+ return $platform;
+}
+
+
+function getPrereqReferenceOrName($eclipseMirrorScript, $mirrorPrefixuri, $prerequrl, $prereqfilename, $eclipseFSpathPrefix) {
+ // todo: we really only need "if exists" so could make a bit more efficient
+ // I tried "file_exists" but is didn't seem to work on my test server
+ // For these pre-reqs, we assume if they exist, they are mirrored. This is true
+ // 99% of the time.
+
+ if (resourceExist($prerequrl, $mirrorPrefixuri, $prereqfilename, $eclipseFSpathPrefix)) {
+ $reflink="<a href=\"" . $eclipseMirrorScript . $mirrorPrefixuri . "/" . $prereqfilename . "\">" . $prereqfilename . "</a>";
+ } else {
+ $reflink=$prereqfilename;
+ }
+ return $reflink;
+}
+?>
diff --git a/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/report2.php b/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/report2.php
new file mode 100644
index 0000000..52d2284
--- /dev/null
+++ b/releng.wtpbuilder/distribution/xmlsec.site/staticDropFiles/report2.php
@@ -0,0 +1,45 @@
+
+ <?php
+
+function parse_testResults($filename)
+{
+ $junitFailures = 0;
+ if (is_file($filename)) {
+ $handle = @fopen($filename, "r");
+ if ($handle)
+ {
+ $size = filesize($filename);
+ $content = fread($handle, $size);
+ fclose($handle);
+ $junitStart = strpos($content, "Errors & Failures");
+ $junitEnd = strpos($content, "</table>", $junitStart);
+ $junitInfo = substr($content, $junitStart, $junitEnd - $junitStart);
+ $start = strpos($junitInfo, "<td><b><font color=\"#ff0000\">");
+ while ($start !== false)
+ {
+ $start += 29;
+ $stop = strpos($junitInfo, "</font></b></td>", $start);
+ if ($stop !== false)
+ {
+ $result = substr($junitInfo, $start, $stop - $start);
+ if (is_numeric($result))
+ {
+ $junitFailures += $result;
+ }
+ else if (strcmp($result, "DNF") == 0)
+ {
+ $junitFailures++;
+ }
+ }
+ $start = strpos($junitInfo, "<td><b><font color=\"#ff0000\">", $stop);
+ }
+ $results = array($junitFailures);
+ return $results;
+ }
+ }
+}
+
+
+?>
+
+
diff --git a/releng.wtpbuilder/distribution/xmlsec.site/templateFiles/compileResults.php.template b/releng.wtpbuilder/distribution/xmlsec.site/templateFiles/compileResults.php.template
new file mode 100644
index 0000000..f785771
--- /dev/null
+++ b/releng.wtpbuilder/distribution/xmlsec.site/templateFiles/compileResults.php.template
@@ -0,0 +1,76 @@
+<html>
+<head>
+
+<?php
+ $parts = explode("/", getcwd());
+ $parts2 = explode("-", $parts[count($parts) - 1]);
+ $buildName = $parts2[1];
+
+ echo "<title>Compile Logs: Code Bundles for $buildName</title>";
+?>
+
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+<style>
+.bold, .bold TD, .bold TH, .bold TR
+{
+font-weight:bold;
+}
+.numeric, .numeric TD
+{
+text-align:right;
+padding-right:2%;
+}
+.normaltable, .normaltable TD, .normaltable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:White;
+}
+.errorltable, .errortable TD, .errortable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:Red;
+font-weight:bold;
+}
+.warningtable, .warningtable TD, .warningtable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:khaki;
+}
+.extraWarningTable, .extraWarningTable TD, .extraWarningTable TH
+{
+font-family:Bitstream Vera Sans Mono, monospace;
+font-size:0.9em;
+color:Black;
+background-color:Yellow;
+}
+</style>
+</head>
+<body>
+
+<?php
+ echo "<h1>Compile Logs: Code Bundles for $buildName</h1>";
+?>
+
+
+<table id=tabledata align = "center" width="75%" border="1">
+ <tr>
+ <td class="bold" align="center">Compile Logs</td>
+ <td class="bold" align="center">Compile Errors</td>
+ <td class="bold" align="center">Compiler Warnings</td>
+ <td class="bold" align="center">Access Violations</td>
+ <td class="bold" align="center">Access Warnings</td>
+ </tr>
+
+ %compilelogs%
+
+</table>
+
+</body>
+</html>
diff --git a/releng.wtpbuilder/distribution/xmlsec.site/templateFiles/index.html.template.php b/releng.wtpbuilder/distribution/xmlsec.site/templateFiles/index.html.template.php
new file mode 100644
index 0000000..cb1da63
--- /dev/null
+++ b/releng.wtpbuilder/distribution/xmlsec.site/templateFiles/index.html.template.php
@@ -0,0 +1,516 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+<title>WTP Incubator Downloads</title>
+
+
+<?php
+
+$buildBranch="@buildBranch@";
+$build="@build@";
+$type="@type@";
+$builddate="@date@";
+
+$eclipseMirrorPrefixuri="@eclipse.mirror.prefixuri@";
+$eclipseFSpathPrefix="@eclipse.fspath.prefix@";
+
+$eclipsefilelinux="@eclipsefilelinux@";
+$eclipsefilewindows="@eclipsefilewindows@";
+$eclipsefilemacosx="@eclipsefilemacos@";
+
+$eclipseURL="@eclipseURL@";
+$eclipseFile="@eclipseFile@";
+$eclipseBuildURL="@eclipseBuildURL@";
+$eclipseBuildHome="@eclipseBuildHome@";
+$testURL="@testURL@";
+$testFile="@testFile@";
+
+$wstURL="@wstURL@";
+$wstFile="@wstFile@";
+$wstMirrorPrefixuri="@wst.mirror.prefixuri@";
+$wstBuildHome="@wstBuildHome@";
+
+
+$gefURL="@gefURL@";
+$gefFile="@gefFile@";
+$gefMirrorPrefixuri="@gef.mirror.prefixuri@";
+$gefBuildHome="@gefBuildHome@";
+
+$emfURL="@emfURL@";
+$emfFile="@emfFile@";
+$emfMirrorPrefixuri="@emf.mirror.prefixuri@";
+$emfBuildHome="@emfBuildHome@";
+
+$dtpURL="@dtpURL@";
+$dtpFile="@dtpFile@";
+$dtpMirrorPrefixuri="@dtp.mirror.prefixuri@";
+$dtpBuildHome="@dtpBuildHome@";
+
+
+$eclipserelengFile="@eclipserelengFile@";
+$eclipserelengURL="@eclipserelengURL@";
+$orbitthirdpartyzipFile="@orbitthirdpartyzipFile@";
+$orbitthirdpartyzipURL="@orbitthirdpartyzipURL@";
+$orbitthirdpartyzipBuildHome="@orbitthirdpartyzipBuildHome@";
+$orbitthirdpartyzipMirrorPrefixuri="@orbitthirdpartyzip.mirror.prefixuri@";
+
+
+
+
+include("miscUtil.php");
+
+
+
+ini_set("display_errors", "true");
+error_reporting (E_ALL);
+
+
+$debugScript = false;
+$debugFunctions = false;
+
+$defaultMirrorScript="";
+$defaultWTPMirrorPrefix="./";
+
+$eclipseMirrorScript="http://www.eclipse.org/downloads/download.php?file=";
+
+// TODO: improve so this hard coding isn't required.
+// This depends on the declare script changing webtools/committers to webtools/downloads
+// And, the logic is such that if it is not mirrored, this URI is not used at all, just
+// a relative reference only
+$eclipseWTPMirrorPrefix="/webtools/committers/drops/$buildBranch/$build/";
+
+
+$mirrorScript=$defaultMirrorScript;
+$downloadprefix=$defaultWTPMirrorPrefix;
+
+
+$keytestMirrorString=$eclipseMirrorScript . "$eclipseWTPMirrorPrefix/wtp-incubator-jaxws-sdk-$build.zip";
+if (isMirrored($keytestMirrorString) ) {
+ $mirrorScript=$eclipseMirrorScript;
+ $downloadprefix="${mirrorScript}${eclipseWTPMirrorPrefix}";
+}
+
+if ($debugScript) {
+ echo "inferred platform: " . getPlatform();
+}
+
+
+// our summary results handling requires php 5 (for simple xml file loading)
+// so, if not php 5, just don't display any summary results
+// This was found to be required, since some mirror our whole site (e.g. IBM)
+// and not all mirrors use PHP 5
+$displayTestSummary=false;
+if (phpversion() >= 5) {
+
+ $displayTestSummary=true;
+ // expecting grandTotalErrors and grandTotalTests
+ $filename = "unitTestsSummary.xml";
+ if (file_exists($filename)) {
+ $prefix = "unitTests_";
+ $unitTestsSummary = simplexml_load_file($filename);
+ foreach ($unitTestsSummary->summaryItem as $summaryItem) {
+ $name = $summaryItem->name;
+ $value = $summaryItem->value;
+ $code= "\$" . $prefix . $name . " = " . $value . ";";
+ //echo "<br />code: " . $code;
+ eval($code);
+ }
+ }
+
+ $filename = "compilelogsSummary.xml";
+ $prefix = "code_";
+ $compileSummary = simplexml_load_file($filename);
+ foreach ($compileSummary->summaryItem as $summaryItem) {
+ $name = $summaryItem->name;
+ $value = $summaryItem->value;
+ $code= "\$" . $prefix . $name . " = " . $value . ";";
+ //echo "<br />code: " . $code;
+ eval($code);
+ }
+
+ $filename = "testcompilelogsSummary.xml";
+ $prefix = "test_";
+ $compileSummary = simplexml_load_file($filename);
+ foreach ($compileSummary->summaryItem as $summaryItem) {
+ $name = $summaryItem->name;
+ $value = $summaryItem->value;
+ $code= "\$" . $prefix . $name . " = " . $value . ";";
+ //echo "<br />code: " . $code;
+ eval($code);
+ }
+}
+
+
+?>
+
+
+</head>
+
+<body>
+
+
+<?php
+
+// tiny banner to remind when looking at "local" machine results
+$serverName = $_SERVER["SERVER_NAME"];
+
+if (!stristr($serverName, "eclipse.org") && !stristr($serverName,"you.are.at.eclipsecon.org")) {
+ echo '<center>
+ <p>
+ Reminder: this is <font color="#FF0000">' .
+ $serverName .
+ '</font>
+ See also
+ <a href="http://download.eclipse.org/webtools/downloads" target="_top">the live public Eclipse site</a>.
+ </p>
+ <hr />
+ </center>';
+
+}
+?>
+<table BORDER=0 CELLSPACING=2 CELLPADDING=2 WIDTH="100%">
+ <tr>
+ <td ALIGN=left><font face="'Bitstream Vera',Helvetica,Arial" size="+2"><b><?php echo "$type";?>
+ Build: <?php echo "$build";?></b></font></td>
+ <td align="right" rowspan="3"><a
+ href="http://www.eclipse.org/projects/what-is-incubation.php"><img
+ src="http://www.eclipse.org/images/egg-incubation.png" alt="Incubation"
+ align="middle" border="0"></a></td>
+
+ <tr valign="top">
+ <td><font size="-1"><?php echo "$builddate";?></font></td>
+ </tr>
+ <tr valign="top">
+ <td>
+ <p>The Eclipse Web Tools Platform (WTP) Incubator Project provides
+ tools for development that are just getting started, or are
+ experimental in some fashion.</p>
+ </td>
+ </tr>
+</table>
+
+<!-- *********** Required Prerequisites ************** -->
+<table border=0 cellspacing=2 cellpadding=2 width="100%">
+ <tr>
+ <td align="left" valign="top" bgcolor="#0080C0"><font
+ face="'Bitstream Vera',Helvetica,Arial" color="#FFFFFF">Required
+ Prerequisites and Handy Extras</font></td>
+ </tr>
+ <tr>
+ <td>
+ <p>These are the prerequisites to install and run the Web Tools
+ Platform. Also listed are some frequently needed links for
+ committer-required packages when creating new developmnet
+ environmnets, or targets to run against.</p>
+ <p>Note that WTP requires Java 5 or higher (and, for some things,
+ actually requires a JDK rather than only a JRE) even though many other
+ <a href="http://www.eclipse.org/downloads/">Eclipse Projects</a> can
+ run with <a href="http://www.eclipse.org/downloads/moreinfo/jre.php">other
+ JRE levels</a>.</p><p></p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <table border=0 cellspacing=1 cellpadding=1 width="90%" align="center">
+ <tr valign="top">
+ <td width="10%"></td>
+ <td width="40%">Eclipse Platform (Platform, JDT)</td>
+ <?php
+ //customize page depending on user's browser/platform, if we can detect it