releng: adopt library.xml after trouble getting it from github
diff --git a/releng/build-scripts/build/lib/library.xml b/releng/build-scripts/build/lib/library.xml
new file mode 100644
index 0000000..cf71907
--- /dev/null
+++ b/releng/build-scripts/build/lib/library.xml
@@ -0,0 +1,405 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Copyright (c) 2001,2015 IBM Corporation and others.
+
+    This program and the accompanying materials
+    are made available under the terms of the Eclipse Public License 2.0
+    which accompanies this distribution, and is available at
+    https://www.eclipse.org/legal/epl-2.0/
+
+    SPDX-License-Identifier: EPL-2.0
+
+    Contributors:
+        IBM Corporation - initial API and implementation
+ -->
+
+<project
+    name="Library"
+    default="usage"
+    basedir=".">
+
+    <target name="usage">
+        <echo message="Please refer to https://wiki.eclipse.org/Platform-releng/Eclipse_Test_Framework for instructions on usage." />
+    </target>
+
+    <target
+        name="init"
+        unless="testframeworkinitialized">
+        <!--
+
+            Parameters:
+
+            (Mandatory)
+
+            data-dir    - the directory for Eclipse to write its data
+
+            plugin-name - the name of the plugin to test
+
+            classname   - the name of the test class
+
+
+            (Optional - added to (or overrides) defaults set in infrastructure scripts)
+
+            vmargs (1)   - a string containing arguments to pass to the VM. These
+                           parameters should be specific, but permanent, to the test plugin
+                           that uses them. For example, a jdt core test plugin might use
+                           vmargs="-DstoreMemory=jdtcoremodel_mem_trace,dir=${basedir}/../..".
+                           Note, normally test plugins do not need to specify -Xmx
+                           or -XX:MaxPermSize type parameters as they are set by
+                           the test infrastructure depending machine, OS, VM version, etc,
+                           unless of course the test plugins needs especially low or high values,
+                           as part of the test.
+
+            extraVMargs (1) - allows separate setting of VM args in a setting other than
+                           the production runs of automated tests. Should not normally be
+                           "hard coded" in to the test plugin itself, but instead reserved
+                           for someone to add arguments in some other setting other then
+                           the production test environment. For example,
+                           a committer to jdt.core might want to do a quick test before
+                           a commit, and use
+                           extraVMargs="-Dcompliance=1.7"
+                           in some local version of testing scripts.
+                           Can also be used to do "remote debugging"; See
+                           https://wiki.eclipse.org/Platform-releng/Automated_Testing#Running_Tests 
+
+            timeout       - overrides default test timeout value (in milliseconds). [May not currently override default?]
+
+            test-output   - overrides default output file produced from test run. [May not currently override default?]
+
+            plugin-path   - path to root of plug-in
+
+            useEclipseExe - property setting forces test to launch via eclipse executable. [Not fully supported. See bug 387638.]
+
+            junit-report-output - output directory for junit reports produced for specified classname.
+
+
+            (Environment Variables - environment variables that the test framework uses or passes through)
+
+            ANT_OPTS (1)  - Carry through the ANT_OPTS environment variable settings, if any. As described in
+                            http://ant.apache.org/manual/running.html
+                            <quote>
+                            ANT_OPTS - command-line arguments that should be passed to the JVM.
+                            For example, you can define system properties or set the
+                            maximum Java heap size here.
+                            </quote>
+                            This can be important for some environments such as running tests on eclipse.org Hudson,
+                            where proxy servers, etc., can be defined for that Hudson instance by the machine itself.
+
+            (Reserved -     documented here for awareness, but reserved for use by the test infrastructure
+                            itself. The test infrastructure sets these based on typical, common, or required values
+                            for the production test environment.)
+
+            frameworkvmargs (1) - vm args provided by the automated test infrastructure. Normally, these arguments
+                            provide parameters for cases that apply to all test suites as ran in a production environment,
+                            such as -Xms, -Xmx, -XstartOnFirstThread
+                            where these values may vary based on machine or VM being used.
+
+            loglocation -   some VMs allow crash log location to specified as VM parameter (but,
+                            pretty special, limited usefulness and may be removed.
+
+            Notes:
+
+            1) Note how vm arguments are ordered. The vm arguments variables are combined in order:
+
+              ${frameworkvmargs} ${ANT_OPTS} ${vmargs} ${extraVMargs}
+
+              Typically (as far as is known) if the same argument is specified twice,
+              the one appearing last in the line takes priority. For example, if
+              vmargs specified -Dtestarg=one and
+              extraVMargs specified -Dtestarg=two,
+              then "two" could be the value of the testarg property at runtime.
+
+        -->
+        <property environment="env" />
+
+        <condition
+            property="envantopts"
+            value="${env.ANT_OPTS}"
+            else="">
+            <isset property="env.ANT_OPTS" />
+        </condition>
+
+
+        <echo message="ANT_OPTS: ${env.ANT_OPTS}" />
+
+        <tstamp>
+            <format
+                property="TIMENOW"
+                pattern="HHmmssSSSS" />
+        </tstamp>
+        <!--property setting useEclipseExe launches tests using the eclipse executable-->
+        <condition
+            property="launchTarget"
+            value="eclipse-test">
+            <isset property="useEclipseExe" />
+        </condition>
+        <!--default launch target for launching tests-->
+        <property
+            name="launchTarget"
+            value="java-test" />
+        <property
+            name="formatter"
+            value="org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter" />
+
+        <tstamp prefix="NOW" />
+        <property
+            name="coverage-output"
+            value="${eclipse-home}/coverage" />
+        <property file="${basedir}/finalPluginsVersions.properties" />
+        <echo message="basedir = ${basedir}" />
+        <property
+            name="vmargs"
+            value="" />
+        <property
+            name="extraVMargs"
+            value="" />
+        <property
+            name="plugin-path"
+            value="" />
+
+      <property
+            name="timeout"
+            value="7200000" />
+        <property
+            name="test-output"
+            value="${eclipse-home}/${classname}.xml" />
+        <property
+            name="junit-report-output"
+            value="${eclipse-home}/results" />
+        <mkdir dir="${junit-report-output}" />
+        <property
+            name="junit-stylesheet"
+            value="${basedir}/JUNIT.XSL" />
+        <property
+            name="testframeworkinitialized"
+            value="true" />
+        <echoproperties description="Echo Properties at end of init in library.xml" />
+    </target>
+
+    <target
+        name="core-test"
+        description="Eclipse application used to launch HEADLESS plugin tests."
+        depends="init">
+        <antcall target="${launchTarget}">
+            <param
+                name="application"
+                value="org.eclipse.test.coretestapplication" />
+        </antcall>
+    </target>
+
+    <target
+        name="ui-test"
+        description="Eclipse application used to launch UI plugin tests."
+        depends="init">
+        <antcall target="${launchTarget}">
+            <param
+                name="application"
+                value="org.eclipse.test.uitestapplication" />
+        </antcall>
+    </target>
+
+    <target
+        name="java-test"
+        depends="init">
+        <echo
+            level="debug"
+            message="DEBUG: Running tests using java-test" />
+        <!--default vm args Note: the goal is to use same values as what would be in eclipse.ini -->
+        <condition
+            property="frameworkvmargs"
+            value=" -Xms256m -Xmx2048m ${envantopts}">
+            <os family="windows" />
+        </condition>
+        <!--
+            For more info on -XstartOnFirstThread, see
+            http://stackoverflow.com/questions/3976342/running-swt-based-cross-platform-jar-properly-on-a-mac
+        -->
+        <condition
+            property="frameworkvmargs"
+            value=" -XstartOnFirstThread -Xms256m -Xmx2048m ${envantopts}">
+            <os family="mac" />
+        </condition>
+        <property
+            name="frameworkvmargs"
+            value=" -Xms256m -Xmx2048m ${envantopts}" />
+
+        <condition
+            property="loglocation"
+            value=" ${loglocationarg}=${junit-report-output}/${classname}-crash.log"
+            else="">
+            <isset property="loglocationarg" />
+        </condition>
+
+        <!--set default jvm to use for testing-->
+        <property
+            name="jvm"
+            value="${java.home}/bin/java" />
+
+          <!-- if not set by caller, set frameworkperfargs to blank -->
+          <property name="frameworkperfargs" value=""/>
+
+        <echo message="Running ${classname}. Result file: ${junit-report-output}/${classname}.xml" />
+        <echo message="timout property: ${timeout}" />
+
+        <echo message="frameworkvmargs: ${frameworkvmargs}" />
+        <echo message="vmargs: ${vmargs}" />
+        <echo message="extraVMargs: ${extraVMargs}" />
+        <echo message="frameworkperfargs: ${frameworkperfargs}" />
+        <echo message="crash loglocationarg (if any): ${loglocationarg}" />
+        <echo message="crash loglocation (if not default): ${loglocation}" />
+
+        <java
+            fork="true"
+            dir="."
+            timeout="${timeout}"
+            jvm="${jvm}"
+            logError="true"
+            classname="org.eclipse.core.launcher.Main"
+            output="${junit-report-output}/${classname}.txt">
+            <classpath>
+                <fileset dir="${eclipse-home}/plugins">
+                    <include name="org.eclipse.equinox.launcher_*.jar" />
+                </fileset>
+            </classpath>
+            <arg line="-application ${application}" />
+            <arg line="-data ${data-dir}" />
+            <arg line="formatter=${formatter},${test-output}" />
+            <arg line="-testPluginName ${plugin-name}" />
+            <arg line="-className ${classname}" />
+            <arg line="-os ${os}" />
+            <arg line="-ws ${ws}" />
+            <arg line="-arch ${arch}" />
+            <arg line="-consolelog" />
+            <arg line="-timeout ${timeout}" />
+            <arg value="-junitReportOutput" />
+            <arg path="${junit-report-output}" />
+            <jvmarg line="${frameworkvmargs} ${loglocation} ${vmargs} ${extraVMargs} ${frameworkperfargs}" />
+            <sysproperty
+                key="PLUGIN_PATH"
+                value="${plugin-path}" />
+        </java>
+        <antcall target="collect-results" />
+    </target>
+
+    <target
+        name="eclipse-test"
+        description="Runs the specified classname as a plug-in test."
+        depends="init">
+        <echo
+            level="debug"
+            message="DEBUG: Running tests using eclipse-test" />
+
+        <!--use -consolelog if launching a headless test-->
+        <condition
+            property="consolelog"
+            value="-consolelog">
+            <equals
+                arg1="${application}"
+                arg2="org.eclipse.test.coretestapplication" />
+        </condition>
+        <property
+            name="consolelog"
+            value="" />
+
+        <!--
+            vm selection priority:
+            1.  user-specified java executable via outer Ant property setting of "jvm".
+            2.  java executable on path.
+        -->
+        <condition
+            property="test-vm"
+            value="-vm ${jvm}">
+            <isset property="jvm" />
+        </condition>
+        <property
+            name="test-vm"
+            value="" />
+
+        <!--ensure executable has execute permission-->
+        <chmod
+            file="${eclipse-home}/eclipse"
+            perm="ugo+rx" />
+
+
+        <echo message="Running ${classname}. Result file: ${junit-report-output}/${classname}.xml." />
+
+        <exec
+            executable="${eclipse-home}/eclipse"
+            dir="${eclipse-home}"
+            timeout="${timeout}"
+            logError="true"
+            failonerror="false"
+            output="${junit-report-output}/${classname}.txt">
+            <arg line="-data ${data-dir}" />
+            <arg line="${test-vm}" />
+            <arg line="-application ${application}" />
+            <arg line="formatter=${formatter},${test-output}" />
+            <arg line="-testPluginName ${plugin-name}" />
+            <arg line="-className ${classname}" />
+            <arg line="-nosplash" />
+            <arg line="--launcher.suppressErrors" />
+            <arg line="${consolelog}" />
+            <arg line="-vmargs ${frameworkvmargs} ${loglocation} ${vmargs} ${extraVMargs} -DPLUGIN_PATH=${plugin-path}" />
+        </exec>
+        <antcall target="collect-results" />
+    </target>
+
+    <target name="collect-results">
+        <dirname
+            property="output-dir"
+            file="${test-output}" />
+        <basename
+            property="output-file-name"
+            file="${test-output}" />
+        <junitreport
+            todir="${junit-report-output}"
+            tofile="${classname}.xml">
+            <fileset dir="${output-dir}">
+                <include name="${output-file-name}" />
+            </fileset>
+        </junitreport>
+
+
+        <!--save .log content and *.log content from configuration directory-->
+        <concat destfile="${junit-report-output}/${classname}.log">
+            <fileset
+                dir="${eclipse-home}"
+                includes="${data-dir}/.metadata/*.log" />
+            <fileset
+                dir="${eclipse-home}"
+                includes="configuration/*.log" />
+        </concat>
+
+        <!-- save any crash logs generated (before they are deleted by subsequent test runs -->
+        <!--
+             TODO: not all VM's call their crash logs "hs_err_pid*.log".
+             We can expand the list as we learn of others
+        -->
+        <copy todir="${junit-report-output}/crashlogs/">
+            <fileset dir="${eclipse-home}">
+                <include name="**/hs_err_pid*.log" />
+            </fileset>
+            <globmapper
+                from="*"
+                to="${classname}.*" />
+        </copy>
+    </target>
+
+    <target name="collect">
+        <!--
+            This target can be used to aggragate test runs from multiple test suites into a single report.
+
+            Parameters to this target:
+            includes        - the names of the files to include
+            output-file        - the name of the output file to produce
+        -->
+        <junitreport
+            todir="."
+            tofile="${output-file}">
+            <fileset dir=".">
+                <include name="${includes}" />
+            </fileset>
+        </junitreport>
+    </target>
+
+</project>
diff --git a/releng/build-scripts/build/test.xml b/releng/build-scripts/build/test.xml
index 51599eb..a365f48 100644
--- a/releng/build-scripts/build/test.xml
+++ b/releng/build-scripts/build/test.xml
@@ -34,10 +34,6 @@
 		<!-- do install using p2: -->

 		<ant antfile="${OTScriptDir}/p2helper.xml" target="installTests" dir="${test.eclipseDir}"/>

 

-		<echo message="get library.xml"/>

-		<get src="https://raw.githubusercontent.com/eclipse-platform/eclipse.platform.releng.aggregator/master/eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/scripts/library.xml"

-				dest="${test.root.dir}/library.xml"/>

-

 		<property name="tests.are.setup" value="true"/>

 	</target>

 	

@@ -48,7 +44,7 @@
 	>

 		<ant antfile="plugins/${testPlugin}/test.xml" dir="${test.eclipseDir}">

 			<property name="eclipse-home" value="${test.eclipseDir}" />

-			<property name="library-file" value="${test.root.dir}/library.xml"/>

+			<property name="library-file" value="${user.dir}/../releng/build-scripts/lib/library.xml"/>

             <property name="extraVMargs" value="-XX:+HeapDumpOnOutOfMemoryError -ea --add-modules ALL-SYSTEM

             	--add-opens java.base/jdk.internal.loader=ALL-UNNAMED

             	--add-opens jdk.localedata/sun.util.resources.cldr.provider=ALL-UNNAMED