This commit was manufactured by cvs2svn to create tag 'v20091014a'.
Sprout from master 2009-10-14 14:55:56 UTC ffusier 'HEAD - 292238'
Delete:
bundles/org.eclipse.build.tools/.classpath
bundles/org.eclipse.build.tools/.cvsignore
bundles/org.eclipse.build.tools/.project
bundles/org.eclipse.build.tools/about.html
bundles/org.eclipse.build.tools/bugTools.jar
bundles/org.eclipse.build.tools/buildTools.jar
bundles/org.eclipse.build.tools/data/_README.txt
bundles/org.eclipse.build.tools/data/builds-eclipse-3.3.xml
bundles/org.eclipse.build.tools/data/builds-emf-2.3.xml
bundles/org.eclipse.build.tools/data/builds-uml2-uml-2.1.xml
bundles/org.eclipse.build.tools/feedTools.jar
bundles/org.eclipse.build.tools/plugin.xml
bundles/org.eclipse.build.tools/properties/UpdateBugStateTask.properties
bundles/org.eclipse.build.tools/properties/_README.txt
bundles/org.eclipse.build.tools/properties/feedPublish.eclipse.properties
bundles/org.eclipse.build.tools/properties/feedPublish.emf.properties
bundles/org.eclipse.build.tools/properties/feedPublish.uml2.properties
bundles/org.eclipse.build.tools/properties/feedWatch.emf.properties
bundles/org.eclipse.build.tools/properties/feedWatch.uml2.properties
bundles/org.eclipse.build.tools/schema/_README.txt
bundles/org.eclipse.build.tools/schema/atom10_build.xsd
bundles/org.eclipse.build.tools/schema/build.xsd
bundles/org.eclipse.build.tools/scripts/customTest.xml.template
bundles/org.eclipse.build.tools/scripts/publish.xml
bundles/org.eclipse.build.tools/scripts/test.xml
bundles/org.eclipse.build.tools/scripts/testing.properties.template
bundles/org.eclipse.build.tools/scripts_bugzilla/_README.txt
bundles/org.eclipse.build.tools/scripts_bugzilla/bugzillaLogin.sh
bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsJar.sh
bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsJar.xml
bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsZip.sh
bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsZip.xml
bundles/org.eclipse.build.tools/scripts_bugzilla/updateBugState.sh
bundles/org.eclipse.build.tools/scripts_bugzilla/updateBugState.xml
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/README.searchcvs.setup.mysql.txt
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/README.searchcvs.setup.web.txt
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/cvssrc/.cvsignore
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/includes/parsecvs-dbaccess.php
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/mysql-modelingschema.dump
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/mysql-modelingschema.truncate
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/mysql-users.dump
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/parsecvs.php
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/parsecvs.sh
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/setup.sh
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/README.folder.contents.may.not.be.up.to.date.txt
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/includes/db.php
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/includes/searchcvs-dbaccess.php
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/includes/searchcvs.css
bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/searchcvs.php
bundles/org.eclipse.build.tools/scripts_rss/_README.txt
bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsJar.sh
bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsJar.xml
bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsZip.sh
bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsZip.xml
bundles/org.eclipse.build.tools/scripts_rss/buildFeedValidatorJar.xml
bundles/org.eclipse.build.tools/scripts_rss/feedManipulation.sh
bundles/org.eclipse.build.tools/scripts_rss/feedManipulation.xml
bundles/org.eclipse.build.tools/scripts_rss/feedManipulationEclipse.sh
bundles/org.eclipse.build.tools/scripts_rss/feedPublish.sh
bundles/org.eclipse.build.tools/scripts_rss/feedPublish.xml
bundles/org.eclipse.build.tools/scripts_rss/feedValidate.xml
bundles/org.eclipse.build.tools/scripts_rss/feedWatch.sh
bundles/org.eclipse.build.tools/scripts_rss/feedWatch.xml
bundles/org.eclipse.build.tools/scripts_rss/sendEmailAlert.sh
bundles/org.eclipse.build.tools/src/org/eclipse/releng/BuildMachineManager.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/BuildProperties.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/CompileErrorCheck.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/CvsDiffParser.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/ElementParser.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/FetchValidator.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/FindMachineTask.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/GenerateExcludeListTask.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/Mailer.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/SystemProperty.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/UnpackUpdateJars.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/VersionNumberStripper.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/AbstractApplication.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/EclipseTestResultsGeneratorNoMail.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/ErrorTracker.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/FetchBaseTask.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/FileCounter.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/PlatformStatus.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestResultsGenerator.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestVersionTracker.java
bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/VersionTrackerTask.java
bundles/org.eclipse.build.tools/src_bugzilla/org/eclipse/releng/services/bugzilla/UpdateBugStateTask.java
bundles/org.eclipse.build.tools/src_bugzilla/org/eclipse/releng/util/bugzilla/Messages.java
bundles/org.eclipse.build.tools/src_bugzilla/org/eclipse/releng/util/bugzilla/messages.properties
bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedAddEntryTask.java
bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedCreateFeedTask.java
bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedGetPropertyTask.java
bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedUpdateEntryTask.java
bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/services/rss/RSSFeedPublisherTask.java
bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/services/rss/RSSFeedWatcherTask.java
bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/util/rss/Messages.java
bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/util/rss/RSSFeedUtil.java
bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/util/rss/messages.properties
diff --git a/bundles/org.eclipse.build.tools/.classpath b/bundles/org.eclipse.build.tools/.classpath
deleted file mode 100644
index 02cf921..0000000
--- a/bundles/org.eclipse.build.tools/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="src_rss"/>
- <classpathentry kind="src" path="src_bugzilla"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.osgi.util_3.2.0.v20090520-1800.jar"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.apache.ant_1.7.1.v20090120-1145/lib/ant.jar"/>
- <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.apache.ant_1.7.1.v20090120-1145/lib/ant-launcher.jar"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.build.tools/.cvsignore b/bundles/org.eclipse.build.tools/.cvsignore
deleted file mode 100644
index b274aa8..0000000
--- a/bundles/org.eclipse.build.tools/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-logs
-*.settings
diff --git a/bundles/org.eclipse.build.tools/.project b/bundles/org.eclipse.build.tools/.project
deleted file mode 100644
index 4cec12b..0000000
--- a/bundles/org.eclipse.build.tools/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.build.tools</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.build.tools/about.html b/bundles/org.eclipse.build.tools/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.build.tools/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>20th June, 2002</p>
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, "Program" will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or
-other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/bugTools.jar b/bundles/org.eclipse.build.tools/bugTools.jar
deleted file mode 100644
index 1e1f2d6..0000000
--- a/bundles/org.eclipse.build.tools/bugTools.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.build.tools/buildTools.jar b/bundles/org.eclipse.build.tools/buildTools.jar
deleted file mode 100644
index 1f753eb..0000000
--- a/bundles/org.eclipse.build.tools/buildTools.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.build.tools/data/_README.txt b/bundles/org.eclipse.build.tools/data/_README.txt
deleted file mode 100644
index ab54702..0000000
--- a/bundles/org.eclipse.build.tools/data/_README.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-These files are sample data to get you started, generated using
-the feedPublish.*.properties files in the properties/ folder.
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/data/builds-eclipse-3.3.xml b/bundles/org.eclipse.build.tools/data/builds-eclipse-3.3.xml
deleted file mode 100644
index 3ee1147..0000000
--- a/bundles/org.eclipse.build.tools/data/builds-eclipse-3.3.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?>
-
-<feed xmlns="http://www.w3.org/2005/Atom">
- <title>Eclipse Builds</title>
- <link href="http://download.eclipse.org/eclipse/downloads/builds-eclipse.xml" rel="self" type="application/atom+xml"/>
- <updated>2006-11-14T23:54:27Z</updated>
- <author>
- <name>Eclipse Build Team</name>
- </author>
- <id>http://download.eclipse.org/eclipse/downloads/builds-eclipse.xml</id>
- <entry>
- <title>[announce] Eclipse I20060922-0010 (3.3.0.I20060922-0010) is available</title>
- <link href="http://download.eclipse.org/eclipse/downloads/drops/I20060922-0010"/>
- <id>http://download.eclipse.org/eclipse/downloads/drops/I20060922-0010</id>
- <updated>2006-11-14T23:54:27Z</updated>
- <summary>
- <build xmlns="http://www.eclipse.org/2006/BuildFeed" branch="HEAD" datetime="20060922-0010" href="http://download.eclipse.org/eclipse/downloads/drops/I20060922-0010" type="I" version="3.3.0">
- <detail href="http://www.eclipse.org/downloads/download.php?r=1&file=/eclipse/downloads/drops/I20060922-0010/" map="directory.txt"/>
- <downloads>http://download.eclipse.org/eclipse/downloads/</downloads>
- <releasenotes>http://download.eclipse.org/eclipse/downloads/drops/I20060922-0010/buildNotes.php
- </releasenotes>
- <releases>
- <release arch="x86" os="win32" type="SDK" ws="win">eclipse-SDK-I20060922-0010-win32.zip</release>
- <release arch="x86" os="linux" type="SDK" ws="gtk">eclipse-SDK-I20060922-0010-linux-gtk.tar.gz</release>
- </releases>
- <tests>
- <test href="http://download.eclipse.org/eclipse/downloads/drops/I20060922-0010/testResults.php" type="junit">
- <result arch="x86" os="win32" ws="win">UNKNOWN</result>
- <result arch="x86" os="linux" ws="gtk">UNKNOWN</result>
- <result arch="x86_64" os="linux" ws="gtk">UNKNOWN</result>
- <result arch="ppc" os="linux" ws="gtk">UNKNOWN</result>
- <result arch="x86" os="linux" ws="motif">UNKNOWN</result>
- <result arch="x86" os="solaris8" ws="gtk">UNKNOWN</result>
- <result arch="x86" os="aix" ws="motif">UNKNOWN</result>
- <result arch="x86" os="hp-ux" ws="motif">UNKNOWN</result>
- <result arch="ppc" os="macosx" ws="carbon">UNKNOWN</result>
- </test>
- <test href="http://download.eclipse.org/eclipse/downloads/drops/I20060922-0010/performance/performance.php" type="performance">
- <result arch="x86" id="RHEL4-3GHz-2.5GB" os="linux" ws="gtk">PENDING</result>
- <result arch="x86" id="winxp-3GHz-2GB" os="win32" ws="win">UNKNOWN</result>
- <result arch="x86" id="RHEL3-3GHz-2GB" os="linux" ws="gtk">UNKNOWN</result>
- <result arch="x86" id="winxp-2GHz-512MB" os="win32" ws="win">UNKNOWN</result>
- </test>
- </tests>
- <coordinated status="COMPLETE"/>
- </build>
- </summary>
- </entry>
-</feed>
diff --git a/bundles/org.eclipse.build.tools/data/builds-emf-2.3.xml b/bundles/org.eclipse.build.tools/data/builds-emf-2.3.xml
deleted file mode 100644
index 4b3f599..0000000
--- a/bundles/org.eclipse.build.tools/data/builds-emf-2.3.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?>
-
-<feed xmlns="http://www.w3.org/2005/Atom">
- <title>EMF Builds</title>
- <link href="http://download.eclipse.org/tools/emf/feeds/builds.xml" rel="self" type="application/atom+xml"/>
- <updated>2006-11-14T23:07:56Z</updated>
- <author>
- <name>EMF Build Team</name>
- </author>
- <id>http://download.eclipse.org/tools/emf/feeds/builds.xml</id>
- <entry>
- <title>[announce] EMF 2.3.0M3 (S200611091546) is available</title>
- <link href="http://www.eclipse.org/emf/downloads/?showAll=1&hlbuild=S200611091546#S200611091546"/>
- <id>http://www.eclipse.org/emf/downloads/?showAll=1&hlbuild=S200611091546#S200611091546</id>
- <updated>2006-11-14T23:07:56Z</updated>
- <summary>
- <build xmlns="http://www.eclipse.org/2006/BuildFeed" branch="HEAD" datetime="200611091546" href="http://www.eclipse.org/emf/downloads/?showAll=1&hlbuild=S200611091546#S200611091546" type="S" version="2.3.0">
- <detail config="build.cfg" href="http://www.eclipse.org/downloads/download.php?r=1&file=/tools/emf/downloads/drops/2.3.0/S200611091546/" log="buildlog.txt" map="directory.txt"/>
- <update>http://download.eclipse.org/tools/emf/updates/</update>
- <downloads>http://www.eclipse.org/emf/downloads/</downloads>
- <releasenotes>http://www.eclipse.org/emf/news/release-notes.php?version=2.3.0
- </releasenotes>
- <releases>
- <release arch="ALL" os="ALL" type="SDK" ws="ALL">emf-sdo-xsd-SDK-2.3.0M3.zip</release>
- </releases>
- <tests>
- <test href="http://www.eclipse.org/downloads/download.php?r=1&file=/tools/emf/downloads/drops/2.3.0/S200611091546/testResults.php" type="junit">
- <result arch="ALL" os="ALL" ws="ALL">PASS</result>
- </test>
- </tests>
- <dependencies>
- <dependency>http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/M20060919-1045/eclipse-SDK-M20060919-1045-linux-gtk.tar.gz</dependency>
- </dependencies>
- <coordinated status="COMPLETE"/>
- </build>
- </summary>
- </entry>
-</feed>
diff --git a/bundles/org.eclipse.build.tools/data/builds-uml2-uml-2.1.xml b/bundles/org.eclipse.build.tools/data/builds-uml2-uml-2.1.xml
deleted file mode 100644
index 0ae3ea4..0000000
--- a/bundles/org.eclipse.build.tools/data/builds-uml2-uml-2.1.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?>
-
-<feed xmlns="http://www.w3.org/2005/Atom">
- <title>UML2 Builds</title>
- <link href="http://download.eclipse.org/modeling/mdt/feeds/builds-uml2-uml-2.0.xml" rel="self" type="application/atom+xml"/>
- <updated>2006-11-14T23:12:21Z</updated>
- <author>
- <name>UML2 Build Team</name>
- </author>
- <id>http://download.eclipse.org/modeling/mdt/feeds/builds-uml2-uml-2.0.xml</id>
- <entry>
- <title>[announce] UML2 2.0.1 M200609210850 is available</title>
- <link href="http://www.eclipse.org/modeling/mdt/downloads/?project=uml2-uml&showAll=1&hlbuild=M200609210850#M200609210850"/>
- <id>http://www.eclipse.org/modeling/mdt/downloads/?project=uml2-uml&showAll=1&hlbuild=M200609210850#M200609210850</id>
- <updated>2006-11-14T23:12:21Z</updated>
- <summary>
- <build xmlns="http://www.eclipse.org/2006/BuildFeed" branch="HEAD" datetime="200609210850" href="http://www.eclipse.org/modeling/mdt/downloads/?project=uml2-uml&showAll=1&hlbuild=M200609210850#M200609210850" type="M" version="2.0.1">
- <detail config="build.cfg" href="http://www.eclipse.org/downloads/download.php?r=1&file=/modeling/mdt/uml2-uml/downloads/drops/2.0.1/M200609210850/" log="buildlog.txt" map="directory.txt"/>
- <update>http://download.eclipse.org/modeling/mdt/updates/?project=uml2-uml</update>
- <downloads>http://www.eclipse.org/modeling/mdt/downloads/?project=uml2-uml#uml2-uml</downloads>
- <releasenotes>http://www.eclipse.org/modeling/mdt/news/release-notes.php?project=uml2-uml&amp;version=2.0.1
- </releasenotes>
- <releases>
- <release arch="ALL" os="ALL" type="SDK" ws="ALL">uml2-SDK-.zip</release>
- </releases>
- <tests>
- <test href="http://www.eclipse.org/downloads/download.php?r=1&file=/modeling/mdt/uml2-uml/downloads/drops/2.0.1/M200609210850/testResults.php" type="junit">
- <result arch="ALL" os="ALL" ws="ALL">PASS</result>
- </test>
- </tests>
- <dependencies>
- <dependency>http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/M20060919-1045/eclipse-SDK-M20060919-1045-linux-gtk.tar.gz</dependency>
- <dependency>http://www.eclipse.org/downloads/download.php?file=/tools/emf/downloads/drops/2.2.1/S200609210005/emf-sdo-xsd-SDK-2.2.1RC2.zip</dependency>
- </dependencies>
- <coordinated status="COMPLETE"/>
- </build>
- </summary>
- </entry>
-</feed>
diff --git a/bundles/org.eclipse.build.tools/feedTools.jar b/bundles/org.eclipse.build.tools/feedTools.jar
deleted file mode 100644
index e10ea43..0000000
--- a/bundles/org.eclipse.build.tools/feedTools.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.build.tools/plugin.xml b/bundles/org.eclipse.build.tools/plugin.xml
deleted file mode 100644
index 29b7f74..0000000
--- a/bundles/org.eclipse.build.tools/plugin.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
- id="org.eclipse.build.tools"
- name="org.eclipse.build.tools"
- version="1.0.0">
-
- <runtime>
- </runtime>
-
- <extension
- point="org.eclipse.ant.core.extraClasspathEntries">
- <extraClasspathEntry
- library="buildTools.jar">
- </extraClasspathEntry>
- <extraClasspathEntry
- library="feedTools.jar">
- </extraClasspathEntry>
- </extension>
- <!-- Tasks -->
- <extension point="org.eclipse.ant.core.antTasks">
- <antTask
- library="buildTools.jar"
- name="sysProp"
- class="org.eclipse.releng.SystemProperty">
- </antTask>
- <antTask
- library="buildTools.jar"
- name="generateBaseFetchScript"
- class="org.eclipse.releng.generators.FetchBaseTask">
- </antTask>
- <antTask
- library="buildTools.jar"
- name="generateTestProperties"
- class="org.eclipse.releng.generators.TestVersionTracker">
- </antTask>
- <antTask
- library="buildTools.jar"
- name="verifyCompile"
- class="org.eclipse.releng.CompileErrorCheck">
- </antTask>
- <antTask
- library="buildTools.jar"
- name="findMachine"
- class="org.eclipse.releng.FindMachineTask">
- </antTask>
- <antTask
- library="buildTools.jar"
- name="modifiedMaps"
- class="org.eclipse.releng.CvsDiffParser">
- </antTask>
- <antTask
- library="buildTools.jar"
- name="unpackUpdateJars"
- class="org.eclipse.releng.UnpackUpdateJars">
- </antTask>
- <antTask
- library="buildTools.jar"
- name="generateExcludeList"
- class="org.eclipse.releng.GenerateExcludeListTask">
- </antTask>
-
-
- <!-- <antTask
- library="feedTools.jar"
- name="CreateFeed"
- class="org.eclipse.releng.generators.rss.RSSFeedCreateFeedTask">
- </antTask>
- <antTask
- library="feedTools.jar"
- name="AddEntry"
- class="org.eclipse.releng.generators.rss.RSSFeedAddEntryTask">
- </antTask>
- <antTask
- library="feedTools.jar"
- name="GetProperty"
- class="org.eclipse.releng.generators.rss.RSSFeedGetPropertyTask">
- </antTask>
- <antTask
- library="feedTools.jar"
- name="UpdateEntry"
- class="org.eclipse.releng.generators.rss.RSSFeedUpdateEntryTask">
- </antTask>
- <antTask
- library="feedTools.jar"
- name="PublishFeed"
- class="org.eclipse.releng.services.rss.RSSFeedPublisherTask">
- </antTask>
- <antTask
- library="feedTools.jar"
- name="WatchFeed"
- class="org.eclipse.releng.services.rss.RSSFeedWatcherTask">
- </antTask> -->
- </extension>
-</plugin>
diff --git a/bundles/org.eclipse.build.tools/properties/UpdateBugStateTask.properties b/bundles/org.eclipse.build.tools/properties/UpdateBugStateTask.properties
deleted file mode 100644
index b6c21ad..0000000
--- a/bundles/org.eclipse.build.tools/properties/UpdateBugStateTask.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#this file should be loaded by UpdateBugStateTask.xml when running
-#it is expected to contain login and logincookie, run BugzillaLogin.sh to generate these
-#see below for sample syntax
-
-login=8130
-logincookie=982276000
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/properties/_README.txt b/bundles/org.eclipse.build.tools/properties/_README.txt
deleted file mode 100644
index 959c36c..0000000
--- a/bundles/org.eclipse.build.tools/properties/_README.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-These files are examples to get you started. Since you cannot commit
-your files into CVS here, just point the scripts at your own properties
-files, similar in content to these, and run accordingly.
-
-You can also run the Ant scripts without properties files if you set
-the attributes statically in your ant script.
-
-Or, you can call the Tasks themselves within another Java class.
-RSSFeedAddEntryTask is an example of this, in that it optionally
-calls RSSFeedCreateFeedTask if no existing feed file already exists.
-RSSFeedGetPropertyTask is a wrapper for RSSFeedUpdateEntryTask, which
-also queries for an attribute value, but instead of changing it,
-simply returns it.
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/properties/feedPublish.eclipse.properties b/bundles/org.eclipse.build.tools/properties/feedPublish.eclipse.properties
deleted file mode 100644
index 3629240..0000000
--- a/bundles/org.eclipse.build.tools/properties/feedPublish.eclipse.properties
+++ /dev/null
@@ -1,108 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 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
-###############################################################################
-# properties for: RSSFeedCreateFeedTask.java, RSSFeedAddEntryTask.java, RSSFeedGetPropertyTask.java, RSSFeedUpdateEntryTask.java, RSSFeedPublisherTask.java
-
-# NOTE: if values are commented out (#), they must be passed in to Ant via commandline instead (eg., from emf's promoteToEclipse.sh when promoting a build)
-
-# one of 0|1|2
-debug=1
-
-# if file does not exist, it will be created; if it does, it will be modified
-#file=/builds/transfer/files/master/downloads/builds-eclipse-3.3.xml
-file=../data/builds-eclipse-3.4.xml
-
-# required
-project=Eclipse
-branch=HEAD
-version=3.3.0
-buildID=I20060922-0010
-feedURL=http://download.eclipse.org/eclipse/downloads/builds-eclipse.xml
-buildURL=http://download.eclipse.org/eclipse/downloads/drops/%%buildID%%
-
-# optional build alias, like 3.3M3
-buildAlias=I20060922-0010
-
-# optional build type; one of: N, I, M, S, R; if not provided, will be pulled from buildID above
-buildType=
-
-# optional
-buildDetailURL=http://www.eclipse.org/downloads/download.php?r=1&file=/eclipse/downloads/drops/%%buildID%%/
-buildConfigURL=
-buildLogURL=
-buildMapURL=directory.txt
-
-# optional
-releaseNotesURL=http://download.eclipse.org/eclipse/downloads/drops/%%buildID%%/buildNotes.php
-updateManagerURL=
-downloadsURL=http://download.eclipse.org/eclipse/downloads/
-
-# optional: one of NONE|UNSIGNED|SIGNREADY|BUILDREADY|SIGNED
-jarSigningStatus=
-
-# optional: one of NONE|BUILDCOMPLETE|UMSITEREADY|CALLISTOSITEREADY|COMPLETE, or
-coordinatedStatus=
-# optional: timestamp when will be ready (eg., 2006-05-02T20:50:00Z), or
-# project on which you're waiting (eg., TPTP)
-coordinatedDetails=
-
-# comma or space separated values
-dependencyURLs=
-
-#optional
-JUnitTestURL=http://download.eclipse.org/eclipse/downloads/drops/%%buildID%%/testResults.php
-performanceTestURL=http://download.eclipse.org/eclipse/downloads/drops/%%buildID%%/performance/performance.php
-APITestURL=
-
-# values to set for test results in quints of id,os,ws,arch,status,id,os,ws,arch,status,...
-JUnitTestResults=\
-0,win32,win,x86,UNKNOWN,\
-0,linux,gtk,x86,UNKNOWN,\
-0,linux,gtk,x86_64,UNKNOWN,\
-0,linux,gtk,ppc,UNKNOWN,\
-0,solaris8,gtk,x86,UNKNOWN,\
-0,aix,motif,x86,UNKNOWN,\
-0,hp-ux,motif,x86,UNKNOWN,\
-0,macosx,carbon,ppc,UNKNOWN
-performanceTestResults=\
-RHEL4-3GHz-2.5GB,linux,gtk,x86,UNKNOWN,\
-winxp-3GHz-2GB,win32,win,x86,UNKNOWN,\
-RHEL3-3GHz-2GB,linux,gtk,x86,UNKNOWN,\
-winxp-2GHz-512MB,win32,win,x86,UNKNOWN
-APITestResults=
-
-# values to set for release bundles in quints of os,ws,arch,name/type,filename,os,ws,arch,name/type,filename...
-# only need the filename; the full http URL can be assembled from buildURL + "/download.php?dropFile=" + filename or buildURL (switched to ftp://) + "/" + filename
-# eg., win32,win,SDK,eclipse-SDK-%%buildAlias%%-win32.zip,linux,gtk,SDK,eclipse-SDK-%%buildAlias%%-linux-gtk.tar.gz
-Releases=\
-win32,win,x86,SDK,eclipse-SDK-%%buildAlias%%-win32.zip,\
-linux,gtk,x86,SDK,eclipse-SDK-%%buildAlias%%-linux-gtk.tar.gz
-
-########################################
-
-# options for publishing files - need either an scp target or a cvs root/path, or both
-# file (above) is required too
-
-# /path/to/cvs/executable
-cvsExec=/usr/bin/cvs
-# user@cvsServer:/path/to/cvs/root
-cvsRoot=
-# cvs/module/path
-cvsPath=www/news
-# /tmp/folder/path/for/checkout
-cvsTemp=
-
-# /path/to/scp/executable
-scpExec=/usr/bin/scp
-# user@server:/path/to/destination/file.xml - destintion folder MUST ALREADY EXIST
-scpTarget=
-
-# optionally, if the target folder might not exist, you can use ssh to create it before scp'ing the file - only runs if sshMakeDirCommand is defined
-sshExec=/usr/bin/ssh
diff --git a/bundles/org.eclipse.build.tools/properties/feedPublish.emf.properties b/bundles/org.eclipse.build.tools/properties/feedPublish.emf.properties
deleted file mode 100644
index 314e027..0000000
--- a/bundles/org.eclipse.build.tools/properties/feedPublish.emf.properties
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 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
-###############################################################################
-# properties for: RSSFeedCreateFeedTask.java, RSSFeedAddEntryTask.java, RSSFeedGetPropertyTask.java, RSSFeedUpdateEntryTask.java, RSSFeedPublisherTask.java
-
-# NOTE: if values are commented out (#), they must be passed in to Ant via commandline instead (eg., from emf's promoteToEclipse.sh when promoting a build)
-
-# one of 0|1|2
-debug=0
-
-# if file does not exist, it will be created; if it does, it will be modified
-#file=/var/www/emf/feeds/builds-emf-2.3.xml
-file=../data/builds-emf-2.3.xml
-
-# required
-project=EMF
-branch=HEAD
-version=2.3.0
-buildID=S200611091546
-feedURL=http://download.eclipse.org/tools/emf/feeds/builds-emf-2.3.xml
-buildURL=http://www.eclipse.org/emf/downloads/?showAll=1&hlbuild=%%buildID%%#%%buildID%%
-
-# optional build alias, like 2.2.1RC2
-buildAlias=2.3.0M3
-
-# optional build type; one of: N, I, M, S, R; if not provided, will be pulled from buildID above
-buildType=
-
-# optional
-buildDetailURL=http://www.eclipse.org/downloads/download.php?r=1&file=/tools/emf/downloads/drops/%%version%%/%%buildID%%/
-buildConfigURL=build.cfg
-buildLogURL=buildlog.txt
-buildMapURL=directory.txt
-
-# optional
-releaseNotesURL=http://www.eclipse.org/emf/news/release-notes.php?version=%%version%%
-updateManagerURL=http://download.eclipse.org/tools/emf/updates/
-downloadsURL=http://www.eclipse.org/emf/downloads/
-
-# optional: one of NONE|UNSIGNED|SIGNREADY|BUILDREADY|SIGNED
-jarSigningStatus=
-
-# optional: one of NONE|BUILDCOMPLETE|UMSITEREADY|CALLISTOSITEREADY|COMPLETE
-coordinatedStatus=CALLISTOSITEREADY
-# optional: timestamp when will be ready (eg., 2006-05-02T20:50:00Z), or
-# project on which you're waiting (eg., TPTP)
-coordinatedDetails=
-
-# comma or space separated values
-dependencyURLs=http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/M20060919-1045/eclipse-SDK-M20060919-1045-linux-gtk.tar.gz
-
-# optional
-JUnitTestURL=http://www.eclipse.org/downloads/download.php?r=1&file=/tools/emf/downloads/drops/%%version%%/%%buildID%%/testResults.php
-performanceTestURL=
-APITestURL=
-
-# values to set for test results in quints of id,os,ws,arch,status,id,os,ws,arch,status,...
-JUnitTestResults=0,ALL,ALL,ALL,PASS
-performanceTestResults=
-APITestResults=
-
-# values to set for release bundles in quints of os,ws,arch,name/type,filename,os,ws,arch,name/type,filename...
-# only need the filename; the full http URL can be assembled from buildURL + "/download.php?dropFile=" + filename or buildURL (switched to ftp://) + "/" + filename
-# eg., ALL,ALL,ALL,SDK,emf-sdo-xsd-SDK-%%buildAlias%%.zip
-Releases=ALL,ALL,ALL,SDK,emf-sdo-xsd-SDK-%%buildAlias%%.zip
-
-########################################
-
-# options for publishing files - need either an scp target or a cvs root/path, or both
-# file (above) is required too
-
-# /path/to/cvs/executable
-cvsExec=/usr/bin/cvs
-# user@cvsServer:/path/to/cvs/root
-cvsRoot=nickb@dev.eclipse.org:/cvsroot/org.eclipse
-# cvs/module/path
-cvsPath=www/emf/feeds
-# /tmp/folder/path/for/checkout
-cvsTemp=/tmp/tmp-RSSFeedPublisherTask-emf-nickb
-
-# /path/to/scp/executable
-scpExec=/usr/bin/scp
-# user@server:/path/to/destination/folder/ - destination folder MUST ALREADY EXIST
-scpTarget=nickb@download1.eclipse.org:/home/data/httpd/download.eclipse.org/tools/emf/feeds/
-
-# optionally, if the target folder might not exist, you can use ssh to create it before scp'ing the file
-sshExec=/usr/bin/ssh
-
-# for local testing purposes only
-#cvsRoot=nickb@dbzi:/home/cvs
-#cvsPath=tmp/foo
-#scpTarget=nickb@dbzi:/tmp/foo/
-
diff --git a/bundles/org.eclipse.build.tools/properties/feedPublish.uml2.properties b/bundles/org.eclipse.build.tools/properties/feedPublish.uml2.properties
deleted file mode 100644
index 7ca324f..0000000
--- a/bundles/org.eclipse.build.tools/properties/feedPublish.uml2.properties
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 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
-###############################################################################
-# properties for: RSSFeedCreateFeedTask.java, RSSFeedAddEntryTask.java, RSSFeedGetPropertyTask.java, RSSFeedUpdateEntryTask.java, RSSFeedPublisherTask.java
-
-# NOTE: if values are commented out (#), they must be passed in to Ant via commandline instead (eg., from emf's promoteToEclipse.sh when promoting a build)
-
-# one of 0|1|2
-debug=0
-
-# if file does not exist, it will be created; if it does, it will be modified
-#file=/var/www/modeling/mdt/feeds/builds-uml2-uml-2.1.xml
-file=../data/builds-uml2-uml-2.1.xml
-
-# required
-project=UML2
-branch=HEAD
-version=2.1.0
-buildID=I200611141702
-feedURL=http://download.eclipse.org/modeling/mdt/feeds/builds-uml2-uml-2.1.xml
-buildURL=http://www.eclipse.org/modeling/mdt/downloads/?project=uml2-uml&showAll=1&hlbuild=%%buildID%%#%%buildID%%
-
-# optional build alias, like 2.0.1RC1
-buildAlias=
-
-# optional build type; one of: N, I, M, S, R; if not provided, will be pulled from buildID above
-buildType=
-
-# optional
-buildDetailURL=http://www.eclipse.org/downloads/download.php?r=1&file=/modeling/mdt/uml2-uml/downloads/drops/%%version%%/%%buildID%%/
-buildConfigURL=build.cfg
-buildLogURL=buildlog.txt
-buildMapURL=directory.txt
-
-# optional
-releaseNotesURL=http://www.eclipse.org/modeling/mdt/news/release-notes.php?project=uml2-uml&version=%%version%%
-updateManagerURL=http://download.eclipse.org/modeling/mdt/updates/?project=uml2-uml
-downloadsURL=http://www.eclipse.org/modeling/mdt/downloads/?project=uml2-uml#uml2-uml
-
-# optional: one of NONE|UNSIGNED|SIGNREADY|BUILDREADY|SIGNED
-jarSigningStatus=
-
-# optional: one of NONE|BUILDCOMPLETE|UMSITEREADY|CALLISTOSITEREADY|COMPLETE
-coordinatedStatus=
-# optional: timestamp when will be ready (eg., 2006-05-02T20:50:00Z), or
-# project on which you're waiting (eg., TPTP)
-coordinatedDetails=
-
-# comma or space separated values
-dependencyURLs=http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/M20060919-1045/eclipse-SDK-M20060919-1045-linux-gtk.tar.gz http://www.eclipse.org/downloads/download.php?file=/tools/emf/downloads/drops/2.2.1/S200609210005/emf-sdo-xsd-SDK-2.2.1RC2.zip
-
-# optional
-JUnitTestURL=http://www.eclipse.org/downloads/download.php?r=1&file=/modeling/mdt/uml2-uml/downloads/drops/%%version%%/%%buildID%%/testResults.php
-performanceTestURL=
-APITestURL=
-
-# values to set for test results in quints of id,os,ws,arch,status,id,os,ws,arch,status,...
-JUnitTestResults=0,ALL,ALL,ALL,PASS
-performanceTestResults=
-APITestResults=
-
-# values to set for release bundles in quints of os,ws,arch,name/type,filename,os,ws,arch,name/type,filename...
-# only need the filename; the full http URL can be assembled from buildURL + "/download.php?dropFile=" + filename or buildURL (switched to ftp://) + "/" + filename
-# eg., ALL,ALL,ALL,SDK,uml2-SDK-%%buildAlias%%.zip
-Releases=ALL,ALL,ALL,SDK,uml2-SDK-%%buildAlias%%.zip
-
-########################################
-
-# options for publishing files - need either an scp target or a cvs root/path, or both
-# file (above) is required too
-
-# /path/to/cvs/executable
-cvsExec=/usr/bin/cvs
-# user@cvsServer:/path/to/cvs/root
-cvsRoot=khussey@dev.eclipse.org:/cvsroot/org.eclipse
-# cvs/module/path
-cvsPath=www/uml2/feeds
-# /tmp/folder/path/for/checkout
-cvsTemp=/tmp/RSSFeedPublisherTask-uml2-khussey
-
-# /path/to/scp/executable
-scpExec=/usr/bin/scp
-# user@server:/path/to/destination/folder/ - destination folder MUST ALREADY EXIST
-scpTarget=khussey@download1.eclipse.org:/home/data/httpd/download.eclipse.org/tools/uml2/feeds/
-
-# optionally, if the target folder might not exist, you can use ssh to create it before scp'ing the file - only runs if sshMakeDirCommand is defined
-sshExec=/usr/bin/ssh
diff --git a/bundles/org.eclipse.build.tools/properties/feedWatch.emf.properties b/bundles/org.eclipse.build.tools/properties/feedWatch.emf.properties
deleted file mode 100644
index ad8f528..0000000
--- a/bundles/org.eclipse.build.tools/properties/feedWatch.emf.properties
+++ /dev/null
@@ -1,96 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 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
-###############################################################################
-# properties for RSSFeedWatcherTask.java
-
-# one of 0|1|2
-debug=0
-
-# if file does not exist, it will be created; if it does, it will be modified
-file=../data/builds-eclipse-3.4.xml
-
-# required URL for the feed to check
-feedURL=http://download.eclipse.org/downloads/builds-eclipse.xml
-
-# Feed Watch Actions - must be defined as triplets of [xpath0]; [script0]; [commandline0]; [xpath1]; [script1]; [commandline1]; ...
-# must be separated by semi-colons. Line breaks are permitted for clarity and will be String.trim()'d
-feedWatchActions=\
-//*[name()='entry'][1]/*/*[name()='build']/@href;null;null;\
-//*[name()='entry'][1]/*/*[name()='build']/*[name()='releases']/*[@os='linux'][@ws='gtk'][@type='SDK']/text();null;null;\
-//*[name()='entry'][1]/*/*[name()='build']/@type;null;null;\
-
-# PASSING ANT TASK RESULTS TO EXTERNAL SCRIPT AS COMMANDLINE ARGUMENTS
-######################################################################
-
-# The <exec> task that is run within RSSFeedWatcherTask.java, eg.
-# <exec executable="/path/to/executable"><arg line="-somearg value -someotherarg anothervalue"/></exec>
-# will be passed some default commandline arguments BEFORE any you might want to specify as well (so that you can override them if you wish).
-
-# For example, if you have these properties set in this file:
-# debug=1
-# feedWatchActions=//*[name() = 'entry'][1]/*[name() = 'updated']/text(); ../scripts_rss/sendEmailAlert.sh; -debug 0
-# you will execute the following under the covers of the org.eclipse.releng.services.RSSFeedWatcherTask:
-# <exec executable="../scripts_rss/sendEmailAlert.sh">
-# <arg line="-debug 1 -feedURL http://www.eclipse.org/emf/feeds/builds.xml
-# -xpath "/*[name() = 'feed']/*[name() = 'updated']/text()"
-# -oldvalue "2006-05-04T12:14:33Z" -newvalue "2006-05-11T12:14:33Z" -debug 0"/>
-# </exec>
-
-# Therefore, you can use these values in the script that you execute (be it sending an email or starting a build or whatever).
-# If you do NOT want to pass arguments to your executable, use the word "null" instead. This will NOT be passed to your script.
-
-
-# CHECKING ANT TASK RESULTS WITHIN ANT SCRIPT
-#############################################
-
-# If you want to run some <exec> and then check the results of that execution, you can do so in the ant script that calls RSSFeedWatcherTask.
-# The following properties will be set after you run the task:
-
-# feedWatchAction.Result.0 - The result returned from the <exec> task; if set, something bad happened
-# feedWatchAction.Error.0 - Details about the error that occurred, if set, something bad happened
-# feedWatchAction.Output.0 - Console output from your <exec>, if any;
-# this will depend on what you run in response to a feed change, and if that process produces console output
-# feedWatchAction.OldValue.0 - The original value of the node you asked for, from the previous cached version of the feed
-# feedWatchAction.NewValue.0 - The changed value of the node you asked for, from the latest version of the feed;
-# if you asked for changes to the test status for performance tests, this could be "PASS";
-# if you asked for any changes to the feed, this will be the XML datestamp of the last update, eg: 2006-05-04T12:14:33Z
-#
-# If you are watching for more than one condition, you can check for feedWatchAction.Result.0, feedWatchAction.Result.1, feedWatchAction.Result.2, etc.
-
-
-# RUNNING NO EXTERNAL <exec>
-#############################################
-
-# If you only want to check for changes to the feed and handle the response yourself within Ant instead of an <exec>,
-# simply pass in the executable as "null" to prevent any shell execution from occurring. For example:
-
-# feedWatchActions=//*[name() = 'entry'][1]/*[name() = 'updated']/text(); null; null
-
-# If the node is found and the feed has been changed, the property feedWatchAction.NewValue.0
-# (and/or feedWatchAction.NewValue.1, feedWatchAction.NewValue.2, etc.) will be set to the new changed value.
-
-
-# XPATH EXAMPLES - SAMPLE NODES TO WATCH FOR CHANGES
-####################################################
-
-# 1. to watch for ANY change in the feed, check the <feed>'s <updated> node (and respond with an email, passing -debug 1 to the mail script)
-# feedWatchActions=/*[name() = 'feed']/*[name() = 'updated']/text(); ../scripts_rss/sendEmailAlert.sh; -debug 1
-
-# 2. to watch for ANY changes in the current build, check the first <entry>'s <updated> node (and respond with an email, no commandline flags)
-# feedWatchActions=//*[name() = 'entry'][1]/*[name() = 'updated']/text(); ../scripts_rss/sendEmailAlert.sh; null
-
-# 3a. to watch for coordinated status changes, check the first <entry>'s <build> node's coordinated="" attribute (and respond using some custom Ant script)
-# feedWatchActions=//*[name() = 'entry'][1]/*/*/*[name() = 'coordinated']/@status; null; null
-
-# 3b. to watch for jar signing status changes, check the first <entry>'s <build> node's jars="" attribute (and respond using some custom Ant script)
-# feedWatchActions=//*[name() = 'entry'][1]/*/*[name() = 'build']/@jars; null; null
-
-# 3c. to watch for changes in the current build's performance test results on linux-gtk (and respond using some custom Ant script)
-# feedWatchActions=//*[name() = 'entry'][1]/*/*/*/*[@type = 'performance']/*[name() = 'result'][@os = 'linux'][@ws = 'gtk']/text(); null; null
diff --git a/bundles/org.eclipse.build.tools/properties/feedWatch.uml2.properties b/bundles/org.eclipse.build.tools/properties/feedWatch.uml2.properties
deleted file mode 100644
index 8f76d74..0000000
--- a/bundles/org.eclipse.build.tools/properties/feedWatch.uml2.properties
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 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
-###############################################################################
-# properties for RSSFeedWatcherTask.java
-
-# one of 0|1|2
-debug=2
-
-# if file does not exist, it will be created; if it does, it will be modified
-file=../data/builds-emf-2.3.xml
-
-# required URL for the feed to check
-feedURL=http://www.eclipse.org/emf/feeds/builds-emf-2.3.xml
-
-# Feed Watch Actions - must be defined as triplets of [xpath0]; [script0]; [commandline0]; [xpath1]; [script1]; [commandline1]; ...
-# must be separated by semi-colons. Line breaks are permitted for clarity and will be String.trim()'d
-feedWatchActions=/*[name() = 'feed']/*[name() = 'updated']/text(); null; null
-
-# PASSING ANT TASK RESULTS TO EXTERNAL SCRIPT AS COMMANDLINE ARGUMENTS
-######################################################################
-
-# The <exec> task that is run within RSSFeedWatcherTask.java, eg.
-# <exec executable="/path/to/executable"><arg line="-somearg value -someotherarg anothervalue"/></exec>
-# will be passed some default commandline arguments BEFORE any you might want to specify as well (so that you can override them if you wish).
-
-# For example, if you have these properties set in this file:
-# debug=1
-# feedWatchActions=//*[name() = 'entry'][1]/*[name() = 'updated']/text(); ../scripts_rss/sendEmailAlert.sh; -debug 0
-# you will execute the following under the covers of the org.eclipse.releng.services.RSSFeedWatcherTask:
-# <exec executable="../scripts_rss/sendEmailAlert.sh">
-# <arg line="-debug 1 -feedURL http://www.eclipse.org/emf/feeds/builds.xml
-# -xpath "/*[name() = 'feed']/*[name() = 'updated']/text()"
-# -oldvalue "2006-05-04T12:14:33Z" -newvalue "2006-05-11T12:14:33Z" -debug 0"/>
-# </exec>
-
-# Therefore, you can use these values in the script that you execute (be it sending an email or starting a build or whatever).
-# If you do NOT want to pass arguments to your executable, use the word "null" instead. This will NOT be passed to your script.
-
-
-# CHECKING ANT TASK RESULTS WITHIN ANT SCRIPT
-#############################################
-
-# If you want to run some <exec> and then check the results of that execution, you can do so in the ant script that calls RSSFeedWatcherTask.
-# The following properties will be set after you run the task:
-
-# feedWatchAction.Result.0 - The result returned from the <exec> task; if set, something bad happened
-# feedWatchAction.Error.0 - Details about the error that occurred, if set, something bad happened
-# feedWatchAction.Output.0 - Console output from your <exec>, if any;
-# this will depend on what you run in response to a feed change, and if that process produces console output
-# feedWatchAction.OldValue.0 - The original value of the node you asked for, from the previous cached version of the feed
-# feedWatchAction.NewValue.0 - The changed value of the node you asked for, from the latest version of the feed;
-# if you asked for changes to the test status for performance tests, this could be "PASS";
-# if you asked for any changes to the feed, this will be the XML datestamp of the last update, eg: 2006-05-04T12:14:33Z
-#
-# If you are watching for more than one condition, you can check for feedWatchAction.Result.0, feedWatchAction.Result.1, feedWatchAction.Result.2, etc.
-
-
-# RUNNING NO EXTERNAL <exec>
-#############################################
-
-# If you only want to check for changes to the feed and handle the response yourself within Ant instead of an <exec>,
-# simply pass in the executable as "null" to prevent any shell execution from occurring. For example:
-
-# feedWatchActions=//*[name() = 'entry'][1]/*[name() = 'updated']/text(); null; null
-
-# If the node is found and the feed has been changed, the property feedWatchAction.NewValue.0
-# (and/or feedWatchAction.NewValue.1, feedWatchAction.NewValue.2, etc.) will be set to the new changed value.
-
-
-## XPATH EXAMPLES - SAMPLE NODES TO WATCH FOR CHANGES
-####################################################
-
-# 1. to watch for ANY change in the feed, check the <feed>'s <updated> node (and respond with an email, passing -debug 1 to the mail script)
-# feedWatchActions=/*[name() = 'feed']/*[name() = 'updated']/text(); ../scripts_rss/sendEmailAlert.sh; -debug 1
-
-# 2. to watch for ANY changes in the current build, check the first <entry>'s <updated> node (and respond with an email, no commandline flags)
-# feedWatchActions=//*[name() = 'entry'][1]/*[name() = 'updated']/text(); ../scripts_rss/sendEmailAlert.sh; null
-
-# 3a. to watch for coordinated status changes, check the first <entry>'s <build> node's coordinated="" attribute (and respond using some custom Ant script)
-# feedWatchActions=//*[name() = 'entry'][1]/*/*/*[name() = 'coordinated']/@status; null; null
-
-# 3b. to watch for jar signing status changes, check the first <entry>'s <build> node's jars="" attribute (and respond using some custom Ant script)
-# feedWatchActions=//*[name() = 'entry'][1]/*/*[name() = 'build']/@jars; null; null
-
-# 3c. to watch for changes in the current build's performance test results on linux-gtk (and respond using some custom Ant script)
-# feedWatchActions=//*[name() = 'entry'][1]/*/*/*/*[@type = 'performance']/*[name() = 'result'][@os = 'linux'][@ws = 'gtk']/text(); null; null
diff --git a/bundles/org.eclipse.build.tools/schema/_README.txt b/bundles/org.eclipse.build.tools/schema/_README.txt
deleted file mode 100644
index 8da3676..0000000
--- a/bundles/org.eclipse.build.tools/schema/_README.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-These files are for reference, but are not required to run the
-Ant scripts + tasks.
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/schema/atom10_build.xsd b/bundles/org.eclipse.build.tools/schema/atom10_build.xsd
deleted file mode 100644
index 93b3ed5..0000000
--- a/bundles/org.eclipse.build.tools/schema/atom10_build.xsd
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns:atom="http://www.w3.org/2005/Atom" xmlns:bf="http://www.eclipse.org/2006/BuildFeed" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.w3.org/2005/Atom">
- <xsd:import namespace="http://www.eclipse.org/2006/BuildFeed" schemaLocation="build.xsd"/>
- <xsd:element name="feed">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="atom:title"/>
- <xsd:element ref="atom:link"/>
- <xsd:element ref="atom:updated"/>
- <xsd:element ref="atom:author"/>
- <xsd:element ref="atom:id"/>
- <xsd:element maxOccurs="unbounded" ref="atom:entry"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="author">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="atom:name"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="name" type="xsd:string"/>
- <xsd:element name="entry">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="atom:title"/>
- <xsd:element ref="atom:link"/>
- <xsd:element ref="atom:id"/>
- <xsd:element ref="atom:updated"/>
- <xsd:element ref="atom:summary"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="summary">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="1" minOccurs="1" ref="bf:build"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="title" type="xsd:string"/>
- <xsd:element name="link">
- <xsd:complexType>
- <xsd:attribute name="href" type="xsd:anyURI" use="required"/>
- <xsd:attribute name="rel" type="xsd:NCName"/>
- <xsd:attribute name="type"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="updated" type="xsd:dateTime"/>
- <xsd:element name="id" type="xsd:anyURI"/>
-</xsd:schema>
diff --git a/bundles/org.eclipse.build.tools/schema/build.xsd b/bundles/org.eclipse.build.tools/schema/build.xsd
deleted file mode 100644
index fc5e9d3..0000000
--- a/bundles/org.eclipse.build.tools/schema/build.xsd
+++ /dev/null
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.eclipse.org/2006/BuildFeed" elementFormDefault="qualified" targetNamespace="http://www.eclipse.org/2006/BuildFeed">
-
- <xs:element name="build">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="1" minOccurs="0" ref="detail"/>
- <xs:element maxOccurs="1" minOccurs="0" ref="update"/>
- <xs:element maxOccurs="1" minOccurs="0" ref="downloads"/>
- <xs:element maxOccurs="1" minOccurs="0" ref="releasenotes"/>
-
- <xs:element maxOccurs="1" minOccurs="0" ref="releases"/>
-
- <xs:element maxOccurs="1" minOccurs="0" ref="tests"/>
-
- <xs:element maxOccurs="1" minOccurs="0" ref="dependencies"/>
- <xs:element maxOccurs="1" minOccurs="0" ref="coordinated"/>
- </xs:sequence>
- <xs:attribute name="version" type="buildVersion" use="required"/>
- <xs:attribute name="type" type="enumBuildType" use="required"/>
- <xs:attribute name="datetime" type="buildDatetime" use="required"/>
- <xs:attribute name="href" type="xs:anyURI" use="required"/>
- <xs:attribute name="branch" type="xs:token" use="optional"/>
- <xs:attribute name="jars" type="enumJarSigningStatus" use="optional"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="detail">
- <xs:complexType>
- <xs:attribute name="href" type="xs:anyURI" use="required"/>
- <xs:attribute name="config" type="xs:token" use="optional"/>
- <xs:attribute name="log" type="xs:token" use="optional"/>
- <xs:attribute name="map" type="xs:token" use="optional"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="update" type="xs:anyURI"/>
- <xs:element name="downloads" type="xs:anyURI"/>
- <xs:element name="releasenotes" type="xs:anyURI"/>
-
- <xs:element name="releases">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="1" ref="release"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="release">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:anyURI">
- <xs:attribute name="os" type="enumOS" use="required"/>
- <xs:attribute name="ws" type="enumWS" use="required"/>
- <xs:attribute name="arch" type="enumArch" use="optional"/>
- <xs:attribute name="type" type="enumReleaseType" use="required"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="tests">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="1" ref="test"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="test">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="1" ref="result"/>
- </xs:sequence>
- <xs:attribute name="href" type="xs:anyURI" use="optional"/>
- <xs:attribute name="type" type="enumTestType" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="result">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="enumTestStatus">
- <xs:attribute name="id" type="xs:token" use="optional"/>
- <xs:attribute name="os" type="enumOS" use="required"/>
- <xs:attribute name="ws" type="enumWS" use="required"/>
- <xs:attribute name="arch" type="enumArch" use="optional"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="dependencies">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="1" ref="dependency"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="dependency" type="xs:anyURI"/>
-
- <xs:element name="coordinated">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="status" type="enumCoordinatedStatus" use="optional"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
-
- <xs:simpleType name="enumBuildType">
- <xs:restriction base="xs:token">
- <xs:enumeration value="N"/>
- <xs:enumeration value="I"/>
- <xs:enumeration value="M"/>
- <xs:enumeration value="S"/>
- <xs:enumeration value="R"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="enumTestType">
- <xs:restriction base="xs:token">
- <xs:enumeration value="junit"/>
- <xs:enumeration value="performance"/>
- <xs:enumeration value="api"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="enumJarSigningStatus">
- <xs:restriction base="xs:token">
- <xs:enumeration value=""/>
- <xs:enumeration value="NONE"/>
- <xs:enumeration value="UNSIGNED"/>
- <xs:enumeration value="SIGNREADY"/>
- <xs:enumeration value="BUILDREADY"/>
- <xs:enumeration value="SIGNED"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="enumCoordinatedStatus">
- <xs:restriction base="xs:token">
- <xs:enumeration value=""/>
- <xs:enumeration value="NONE"/>
- <xs:enumeration value="BUILDCOMPLETE"/>
- <xs:enumeration value="UMSITEREADY"/>
- <xs:enumeration value="CALLISTOSITEREADY"/>
- <xs:enumeration value="COMPLETE"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="enumTestStatus">
- <xs:restriction base="xs:token">
- <xs:enumeration value=""/>
- <xs:enumeration value="PASS"/>
- <xs:enumeration value="PENDING"/>
- <xs:enumeration value="FAIL"/>
- <xs:enumeration value="AVAILABLE"/>
- <xs:enumeration value="SKIPPED"/>
- <xs:enumeration value="UNKNOWN"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="enumOS">
- <xs:restriction base="xs:token">
- <xs:enumeration value="aix"/>
- <xs:enumeration value="hp-ux"/>
- <xs:enumeration value="linux"/>
- <xs:enumeration value="macosx"/>
- <xs:enumeration value="qnx"/>
- <xs:enumeration value="solaris8"/>
- <xs:enumeration value="wce"/>
- <xs:enumeration value="win32"/>
- <xs:enumeration value="ALL"/>
- <xs:enumeration value="OTHER"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="enumWS">
- <xs:restriction base="xs:token">
- <xs:enumeration value="carbon"/>
- <xs:enumeration value="gtk"/>
- <xs:enumeration value="motif"/>
- <xs:enumeration value="photon"/>
- <xs:enumeration value="win"/>
- <xs:enumeration value="ALL"/>
- <xs:enumeration value="OTHER"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="enumArch">
- <xs:restriction base="xs:token">
- <xs:enumeration value="arm"/>
- <xs:enumeration value="hp9000"/>
- <xs:enumeration value="ppc"/>
- <xs:enumeration value="sparc"/>
- <xs:enumeration value="x86"/>
- <xs:enumeration value="x86_64"/>
- <xs:enumeration value="ALL"/>
- <xs:enumeration value="OTHER"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="enumReleaseType">
- <xs:restriction base="xs:token">
- <xs:enumeration value="SDK"/>
- <xs:enumeration value="runtime"/>
- <xs:enumeration value="tests"/>
- <xs:enumeration value="examples"/>
- <xs:enumeration value="OTHER"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="buildDatetime">
- <xs:restriction base="xs:token">
- <xs:pattern value="\d{8}-{0,1}\d{0,4}"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="buildVersion">
- <xs:restriction base="xs:token">
- <xs:pattern value="\d{1,2}.\d{1,2}.\d{1,2}"/>
- </xs:restriction>
- </xs:simpleType>
-
-</xs:schema>
diff --git a/bundles/org.eclipse.build.tools/scripts/customTest.xml.template b/bundles/org.eclipse.build.tools/scripts/customTest.xml.template
deleted file mode 100644
index bda5df2..0000000
--- a/bundles/org.eclipse.build.tools/scripts/customTest.xml.template
+++ /dev/null
@@ -1,16 +0,0 @@
-<project name="Customized testing instructions" default="customSetup">
-
-<!--All properties here are set in test.properties, with the exception of ${tester}-->
- <target name="customSetup">
- <!--copy the script which sets up environment and invokes the tests on test machine-->
- <exec dir="." executable="${copyClient}">
- <arg line="${tester}/testAll.bat ${testMachine}:${executionDir}" />
- </exec>
-
- <!--copy in the properties file for testing with alternate vm args-->
- <exec dir="." executable="${copyClient}">
- <arg line="${tester}/vm.properties ${testMachine}:${executionDir}" />
- </exec>
- </target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/scripts/publish.xml b/bundles/org.eclipse.build.tools/scripts/publish.xml
deleted file mode 100644
index 11e9751..0000000
--- a/bundles/org.eclipse.build.tools/scripts/publish.xml
+++ /dev/null
@@ -1,179 +0,0 @@
-<project name="Publish Build" default="default">
-
-<!-- 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 name="result" value="${buildDirectory}/${buildLabel}" />
-
-<!--name of generated index page-->
-<property name="indexFileName" value="index.html" />
-
-<target name="default">
- <antcall target="countFiles" />
- <antcall target="generateIndex" />
- <antcall target="getStaticFiles" />
-</target>
-
-<target name="generateIndex">
-
- <property name="class" value="org.eclipse.releng.generators.TestResultsGenerator" />
- <taskdef name="indexResults" classname="${class}" />
-
-<!--
- 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 name="xmlDirectoryName" value="${result}/testresults/xml" />
- <property name="dropDirectoryName" value="${result}" />
- <property name="testResultsTemplateFileName" value="${basedir}/templateFiles/testResults.php.template" />
- <property name="dropTemplateFileName" value="${basedir}/templateFiles/index.html.template" />
- <property name="testResultsHtmlFileName" value="testResults.php" />
- <property name="hrefTestResultsTargetPath" value="testresults/html" />
- <property name="hrefCompileLogsTargetPath" value="compilelogs" />
- <property name="compileLogsDirectoryName" value="${result}/compilelogs" />
- <property name="testManifestFileName" value="${basedir}/testManifest.xml" />
-
-
- <indexResults
- isBuildTested="${isBuildTested}"
- buildType="${buildType}"
- dropTokenList="${dropTokenList}"
- platformIdentifierToken="${platformIdentifierToken}"
- platformSpecificTemplateList="${platformSpecificTemplateList}"
- dropHtmlFileName="${indexFileName}"
- xmlDirectoryName="${xmlDirectoryName}"
- dropDirectoryName="${dropDirectoryName}"
- testResultsTemplateFileName="${testResultsTemplateFileName}"
- dropTemplateFileName="${dropTemplateFileName}"
- testResultsHtmlFileName="${testResultsHtmlFileName}"
- hrefTestResultsTargetPath="${hrefTestResultsTargetPath}"
- hrefCompileLogsTargetPath="${hrefCompileLogsTargetPath}"
- compileLogsDirectoryName="${compileLogsDirectoryName}"
- testManifestFileName="${testManifestFileName}"
- />
-
- <tstamp>
- <format property="TODAY" pattern="MMMM d, yyyy"/>
- </tstamp>
-
- <!-- Insert Build Type descriptor -->
- <antcall target="${buildType}" />
-
- <!-- Insert Build Date -->
- <replace file="${result}/${indexFileName}" token="@date@" value="${TODAY}"/>
- <replace dir="${result}" value="${TODAY}">
- <include name="**/*.php"/>
- <replacetoken><![CDATA[@date@]]></replacetoken>
- </replace>
-
- <!-- Insert Build Name -->
- <replace file="${result}/${indexFileName}" token="@build@" value="${buildId}"/>
- <replace dir="${result}" value="${buildId}">
- <include name="**/*.php"/>
- <replacetoken><![CDATA[@build@]]></replacetoken>
- </replace>
-
-
- <!-- Update timestamp on file to permit overwrite through Ant copy task -->
- <touch file="${result}/${indexFileName}" />
- <touch>
- <fileset dir="${result}">
- <include name="**/*.php"/>
- </fileset>
- </touch>
-
-</target>
-
-
-<target name="getStaticFiles">
- <!--get static files required in the buildLabel directory-->
- <copy todir="${result}">
- <fileset dir="staticDropFiles" />
- </copy>
-
- <!--copy buildnotes from plugin directories-->
- <mkdir dir="${result}/buildnotes" />
- <copy todir="${result}/buildnotes" flatten="true">
- <fileset dir="${buildDirectory}/plugins" includes="**/buildnotes_*.html" />
- </copy>
-</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.
- -->
- <taskdef name="countFiles" classname="org.eclipse.releng.generators.FileCounter" />
-
- <countFiles
- sourceDirectory="${result}"
- filterString=".zip,.tar.gz"
- outputFile="${result}/files.count"
- />
-
-</target>
-
-<!--Build type descriptors-->
-<target name="I">
- <replace file="${result}/${indexFileName}" token="@type@" value="Integration"/>
- <replace dir="${result}" value="Integration">
- <include name="**/*.php"/>
- <replacetoken><![CDATA[@type@]]></replacetoken>
- </replace>
-</target>
-
-<target name="N">
- <replace file="${result}/${indexFileName}" token="@type@" value="Nightly"/>
- <replace dir="${result}" value="Nightly">
- <include name="**/*.php"/>
- <replacetoken><![CDATA[@type@]]></replacetoken>
- </replace>
-</target>
-
-<target name="M">
- <replace file="${result}/${indexFileName}" token="@type@" value="Maintenance"/>
- <replace dir="${result}" value="Maintenance">
- <include name="**/*.php"/>
- <replacetoken><![CDATA[@type@]]></replacetoken>
- </replace>
-</target>
-
-<target name="R">
- <replace file="${result}/${indexFileName}" token="@type@" value="Release"/>
- <replace dir="${result}" value="Release">
- <include name="**/*.php"/>
- <replacetoken><![CDATA[@type@]]></replacetoken>
- </replace>
-</target>
-
-<target name="S">
- <replace file="${result}/${indexFileName}" token="@type@" value="Stable"/>
- <replace dir="${result}" value="Stable">
- <include name="**/*.php"/>
- <replacetoken><![CDATA[@type@]]></replacetoken>
- </replace>
-</target>
-
-<target name="T">
- <replace file="${result}/${indexFileName}" token="@type@" value="Test"/>
- <replace dir="${result}" value="Test">
- <include name="**/*.php"/>
- <replacetoken><![CDATA[@type@]]></replacetoken>
- </replace>
-</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/scripts/test.xml b/bundles/org.eclipse.build.tools/scripts/test.xml
deleted file mode 100644
index 81762df..0000000
--- a/bundles/org.eclipse.build.tools/scripts/test.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<project name="Targets to run Automated Tests Locally and Remotely" default="main" basedir=".">
-
-<!--
-This script must be called with the ${tester} property set.
-
-The testing.properties file must contain definitions for all other properties in this script if they are not
-set in a calling script or command line. See test.properties.template for property descriptions.
--->
-
-<property name="customTest" value="${tester}/customTest.xml" />
-<property name="testing.properties" value="${tester}/testing.properties" />
-<property file="${testing.properties}" />
-<property name="dropLocation" value="${buildDirectory}" />
-
-<target name="main">
- <antcall target="${testTarget}" />
-</target>
-
-<!--
-Targets for setting up and running tests remotely
-It is assumed that keys are set up on test machines to permit connections without user name and password prompts.
--->
-<target name="runtests-remote" depends="setRemoteLoginClient,setRemoteCopyClient">
- <property name="testResults" value="${dropLocation}/${buildLabel}/testresults" />
-
- <exec dir="." executable="${loginClient}">
- <arg line="${testMachine} mkdir ${testDir}" />
- </exec>
-
- <!--install the vm used for testing-->
- <antcall target="installVmForRemote" />
-
- <!--set up the automated testing framework-->
- <exec dir="." executable="${copyClient}">
- <arg line="${dropLocation}/${buildLabel}/${testFramework} ${testMachine}:${testDir}" />
- </exec>
- <exec dir="." executable="${loginClient}">
- <arg line="${testMachine} unzip -o -qq ${testDir}/${testFramework} -d ${testDir}" />
- </exec>
- <exec dir="." executable="${copyClient}">
- <arg line="${dropLocation}/${buildLabel}/${runtime} ${testMachine}:${executionDir}" />
- </exec>
-
- <!--callback to custom script for post setup-->
- <ant antfile="${customTest}" target="customSetup" dir="${basedir}"/>
-
- <exec dir="." executable="${loginClient}">
- <arg line="${testMachine} ${testScript} ${args}" />
- </exec>
-
- <!--${testResults} and ${testResults}/consolelogs must exist before rcp and scp copy operations.
- Directories contents are copied flattened if the destination directories don't exist.-->
- <mkdir dir="${testResults}/consolelogs" />
-
- <exec dir="." executable="${copyClient}">
- <arg line="-r ${testMachine}:${executionDir}/results/* ${testResults}"/>
- </exec>
- <!-- copy the console log from testing -->
- <exec dir="." executable="${copyClient}">
- <arg line="-r ${testMachine}:${executionDir}/${consolelog} ${testResults}/consolelogs"/>
- </exec>
-</target>
-
-<target name="setRemoteLoginClient">
- <!--use rsh if rsh is set, otherwise use default, ssh-->
- <condition property="loginClient" value="rsh">
- <isset property="rsh" />
- </condition>
- <!--default remote login client-->
- <property name="loginClient" value="ssh" />
-</target>
-
-<target name="setRemoteCopyClient">
- <!--use rcp if rsh is set, otherwise use default, scp-->
- <condition property="copyClient" value="rcp">
- <isset property="rsh" />
- </condition>
- <!--default remote copy client-->
- <property name="copyClient" value="scp" />
-</target>
-
-<target name="installVmForRemote" unless="skipVmInstall">
- <available file="${vmDest}" property="vmExists" />
- <antcall target="getVM" />
-
- <exec dir="." executable="${copyClient}">
- <arg line="${vmDest} ${testMachine}:${testDir}" />
- </exec>
-
- <exec dir="." executable="${loginClient}">
- <arg line="${testMachine} ${vmInstallCommand}" />
- </exec>
-</target>
-
-
-<!--
-
-Targets for setting up and running tests locally
-
--->
-<target name="runtests-local">
- <delete dir="${testDir}" quiet="true"/>
- <mkdir dir="${testDir}" />
- <property name="testResults" value="${dropLocation}/${buildLabel}/testresults" />
-
- <!--set up testing directory-->
- <unzip src="${dropLocation}/${buildLabel}/${testFramework}" dest="${testDir}" />
-
- <!--install the vm used for testing-->
- <antcall target="installVmForLocal" />
-
- <!--copy in the runtime to test-->
- <copy todir="${executionDir}" file="${dropLocation}/${buildLabel}/${runtime}" />
-
- <!--callback to custom script for additional setup-->
- <ant antfile="${customTest}" target="customSetup" dir="${basedir}" />
-
- <!--run the tests-->
- <exec dir="${executionDir}" executable="${testExecutable}">
- <arg line="${args}" />
- </exec>
-
- <mkdir dir="${testResults}" />
- <mkdir dir="${testResults}/consolelogs" />
-
- <copy todir="${testResults}">
- <fileset dir="${executionDir}/results" />
- </copy>
-
- <copy todir="${testResults}/consolelogs" file="${executionDir}/${consolelog}" />
-</target>
-
-<target name="installVmForLocal" unless="skipVmInstall">
- <available file="${vmDest}" property="vmExists" />
- <antcall target="getVM" />
- <exec dir="${testDir}" executable="${vmInstallExecutable}">
- <arg line="${vmInstallCommand}" />
- </exec>
-</target>
-
-<target name="getVM" unless="vmExists">
- <get src="${vmUrl}" dest="${vmDest}" usetimestamp="true"/>
-</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/scripts/testing.properties.template b/bundles/org.eclipse.build.tools/scripts/testing.properties.template
deleted file mode 100644
index be43605..0000000
--- a/bundles/org.eclipse.build.tools/scripts/testing.properties.template
+++ /dev/null
@@ -1,52 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2006 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
-###############################################################################
-#target to call in test.xml: runtests-local | runtests-remote
-testTarget=runtests-remote
-
-#use rsh as protocol for login and copying files.
-rsh=true
-
-#directory on test machine where automated testing framework will be installed. ${buildLabel}
-#set by calling script
-testDir=c:\\buildtest\\${buildLabel}
-
-#name of zip file containing automated testing framework and JUnit test plug-ins
-testFramework=eclipse-Automated-Tests-${buildId}.zip
-
-#name of runtime to install and test
-runtime=eclipse-SDK-${buildId}-win32.zip
-
-#directory where test scripts are launched
-executionDir=${testDir}\\eclipse-testing
-
-#name of file that captures console output from running JUnit plug-in tests
-consolelog=win32_consolelog.txt
-
-#name of script to execute on remote machine
-testScript=start /min ${executionDir}\\testAll.bat
-
-#arguments to $(testScript)
-args=${executionDir} win32_consolelog.txt
-
-#name and path to downloaded vm.
-vmDest=jdk-1_4_2_14-fcs-bin-b03-windows-i586-22_jan_2007.zip
-
-#cvsroot
-cvsRoot=:pserver:anonymous@ottcvs1:/home/cvs/releng
-
-#path to tar.gz or zip of vm used to run tests
-vmDest=jdks/${vmDest}
-
-#command to execute to install the vm
-vmInstallCommand="unzip -o -qq ${testDir}\\${vmDest} -d ${testDir}"
-
-#skip default vm installation
-#skipVmInstall=true
diff --git a/bundles/org.eclipse.build.tools/scripts_bugzilla/_README.txt b/bundles/org.eclipse.build.tools/scripts_bugzilla/_README.txt
deleted file mode 100644
index 760c397..0000000
--- a/bundles/org.eclipse.build.tools/scripts_bugzilla/_README.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-UpdateBugStateTask is an ant task used for updating the status of 1 or
-more bugs that have been resolved with a particular build of any Eclipse
-project. It can also be used for updating a specified list of bugs which
-are all in a specific state.
-
-Before you can use this tool, you must run the UpdateBugStateTask.sh script
-to generate a Bugzilla login session. This should take less than a minute,
-and is a one time thing (although it is possible that the Bugzilla server
-will clear the stored sessions, in this case simply run the
-UpdateBugStateTask.sh script again).
-
-UpdateBugStateTask requires JDK 1.4 or greater.
-
-See the sample UpdateBugStateTask.xml build script for a full list and
-description of the task options.
diff --git a/bundles/org.eclipse.build.tools/scripts_bugzilla/bugzillaLogin.sh b/bundles/org.eclipse.build.tools/scripts_bugzilla/bugzillaLogin.sh
deleted file mode 100644
index 9edd9f5..0000000
--- a/bundles/org.eclipse.build.tools/scripts_bugzilla/bugzillaLogin.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/bash
-
-echo -n "Bugzilla login or email address: "
-read LOGIN
-echo -n "Bugzilla password: "
-stty -echo
-read PW
-stty echo
-echo
-echo "Logging in and fetching cookie values..."
-echo
-
-#older versions of curl (like the one on emf) don't have -k
-OUT=$(curl -k 2>&1| grep unknown)
-if [[ $OUT ]];
-then
- CURLARG=""
-else
- CURLARG="-k"
-fi
-HEADERS=$(mktemp)
-curl -s -S $CURLARG 'https://bugs.eclipse.org/bugs/index.cgi' -d "GoAheadAndLogIn=1&Bugzilla_login=$LOGIN&Bugzilla_password=$PW" -D $HEADERS >/dev/null
-PW="$RANDOM $RANDOM $RANDOM $RANDOM"
-VALUES=$(grep Set-Cookie $HEADERS | sed -e 's/.\{1,\}Bugzilla_\(login\(cookie\)\?=[0-9]\{1,\}\).\{1,\}/\1/')
-rm -fr $HEADERS
-
-if [[ $VALUES ]];
-then
- #alternatively, you can do ./UpdateBugStateTask.sh 2>../properties/UpdateBugStateTask.properties
- echo "Paste the following into UpdateBugStateTask.properties:"
- echo "---- 8< ---- cut here ---- 8< ----"
- echo ""
- if [[ -e /proc/self/fd/2 ]];
- then
- echo "$VALUES" >/proc/self/fd/2
- else
- echo "$VALUES"
- fi
- echo ""
- echo "---- 8< ---- cut here ---- 8< ----"
-else
- echo "Bugzilla didn't send us any cookie values, this means that either:"
- echo " - you mistyped your login/password"
- echo " - you can't reach Bugzilla for some reason"
- echo
- echo "Make sure that you can reach <https://bugs.eclipse.org/bugs/index.cgi> and try again."
-fi
diff --git a/bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsJar.sh b/bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsJar.sh
deleted file mode 100644
index 0e395b8..0000000
--- a/bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsJar.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-export JAVA_HOME=/opt/sun-java2-5.0;
-export ANT_HOME=/opt/apache-ant-1.6;
-$ANT_HOME/bin/ant -f buildBugToolsJar.xml;
diff --git a/bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsJar.xml b/bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsJar.xml
deleted file mode 100644
index 1d1f63e..0000000
--- a/bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsJar.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Build bugTools.jar" default="buildBugToolsJar" basedir="../">
- <target name="buildBugToolsJar">
- <echo message="Compiling bugTools ..."/>
- <delete file="bugTools.jar"/>
- <delete dir="bin/"/>
- <mkdir dir="bin"/>
- <javac
- source="1.4"
- target="1.4"
- srcdir="."
- destdir="bin/"
- classpath="../org.eclipse.releng.basebuilder/plugins/org.apache.ant_1.6.5/lib/ant.jar"
- includes="src_bugzilla/**/*.java, src_bugzilla/**/messages.properties"/>
- <echo message="Jarring bugTools.jar ..."/>
- <jar
- destfile="bugTools.jar"
- includes="**/*.class"
- basedir="bin"
- update="true"/>
- <jar
- destfile="bugTools.jar"
- includes="**/messages.properties"
- basedir="src_bugzilla"
- update="true"/>
- </target>
-</project>
diff --git a/bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsZip.sh b/bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsZip.sh
deleted file mode 100644
index 45fe1f9..0000000
--- a/bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsZip.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-export JAVA_HOME=/opt/sun-java2-5.0;
-export ANT_HOME=/opt/apache-ant-1.6;
-$ANT_HOME/bin/ant -f buildBugToolsZip.xml;
diff --git a/bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsZip.xml b/bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsZip.xml
deleted file mode 100644
index 918e2e6..0000000
--- a/bundles/org.eclipse.build.tools/scripts_bugzilla/buildBugToolsZip.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Build bugTools.zip" default="buildBugToolsZip" basedir="../">
- <target name="buildBugToolsZip">
- <property name="zipfile" value="org.eclipse.build.tools_bugTools.zip"/>
- <ant antfile="scripts_bugzilla/buildBugToolsJar.xml" target="buildBugToolsJar" inheritall="true"/>
- <echo message="Bundling ${zipfile} ..."/>
- <delete file="${zipfile}"/>
- <zip
- destfile="${zipfile}"
- includes=".classpath, .project,
- bugTools.jar,
- src_bugzilla/**/*,
- scripts_bugzilla/*,
- properties/UpdateBugStateTask.properties"
- basedir="."
- update="true"/>
- </target>
-</project>
diff --git a/bundles/org.eclipse.build.tools/scripts_bugzilla/updateBugState.sh b/bundles/org.eclipse.build.tools/scripts_bugzilla/updateBugState.sh
deleted file mode 100644
index e0411f4..0000000
--- a/bundles/org.eclipse.build.tools/scripts_bugzilla/updateBugState.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-
-export JAVA_HOME=/opt/sun-java2-1.4;
-export ANT_HOME=/opt/apache-ant-1.6;
-
-#aasemble the command and its classpath
-CLASSPATH="$JAVA_HOME/lib/rt.jar";
-# note that com.sun.org.apache.xerces (Sun JDK 1.5, rt.jar) != org.apache.xerces (Ant 1.6.5, xercesImpl.jar) so must remove from classpath
-#for f in `find $ANT_HOME/lib -maxdepth 1 -name "*.jar" -type f -not -name "xercesImpl.jar"`; do CLASSPATH=$CLASSPATH":"$f; done
-CLASSPATH=$CLASSPATH":"$ANT_HOME/lib/ant.jar":"$ANT_HOME/lib/ant-launcher.jar;
-cmd="$JAVA_HOME/bin/java \
- -Dant.home=$ANT_HOME \
- -Dant.library.dir=$JAVA_HOME/lib \
- -classpath $CLASSPATH:../bugTools.jar \
- org.apache.tools.ant.launch.Launcher \
- -buildfile updateBugState.xml";
-
-if [[ $debug -gt 0 ]]; then
- echo "Running ..."; echo ""; echo $cmd | sed -e "s/ \-/# \-/g" -e "s/:/# :/g" | tr "#" "\n"; echo "";
-fi
-
-# run the command
-$cmd;
diff --git a/bundles/org.eclipse.build.tools/scripts_bugzilla/updateBugState.xml b/bundles/org.eclipse.build.tools/scripts_bugzilla/updateBugState.xml
deleted file mode 100644
index b26b905..0000000
--- a/bundles/org.eclipse.build.tools/scripts_bugzilla/updateBugState.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Update Bug State" default="updateBugState">
-
- <taskdef name="UpdateBugState"
- classname="org.eclipse.releng.services.bugzilla.UpdateBugStateTask"
- classpath="../bugTools.jar"/>
-
- <!-- 1. Define property file -->
- <target name="init">
- <property file="../properties/UpdateBugStateTask.properties"/>
- </target>
-
- <!-- 2. Update Bugzilla state for specific criteria -->
- <target name="updateBugState" depends="init" description="Update Bugzilla state for specific criteria">
- <!--
- UpdateBugStateTask takes a few parameters, some are required and some are optional, see below.
- milestone, product and resolution correspond to the Bugzilla items of the same name
-
- login - required, your userid for Bugzilla (can be generated by UpdateBugStateTask.sh)
-
- logincookie - required, your logincookie for Bugzilla (can be generated by UpdateBugStateTask.sh)
-
- status - required, only query for bugs in this state
- one of UNCONFIRMED, NEW, ASSIGNED, or REOPENED
-
- bugList - optional, specify the list of bugs to update
- a non-digit (space, comma, semicolon, etc) delimited list of integers corresponding to Bugzilla bugIDs
- if you specify this, you cannot specify milestone or product
-
- product - required (if no bugList), only query for bugs on this product
- this cargument annot be combined with bugList
-
- buildAlias - optional label, the task adds a comment to Bugzilla of the form
- "Fixed in $buildAlias ($buildID).", otherwise uses buildID or just "Fixed in latest build."
-
- buildID - optional label, the task adds a comment to Bugzilla of the form
- "Fixed in $buildAlias ($buildID).", otherwise uses buildAlias or just "Fixed in latest build."
- of the format YYYYMMDDHHMM, [IMNRS]YYYYMMDDHHMM, [IMNRS]-YYYYMMDDHHMM
- YYYYMMDD-HHMM, [IMNRS]YYYYMMDD-HHMM, or [IMNRS]-YYYYMMDD-HHMM
-
- endDate - optional, only query for bugs last updated before this timestamp
- (that is, bugs after this timestamp will be ignored). Must be in the form yyyymmddHHMM or yyyymmdd0000.
- this argument cannot be combined with bugList
-
- milestone - optional, only query for bugs that have this milestone
- this argument cannot be combined with bugList
-
- resolution - optional, this is what the bug's new state will be
- one of FIXED, INVALID, WONTFIX, LATER, REMIND, or WORKSFORME (default: FIXED)
-
- debug - optional, use this to control task verbosity
- 0 - only print a message if the task needs to abort
- 1 - show progress (and errors, if any) (default)
- 2 - maximum verbosity, probably only useful if something goes wrong
- values < 0 are equivalent to 0
- values > 2 are equivalent to 2
-
- Examples: -->
-
- <!--
- 1. find all bugs last updated before 2006/06/01 17:38 from product EMF in the ASSIGNED state;
- move to FIXED using buildID S200606051102 and buildAlias 2.2.0RC7. Comment will be:
- "Fixed in 2.2.0RC7 (S200606051102)."
- -->
- <UpdateBugState login="${login}" logincookie="${logincookie}"
- status="ASSIGNED" product="EMF" endDate="200606011738"
- resolution="FIXED" buildID="S200606051102" buildAlias="2.2.0RC7"
- />
-
- <!--
- 2. find all bugs from product EMF targetted for milestone "2.2" which are in the ASSIGNED state;
- move to FIXED. Comment will be:
- "Fixed in latest build."
- -->
- <UpdateBugState debug="2" login="${login}" logincookie="${logincookie}"
- status="ASSIGNED" product="EMF"
- resolution="FIXED" milestone="2.2"
- />
-
- <!--
- 3. find all bugs in given list (131811 144877 144890 144989) which are still in the ASSIGNED state
- (to avoid duplicate updates); move to FIXED using buildID I200606051102. Comment will be:
- "Fixed in I200606051102."
- -->
- <UpdateBugState login="${login}" logincookie="${logincookie}"
- status="ASSIGNED" bugList="131811 144877 144890 144989"
- resolution="FIXED" buildID="S200606051102"
- />
-
- </target>
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/README.searchcvs.setup.mysql.txt b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/README.searchcvs.setup.mysql.txt
deleted file mode 100644
index 865ed36..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/README.searchcvs.setup.mysql.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-Search CVS is a tool for converting cvs commits into a mysql database, which
-can be updated without worry of data duplication. The database is then searchable
-via a web page run on www.eclipse.org.
-
-MySQL Server Quick Setup:
-
-1. Extract the searchcvs/ folder from cvs and place it in your $HOME folder
-on some server running MySQL 5 and PHP 4 or 5 with the MySQL module for MySQL 5 compiled in.
-
-2. Customize setup.sh for your needs and run it to extract your code from cvs.
-
-3. Load database tables using .dump files provided.
-
-4. Edit includes/parsecvs-dbaccess.php. Run parsecvs.sh.
-
-5. To make nightly updates to the data (reflecting the day's cvs commits), run parsecvs.sh as a cron like this:
-
-#Min Hr Mday Month Wday Cmd
-00 22 * * * $HOME/searchcvs/parsecvs.sh 2>&1 1> $HOME/searchcvs/parsecvs.log.txt
-
-----
-
-Additional details on setup and on using this tool can be found here:
-
-http://wiki.eclipse.org/index.php/Search_CVS
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/README.searchcvs.setup.web.txt b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/README.searchcvs.setup.web.txt
deleted file mode 100644
index 2021731..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/README.searchcvs.setup.web.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-Search CVS is a tool for converting cvs commits into a mysql database, which
-can be updated without worry of data duplication. The database is then searchable
-via a web page run on www.eclipse.org.
-
-Web Server Quick Setup:
-
-1. See searchcvs/www/README.
-
-----
-
-Additional details on setup and on using this tool can be found here:
-
-http://wiki.eclipse.org/index.php/Search_CVS
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/cvssrc/.cvsignore b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/cvssrc/.cvsignore
deleted file mode 100644
index a767caf..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/cvssrc/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/includes/parsecvs-dbaccess.php b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/includes/parsecvs-dbaccess.php
deleted file mode 100644
index ca5187f..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/includes/parsecvs-dbaccess.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
- $dbhost = "mysqlserver";
- $dbuser = "dbaccessrw";
- $dbpass = "dbaccessrwpassword";
-?>
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/mysql-modelingschema.dump b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/mysql-modelingschema.dump
deleted file mode 100644
index a33d400..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/mysql-modelingschema.dump
+++ /dev/null
@@ -1,161 +0,0 @@
--- MySQL dump 10.10
---
--- You can load this file into mysql using:
--- $ mysql -u root -p < mysql-modelingschema.dump
---
--- Note that the database name for the stored CVS data is `modeling`, as in the Eclipse Modeling Project.
--- You'll probably want to change that for your project's needs.
---
--- Host: localhost Database: modeling
--- ------------------------------------------------------
--- Server version 5.0.22-log
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
-DROP DATABASE IF EXISTS `modeling`;
-CREATE DATABASE `modeling`;
-
-USE `modeling`;
-
---
--- Table structure for table `bugs`
---
-
-DROP TABLE IF EXISTS `bugs`;
-CREATE TABLE `bugs` (
- `fid` smallint(5) unsigned NOT NULL,
- `revision` varchar(15) NOT NULL,
- `bugid` mediumint(8) unsigned NOT NULL,
- PRIMARY KEY (`fid`,`revision`,`bugid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
---
--- Dumping data for table `bugs`
---
-
-
-/*!40000 ALTER TABLE `bugs` DISABLE KEYS */;
-LOCK TABLES `bugs` WRITE;
-UNLOCK TABLES;
-/*!40000 ALTER TABLE `bugs` ENABLE KEYS */;
-
---
--- Table structure for table `commits`
---
-
-DROP TABLE IF EXISTS `commits`;
-CREATE TABLE `commits` (
- `fid` smallint(5) unsigned NOT NULL,
- `revision` varchar(15) NOT NULL,
- `date` datetime NOT NULL,
- `author` varchar(20) NOT NULL,
- `state` enum('Exp','dead') NOT NULL,
- `linesplus` smallint(5) unsigned default NULL,
- `linesminus` smallint(5) unsigned default NULL,
- `message` text NOT NULL,
- PRIMARY KEY (`fid`,`revision`),
- KEY `author` (`author`),
- FULLTEXT KEY `message` (`message`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
---
--- Dumping data for table `commits`
---
-
-
-/*!40000 ALTER TABLE `commits` DISABLE KEYS */;
-LOCK TABLES `commits` WRITE;
-UNLOCK TABLES;
-/*!40000 ALTER TABLE `commits` ENABLE KEYS */;
-
---
--- Table structure for table `cvsfiles`
---
-
-DROP TABLE IF EXISTS `cvsfiles`;
-CREATE TABLE `cvsfiles` (
- `fid` int(11) NOT NULL auto_increment,
- `cvsname` text NOT NULL,
- `head` varchar(15) NOT NULL,
- `keyword_subs` enum('b','k','kv','kvl','v') NOT NULL,
- `project` varchar(50) NOT NULL,
- PRIMARY KEY (`fid`),
- KEY `project` (`project`),
- UNIQUE KEY `cvsname` (`cvsname`(333))
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
---
--- Dumping data for table `cvsfiles`
---
-
-
-/*!40000 ALTER TABLE `cvsfiles` DISABLE KEYS */;
-LOCK TABLES `cvsfiles` WRITE;
-UNLOCK TABLES;
-/*!40000 ALTER TABLE `cvsfiles` ENABLE KEYS */;
-
---
--- Table structure for table `filetags`
---
-
-DROP TABLE IF EXISTS `filetags`;
-CREATE TABLE `filetags` (
- `fid` mediumint(8) unsigned NOT NULL,
- `tid` smallint(5) unsigned NOT NULL,
- `revision` varchar(15) NOT NULL,
- PRIMARY KEY (`fid`,`tid`),
- KEY `tid` (`tid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
---
--- Dumping data for table `filetags`
---
-
-
-/*!40000 ALTER TABLE `filetags` DISABLE KEYS */;
-LOCK TABLES `filetags` WRITE;
-UNLOCK TABLES;
-/*!40000 ALTER TABLE `filetags` ENABLE KEYS */;
-
---
--- Table structure for table `tags`
---
-
-DROP TABLE IF EXISTS `tags`;
-CREATE TABLE `tags` (
- `tid` int(11) NOT NULL auto_increment,
- `tagname` varbinary(50) NOT NULL,
- `tagdate` datetime default NULL,
- PRIMARY KEY (`tid`),
- UNIQUE KEY `tagname` (`tagname`),
- KEY `tagdate` (`tagdate`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
---
--- Dumping data for table `tags`
---
-
-
-/*!40000 ALTER TABLE `tags` DISABLE KEYS */;
-LOCK TABLES `tags` WRITE;
-UNLOCK TABLES;
-/*!40000 ALTER TABLE `tags` ENABLE KEYS */;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/mysql-modelingschema.truncate b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/mysql-modelingschema.truncate
deleted file mode 100644
index 9d8349c..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/mysql-modelingschema.truncate
+++ /dev/null
@@ -1,9 +0,0 @@
--- You can load this file into mysql using:
--- $ mysql -u root -p < mysql-modelingschema.truncate
-
-USE `modeling`;
-TRUNCATE TABLE `bugs`;
-TRUNCATE TABLE `commits`;
-TRUNCATE TABLE `cvsfiles`;
-TRUNCATE TABLE `filetags`;
-TRUNCATE TABLE `tags`;
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/mysql-users.dump b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/mysql-users.dump
deleted file mode 100644
index 5d83e25..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/mysql-users.dump
+++ /dev/null
@@ -1,19 +0,0 @@
--- Note: use the same username/password values here as set in
--- includes/parsecvs-dbaccess.php and in
--- www/projectName/includes/searchcvs-dbaccess.php
---
--- You can load this file into mysql using:
--- $ mysql -u root -p < mysql-users.dump
-
--- Note that the database name for the stored CVS data is `modeling`, as in the Eclipse Modeling Project.
--- You'll probably want to change that for your project's needs.
-
--- Local access (cvs parser) granted to read/write for user 'dbaccessrw' with password 'dbaccessrwpassword'
-CREATE USER 'dbaccessrw'@'localhost' IDENTIFIED BY 'dbaccessrwpassword';
-GRANT USAGE ON *.* TO 'dbaccessrw'@'localhost' IDENTIFIED BY 'dbaccessrwpassword' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
-GRANT ALL PRIVILEGES ON `dbaccessrw`.* TO 'dbaccessrw'@'localhost';
-
--- Remote access (website) granted to read only for user 'dbaccessro' with password 'dbaccessropassword'
-CREATE USER 'dbaccessro'@'%eclipse.org' IDENTIFIED BY 'dbaccessropassword';
-GRANT USAGE ON *.* TO 'dbaccessro'@'%eclipse.org' IDENTIFIED BY 'dbaccessropassword' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
-GRANT SELECT ON `modeling`.* TO 'dbaccessro'@'%eclipse.org';
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/parsecvs.php b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/parsecvs.php
deleted file mode 100644
index 9b9c4fd..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/parsecvs.php
+++ /dev/null
@@ -1,163 +0,0 @@
-#!/usr/bin/php
-
-<?php
-/*
-RCS file: /cvsroot/tools/org.eclipse.emf/.cvsignore,v //store
-Working file: .cvsignore //don't need to store, basename(rcs file), minus ,v?
-head: 1.1 //maybe store, could be calculated based on tags table?
-branch: //probably store, what does this actually mean?, never used (always empty)?
-locks: strict //store, though not used (always strict)?
-access list: //store, though not used (always empty)?
-symbolic names: //do we actually need to store these? we'll see
- build_200608030000: 1.1
- ...
-keyword substitution: kv //store, 'b', 'k', 'kv', 'kvl', 'v' are (currently) used
-total revisions: 2; selected revisions: 2 //don't store, is count of commits to the file
-description: //is this a title for the revisions? probably
-----------------------------
-revision 1.1
-date: 2004/03/06 18:22:28; author: marcelop; state: Exp;
-branches: 1.1.2;
-Move the EMF, XSD and SDO source code to the Eclipse.org repository
-----------------------------
-revision 1.1.2.1
-date: 2005/06/02 16:09:17; author: nickb; state: Exp; lines: +0 -0
-*** empty log message ***
-=============================================================================
-*/
-
-$db = "modeling"; /* database name. change this to match your project or can leave as is */
-
-$perfile_regex = "/^RCS\ file:\ (.+?$)\\n
- ^Working\ file:\ (.+?$)\\n
- ^head:\ (.+?$)\\n
- ^branch:\ ?(.*?$)\\n
- ^locks:\ (.+?$)\\n
- ^access\ list:\ ?(.*?$)\\n
- (?:^symbolic\ names:\ ?(.*?$)\\n
- ((?:^\\t\S+:\ [0-9\.]+$\\n)+))?
- ^keyword\ substitution:\ (.+?$)\\n
- ^total\ revisions:\ (\d+);\\tselected\ revisions:\ (\d+)$\\n
- ^description:\ ?(.*?$)\\n
- ^((?:\-{28}.+$\\n)?
- ^={77})$/smx";
-
-$percommit_regex = "#^\-{28}$\\n
- ^revision\ ([0-9\.]+)$\\n
- ^date:\ (\d{4}/\d\d/\d\d\ \d\d:\d\d:\d\d);\ \ author:\ (\S+);\ \ state:\ (\S+);(?:\ \ lines:\ \+(\d+)\ \-(\d+))?$\\n
- (?:^branches:(?:\ \ ([0-9\.]+);)+$\\n)?
- ^(.+?)$\\n
- ^(?:\-{28}|={77})#smx";
-
-$bugs_regex = "@(?:
- \[\#?(\d+)\]
- |
- (?:Bugzilla)?\#(\d+)
- |
- https?\Q://bugs.eclipse.org/bugs/show_bug.cgi?id=\E(\d+)
- )@x";
-
-include_once "includes/parsecvs-dbaccess.php";
-$connect = mysql_connect($dbhost, $dbuser, $dbpass) or die("Couldn't connect to database!\n");
-mysql_select_db($db, $connect) or die(mysql_error());
-$file = file_get_contents(($argv[1] ? $argv[1] : "php://stdin"));
-
-wmysql_query("CREATE TEMPORARY TABLE `tmptags` (`tagname` VARBINARY(255), `revision` VARCHAR(20), PRIMARY KEY (`tagname`)) ENGINE = memory");
-
-preg_match_all("/^(RCS file:.+?^={77}$)/sm", $file, $regs) or die("Couldn't find any cvs logs!\n");
-foreach ($regs[0] as $z)
-{
- /* parse each file's info */
- if (preg_match($perfile_regex, $z, $props))
- {
- $esc = array(1, 3, 9);
- foreach ($esc as $y)
- {
- $props[$y] = mysql_real_escape_string($props[$y], $connect);
- }
- preg_match("/^\/cvsroot\/[^\/]+\/([^\/]+)\//", $props[1], $proj);
- $q = "`project` = '$proj[1]', `head` = '$props[3]', `keyword_subs` = '$props[9]'";
- wmysql_query("INSERT INTO `cvsfiles` SET `cvsname` = '$props[1]', $q ON DUPLICATE KEY UPDATE $q");
- /* mysql_insert_id() won't work if we updated rather than inserted */
- $result = wmysql_query("SELECT `fid` FROM `cvsfiles` WHERE `cvsname` = '$props[1]'");
- $row = mysql_fetch_row($result);
-
- /* parse symbolic names */
- $tags = array();
- $filetags = array();
- $count = preg_match_all("/^\t(\S+): ([0-9\.]+)$\n/m", $props[8], $syms);
- for ($i=0;$i<$count;$i++)
- {
- array_push($filetags, "('{$syms[1][$i]}', '{$syms[2][$i]}')");
- }
- if ($count > 0)
- {
- $syms[1] = preg_replace("/^(.+)$/e", "fixup('$1')", $syms[1]);
- wmysql_query("INSERT INTO `tags` (`tagname`, `tagdate`) VALUES " . join($syms[1], ",") . " ON DUPLICATE KEY UPDATE `tid` = `tid`");
- wmysql_query("INSERT INTO `tmptags` (`tagname`, `revision`) VALUES " . join($filetags, ","));
- wmysql_query("INSERT INTO `filetags` SELECT $row[0], `tid`, `revision` FROM `tmptags` NATURAL JOIN `tags` ON DUPLICATE KEY UPDATE `filetags`.`revision` = `tmptags`.`revision`");
- wmysql_query("TRUNCATE TABLE `tmptags`");
- }
-
- $commits = $props[13];
- /* parse commits */
- while (preg_match($percommit_regex, $commits, $revs))
- {
- $commits = substr($commits, strlen($revs[0]) - 28); //leave the \-{28} in tact
- $revs[8] = mysql_real_escape_string($revs[8], $connect);
- $q = "`date` = STR_TO_DATE('$revs[2]', '%Y/%m/%d %T'), `author` = '$revs[3]', `state` = '$revs[4]', `linesplus` = '$revs[5]', `linesminus` = '$revs[6]', `message` = '$revs[8]'";
- wmysql_query("INSERT INTO `commits` SET `fid` = '$row[0]', `revision` = '$revs[1]', $q ON DUPLICATE KEY UPDATE $q");
-
- /* parse bug numbers */
- if (preg_match_all($bugs_regex, $revs[8], $ubugs))
- {
- unset($ubugs[0]);
- $bugs = extract_bugs($ubugs);
- $bugs = preg_replace("/^(.+)$/", "('$row[0]', '$revs[1]', '$1')", $bugs);
- wmysql_query("INSERT INTO `bugs` (`fid`, `revision`, `bugid`) VALUES " . join($bugs, ",") . " ON DUPLICATE KEY UPDATE `bugid` = `bugid`");
- }
- }
- }
-}
-wmysql_query("DROP TEMPORARY TABLE `tmptags`");
-
-$tables = array();
-mysql_select_db("INFORMATION_SCHEMA") or die(mysql_error());
-$result = wmysql_query("SELECT TABLE_NAME FROM TABLES WHERE `TABLE_SCHEMA` = '$db' AND `TABLE_TYPE` = 'BASE TABLE'");
-while ($row = mysql_fetch_row($result))
-{
- array_push($tables, $row[0]);
-}
-
-mysql_select_db($db) or die(mysql_error());
-wmysql_query("OPTIMIZE TABLE " . join($tables, ","));
-wmysql_query("ANALYZE TABLE " . join($tables, ","));
-mysql_close($connect);
-
-function fixup($str)
-{
- return "('$str', " . (preg_match("/^build_(\d{12})$/", $str, $regs) ? "STR_TO_DATE('$regs[1]', '%Y%m%d%k%i')" : "NULL") . ")";
-}
-
-function wmysql_query($sql)
-{
- $res = mysql_query($sql) or die("$sql\n" . mysql_error() . "\n");
- return $res;
-}
-
-function extract_bugs($regs)
-{
- foreach ($regs as $z)
- {
- foreach ($z as $y)
- {
- if (preg_match("/^\d+$/", $y))
- {
- $bugs[] = $y;
- }
- }
- }
-
- return $bugs;
-}
-?>
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/parsecvs.sh b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/parsecvs.sh
deleted file mode 100755
index a261e22..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/parsecvs.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#/bin/bash
-
-CVSOPTS="-Q";
-
-cd ${0%/*}; # cd to directory where this script is located; cvssrc/ must be beneath it
-
-# pass in specific target folder(s) or do all in cvssrc/ folder
-dir="";
-if [ $# -gt 0 ]; then
- while [ $# -gt 0 ]; do
- dir=$dir" $1"; shift 1;
- done
-else
- dir="$(ls -d cvssrc/*)";
-fi
-
-for i in $dir; do
- echo "[`date +%H:%M:%S`] Processing $i";
- cd $i;
- cvs $CVSOPTS up -Pd .;
- f=$(mktemp)
- cvs $CVSOPTS log > $f
- echo $f | /usr/local/bin/php ../../parsecvs.php;
- rm -f $f
- cd ../..;
- echo "[`date +%H:%M:%S`] done.";
-done
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/setup.sh b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/setup.sh
deleted file mode 100755
index 0fa1a4b..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/setup.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-
-# setup script for use with Neil Skrypuch's Search CVS tool
-
-# used to check out cvs content so that it can be logged by parsecvs.sh
-
-checkoutdir="$HOME/searchcvs/cvssrc";
-quietcvs="-Q";
-
-mkdir -p $checkoutdir;
-
-checkoutProjects ()
-{
- CVSROOT=$1;
- project=$2;
- cd $checkoutdir;
- echo "[`date +%H:%M:%S`] Check out $checkoutdir/$project from $CVSROOT ...";
- cvs -d :pserver:anonymous@dev.eclipse.org:$CVSROOT $quietcvs co $project;
-}
-
-# list projects to extract; add other cvs roots (eg. /cvsroot/modeling) as necessary below
-webprojects="emf emft uml2 mdt modeling";
-toolsprojects="org.eclipse.emf org.eclipse.xsd org.eclipse.emf.ecore.sdo org.eclipse.emf.releng.build org.eclipse.uml2 org.eclipse.uml2.releng";
-techprojects="org.eclipse.emft org.eclipse.gmf org.eclipse.corona";
-eclipseprojects="org.eclipse.releng org.eclipse.releng.basebuilder org.eclipse.releng.eclipsebuilder org.eclipse.releng.tools org.eclipse.releng.tests org.eclipse.pde org.eclipse.pde.core org.eclipse.pde.ui.tests org.eclipse.pde.runtime org.eclipse.pde.junit.runtime org.eclipse.pde.source org.eclipse.pde.build org.eclipse.pde.junit org.eclipse.pde.doc.user org.eclipse.pde.ui"
-modelingprojects="gmf emf org.eclipse.mdt org.eclipse.mdt.releng releng-common"
-
-# do checkouts for each cvs root's projects
-for f in $webprojects; do checkoutProjects /cvsroot/org.eclipse www/$f; done
-for f in $toolsprojects; do checkoutProjects /cvsroot/tools $f ; done
-for f in $techprojects; do checkoutProjects /cvsroot/technology $f ; done
-for f in $eclipseprojects; do checkoutProjects /cvsroot/eclipse $f ; done
-for f in $modelingprojects; do checkoutProjects /cvsroot/modeling $f ; done
-
-echo "[`date +%H:%M:%S`] Done.";
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/README.folder.contents.may.not.be.up.to.date.txt b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/README.folder.contents.may.not.be.up.to.date.txt
deleted file mode 100644
index 4ab1741..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/README.folder.contents.may.not.be.up.to.date.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-Search CVS is a tool for converting cvs commits into a mysql database, which
-can be updated without worry of data duplication. The database is then searchable
-via a web page run on www.eclipse.org.
-
-This folder is a copy of the contents of another cvs repository for example purposes only,
-and should not be considered up to date. It is provided here simply to make this code base
-more complete and to provide a self-contained runnable example.
-
-For the latest version of this folder's contents, see:
-
-:pserver:anonymous@dev.eclipse.org:/cvsroot/org.eclipse/www/emf/
- searchcvs.php
- includes/searchcvs.css
- includes/db.php
-
-Additionally, there is a non-public file called includes/searchcvs-dbaccess.php (referenced by
-includes/db.php) which reads something like this:
-
-<?php
- $dbhost = "mysqlserver";
- $dbuser = "dbaccessro";
- $dbpass = "dbaccessropassword";
-?>
-
-** WARNING: DO NOT COMMIT THIS FILE INTO YOUR PUBLIC CVS REPOSITORY! **
-
-To put this file on the www.eclipse.org server without it being available in CVS for public view,
-place a copy of the file in your home directory on dev.eclipse.org, then open a bug
-(https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Community) or send a note to webmaster@eclipse.org
-and ask to have the file placed for you. Example: https://bugs.eclipse.org/bugs/show_bug.cgi?id=156451#c8
-
-----
-
-Additional details on setup and on using this tool can be found here:
-
-http://wiki.eclipse.org/index.php/Search_CVS
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/includes/db.php b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/includes/db.php
deleted file mode 100644
index 7fafa85..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/includes/db.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-require_once $_SERVER['DOCUMENT_ROOT'] . "/emf/includes/searchcvs-dbaccess.php";
-$connect = mysql_connect($dbhost, $dbuser, $dbpass);
-mysql_select_db($db ? $db : "modeling", $connect) or die(mysql_error());
-
-function wmysql_query($sql)
-{
- #print $sql . "\n";
- $res = mysql_query($sql) or die("$sql\n" . mysql_error());
- return $res;
-}
-?>
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/includes/searchcvs-dbaccess.php b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/includes/searchcvs-dbaccess.php
deleted file mode 100644
index c1de49a..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/includes/searchcvs-dbaccess.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
- $dbhost = "mysqlserver";
- $dbuser = "dbaccessro";
- $dbpass = "dbaccessropassword";
-?>
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/includes/searchcvs.css b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/includes/searchcvs.css
deleted file mode 100644
index 08ee8b3..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/includes/searchcvs.css
+++ /dev/null
@@ -1,101 +0,0 @@
-abbr
-{
- border-bottom: 1px dotted gray;
- /* removes konqueror's custom abbr style */
- font: inherit;
- letter-spacing: inherit;
-}
-
-#midcolumn .homeitem3col h3 span
-{
- float: right;
-}
-
-#midcolumn .homeitem3col ul li div
-{
- float: right;
- padding-left: 2em;
-}
-
-#midcolumn .homeitem3col ul li
-{
- clear: both;
-}
-
-#midcolumn .homeitem3col ul li ul li
-{
- border-style: none;
- padding: 0;
-}
-
-#midcolumn .homeitem3col .pager
-{
- text-align: center;
- padding: 1em 0 1em 0;
-}
-
-#midcolumn .homeitem3col .pager span
-{
- margin: 0.5em;
- padding: 0.3em;
-}
-
-#midcolumn .homeitem3col .pager span.selected
-{
- border-bottom: 1px dotted black;
- border-top: 1px dotted black;
- font-weight: bold;
-}
-
-#midcolumn .homeitem3col #searchdiv
-{
- text-align: center;
- padding-top: 1em;
-}
-
-#midcolumn .homeitem3col ul li ul li span.empty
-{
- color: gray;
-}
-
-#midcolumn .homeitem3col ul li ul li span.hl0,
-#midcolumn .homeitem3col ul li ul li span.hl7
-{
- background-color: #FFFF66;
-}
-
-#midcolumn .homeitem3col ul li ul li span.hl1,
-#midcolumn .homeitem3col ul li ul li span.hl8
-{
- background-color: #FF66FF;
-}
-
-#midcolumn .homeitem3col ul li ul li span.hl2,
-#midcolumn .homeitem3col ul li ul li span.hl9
-{
- background-color: #66FFFF;
-}
-
-#midcolumn .homeitem3col ul li ul li span.hl3,
-#midcolumn .homeitem3col ul li ul li span.hl10
-{
- background-color: #AAAAFF;
-}
-
-#midcolumn .homeitem3col ul li ul li span.hl4,
-#midcolumn .homeitem3col ul li ul li span.hl11
-{
- background-color: #AAFFAA;
-}
-
-#midcolumn .homeitem3col ul li ul li span.hl5,
-#midcolumn .homeitem3col ul li ul li span.hl12
-{
- background-color: #FFAAAA;
-}
-
-#midcolumn .homeitem3col ul li ul li span.hl6,
-#midcolumn .homeitem3col ul li ul li span.hl13
-{
- background-color: #CCCCCC;
-}
diff --git a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/searchcvs.php b/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/searchcvs.php
deleted file mode 100644
index a379b81..0000000
--- a/bundles/org.eclipse.build.tools/scripts_cvs/searchcvs/www/projectName/searchcvs.php
+++ /dev/null
@@ -1,267 +0,0 @@
-<?php
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon());
-ob_start();
-
-include("includes/db.php");
-
-$pagesize = 25; //results per page
-$scroll = 5; //+- pages to show in nav
-$days = 7;
-$page = (preg_match("/^\d+$/", $_GET["p"]) ? $_GET["p"] : 1);
-$offset = ($page - 1) * $pagesize;
-
-$where = "WHERE `date` >= DATE_SUB(CURDATE(), INTERVAL $days DAY)";
-$order = "ORDER BY `date` DESC";
-
-$extraf = array(
- array("regex" => "/author: ?(\S+)/", "sql" => "`author` LIKE '%%%s%%'", "sqlpart" => "where"),
- array("regex" => "/file: ?(\S+)/", "sql" => "`cvsname` LIKE '%%%s%%'", "sqlpart" => "where"),
- array("regex" => "/days: ?(\d+)/", "sql" => "`date` >= DATE_SUB(CURDATE(), INTERVAL %d DAY)", "sqlpart" => "where"),
- array("regex" => "/(?:project|module): ?(\S+)/", "sql" => "`project` LIKE '%s'", "sqlpart" => "where"),
- array("regex" => "/branch: ?(\S+)/", "sql" => "`branch` LIKE '%%%s%%'", "sqlpart" => "having") //is a calculated value, won't work in WHERE
-);
-
-$q = (get_magic_quotes_gpc() ? $_GET["q"] : addslashes($_GET["q"]));
-$extra = array("where" => array(), "having" => array());
-foreach ($extraf as $z)
-{
- while (preg_match($z["regex"], $q, $regs))
- {
- array_push($extra[$z["sqlpart"]], sprintf($z["sql"], $regs[1]));
- $q = preg_replace($z["regex"], "", $q);
- }
-}
-
-$regs = array();
-/* this *could* be put into $extraf, but it would change the semantics slightly, in that any number searched for would be treated as a bug #, which i think is undesirable */
-if (preg_match("/^\s*\[?(\d+)\]?\s*$/", $_GET["q"], $regs))
-{
- $_GET["q"] = $regs[1];
- $where = "WHERE `bugid` = $regs[1]";
- $et = "Bug #";
-}
-else if (preg_match("/(\S)/", $q, $regs) || sizeof($extra["where"]) + sizeof($extra["having"]) > 0)
-{
- $match = "'1'";
- if (sizeof($regs) > 0)
- {
- $match = "MATCH(`message`) AGAINST('$q'" . (preg_match("/\".+\"/", $q) ? " IN BOOLEAN MODE" : "") . ")";
- }
- $where = "WHERE " . ($match ? $match : "1");
- $where .= (sizeof($extra["where"]) > 0 ? " AND " . join($extra["where"], " AND ") : "");
- $having = (sizeof($extra["having"]) > 0 ? " HAVING " . join($extra["having"], " AND ") : "");
- $ec = ", $match AS `relevance`";
- $order = "ORDER BY `relevance` DESC, `date` DESC";
-}
-?>
-<div id="midcolumn">
-<div class="homeitem3col">
- <h3>Search</h3>
- <div id="searchdiv">
- <form action="" method="get">
- <input type="text" size="60" id="q" name="q"<?php print ($_GET["q"] ? " value=\"" . sanitize($_GET["q"], "text") . "\"" : ""); ?>/>
- <input type="submit" value="Go!"/>
- </form>
- </div>
-</div>
-<?php
-
-/* 1.1.2.x <- 1.1.0.2 = branch tag, likewise, 1.1.4.x <- 1.1.0.4 = branch tag, so dynamically rewrite a.b.c.d to a.b.0.c to find the branch tag */
-$branch = "IF(`revision` LIKE '%.%.%.%', (SELECT `tagname` FROM `tags` NATURAL JOIN `filetags` WHERE `fid` = `ofid` AND `revision` = CONCAT(SUBSTRING_INDEX(`orev`, '.', 2), '.0.', SUBSTRING_INDEX(SUBSTRING_INDEX(`orev`, '.', -2), '.', 1))), 'HEAD')";
-$sql = "SELECT SQL_CALC_FOUND_ROWS `cvsname`, `revision`, `date`, `author`, `message`, `keyword_subs`, `bugid`, `revision` AS `orev`, `fid` AS `ofid`, $branch AS `branch`$ec FROM `cvsfiles` NATURAL JOIN `commits` NATURAL LEFT JOIN `bugs` $where GROUP BY `fid`, `revision`, `bugid` $having $order LIMIT $offset, $pagesize";
-$result = wmysql_query($sql);
-
-$count = wmysql_query("SELECT FOUND_ROWS()"); //mysql_num_rows() doesn't do what we want here
-$row = mysql_fetch_row($count);
-$rows = $row[0];
-
-$title = "<span>$rows results total</span>Showing results " . ($offset + 1) . "-" . ($offset + $pagesize > $rows ? $rows : $offset + $pagesize) . " for " . ($_GET["q"] == "" ? "last $days days of commits" : "$et" . sanitize($_GET["q"], "text"));
-$title = ($rows == 0 ? "No results found for " . sanitize($_GET["q"], "text") . "" : $title);
-
-print "<div class=\"homeitem3col\">\n";
-print "<h3>$title</h3>\n";
-
-dopager($rows, $page, $pagesize);
-
-print "<ul>\n";
-
-while ($row = mysql_fetch_assoc($result))
-{
- $file = basename($row["cvsname"], ",v");
- $row["cvsname"] = preg_replace("#^/cvsroot/[^\/]+/(.+),v$#", "$1", $row["cvsname"]);
- print "<li>\n";
- print "<div>{$row['date']}</div>";
- print ($row["bugid"] ? "[<a href=\"https://bugs.eclipse.org/bugs/show_bug.cgi?id={$row['bugid']}\">{$row['bugid']}</a>] " : "");
- print "<a href=\"" . cvsfile($row["cvsname"]) . "\"><abbr title=\"{$row['cvsname']}\">$file</abbr></a> ({$row['branch']} " . showrev($row['revision'], $row["cvsname"]) . ")";
- print "<ul>\n";
- print "<li><div>{$row['author']}</div>" . pretty_comment($row["message"], $q) . "</li>";
- print "</ul>\n";
- print "</li>\n";
-}
-print "</ul>\n";
-
-dopager($rows, $page, $pagesize);
-
-print "</div>\n";
-print "</div>\n";
-mysql_close($connect);
-?>
-<div id="rightcolumn">
- <div class="sideitem">
- <h6>Help</h6>
- <p><a href="http://wiki.eclipse.org/index.php/Search_CVS">Consult the wiki</a>, or try these examples:</p>
- <ul>
- <li><a href="?q=%5B155286%5D">[155286]</a></li>
- <li><a href="?q=98877+file%3A+ChangeAdapter">98877 file: ChangeAdapter</a></li>
- <li><a href="?q=file%3A+org.eclipse.emf%2F+days%3A+7">file: org.eclipse.emf/ days: 7</a></li>
- <li><a href="?q=days%3A200+author%3Amerks">days:200 author:merks</a></li>
- <li><a href="?q=branch%3A+R2_1_+file%3A+.xml">branch: R2_1_ file: .xml</a></li>
- <li><a href="?q=static+dynamic+project%3A+org.eclipse.emf">static dynamic project: org.eclipse.emf</a></li>
- <li><a href="?q=%22package+protected%22">"package protected"</a></li>
- <li><a href="?q=Neil+Skrypuch">Neil Skrypuch</a></li>
- </ul>
- <p>See also the complete <a href="http://wiki.eclipse.org/index.php/Search_CVS#Parameter_List">Parameter List</a>.</p>
- </div>
-</div>
-<?php
-$html = ob_get_contents();
-ob_end_clean();
-
-$pageTitle = "Eclipse Tools - Search CVS";
-$pageKeywords = "";
-$pageAuthor = "Neil Skrypuch";
-
-$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="/emf/includes/searchcvs.css"/>' . "\n");
-if (!isset($_GET["totalonly"]))
-{
- ob_start();
- $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
- $html = ob_get_contents();
- ob_end_clean();
- print preg_replace("/<body>/", "<body onload=\"document.getElementById('q').focus()\">", $html);
-}
-else
-{
- header("Content-Type: text/plain");
- print $rows;
-}
-
-function pretty_comment($str, $hl)
-{
- $str = preg_replace("/\n/", "<br/>", $str);
- $hl = words($hl);
-
- for ($i = 0; $i < sizeof($hl); $i++)
- {
- $str = preg_replace("/\b(\Q$hl[$i]\E)\b([^=]|\Z)/i", "<span class=\"hl$i\">$1</span>$2", $str);
- }
-
- $str = preg_replace("/^(\Q*** empty log message ***\E)$/", "<span class=\"empty\">$1</span>", $str);
-
- return $str;
-}
-
-function cvsminus($rev)
-{
- if (preg_match("/^1\.1$/", $rev)) // "1.10" == "1.1" returns true, curiously enough
- {
- return $rev;
- }
- else
- {
- if (preg_match("/\.1$/", $rev))
- {
- return preg_replace("/^(\d+\.\d+)\..+$/", "$1", $rev);
- }
- else
- {
- return preg_replace("/^(.+\.)(\d+)$/e", "\"$1\" . ($2 - 1);", $rev);
- }
- }
-}
-
-function showrev($rev, $file)
-{
- $link = "<a href=\"" . cvsfile($file) . "\">$rev</a>";
- if (!preg_match("/^1\.1$/", $rev)) // "1.10" == "1.1" returns true, curiously enough
- {
- $oldrev = cvsminus($rev);
- $link = "<a href=\"" . cvsfile($file, $rev, $oldrev) . "\">$rev > $oldrev</a>";
- }
-
- return $link;
-}
-
-function cvsfile($file, $rev = "", $oldrev = "")
-{
- if ($rev && $oldrev)
- {
- $ext = ".diff";
- $params = "r1=$oldrev&r2=$rev&";
- }
- $params .= (preg_match("/\.php$/", $file) && $ext != ".diff" ? "content-type=text/plain&" : "");
-
- if (preg_match("/^www/", $file))
- {
- return "http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/$file$ext?${params}cvsroot=Eclipse_Website";
- }
- else
- {
- return "http://dev.eclipse.org/viewcvs/indextools.cgi/~checkout~/$file$ext?$params";
- }
-}
-
-function sanitize($str, $type = "url")
-{
- $tmp = urlencode(urldecode((get_magic_quotes_gpc() ? stripslashes($str) : $str)));
- return ($type == "url" ? $tmp : htmlspecialchars(urldecode($tmp)));
-}
-
-function pagelink($page, $selected, $linktext = "")
-{
- $innertext = ($linktext ? $linktext : $page);
- $text = (!$selected ? "<a href=\"?q=" . sanitize($_GET["q"]) . "&p=$page\">$innertext</a>" : $innertext);
- return "<span" . ($selected ? " class=\"selected\"" : "") . ">$text</span>";
-}
-
-function dopager($rows, $page, $pagesize)
-{
- $startpage = ($page - 5 < 1 ? 1 : $page - 5);
- $endpage = ($page + 5 > $rows/$pagesize ? ceil($rows/$pagesize) : $page + 5);
-
- if ($rows > 0)
- {
- print "<div class=\"pager\">\n";
- print ($page > 1 ? pagelink($page - 1, false, "Previous") : "");
- for ($i = $startpage; $i <= $endpage; $i++)
- {
- print pagelink($i, $i == $page);
- }
- print ($page < ceil($rows/$pagesize) ? pagelink($page + 1, false, "Next") : "");
- print "</div>\n";
- }
-}
-
-function words($str)
-{
- $str = stripslashes($str);
- $list = array();
-
- preg_match_all("/\"([^\"]+)\"/", $str, $regs);
- foreach ($regs[1] as $word)
- {
- $word = addslashes($word);
- $list[] = $word;
- $str = preg_replace("/\Q$word\E/", "", $str);
- }
-
- $regs = null;
- preg_match_all("/(\w+)/", $str, $regs);
- foreach ($regs[1] as $word)
- {
- $list[] = addslashes($word);
- }
-
- return $list;
-}
-?>
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/_README.txt b/bundles/org.eclipse.build.tools/scripts_rss/_README.txt
deleted file mode 100644
index 10095c4..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/_README.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-These scripts are examples to get you started.
-
-== Assembly ==
-
-To build the feedTools.jar, use buildFeedToolsJar.sh (or .xml).
-To create a zip of all the RSS-related code, use buildFeedToolsZip.sh (or .xml).
-
-== Feed Manipulation ==
-
-To do feed manipulation, like creating a feed, adding a entry to a feed, querying
-for attribute values in a feed, or changing attribute values in a feed, look at
-feedManipulation.sh (and .xml) and create a copy similar to suit your needs.
-
-== Feed Publishing ==
-
-To publish a feed, use a script similar to feedPublish.sh (and .xml).
-
-== Feed Validation ==
-
-To validate a feed against the latest schema, you can use one of two EMF-based ant tasks.
-Examples of both are shown in feedValidate.xml, including the classpath required to run the task.
-In the Dynamic case, the schema is used to validate the feed xml; in the Generated case, the
-schema is used to create an .ecore model, which is used to generate model implementation and
-validation code, which is then used to validate the feed xml. Because the two techniques yield
-slightly different error messages when validating invalid feed data, they are both provided for
-comparison.
-
-To build the feedValidator.jar, use buildFeedValidatorJar.xml.
-
-== Feed Watching (And Response) ==
-
-To watch a feed for changes or the appearance of specific attribute values (like
-test results), use a script similar to feedWatch.sh (and .xml), along with properties
-like those in properties/feedWatch.*.properties
-
-The script sendEmailAlert.sh is provided as an example of what to in response to
-a feed change. You can customize the response to suit your needs.
-
-Additional documentation can be found in the *.xml Ant scripts and *.properties files.
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsJar.sh b/bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsJar.sh
deleted file mode 100644
index 9ac7c99..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsJar.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2005, 2006 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
-#*******************************************************************************
-#!/bin/sh
-
-export JAVA_HOME=/opt/sun-java2-5.0;
-export ANT_HOME=/opt/apache-ant-1.6;
-$ANT_HOME/bin/ant -f buildFeedToolsJar.xml;
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsJar.xml b/bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsJar.xml
deleted file mode 100644
index f077101..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsJar.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Build feedTools.jar" default="buildFeedToolsJar" basedir="../">
- <target name="buildFeedToolsJar">
- <echo message="Compiling feedTools ..."/>
- <delete file="feedTools.jar"/>
- <delete dir="bin/"/>
- <mkdir dir="bin"/>
- <javac
- source="1.5"
- target="1.5"
- srcdir="."
- destdir="bin/"
- classpath="/lib/ant.jar"
- includes="src_rss/**/*"
- excludes="src_rss/**/emf/*, src_rss/**/emf/**, src_rss/**/emf/**/*"/>
- <echo message="Jarring feedTools.jar ..."/>
- <jar
- destfile="feedTools.jar"
- includes="**/*.class"
- basedir="bin"
- update="true"/>
- <jar
- destfile="feedTools.jar"
- includes="**/messages.properties"
- excludes="**/emf/messages.properties"
- basedir="src_rss"
- update="true"/>
- </target>
-</project>
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsZip.sh b/bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsZip.sh
deleted file mode 100644
index 66df7aa..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsZip.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2005, 2006 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
-#*******************************************************************************
-#!/bin/sh
-
-export JAVA_HOME=/opt/sun-java2-5.0;
-export ANT_HOME=/opt/apache-ant-1.6;
-$ANT_HOME/bin/ant -f buildFeedToolsZip.xml;
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsZip.xml b/bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsZip.xml
deleted file mode 100644
index 78db396..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/buildFeedToolsZip.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Build feedTools.zip" default="buildFeedToolsZip" basedir="../">
- <target name="buildFeedToolsZip">
- <property name="zipfile" value="org.eclipse.build.tools_feedTools.zip"/>
- <ant antfile="scripts_rss/buildFeedToolsJar.xml" target="buildFeedToolsJar" inheritall="true"/>
- <echo message="Bundling ${zipfile} ..."/>
- <delete file="${zipfile}"/>
- <zip
- destfile="${zipfile}"
- includes=".classpath, .project,
- feedTools.jar,
- src_rss/**/*,
- scripts_rss/**/*,
- schema/**/*,
- data/**/*,
- properties/feedPublish.*.properties,
- properties/feedWatch.*.properties,
- properties/_README.txt"
- basedir="."
- update="true"/>
- </target>
-</project>
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/buildFeedValidatorJar.xml b/bundles/org.eclipse.build.tools/scripts_rss/buildFeedValidatorJar.xml
deleted file mode 100644
index b3a1c03..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/buildFeedValidatorJar.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0"?>
-<project name="Build feedValidator.jar" default="buildFeedValidatorJar" basedir="../">
- <target name="buildFeedValidatorJar">
- <!-- TODO: set correct path to EMF plugins -->
- <property name="EMF_HOME" value="../../eclipse-plugins-emf22/eclipse/plugins"/>
- <echo message="Using EMF_HOME = ${EMF_HOME}"/>
-
- <echo message="Compiling feedValidator (requires EMF) ..."/>
- <delete file="feedValidator.jar"/>
- <delete dir="bin_emf/"/>
- <mkdir dir="bin_emf"/>
- <javac
- srcdir="."
- destdir="bin_emf/"
- includes="src_rss/**/emf/*, src_rss/**/emf/**, src_rss/**/emf/**/*">
- <classpath>
- <path path="/lib/ant.jar"></path>
- <fileset dir="${EMF_HOME}">
- <include name="org.eclipse.emf.common_*.jar"/>
- <include name="org.eclipse.emf.ecore_*.jar"/>
- <include name="org.eclipse.emf.ecore.xmi_*.jar"/>
- <include name="org.eclipse.xsd_*.jar"/>
- </fileset>
- </classpath>
- </javac>
- <echo message="Jarring feedValidator.jar ..."/>
- <jar
- destfile="feedValidator.jar"
- basedir="bin_emf"
- update="true"/>
- <jar
- destfile="feedValidator.jar"
- includes="**/emf/messages.properties"
- basedir="src_rss"
- update="true"/>
- <delete dir="bin_emf/"/>
- </target>
-</project>
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/feedManipulation.sh b/bundles/org.eclipse.build.tools/scripts_rss/feedManipulation.sh
deleted file mode 100644
index 3dd3409..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/feedManipulation.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2005, 2006 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
-#*******************************************************************************
-#!/bin/sh
-
-export JAVA_HOME=/opt/sun-java2-5.0;
-export ANT_HOME=/opt/apache-ant-1.6;
-
-#ant standalone
-
-CLASSPATH="$JAVA_HOME/lib/rt.jar";
-# note that com.sun.org.apache.xerces (Sun JDK 1.5, rt.jar) != org.apache.xerces (Ant 1.6.5, xercesImpl.jar) so must remove from classpath
-#for f in `find $ANT_HOME/lib -maxdepth 1 -name "*.jar" -type f -not -name "xercesImpl.jar"`; do CLASSPATH=$CLASSPATH":"$f; done
-CLASSPATH=$CLASSPATH":"$ANT_HOME/lib/ant.jar":"$ANT_HOME/lib/ant-launcher.jar;
-
-cmd="$JAVA_HOME/bin/java \
- -Dant.home=$ANT_HOME \
- -Dant.library.dir=$JAVA_HOME/lib \
- -classpath $CLASSPATH \
- org.apache.tools.ant.launch.Launcher \
- -buildfile feedManipulation.xml";
-
-echo "Running ..."; echo "";
-
-#prettyprint the command
-echo $cmd | sed -e 's/ \-/\n \-/g' -e 's/:/\n :/g'; echo "";
-
-# run the command
-$cmd;
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/feedManipulation.xml b/bundles/org.eclipse.build.tools/scripts_rss/feedManipulation.xml
deleted file mode 100644
index cf0862d..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/feedManipulation.xml
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Create Feed, Add Entry, Update Entry, Read Entry" default="doAll">
-
- <taskdef name="CreateFeed" classname="org.eclipse.releng.generators.rss.RSSFeedCreateFeedTask" classpath="../feedTools.jar"/>
- <taskdef name="AddEntry" classname="org.eclipse.releng.generators.rss.RSSFeedAddEntryTask" classpath="../feedTools.jar"/>
- <taskdef name="GetProperty" classname="org.eclipse.releng.generators.rss.RSSFeedGetPropertyTask" classpath="../feedTools.jar"/>
- <taskdef name="UpdateEntry" classname="org.eclipse.releng.generators.rss.RSSFeedUpdateEntryTask" classpath="../feedTools.jar"/>
-
- <target name="doAll">
- <antcall target="addEntry"/>
- <antcall target="getProperties"/>
- <antcall target="updateFeed"/>
- </target>
-
- <target name="init">
- <!-- 1. Define property file -->
-
- <property file="../properties/feedPublish.eclipse.properties"/>
- <!--
- <property file="../properties/feedPublish.emf.properties"/>
- <property file="../properties/feedPublish.uml2.properties"/>
- -->
- </target>
-
- <target name="create" depends="init">
- <!-- 2. Create feed (overwrite existing) -->
-
- <CreateFeed
- debug="${debug}"
- project="${project}"
- file="${file}"
- feedURL="${feedURL}"/>
-
- </target>
-
- <target name="addEntry" depends="init">
- <!-- 3. Add an entry (and create the feed if it doesn't already exist) -->
-
- <!-- note: if not providing a buildType, must specify buildID to generate value -->
- <AddEntry
- debug="${debug}"
- file="${file}"
-
- project="${project}"
- version="${version}"
- branch="${branch}"
- buildID="${buildID}"
- buildType="${buildType}"
- feedURL="${feedURL}"
- buildURL="${buildURL}"
-
- buildAlias="${buildAlias}"
-
- buildDetailURL="${buildDetailURL}"
- buildConfigURL="${buildConfigURL}"
- buildLogURL="${buildLogURL}"
- buildMapURL="${buildMapURL}"
-
- dependencyURLs="${dependencyURLs}"
- releases="${Releases}"
-
- releaseNotesURL="${releaseNotesURL}"
- updateManagerURL="${updateManagerURL}"
- downloadsURL="${downloadsURL}"
- jarSigningStatus="${jarSigningStatus}"
- coordinatedstatus="${coordinatedStatus}"
-
- JUnitTestURL="${JUnitTestURL}"
- performanceTestURL="${performanceTestURL}"
- APITestURL="${APITestURL}"
- JUnitTestResults="${JUnitTestResults}"
- performanceTestResults="${performanceTestResults}"
- APITestResults="${APITestResults}"
- />
-
- </target>
-
- <target name="getProperties" depends="init">
- <!-- 4. Display a text or attribute value (ie., get a property) -->
-
- <!-- on the feed itself, display modified date -->
- <GetProperty
- debug="${debug}"
- file="${file}"
- xpath="/*[name() = 'feed']/*[name() = 'updated']/text()"
- />
-
- <!-- on the first entry, display the modified date -->
- <GetProperty
- debug="${debug}"
- file="${file}"
- xpath="/*/*[name() = 'entry'][1]/*[name() = 'updated']/text()"
- />
-
- <!-- on the first entry, display the build's folder, filename, and type -->
- <GetProperty
- file="${file}"
- xpath="/*/*[name() = 'entry'][1]/*/*[name() = 'build']/@href"
- />
- <GetProperty
- file="${file}"
- xpath="/*/*[name() = 'entry'][1]/*/*[name() = 'build']/*[name() = 'releases']/*[@os = 'linux'][@ws = 'gtk'][@type = 'SDK']/text()"
- />
- <GetProperty
- file="${file}"
- xpath="/*/*[name() = 'entry'][1]/*/*[name() = 'build']/@type"
- />
-
- </target>
-
- <target name="updateFeed" depends="init">
- <!-- 5. Update an existing entry by changing a property value to something else -->
-
- <!-- on the first entry, change the coordinated status to COMPLETE -->
- <UpdateEntry
- file="${file}"
- xpath="/*/*[name() = 'entry'][1]/*/*/*[name() = 'coordinated']/@status"
- replacement="COMPLETE"
- />
- <!-- on the first entry, change the performance results (os-ws = RHEL4-3GHz-2.5GB-gtk) to PENDING -->
- <UpdateEntry
- file="${file}"
- xpath="/*/*[name() = 'entry'][1]/*/*/*/*[@type = 'performance']/*[name() = 'result'][@id = 'RHEL4-3GHz-2.5GB']/text()"
- replacement="PENDING"
- />
-
- </target>
-
-</project>
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/feedManipulationEclipse.sh b/bundles/org.eclipse.build.tools/scripts_rss/feedManipulationEclipse.sh
deleted file mode 100644
index 7846332..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/feedManipulationEclipse.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2005, 2006 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
-#*******************************************************************************
-#!/bin/sh
-
-export JAVA_HOME=/opt/sun-java2-5.0;
-export ANT_HOME=/opt/apache-ant-1.6;
-export ECLIPSE_HOME=/home/eclipse/eclipse;
-
-#ant with Eclipse - requires org.eclipse.ant.ui*.jar
-tmpfolder="/tmp/antrunner-"`date +%Y%m%d_%H%M%S`;
-for f in `find $ECLIPSE_HOME/plugins -maxdepth 1 -name "org.eclipse.ant.ui*.jar" -type f`; do unzip $f lib/*.jar -d $tmpfolder; done
-
-CLASSPATH="$JAVA_HOME/lib/rt.jar";
-for d in "$ANT_HOME/lib" "$tmpfolder/lib"; do
- # note that com.sun.org.apache.xerces (Sun JDK 1.5, rt.jar) != org.apache.xerces (Ant 1.6.5, xercesImpl.jar) so must remove from classpath
- for f in `find $d -maxdepth 1 -name "*.jar" -type f -not -name "xercesImpl.jar"`; do CLASSPATH=$CLASSPATH":"$f; done
-done
-
-cmd="$JAVA_HOME/bin/java \
- -Dant.home=$ANT_HOME \
- -Dant.library.dir=$ANT_HOME/lib \
- -classpath $CLASSPATH \
- org.eclipse.ant.internal.ui.antsupport.InternalAntRunner \
- -buildfile feedManipulation.xml";
-
-echo "Running ...";
-
-#prettyprint the command
-echo $cmd | sed -e 's/ \-/\n \-/g' -e 's/:/\n :/g'; echo "";
-
-# run the command
-$cmd;
-
-rm -fr $tmpfolder;
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/feedPublish.sh b/bundles/org.eclipse.build.tools/scripts_rss/feedPublish.sh
deleted file mode 100644
index e0d74d2..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/feedPublish.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2005, 2006 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
-#*******************************************************************************
-#!/bin/sh
-
-###
-### NOTE: this script is ONLY an example, and needs to be customized for your personal use. ###
-###
-
-export JAVA_HOME=/opt/sun-java2-5.0;
-export ANT_HOME=/opt/apache-ant-1.6;
-CLASSPATH="$JAVA_HOME/lib/rt.jar";
-CLASSPATH=$CLASSPATH":"$ANT_HOME/lib/ant.jar":"$ANT_HOME/lib/ant-launcher.jar;
-CLASSPATH=$CLASSPATH":"../feedTools.jar;
-
-projectName="emf";
-
-# define/override variables not set in properties file (can also be passed in querystring, etc.)
-# this allows a static set of properties + some dynamic ones to be mixed in together
-debug=2;
-branch="HEAD"; # optional
-version="2.2.1";
-buildID="S200609210005";
-buildAlias="2.2.1RC2";
-dependencyURLs="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/M20060919-1045/eclipse-SDK-M20060919-1045-linux-gtk.tar.gz"; # comma-separated if more than one
-# ...
-
-cmd="$JAVA_HOME/bin/java -debug -Dant.home=$ANT_HOME -Dant.library.dir=$JAVA_HOME/lib -classpath $CLASSPATH org.apache.tools.ant.launch.Launcher"
-cmd=$cmd" -buildfile feedPublish.xml -propertyfile ../properties/feedPublish.$projectName.properties"
-cmd=$cmd" -Dbranch=$branch -Dversion=$version -DbuildID=$buildID -DbuildAlias=$buildAlias -DbuildType="${buildID:0:1};
-cmd=$cmd" -DdependencyURLs=$dependencyURLs -Ddebug=$debug";
-echo ""; echo $cmd | sed -e "s/ \-/# \-/g" -e "s/.jar:/.jar# :/g" | tr "#" "\n"; echo "";
-$cmd;
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/feedPublish.xml b/bundles/org.eclipse.build.tools/scripts_rss/feedPublish.xml
deleted file mode 100644
index 5204db3..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/feedPublish.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Create/Update + Publish Feed" default="publishFeed" basedir="..">
- <taskdef name="PublishFeed" classname="org.eclipse.releng.services.rss.RSSFeedPublisherTask" classpath="./feedTools.jar"/>
- <taskdef name="AddEntry" classname="org.eclipse.releng.generators.rss.RSSFeedAddEntryTask" classpath="./feedTools.jar"/>
- <!-- to run from a shell, modify feedPublish.sh to suit your needs -->
-
- <target name="publishFeed">
- <!-- TODO: include properties file here if not running from a shell script -->
- <property file="properties/feedPublish.emf.properties"/>
- <antcall target="addEntry"/>
- <antcall target="publishFeedToCVS"/>
- <antcall target="publishFeedWithSCP"/>
- </target>
-
- <target name="addEntry">
- <!-- 1. Add an entry (and create the feed if it doesn't already exist) -->
- <AddEntry
- debug="${debug}"
- file="${file}"
-
- project="${project}"
- version="${version}"
- branch="${branch}"
- buildID="${buildID}"
- buildtype="${buildType}"
- feedURL="${feedURL}"
- buildURL="${buildURL}"
-
- buildAlias="${buildAlias}"
-
- buildDetailURL="${buildDetailURL}"
- buildConfigURL="${buildConfigURL}"
- buildLogURL="${buildLogURL}"
- buildMapURL="${buildMapURL}"
-
- dependencyURLs="${dependencyURLs}"
- releases="${Releases}"
-
- releaseNotesURL="${releaseNotesURL}"
- updateManagerURL="${updateManagerURL}"
- downloadsURL="${downloadsURL}"
- jarSigningStatus="${jarSigningStatus}"
- coordinatedStatus="${coordinatedStatus}"
- coordinatedDetails="${coordinatedDetails}"
-
- JUnitTestURL="${JUnitTestURL}"
- performanceTestURL="${performanceTestURL}"
- APITestURL="${APITestURL}"
- JUnitTestResults="${JUnitTestResults}"
- performanceTestResults="${performanceTestResults}"
- APITestResults="${APITestResults}"
- />
- </target>
-
- <!-- 2. Publish feed: commit file into CVS - overwrite existing and add if necessary -->
- <target name="publishFeedToCVS">
- <PublishFeed
- debug="${debug}"
- file="${file}"
-
- cvsExec="${cvsExec}"
- cvsRoot="${cvsRoot}"
- cvsPath="${cvsPath}"
- cvsTemp="${cvsTemp}"
- />
- <delete dir="${cvsTemp}"/>
- </target>
-
- <!-- 3. Publish feed: SCP file to remote server, overwriting existing if exists -->
- <target name="publishFeedWithSCP">
- <PublishFeed
- debug="${debug}"
- file="${file}"
-
- scpExec="${scpExec}"
- scpTarget="${scpTarget}"
- sshExec="${sshExec}"
- />
- </target>
-
-</project>
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/feedValidate.xml b/bundles/org.eclipse.build.tools/scripts_rss/feedValidate.xml
deleted file mode 100644
index 351889d..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/feedValidate.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Validate a Feed" default="validateFeed" basedir="../">
- <!-- TODO: set correct path to EMF plugins -->
- <property name="EMF_HOME" value="../../eclipse-plugins-emf22/eclipse/plugins"/>
- <echo message="Using EMF_HOME = ${EMF_HOME}"/>
-
- <taskdef name="validateFeed"
- classname="org.eclipse.releng.util.rss.emf.RSSFeedValidatorDynamicTask">
- <classpath>
- <pathelement path="feedValidator.jar"/>
- <fileset dir="${EMF_HOME}">
- <include name="**/org.eclipse.emf.ecore_*.jar"/>
- <include name="**/org.eclipse.emf.common_*.jar"/>
- <include name="**/org.eclipse.emf.ecore.xmi_*.jar"/>
- <include name="**/org.eclipse.xsd_*.jar"/>
- </fileset>
- </classpath>
- </taskdef>
-
- <!-- debug: 0|1|2 -->
- <target name="validateFeed" description="verify if the feed is valid with respect to the schema">
- <validateFeed
- debug="2"
- XSDFile="../schema/atom10_build.xsd"
- XMLFile="../data/builds-emf.xml" >
- </validateFeed>
- </target>
-</project>
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/feedWatch.sh b/bundles/org.eclipse.build.tools/scripts_rss/feedWatch.sh
deleted file mode 100644
index 631539c..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/feedWatch.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2005, 2006 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
-#*******************************************************************************
-#!/bin/sh
-
-export JAVA_HOME=/opt/sun-java2-5.0;
-export ANT_HOME=/opt/apache-ant-1.6;
-$ANT_HOME/bin/ant -f feedWatch.xml;
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/feedWatch.xml b/bundles/org.eclipse.build.tools/scripts_rss/feedWatch.xml
deleted file mode 100644
index 9494d05..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/feedWatch.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Watch Feed" default="watchFeed">
-
- <taskdef name="WatchFeed"
- classname="org.eclipse.releng.services.rss.RSSFeedWatcherTask"
- classpath="../feedTools.jar"/>
-
- <!-- 1. Define property file -->
- <target name="init">
- <!-- <property file="../properties/feedWatch.emf.properties"/> -->
- <property file="../properties/feedWatch.uml2.properties"/>
- </target>
-
- <!-- 2. Watch feed for certain change conditions and respond if necessary -->
- <target name="watchFeed" depends="init" description="Watch feed for certain change conditions and respond if necessary">
- <WatchFeed
- debug="${debug}"
- file="${file}"
- feedURL="${feedURL}"
- feedWatchActions="${feedWatchActions}"
- />
-
- <!--
- Different ways to get at the results of the task include:
-
- feedWatchAction.Result.0 - The result returned from the <exec> task; if set, something bad happened
- feedWatchAction.Error.0 - Details about the error that occurred, if set, something bad happened
- feedWatchAction.Output.0 - Console output from your <exec>, if any;
- this will depend on what you run in response to a feed change, and if that process produces console output
- feedWatchAction.OldValue.0 - The original value of the node you asked for, from the previous cached version of the feed
- feedWatchAction.NewValue.0 - The changed value of the node you asked for, from the latest version of the feed;
- if you asked for changes to the test status for performance tests, this could be "PASS";
- if you asked for any changes to the feed, this will be the XML datestamp of the last update, eg: 2006-05-04T12:14:33Z
- feedWatchAction.TheValue.0 - Even if the original value is unchanged, this will contain the NewValue.
- This is useful to determine if the value changed (check if NewValue.0 is defined), but also to have the value,
- in case you need to pass it to a downstream script. For example, you can check //*[name()='entry'][1]/*/*[name()='build']/@type - which
- if the feed only contains S builds, will never change, and NewValue.0 will be undefined; however, you need the "S" value,
- so use this property instead of NewValue.0 in order to pass it to the next script.
-
- If you are watching for more than one condition, you can check for feedWatchAction.NewValue.0, feedWatchAction.NewValue.1, feedWatchAction.NewValue.2, etc.
- -->
-
- <!--
- <echoproperties format="text">
- <propertyset><propertyref regex="feedWatchAction\.(Result|Error|Output|NewValue|OldValue|TheValue)\.0"/></propertyset>
- </echoproperties>
- -->
-
- <echo message="feedWatchAction.OldValue.0 = ${feedWatchAction.OldValue.0}"/>
- <echo message="feedWatchAction.NewValue.0 = ${feedWatchAction.NewValue.0}"/>
- <echo message="feedWatchAction.TheValue.0 = ${feedWatchAction.TheValue.0}"/>
- <echo message="feedWatchAction.OldValue.1 = ${feedWatchAction.OldValue.1}"/>
- <echo message="feedWatchAction.NewValue.1 = ${feedWatchAction.NewValue.1}"/>
- <echo message="feedWatchAction.TheValue.1 = ${feedWatchAction.TheValue.1}"/>
- <echo message="feedWatchAction.OldValue.2 = ${feedWatchAction.OldValue.2}"/>
- <echo message="feedWatchAction.NewValue.2 = ${feedWatchAction.NewValue.2}"/>
- <echo message="feedWatchAction.TheValue.2 = ${feedWatchAction.TheValue.2}"/>
-
- <!-- 3. now we can respond to a changed/unchanged condition if desired -->
- <antcall target="respondToFeedUnchanged"/>
- <antcall target="respondToFeedChanged"/>
-
- </target>
-
- <!-- 3a. If not responding via shell <exec>, respond now by checking property(ies) for results -->
- <target name="respondToFeedUnchanged" description="Respond to feed unchanged" unless="feedWatchAction.NewValue.0">
- <echo message="Feed unchanged! Should we do something, like waiting for some period of time and trying again?"/>
- <!-- add steps to do here, like sleeping & re-firing, sending a nag note to someone, etc. -->
- </target>
- <!-- 3b. If not responding via shell <exec>, respond now by checking property(ies) for results -->
- <target name="respondToFeedChanged" description="Respond to feed changed" if="feedWatchAction.NewValue.0">
- <echo message="Feed changed! Time to do something... but what?"/>
- <!-- add steps to do here, like firing an email, starting a build, etc. -->
-
- <!-- eg., wait 30 seconds and try again -->
- <!-- <echo message="Sleeping..."/>
- <exec executable="sleep" resolveexecutable="true"><arg line="10"/></exec>
- <echo message="Spawning..."/>
- <exec executable="feedWatch.sh" resolveexecutable="true" spawn="true"/> -->
- </target>
-
-</project>
diff --git a/bundles/org.eclipse.build.tools/scripts_rss/sendEmailAlert.sh b/bundles/org.eclipse.build.tools/scripts_rss/sendEmailAlert.sh
deleted file mode 100644
index 3906f9d..0000000
--- a/bundles/org.eclipse.build.tools/scripts_rss/sendEmailAlert.sh
+++ /dev/null
@@ -1,103 +0,0 @@
-#*******************************************************************************
-# Copyright (c) 2005, 2006 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
-#*******************************************************************************
-#!/bin/sh
-
-# simple sample script to fire an email from the local machine to some user to
-# notify them of a change to the watched feed
-
-# Requirements:
-# tested on Debian (Kubuntu), using
-# exim 3.36-16
-# mailx 1:8.1.2-0.20040524cvs-4
-
-debug=0;
-feedURL="";
-xpath="";
-newvalue="";
-oldvalue="";
-
-while [ "$#" -gt 0 ]; do
- case $1 in
- '-debug')
- debug=$2;
- shift 1
- ;;
- '-feedURL')
- feedURL=$2;
- shift 1
- ;;
- '-xpath')
- xpath=$2;
- shift 1
- ;;
- '-oldvalue')
- oldvalue=$2;
- shift 1
- ;;
- '-newvalue')
- newvalue=$2;
- shift 1
- ;;
- esac
- shift 1
-done
-
-if [ $debug -gt 0 ]; then
- echo "[sendEmailAlert] Started `date +%H:%M:%S`. Executing with the following options:"
- echo "-debug $debug";
- echo "-feedURL $feedURL";
- echo "-xpath $xpath";
- echo "-oldvalue $oldvalue";
- echo "-newvalue $newvalue";
-fi
-
-tmpfile="/tmp/sendEmailAlert.sh.tmp";
-echo "" > $tmpfile;
-
-# compose message
-echo "Eclipse RSS Feed has been updated." >> $tmpfile;
-echo "" >> $tmpfile;
-echo "Here's what happened:" >> $tmpfile;
-echo "" >> $tmpfile;
-
-if [ "x$xpath" != "x" ]; then echo "Changed Node: "$xpath >> $tmpfile; fi
-if [ "x$oldvalue" != "x" ]; then echo "Old Value: "$oldvalue >> $tmpfile; fi
-if [ "x$newvalue" != "x" ]; then echo "New Value: "$newvalue >> $tmpfile; fi
-if [ "x$feedURL" != "x" ]; then echo "Feed URL: "$feedURL >> $tmpfile; fi
-
-echo "" >> $tmpfile;
-
-#assemble mail info
-toAddress="codeslave@ca.ibm.com";
-fromAddress="Eclipse Build Team <NOSUCHADDRESS@eclipse.org>";
-subject="Eclipse RSS Feed Updated!";
-MAIL="/usr/bin/mail";
-
-if [ $debug -gt 0 ]; then
- echo "Sending the following email using "$MAIL":";
- echo "--";
- echo "Subject: "$subject;
- echo "To: "$toAddress
- echo "From: "$fromAddress
- echo "--";
- cat $tmpfile;
- echo "--";
-fi
-
-# send message
-cat $tmpfile | $MAIL -s "$subject" -a "From: $fromAddress" $toAddress;
-
-# cleanup
-rm -fr $tmpfile;
-
-if [ $debug -gt 0 ]; then
- echo "Done.";
-fi
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/BuildMachineManager.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/BuildMachineManager.java
deleted file mode 100644
index 8cb6400..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/BuildMachineManager.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-/*
- * Created on 8-Jan-2004
- *
- * To change this generated comment go to
- * Window>Preferences>Java>Code Generation>Code Template
- */
-package org.eclipse.releng;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.StringTokenizer;
-import java.util.Properties;
-import java.io.PrintWriter;
-
-/**
- * @author SDimitrov
- *
- * This class finds an available build machine by reading a registry of build
- * machines and their status.
- *
- */
-public class BuildMachineManager extends Thread {
- // registry mapping of machines being used by a given build
- //list is the path to the configuration of build machines available for a
- // given build type
- // waitInterval is the number of seconds to wait if no machines are
- // available for a given build purpose
- // findKey represents the key in cfg from which which to obtain the list of
- // machines
- // createKey is written to the registry with the machine name that is
- // available
-
- private String markerContainer;
- private int waitInterval;
- private String markerName;
- private String markerKey="0";
- private String cfgKey;
- private String cfg;
-
- public BuildMachineManager() {
- super();
- }
- public BuildMachineManager(
- String cfg,
- String markerContainer,
- int waitInterval,
- String markerName,
- String markerKey,
- String cfgKey) {
- this.waitInterval = waitInterval;
- this.cfg = cfg;
- this.markerContainer = markerContainer;
- this.markerName = markerName;
- this.markerKey = markerKey;
- this.cfgKey = cfgKey;
- this.run();
- }
-
- public void run() {
- String[] machines = getNames();
-
- if (new File(markerContainer+"/"+markerName+".marker").exists()){
- System.out.println("Marker already exists: "+markerName+".marker");
- return;
- }
-
- boolean machineFound = false;
- try {
- while (!machineFound) {
- for (int i = 0; i < machines.length; i++) {
- if (!inUse(machines[i])) {
- if (createNewMarker(machines[i])) {
- machineFound = true;
- return;
- }
- }
- }
-
- //wait a given interval before re-checking for an available
- // build machine.
- sleep(1000 * waitInterval);
- }
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- private boolean createNewMarker(String machineName) {
- //create a temporary lock on marker container
-
- File lock = new File(markerContainer + "/" + "lock");
- if (lock.exists())
- return false;
-
- try {
- File markerFile = new File(markerContainer+"/"+markerName+".marker");
- lock.createNewFile();
- markerFile.createNewFile();
- PrintWriter out = new PrintWriter(new FileWriter(markerFile));
- out.println(markerKey+"=" + machineName);
- out.flush();
- out.close();
- lock.delete();
- } catch (IOException e) {
- e.printStackTrace();
- return false;
- }
- return true;
- }
-
- private boolean inUse(String machineName) {
-
- File container = new File(markerContainer);
-
- if (container.exists() && container.isDirectory()) {
- Properties properties = null;
- File[] markerFiles = container.listFiles();
- for (int i = 0; i < markerFiles.length; i++) {
- File markerFile = markerFiles[i];
- if (markerFile.getName().endsWith(".marker")) {
- properties = new Properties();
- try {
- FileInputStream in = new FileInputStream(markerFiles[i]);
- properties.load(in);
- in.close();
- if (properties.containsValue(machineName)){
- return true;
- }
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
- return false;
- }
-
- private String[] getNames() {
- StringTokenizer tokenizer = new StringTokenizer(getList(), ",");
- String[] names = new String[tokenizer.countTokens()];
- int i = 0;
-
- while (tokenizer.hasMoreTokens()) {
- names[i++] = tokenizer.nextToken();
- }
- return names;
- }
-
- private String getList() {
- Properties cfgProperties = new Properties();
- try {
- FileInputStream in = new FileInputStream(new File(cfg));
- cfgProperties.load(in);
- in.close();
-
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return cfgProperties.getProperty(cfgKey);
- }
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/BuildProperties.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/BuildProperties.java
deleted file mode 100644
index 927e461..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/BuildProperties.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-package org.eclipse.releng;
-
-import java.io.*;
-import java.util.Properties;
-
-/**
- * Class that stores build identification information taken from monitor.
- * properties as String objects
- */
-public class BuildProperties {
- // recipients key value setting. Comma separated list of email addresses of those who should
- // receive build information
- private String toRecipientList = "";
-
- // text message notification list
- private String textRecipientList = "";
-
- // email address of the sender
- private String sender = "";
- // mail server name
- private String host = "";
-
- // default name of the build log file used with listener
- private String logFile = "index.php";
-
- // the prefix prepended to the subject of build related emails
- private String buildSubjectPrefix="[build]";
-
- // the build id, typically <buildType><build date>
- private String buildid;
- // the date and time of the build
- private String timestamp;
- // the name of the directory containing the builds, typically <buildType>-<buildType><build date>-<timestamp>
- private String buildLabel;
-
- // the http download URL
- private String httpUrl;
-
- // the ftp download URL
-// private String ftpUrl;
-
- // the Object that holds the key value pairs in monitor.properties
- private Properties buildProperties;
-
- public BuildProperties (){
- this("monitor.properties");
- }
-
-
- public BuildProperties(String monitorProperties) {
- buildProperties = new Properties();
- // retrieve information from monitor.properties file.
- // This file should reside in the same directory as the startup.jar at build time.
- try {
- buildProperties.load(
- new FileInputStream(new File(monitorProperties)));
-
- try {
- buildSubjectPrefix = buildProperties.get("buildSubjectPrefix").toString();
- } catch (NullPointerException e) {
- System.out.println(
- "Value for buildSubjectPrefix not found in monitor.properties");
- System.out.println(
- "Default value, buildSubjectPrefix=[build] will be used.");
-
- }
-
- try {
- httpUrl = buildProperties.get("httpUrl").toString();
- } catch (NullPointerException e) {
- System.out.println(
- "Value for httpUrl not found in monitor.properties");
- }
-
- /*try {
- ftpUrl = buildProperties.get("ftpUrl").toString();
- } catch (NullPointerException e) {
- System.out.println(
- "Value for ftpUrl not found in monitor.properties");
- }*/
-
- try {
- buildid = buildProperties.get("buildId").toString();
- } catch (NullPointerException e) {
- System.out.println(
- "Value for buildId not found in monitor.properties");
- }
-
- try {
- buildLabel = buildProperties.get("buildLabel").toString();
- } catch (NullPointerException e) {
- System.out.println(
- "Value for buildLabel not found in monitor.properties");
- }
- try {
- timestamp = buildProperties.get("timestamp").toString();
- } catch (NullPointerException e) {
- System.out.println(
- "Value for timestamp not found in monitor.properties");
- }
-
- try {
- toRecipientList = buildProperties.get("recipients").toString();
- } catch (NullPointerException e) {
- System.out.println(
- "Value for recipients not found in monitor.properties");
-
- }
-
- try {
- textRecipientList = buildProperties.get("textRecipients").toString();
- } catch (NullPointerException e) {
- System.out.println(
- "Value for textRecipients not found in monitor.properties");
-
- }
-
- try {
- sender = buildProperties.get("sender").toString();
- } catch (NullPointerException e) {
- System.out.println(
- "Value for sender not found in monitor.properties");
- }
-
- try {
- host = buildProperties.get("host").toString();
- } catch (NullPointerException e) {
- System.out.println(
- "Value for host not found in monitor.properties");
- }
-
- try {
- logFile = buildProperties.get("log").toString();
- } catch (NullPointerException e) {
- System.out.println(
- "Value for log not found in monitor.properties");
- System.out.println(
- "Default value, log=index.php will be used.");
-
- }
-
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- }
-
-
- public static void main(String args[]) {
- new BuildProperties();
- }
-
-
- /**
- * Returns the buildLabel.
- * @return String
- */
- public String getBuildLabel() {
- return buildLabel;
- }
-
- /**
- * Sets the buildLabel.
- * @param buildLabel The buildLabel to set
- */
- public void setBuildLabel(String buildLabel) {
- this.buildLabel = buildLabel;
- }
-
- /**
- * Returns the logFile.
- * @return String
- */
- public String getLogFile() {
- return logFile;
- }
-
- /**
- * Sets the logFile.
- * @param logFile The logFile to set
- */
- public void setLogFile(String logFile) {
- this.logFile = logFile;
- }
-
- /**
- * Returns the buildid.
- * @return String
- */
- public String getBuildid() {
- return buildid;
- }
-
- /**
- * Returns the timestamp.
- * @return String
- */
- public String getTimestamp() {
- return timestamp;
- }
-
- /**
- * Sets the buildid.
- * @param buildid The buildid to set
- */
- public void setBuildid(String buildid) {
- this.buildid = buildid;
- }
-
- /**
- * Sets the timestamp.
- * @param timestamp The timestamp to set
- */
- public void setTimestamp(String timestamp) {
- this.timestamp = timestamp;
- }
-
- /**
- * Returns the host.
- * @return String
- */
- public String getHost() {
- return host;
- }
-
- /**
- * Returns the recipientList.
- * @return String
- */
- public String getToRecipientList() {
- return toRecipientList;
- }
-
- /**
- * Returns the sender.
- * @return String
- */
- public String getSender() {
- return sender;
- }
-
- /**
- * Sets the host.
- * @param host The host to set
- */
- public void setHost(String host) {
- this.host = host;
- }
-
- /**
- * Sets the recipientList.
- * @param recipientList The recipientList to set
- */
- public void setRecipientList(String recipientList) {
- this.toRecipientList = recipientList;
- }
-
- /**
- * Sets the sender.
- * @param sender The sender to set
- */
- public void setSender(String sender) {
- this.sender = sender;
- }
-
- /**
- * Returns the buildSubjectPrefix.
- * @return String
- */
- public String getBuildSubjectPrefix() {
- return buildSubjectPrefix;
- }
-
- /**
- * Sets the buildSubjectPrefix.
- * @param buildSubjectPrefix The buildSubjectPrefix to set
- */
- public void setBuildSubjectPrefix(String buildSubjectPrefix) {
- this.buildSubjectPrefix = buildSubjectPrefix;
- }
-
- /**
- * Returns the httpUrl.
- * @return String
- */
- public String getHttpUrl() {
- return httpUrl;
- }
-
- /**
- * Sets the httpUrl.
- * @param httpUrl The httpUrl to set
- */
- public void setHttpUrl(String downloadUrl) {
- this.httpUrl = downloadUrl;
- }
-
- /**
- * Returns the ftpUrl.
- * @return String
- *//*
- public String getftpUrl() {
- return ftpUrl;
- }*/
-
- /**
- * Sets the ftpUrl.
- * @param ftpUrl The httpUrl to set
- *//*
- public void setftpUrl(String downloadUrl) {
- this.ftpUrl = downloadUrl;
- }*/
-
-
- public String getTextRecipientList() {
- return textRecipientList;
- }
-
-
- public void setTextRecipientList(String textRecipientList) {
- this.textRecipientList = textRecipientList;
- }
-
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/CompileErrorCheck.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/CompileErrorCheck.java
deleted file mode 100644
index 187f3c5..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/CompileErrorCheck.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-package org.eclipse.releng;
-
-/**
- * A custom Ant task that finds compile logs containing compile
- * errors. The compile logs with errors are sent as email attachments using
- * information in monitor.properties.
- */
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.Vector;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class CompileErrorCheck extends Task {
-
- private static final class CompilerErrorCheckerHandler extends DefaultHandler {
- boolean hasErrors = false;
-
- public void startElement(String uri, String localName,
- String name, Attributes attributes) throws SAXException {
- if (this.hasErrors) return;
- if ("problem_summary".equals(name)) {
- // problem_summary name
- String value = attributes.getValue("errors");
- this.hasErrors = value != null && !value.equals("0");
- }
- }
- public boolean hasErrors() {
- return this.hasErrors;
- }
- }
-
- //directory containing of build source, parent of features and plugins
- private String install = "";
-
- //keep track of compile logs containing errors
- private Vector logsWithErrors;
-
- // keep track of the factory to use
- private SAXParser parser;
-
- public CompileErrorCheck() {
- this.logsWithErrors = new Vector();
- SAXParserFactory factory = SAXParserFactory.newInstance();
- this.parser = null;
-
- try {
- this.parser = factory.newSAXParser();
- } catch (ParserConfigurationException e) {
- e.printStackTrace();
- } catch (SAXException e) {
- e.printStackTrace();
- }
- }
-
- public void execute() throws BuildException {
- if (parser == null) return;
- findLogs(new File(install));
- sendNotice();
- }
-
- // test
- public static void main(String[] args) {
- CompileErrorCheck checker = new CompileErrorCheck();
- checker.install="d:/compilelogs";
- checker.execute();
- }
-
- private void findLogs(File aFile) {
- if (!aFile.exists()) return;
- // basis case
- if (aFile.isFile()) {
- String absolutePath = aFile.getAbsolutePath();
- if (absolutePath.endsWith(".xml")) {
- parse(aFile);
- } else if (absolutePath.endsWith(".jar.bin.log")||absolutePath.endsWith("dot.bin.log")){
- read(aFile);
- }
- } else {
- //recurse into directories looking for and reading compile logs
- File files[] = aFile.listFiles();
-
- if (files != null) {
- for (int i = 0, max = files.length; i < max; i++) {
- findLogs(files[i]);
- }
- }
- }
- }
-
- private void read(File file) {
- //read the contents of the log file, and return contents as a String
- if (file.length()==0)
- return;
-
- BufferedReader in = null;
- String aLine;
-
- try {
- in = new BufferedReader(new FileReader(file));
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
-
- try {
- while ((aLine = in.readLine()) != null) {
- int statusSummaryIndex=aLine.indexOf("problem (");
- if (statusSummaryIndex==-1)
- statusSummaryIndex=aLine.indexOf("problems (");
-
- if (statusSummaryIndex!=-1&&(aLine.indexOf("error", statusSummaryIndex) != -1)){
- logsWithErrors.add(file);
- System.out.println(file.getName()+" has compile errors.");
- return;
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- // make sure we don't leave any file handle open
- if (in != null) {
- try {
- in.close();
- } catch (IOException e) {
- // ignore
- }
- }
- }
- }
-
- private void parse(File file) {
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new FileReader(file));
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
-
- InputSource inputSource = new InputSource(reader);
-
- CompilerErrorCheckerHandler compilerErrorCheckerHandler = new CompilerErrorCheckerHandler();
- try {
- parser.parse(inputSource, compilerErrorCheckerHandler);
- } catch (SAXException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- // make sure we don't leave any file handle open
- if (reader != null) {
- try {
- reader.close();
- } catch (IOException e) {
- // ignore
- }
- }
- }
-
- if (compilerErrorCheckerHandler.hasErrors()) {
- logsWithErrors.add(new File(file.getParentFile(),file.getName().replaceAll(".xml", ".html")));
- System.out.println(file.getName()+" has compile errors.");
- }
- }
-
- private void sendNotice() {
- //send email notification that there are compile errors in the build
- //send the logs as attachments
- Enumeration enumeration = logsWithErrors.elements();
-
- if (logsWithErrors.size() > 0) {
- try{
-
- Mailer mailer = new Mailer();
- String [] logFiles = new String [logsWithErrors.size()];
-
- int i=0;
-
- while (enumeration.hasMoreElements()) {
- logFiles[i++]=((File) enumeration.nextElement()).getAbsolutePath();
- }
-
- mailer.sendMultiPartMessage("Compile errors in build", "Compile errors in build. See attached compile logs.", logFiles);
- } catch (NoClassDefFoundError e){
- while (enumeration.hasMoreElements()) {
- String path=((File) enumeration.nextElement()).getAbsolutePath();
- String nameWithPlugin=path.substring(path.indexOf("plugins"),path.length());
- System.out.println("Compile errors detected in "+nameWithPlugin);
- }
-
- System.out.println("Unable to send email notice of compile errors.");
- System.out.println("The j2ee.jar may not be on the Ant classpath.");
-
- }
-
- }
-
- }
-
- /**
- * Gets the install.
- * @return Returns a String
- */
- public String getInstall() {
- return install;
- }
-
- /**
- * Sets the install.
- * @param install The install to set
- */
- public void setInstall(String install) {
- this.install = install;
- }
-
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/CvsDiffParser.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/CvsDiffParser.java
deleted file mode 100644
index 9fdc204..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/CvsDiffParser.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-/*
- * Created on Dec 9, 2003
- *
- */
-package org.eclipse.releng;
-
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.BuildException;
-
-import java.util.Vector;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-
-/**
- * @author kmoir
- *
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class CvsDiffParser extends Task {
-
- private String mapDiffFile;
- private Vector updatedMaps;
-
- /**
- *
- */
- public CvsDiffParser() {
- super();
- // TODO Auto-generated constructor stub
- }
-
- public static void main(String[] args) {
-
- CvsDiffParser parser = new CvsDiffParser();
- parser.setMapDiffFile("d:/junk/cvsDiff.txt");
- parser.execute();
- }
-
- public void execute() throws BuildException {
- parseMapDiffFile();
- sendNotice();
- }
-
- /**
- * @return Returns the mapDiffFile.
- */
- public String getMapDiffFile() {
- return mapDiffFile;
- }
-
- /**
- * @param mapDiffFile
- * The mapDiffFile to set.
- */
- public void setMapDiffFile(String mapDiffFile) {
- this.mapDiffFile = mapDiffFile;
- }
-
- private void parseMapDiffFile() {
- updatedMaps = new Vector();
-
- //read the contents of the Diff file, and return contents as a String
- if (mapDiffFile.length() == 0)
- updatedMaps=null;
-
- BufferedReader in = null;
- String aLine;
-
- try {
- in = new BufferedReader(new FileReader(mapDiffFile));
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
-
- try {
- while ((aLine = in.readLine()) != null) {
- if (aLine.startsWith("RCS file")) {
- String mapPath =
- (aLine
- .substring(aLine.indexOf(":"), aLine.indexOf(",")))
- .trim();
-
- //verification for actual changes in tags base.plugin
- while ((aLine = in.readLine()) != null && !aLine.startsWith("===")){
- if (aLine.startsWith("< plugin")||aLine.startsWith("< fragment")||aLine.startsWith("< feature")||aLine.startsWith("< base.plugin")){
- updatedMaps.add(new File(mapPath).getName());
- break;
- }
- }
-
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- private void sendNotice(){
-
- if (updatedMaps==null || updatedMaps.size()==0){
- throw new BuildException("Build cancelled - map files unchanged.");
- }
-
- Mailer mailer = new Mailer();
-
- String subject="updated map file listing";
- String message ="these map files have been updated for the build:\n\n";
-
- for (int i=0; i<updatedMaps.size();i++){
- message=message.concat(updatedMaps.elementAt(i).toString()+"\n");
- }
-
- try {
- mailer.sendMessage(subject,message);
- } catch (NoClassDefFoundError e){
- System.out.println(message);
- }
- }
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/ElementParser.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/ElementParser.java
deleted file mode 100644
index 01430e9..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/ElementParser.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-/**
- * Parses feature.xml, plugin.xml, and fragment.xml files
- *
- */
-
-package org.eclipse.releng;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import org.xml.sax.Attributes;
-import org.xml.sax.helpers.DefaultHandler;
-import org.xml.sax.SAXException;
-import java.io.IOException;
-import java.util.Vector;
-import java.io.File;
-import org.apache.tools.ant.BuildException;
-
-
-public class ElementParser extends DefaultHandler {
-
- private SAXParser parser;
- private Vector plugins;
- private Vector features;
-
- public Vector getPlugins(){return plugins;}
- public Vector getFeatures(){return features;}
-
- public ElementParser() {
- // Create a Xerces SAX Parser
- SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
-
- try {
- parser = saxParserFactory.newSAXParser();
- } catch (ParserConfigurationException e) {
- e.printStackTrace();
- } catch (SAXException e) {
- e.printStackTrace();
- }
-
-
-
- // instantiate vectors that will hold lists of plugins and features read from feature.xml
- plugins = new Vector();
- features = new Vector();
- }
-
- public void parse(String xmlFile){
-
- // Parse the Document
- try {
- parser.parse(xmlFile,this);
- } catch (SAXException e) {
- System.err.println (e);
- } catch (IOException e) {
- System.err.println (e);
-
- }
- }
-
- public void parse(String install, String type, String id){
-
- String xmlFile=null;
-
- if (type.equals("feature"))
- xmlFile=install+"/features/"+id+"/"+"feature.xml";
- if (type.equals("plugin"))
- xmlFile=install+"/plugins/"+id+"/"+"plugin.xml";
- if (type.equals("fragment"))
- xmlFile=install+"/plugins/"+"/"+id+"/"+"fragment.xml";
-
- if (new File(xmlFile).exists())
- parse(xmlFile);
-
- else{
- throw new BuildException("The following "+type+" "+id+" did not get fetched.");
- }
-
- }
-
- // Start Element Event Handler
- public void startElement (String uri, String local,
- String qName, Attributes atts) {
- if (local.equals("plugin")||local.equals("fragment"))
- add(atts.getValue("id"), plugins);
- if (local.equals("feature"))
- add(atts.getValue("id")+"-feature", features);
- }
-
- public void add(String element, Vector v){
- if (!v.contains(element))
- v.add(element);
- }
-
- // Test
- public static void main (String[] args) {
- ElementParser xmlParser = new ElementParser();
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.platform-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.platform.win32-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.platform.linux.motif-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.platform.linux.gtk-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.platform.solaris.motif-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.platform.aix.motif-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.platform.qnx.photon-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.jdt-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.pde-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.sdk.examples-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.sdk.tests-feature");
-
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.platform.source-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.platform.win32.source-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.platform.linux.motif.source-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.platform.linux.gtk.source-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.platform.solaris.motif.source-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.platform.aix.motif.source-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.platform.qnx.photon.source-feature");
- xmlParser.parse("l:/vabase/team/sonia", "feature", "org.eclipse.jdt.source-feature");
-
- System.out.println(xmlParser.plugins);
- System.out.println(xmlParser.features);
-
- System.out.println(xmlParser.plugins.size()+" plugins expected");
- System.out.println(xmlParser.features.size()+" features expected");
- }
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/FetchValidator.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/FetchValidator.java
deleted file mode 100644
index e9a8383..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/FetchValidator.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-package org.eclipse.releng;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import java.util.StringTokenizer;
-import java.util.Vector;
-import java.util.Enumeration;
-import java.io.*;
-
-/**
- * Uses an ElementParser to read a list of feature.xml files and to determine
- * if all plugins defined in the features are present.
- */
-
-public class FetchValidator extends Task {
-
- //directory containing of build source, parent of features and plugins
- private String install = "";
-
- //Comma separated list of features to parse
- private String list;
-
- //Elements to check for post fetch (use name of project in dev.eclipse.org)
- private Vector features;
- private Vector plugins;
-
- //keeps track of missing elements
- private Vector missingPlugins;
- private Vector missingFeatures;
-
-
- //parser
- ElementParser parser;
-
- //test
- public static void main(String args[]) {
- FetchValidator validator = new FetchValidator();
- validator.install = "l:/vabase/team/sonia";
- validator.list =
- "org.eclipse.platform-feature,org.eclipse.platform.win32-feature,org.eclipse.platform.linux.motif-feature";
- validator.getListOfFeatures(validator.list);
-
- validator.execute();
- }
-
- // entry point
- public void execute() throws BuildException {
- getListOfFeatures(list);
-
- if (!allPresent()) {
- String missingFeaturesDesc="";
- String missingPluginsDesc="";
-
- if (missingFeatures.size() > 0) {
- for (int i = 0; i < missingFeatures.size(); i++) {
- missingFeaturesDesc+="\n\r"+missingFeatures.get(i).toString();
- }
- }
-
- if (missingPlugins.size() > 0) {
- for (int i = 0; i < missingPlugins.size(); i++) {
- missingPluginsDesc+="\n\t"+missingPlugins.get(i).toString();
- }
- }
- throw new BuildException("The following projects did not get fetched: \n"+missingFeaturesDesc+missingPluginsDesc+"\n"
- +"\n\nPossible causes of missing source files include an incorrect Tag entry in a .map file or problems with CVS repositories.");
- }
-
- System.out.println("Fetch Complete.");
- }
-
- public FetchValidator() {
- parser = new ElementParser();
- missingPlugins = new Vector();
- missingFeatures = new Vector();
- }
-
- private void getListOfFeatures(String list) {
-
- StringTokenizer tokenizer = new StringTokenizer(list, ",");
-
- while (tokenizer.hasMoreTokens()) {
- parser.parse(
- install,
- "feature",
- (String) tokenizer.nextToken().trim());
- }
-
- features = parser.getFeatures();
- plugins = parser.getPlugins();
- }
-
- private boolean allPresent() {
- // verify presence of all source projects for the build.
- // collect a list of missing plugins (or fragments), and features
-
- boolean allPresent = true;
- Enumeration enumeration = plugins.elements();
-
- while (enumeration.hasMoreElements()) {
- String plugin = (String) enumeration.nextElement();
- if (new File(install + "/plugins/" + plugin).exists())
- continue;
- else {
- missingPlugins.add(plugin);
- allPresent = false;
- }
- }
-
- enumeration = features.elements();
-
- while (enumeration.hasMoreElements()) {
- String feature = (String) enumeration.nextElement();
- if (new File(install + "/features/" + feature).exists())
- continue;
- else {
- missingFeatures.add(feature);
- allPresent = false;
- }
- }
-
- return allPresent;
- }
-
- /**
- * Gets the install.
- * @return Returns a String
- */
- public String getInstall() {
- return install;
- }
-
- /**
- * Gets the list.
- * @return Returns a String
- */
- public String getList() {
- return list;
- }
-
- /**
- * Sets the install.
- * @param install The install to set
- */
- public void setInstall(String install) {
- this.install = install;
- }
-
- /**
- * Sets the list.
- * @param list The list to set
- */
- public void setList(String list) {
- this.list = list;
- }
-
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/FindMachineTask.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/FindMachineTask.java
deleted file mode 100644
index aff7723..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/FindMachineTask.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-/*
- * Created on 8-Jan-2004
- *
- * To change this generated comment go to
- * Window>Preferences>Java>Code Generation>Code Template
- */
-package org.eclipse.releng;
-
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.BuildException;
-/**
- * @author SDimitrov
- *
- * To change this generated comment go to
- * Window>Preferences>Java>Code Generation>Code Template
- */
-public class FindMachineTask extends Task {
-
- // findKey represents the key in cfg from which which to obtain the list of machines
- // createKey is written to the registry with the machine name that is available
- //registry mapping of machines being used by a given build
- private String markerContainer;
-
-//time in seconds to wait before re-checking for an available machine
- private int waitInterval;
- private String markerName;
- private String markerKey="0";
-//list is the path to the configuration of build machines available for a given build type
- private String cfgKey;
- private String cfg;
-
- /**
- *
- */
- public static void main(String args[]){
- FindMachineTask test = new FindMachineTask();
- test.markerContainer = "D:\\junk\\markers";
- test.cfg="D:\\workspaces\\current\\eclipseInternalBuildTools\\testConfig.properties";
- test.cfgKey="windowstesting";
- test.markerName = "200412091500";
- test.waitInterval = 10;
- test.execute();
- }
- public FindMachineTask() {
- super();
- }
- public void execute() throws BuildException {
- new BuildMachineManager(cfg,markerContainer,waitInterval,markerName,markerKey,cfgKey);
- }
- /**
- * @return Returns the cfg.
- */
- public String getCfg() {
- return cfg;
- }
-
- /**
- * @param cfg The cfg to set.
- */
- public void setCfg(String cfg) {
- this.cfg = cfg;
- }
-
- /**
- * @return Returns the createKey.
- */
- public String getMarkerName() {
- return markerName;
- }
-
- /**
- * @param createKey The createKey to set.
- */
- public void setMarkerName(String markerName) {
- this.markerName = markerName;
- }
-
-/**
- * @return Returns the findKey.
- */
-public String getCfgKey() {
- return cfgKey;
-}
-
-/**
- * @param findKey The findKey to set.
- */
-public void setCfgKey(String cfgKey) {
- this.cfgKey = cfgKey;
-}
-
- /**
- * @return Returns the registry.
- */
- public String getMarkerContainer() {
- return markerContainer;
- }
-
- /**
- * @param registry The registry to set.
- */
- public void setMarkerContainer(String markerContainer) {
- this.markerContainer = markerContainer;
- }
-
-/**
- * @return Returns the waitInterval.
- */
-public int getWaitInterval() {
- return waitInterval;
-}
-
-/**
- * @param waitInterval The waitInterval to set.
- */
-public void setWaitInterval(int waitInterval) {
- this.waitInterval = waitInterval;
-}
-
- /**
- * @return Returns the markerKey.
- */
- public String getMarkerKey() {
- return markerKey;
- }
-
- /**
- * @param markerKey The markerKey to set.
- */
- public void setMarkerKey(String markerKey) {
- this.markerKey = markerKey;
- }
-
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/GenerateExcludeListTask.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/GenerateExcludeListTask.java
deleted file mode 100644
index fcc5f0f..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/GenerateExcludeListTask.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-package org.eclipse.releng;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-
-public class GenerateExcludeListTask extends Task {
-
- private ArrayList a = new ArrayList();
- private String mapFile;
- private String outputFile;
-
- public GenerateExcludeListTask() {
- super();
- }
-
- public static void main(String[] args) {
- GenerateExcludeListTask parser = new GenerateExcludeListTask();
- parser.setMapFile("c:\\temp\\orbit.map");
- parser.setOutputFile("c:\\temp\\orbit.map.new");
- parser.execute();
- }
-
- public String getOutputFile() {
- return outputFile;
- }
-
- public void setOutputFile(String outputFile) {
- this.outputFile = outputFile;
- }
-
- public String getMapFile() {
- return mapFile;
- }
-
- public void setMapFile(String mapFile) {
- this.mapFile = mapFile;
- }
-
- public void execute() throws BuildException {
- readMap();
- writeProp();
- }
-
- // for old map file format //
-
- /* private void readMap() {
- try {
- BufferedReader r = new BufferedReader(new FileReader(mapFile));
- String line;
- while ((line = r.readLine()) != null) {
- int start = line.lastIndexOf('/');
- int lastcomma = line.lastIndexOf(',');
- int end = line.length();
- if (lastcomma > start) {
- end = lastcomma;
- }
- int lastzip = line.lastIndexOf(".zip");
- if (lastzip > start) {
- String rstring = line.substring(0, lastzip);
- line = rstring + ".jar";
- }
- if ((start < end) && (start > 0)) {
- String substr = line.substring(start + 1, end);
- a.add(substr);
- }
- }
- r.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- } */
-
- private void readMap() {
- try {
- BufferedReader r = new BufferedReader(new FileReader(mapFile));
- String line;
- while ((line = r.readLine()) != null) {
- int start = line.indexOf("plugin@") + 7;
- int end = line.indexOf(",");
- String plugin = "";
- if ((start > 0) && (end > 0)) {
- plugin = line.substring(start, end);
- }
- String version = "";
- int startv = line.indexOf("version=") + 8;
- int endv = line.indexOf(",", startv);
- if ((startv > 0) && (endv > 0)) {
- version = line.substring(startv, endv);
- }
- if ((version != "") && (plugin != "")) {
- String l = plugin + "_" + version + ".jar";
- a.add(l);
- }
- }
- r.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- private void writeProp() {
-
- try {
- BufferedWriter out = new BufferedWriter(new FileWriter(outputFile));
- for (Iterator iterator = a.iterator(); iterator.hasNext();) {
- String s = iterator.next().toString();
- if (iterator.hasNext()) {
- out.write("plugins/" + s + ",");
- } else {
- out.write("plugins/" + s);
- }
- }
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/Mailer.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/Mailer.java
deleted file mode 100644
index ec3aa5d..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/Mailer.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-package org.eclipse.releng;
-
-/**
- * A Class that sends build related email messages. host, sender, recipient and
- * build related information set in monitor.properties
- */
-
-import javax.mail.*;
-import javax.mail.internet.*;
-
-import java.io.File;
-import java.util.StringTokenizer;
-import javax.activation.*;
-import java.util.Properties;
-
-public class Mailer {
-
- // flag that determines whether or not to send mail
- boolean sendMail = true;
-
- // the Object that holds the key value pairs in monitor.properties
- private BuildProperties buildProperties;
-
- //convert the comma separated list of email addressed into an array of Address objects
- private Address[] getAddresses(String recipientList) {
- int i = 0;
- StringTokenizer recipients = new StringTokenizer(recipientList, ",");
- Address[] addresses = new Address[recipients.countTokens()];
-
- while (recipients.hasMoreTokens()) {
- try {
- addresses[i++] = new InternetAddress(recipients.nextToken());
- } catch (AddressException e) {
- System.out.println("Unable to create address");
- }
- }
- return addresses;
- }
-
- public Mailer(){
- this("monitor.properties");
- }
- public Mailer(String buildPropertiesPath){
- buildProperties = new BuildProperties(buildPropertiesPath);
- if (buildProperties.getHost().equals("")||buildProperties.getSender().equals("")||buildProperties.getToRecipientList().equals("")){
- sendMail=false;
- }
- }
-
-
- public static void main(String args[]) {
- Mailer mailer=new Mailer(args[0]);
- mailer.sendTextMessage(args[1],args[2]);
- }
-
- public void sendMessage(String aSubject, String aMessage) {
- if (aSubject == null || aMessage == null || sendMail == false){
- printEmailFailureNotice(aSubject,aMessage);
- }
-
- // Get system properties
- Properties props = System.getProperties();
-
- // Setup mail server
- props.put("mail.smtp.host", buildProperties.getHost());
-
- // Get session
- Session session = Session.getDefaultInstance(props, null);
-
- // Define message
- MimeMessage message = new MimeMessage(session);
-
- try {
-
- // Set the from address
- message.setFrom(new InternetAddress(buildProperties.getSender()));
-
- // Set the to address
- message.addRecipients(Message.RecipientType.TO, getAddresses(buildProperties.getToRecipientList()));
-
- // Set the subject
- message.setSubject(buildProperties.getBuildSubjectPrefix()+
- "Build "
- + buildProperties.getBuildid()
- + " (Timestamp: "
- + buildProperties.getTimestamp()
- + "):"
- + aSubject);
-
- // Set the content
- message.setText(
- "Build "
- + buildProperties.getBuildid()
- + " (Timestamp: "
- + buildProperties.getTimestamp()
- + "): "
- + aMessage);
-
- // Send message
- Transport.send(message);
-
- } catch (AddressException e) {
- e.printStackTrace();
- } catch (MessagingException e) {
- e.printStackTrace();
- }
- }
-
- public void sendTextMessage(String aSubject, String aMessage) {
- if (aSubject == null || aMessage == null || sendMail == false){
- printEmailFailureNotice(aSubject,aMessage);
- }
-
- // Get system properties
- Properties props = System.getProperties();
-
- // Setup mail server
- props.put("mail.smtp.host", buildProperties.getHost());
-
- // Get session
- Session session = Session.getDefaultInstance(props, null);
-
- // Define message
- MimeMessage message = new MimeMessage(session);
-
- try {
-
- // Set the from address
- message.setFrom(new InternetAddress(buildProperties.getSender()));
-
- // Set the to address
- message.addRecipients(Message.RecipientType.BCC, getAddresses(buildProperties.getTextRecipientList()));
-
- // Set the subject
- message.setSubject(buildProperties.getBuildSubjectPrefix()+
- "Build "
- + buildProperties.getBuildid()
- + ":"
- + aSubject);
-
- // Set the content
- message.setText(aMessage);
-
- // Send message
- Transport.send(message);
-
- } catch (AddressException e) {
- e.printStackTrace();
- } catch (MessagingException e) {
- e.printStackTrace();
- }
- }
-
- public void sendMultiPartMessage(
- // a method for sending mail with attachments
- String aSubject, String aMessage, String[] attachments) {
- if (aSubject == null || aMessage == null || sendMail == false){
- printEmailFailureNotice(aSubject,aMessage);
- }
-
- // Get system properties
- Properties props = System.getProperties();
-
- // Setup mail server
- props.put("mail.smtp.host", buildProperties.getHost());
-
- // Get session
- Session session = Session.getDefaultInstance(props, null);
-
- // Define message
- MimeMessage message = new MimeMessage(session);
-
- Multipart mp = new MimeMultipart();
-
- try {
- // Set the from address
- message.setFrom(new InternetAddress(buildProperties.getSender()));
-
- // Set the to address
- message.addRecipients(Message.RecipientType.TO, getAddresses(buildProperties.getToRecipientList()));
-
- // Set the subject
- message.setSubject(buildProperties.getBuildSubjectPrefix()+
- "Build "
- + buildProperties.getBuildid()
- + " (Timestamp: "
- + buildProperties.getTimestamp()
- + "):"
- + aSubject);
-
- // create and fill the first message part
- MimeBodyPart part = new MimeBodyPart();
- part.setText(
- "Build "
- + buildProperties.getBuildid()
- + " (Timestamp: "
- + buildProperties.getTimestamp()
- + "): "
- + aMessage);
- mp.addBodyPart(part);
-
- //for each attachment create new message part
- for (int i = 0; i < attachments.length; i++) {
- MimeBodyPart attachmentPart = new MimeBodyPart();
- // attach the file to the message
- FileDataSource attachment = new FileDataSource(attachments[i]);
- attachmentPart.setDataHandler(new DataHandler(attachment));
- File attachmentFile=new File(attachments[i]);
- attachmentPart.setFileName(attachmentFile.getParent()+"-"+attachmentFile.getName());
- mp.addBodyPart(attachmentPart);
- }
-
- // add the Multipart to the message
- message.setContent(mp);
-
- Transport.send(message);
-
- } catch (AddressException e) {
- } catch (MessagingException e) {
- }
- }
-
- private void printEmailFailureNotice(String aSubject, String aMessage){
- System.out.println("Email failed. Settings:");
- System.out.println("\nhost="+buildProperties.getHost()+"\nsender="+buildProperties.getSender()+"\nrecipients="+buildProperties.getToRecipientList());
- System.out.println("\nSubject="+aSubject+"\nMessage="+aMessage);
- return;
- }
-
- /**
- * Returns the buildProperties.
- * @return BuildProperties
- */
- public BuildProperties getBuildProperties() {
- return buildProperties;
- }
-
- /**
- * Sets the buildProperties.
- * @param buildProperties The buildProperties to set
- */
- public void setBuildProperties(BuildProperties buildProperties) {
- this.buildProperties = buildProperties;
- }
-
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/SystemProperty.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/SystemProperty.java
deleted file mode 100644
index c507ead..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/SystemProperty.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.releng;
-
-import org.apache.tools.ant.Task;
-
-public class SystemProperty extends Task{
- //utility to allow modification of System properties from Ant script.
- private String key;
- private String value;
-
- public SystemProperty(){
- super();
- }
-
- public void execute(){
- System.setProperty(key, value);
- if (System.getProperty(key).equals(value))
- System.out.println("System property "+key+" set to "+System.getProperty(key));
- else{
- System.out.println("System property "+key+" could not be set. Currently set to "+System.getProperty(key));
- }
- }
-
- public String getKey() {
- return key;
- }
-
- public void setKey(String key) {
- this.key = key;
- }
-
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/UnpackUpdateJars.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/UnpackUpdateJars.java
deleted file mode 100644
index ec9d50d..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/UnpackUpdateJars.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.releng;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.tools.ant.Task;
-import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-public class UnpackUpdateJars extends Task {
-
- /**
- * @param args
- */
- //parent to plugins and features directory which contains update jars
- private String site;
- private String output;
- ArrayList unpackedPlugins=new ArrayList();
-
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- UnpackUpdateJars up=new UnpackUpdateJars();
- up.site="C:\\updatejars\\eclipse";
- up.output="C:\\updatejars\\newsite";
- up.execute();
- }
-
- public UnpackUpdateJars(){
- super();
- }
-
- //unpack features, then unpack plug-ins which are not set to unpack="false"
- public void execute(){
- new File(output).mkdirs();
- new File(output+"/features").mkdirs();
- new File(output+"/plugins").mkdirs();
-
- //extract features
- File featureDir=new File(site,"features");
- if (!featureDir.exists()){
- return;
- }
- File[] features = featureDir.listFiles();
- for (int i = 0; i < features.length; i++) {
- File feature = features[i];
- if (feature.getName().endsWith(".jar")) {
- String fileName = feature.getName();
- String unpackedFeatureName = fileName.substring(0, fileName.length() - 4);
- File unPackedFeature=new File(output+"/features/"+ unpackedFeatureName);
- unzip(feature, unPackedFeature);
- getUnpackedPluginList(new File(unPackedFeature,"feature.xml"));
- }
- }
-
- //unpack plug-ins
- for (int i=0;i<unpackedPlugins.size();i++){
- File unpackedPluginDirName=new File(output+"/plugins/"+(String)unpackedPlugins.get(i));
- File jardPlugin=new File(site,"plugins/"+(String)unpackedPlugins.get(i)+".jar");
- if (jardPlugin.exists())
- unzip (jardPlugin,unpackedPluginDirName);
- }
- }
-
- public void unzip(File src, File dest) {
- Runtime rt = Runtime.getRuntime();
- String command = "unzip -qo " + src.getPath() + " -d " + dest.getPath();
- System.out.println("[exec] "+command);
- Process proc = null;
- try {
- proc = rt.exec(command);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- // pick up error messages
- StreamHandler errorHandler = new StreamHandler(proc.getErrorStream(), "ERROR");
-
- // pick up output
- StreamHandler outputHandler = new StreamHandler(proc.getInputStream(), "OUTPUT");
-
- // kick them off
- errorHandler.start();
- outputHandler.start();
-
- // capture return code
- int returnCode = 0;
- try {
- returnCode = proc.waitFor();
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- if (returnCode!=0)
- System.out.println("returnCode: " + returnCode);
-
- }
-
- class StreamHandler extends Thread {
- InputStream is;
-
- String type;
-
- StreamHandler(InputStream is, String type) {
- this.is = is;
- this.type = type;
- }
-
- public void run() {
- try {
- InputStreamReader isr = new InputStreamReader(is);
- BufferedReader br = new BufferedReader(isr);
- String line = null;
- while ((line = br.readLine()) != null)
- System.out.println(type + ">" + line);
- } catch (IOException ioe) {
- ioe.printStackTrace();
- }
- }
- }
-
- public String getSite() {
- return site;
- }
-
- public void setSite(String site) {
- this.site = site;
- }
-
- private void getUnpackedPluginList(File featureXml) {
- Document aDocument=null;
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new FileReader(featureXml));
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
-
- InputSource inputSource = new InputSource(reader);
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = null;
-
- try {
- builder = factory.newDocumentBuilder();
- } catch (ParserConfigurationException e) {
- e.printStackTrace();
- }
-
- try {
- aDocument = builder.parse(inputSource);
- } catch (SAXException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- // Get feature attributes
- NodeList nodeList=aDocument.getElementsByTagName("plugin");
- if (nodeList==null)
- return;
-
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node pluginNode = nodeList.item(i);
- NamedNodeMap aNamedNodeMap = pluginNode.getAttributes();
- Node idNode = aNamedNodeMap.getNamedItem("id");
- Node versionNode = aNamedNodeMap.getNamedItem("version");
- String pluginDirName = idNode.getNodeValue() + "_" + versionNode.getNodeValue();
- Node unpackNode = aNamedNodeMap.getNamedItem("unpack");
- if (unpackNode == null) {
- if (!unpackedPlugins.contains(pluginDirName)) {
- unpackedPlugins.add(pluginDirName);
- }
- continue;
- }
-
- if (unpackNode.getNodeValue().toString().trim().toLowerCase().equals("true")) {
- if (!unpackedPlugins.contains(pluginDirName)){
- System.out.println(pluginDirName);
- unpackedPlugins.add(pluginDirName);
- }
- continue;
- }
- //copy file to new location
- File jardPlugin=new File(site,"plugins/"+pluginDirName+".jar");
- if (jardPlugin.exists())
- if (!jardPlugin.renameTo(new File(output,"plugins/"+pluginDirName+".jar")))
- System.out.println("Failed to move "+jardPlugin.getAbsolutePath()+" to "+output+"plugins/"+pluginDirName+".jar");
- }
- }
-
- public String getOutput() {
- return output;
- }
-
- public void setOutput(String output) {
- this.output = output;
- }
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/VersionNumberStripper.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/VersionNumberStripper.java
deleted file mode 100644
index bea7263..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/VersionNumberStripper.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-package org.eclipse.releng;
-
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.BuildException;
-import java.io.File;
-
-/*
- * A class that strips version numbers off built plugin directory names. This
- * is helpful when prebuilt plugins are used in generating javadoc (on the
- * classpath).
- */
-
-public class VersionNumberStripper extends Task {
-
- //the directory containing the directories and files from which to remove version information
- private String directory;
-
- public VersionNumberStripper() {
- super();
- }
-
- public void setDirectory(String dir){directory=dir;}
-
- public String getDirectory(){return directory;}
-
- public void execute() throws BuildException {
- setDirectory(directory);
- stripVersions();
- }
-
- public static void main(String[] args) {
- new VersionNumberStripper().execute();
- }
-
- private void stripVersions(){
- /* rename directories by removing anything from an underscore onward,
- * assuming that anything following the first
- * occurence of an underscore is a version number
- */
-
- File file=new File(directory);
-
- File [] files = file.listFiles();
-
- for (int i=0; i<files.length; i++){
- String absolutePath = files[i].getAbsolutePath();
- String path = absolutePath.substring(0, absolutePath.length()
- - files[i].getName().length());
-
- int underScorePos = files[i].getName().indexOf("_");
- int jarExtPos = files[i].getName().indexOf(".jar");
- if (underScorePos != -1) {
- String targetPath;
- if (jarExtPos != -1) {
- targetPath =path
- + files[i].getName().substring(0, underScorePos)
- + ".jar";
- } else {
- targetPath = path
- + files[i].getName().substring(0, underScorePos);
- }
- files[i].renameTo(new File(targetPath));
- }
-
- }
- }
-}
-
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/AbstractApplication.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/AbstractApplication.java
deleted file mode 100644
index 230ad24..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/AbstractApplication.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-package org.eclipse.releng.generators;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Defines common behaviour for PDE Core applications.
- */
-public abstract class AbstractApplication {
-
-/**
- * Starting point for application logic.
- */
-protected abstract void run() throws Exception;
-
-/*
- * @see IPlatformRunnable#run(Object)
- */
-public Object run(Object args) throws Exception {
- processCommandLine(getArrayList((String[]) args));
- try {
- run();
- } catch (Exception e) {
- e.printStackTrace(System.out);
- }
- return null;
-}
-
-/**
- * Helper method to ensure an array is converted into an ArrayList.
- */
-public static ArrayList getArrayList(Object[] args) {
- // We could be using Arrays.asList() here, but it does not specify
- // what kind of list it will return. We do need a list that
- // implements the method List.remove(int) and ArrayList does.
- ArrayList result = new ArrayList(args.length);
- for (int i = 0; i < args.length; i++)
- result.add(args[i]);
- return result;
-}
-
-
-
-
-/**
- * Looks for interesting command line arguments.
- */
-protected void processCommandLine(List commands) {
-}
-
-/**
- * From a command line list, get the array of arguments of a given parameter.
- * The parameter and its arguments are removed from the list.
- * @return null if the parameter is not found or has no arguments
- */
-protected String[] getArguments(List commands, String param) {
- int index = commands.indexOf(param);
- if (index == -1)
- return null;
- commands.remove(index);
- if (index == commands.size()) // if this is the last command
- return null;
- List args = new ArrayList(commands.size());
- while (index < commands.size()) { // while not the last command
- String command = (String) commands.get(index);
- if (command.startsWith("-")) // is it a new parameter?
- break;
- args.add(command);
- commands.remove(index);
- }
- if (args.isEmpty())
- return null;
- return (String[]) args.toArray(new String[args.size()]);
-}
-
-
-
-
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/EclipseTestResultsGeneratorNoMail.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/EclipseTestResultsGeneratorNoMail.java
deleted file mode 100644
index 98be942..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/EclipseTestResultsGeneratorNoMail.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Created on Apr 8, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.releng.generators;
-import java.io.File;
-
-
-
-/**
- * @author SDimitrov
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class EclipseTestResultsGeneratorNoMail extends TestResultsGenerator {
-
-
- // buildType used to determine if mail should be sent on
- // successful build completion
- private String buildType;
- private boolean sendMail=true;
- /**
- * @return
- */
- public String getBuildType() {
- return buildType;
- }
-
- /**
- * @param buildType
- */
- public void setBuildType(String buildType) {
- this.buildType = buildType;
- }
-
- public static void main(String[] args) {
- String publishingContent="C:\\Documents and Settings\\IBMEmployee\\workspace\\org.eclipse.releng.eclipsebuilder\\eclipse\\publishingFiles";
-
- EclipseTestResultsGeneratorNoMail test = new EclipseTestResultsGeneratorNoMail();
- test.buildType="N";
- test.setIsBuildTested(true);
- test.setDropTokenList(
- "%sdk%,%tests%,%example%,%rcpruntime%,%rcpsdk%,%deltapack%,%icubase%,%runtime%,%platformsdk%,%jdt%,%jdtsdk%,%jdtc%,%jarprocessor%,%pde%,%pdesdk%,%cvs%,%cvssdk%,%teamextras%,%swt%,%relengtools%");
- test.getDropTokensFromList(test.getDropTokenList());
- test.setXmlDirectoryName("C:\\junk\\testresults\\xml");
- test.setHtmlDirectoryName("C:\\junk\\testresults\\html");
- test.setDropDirectoryName("C:\\junk");
- test.setTestResultsTemplateFileName(
- publishingContent+"\\templateFiles\\testResults.php.template");
- test.setDropTemplateFileName(
- publishingContent+"\\templateFiles\\index.php.template");
- test.setTestResultsHtmlFileName("testResults.php");
- test.setDropHtmlFileName("index.php");
- //test.setDropHtmlFileName("index.html");
- test.setPlatformIdentifierToken("%platform%");
-
- test.setPlatformSpecificTemplateList("Windows,"+publishingContent+"/templateFiles/platform.php.template,winPlatform.php;Linux,"+publishingContent+"/templateFiles/platform.php.template,linPlatform.php;Solaris,"+publishingContent+"/templateFiles/platform.php.template,solPlatform.php;AIX,"+publishingContent+"/templateFiles/platform.php.template,aixPlatform.php;Macintosh,"+publishingContent+"/templateFiles/platform.php.template,macPlatform.php;Source Build,"+publishingContent+"/templateFiles/sourceBuilds.php.template,sourceBuilds.php");
- /*<property name="platformIdentifierToken" value="%platform%" />
- <property name="platformSpecificTemplateList" value="Windows,${publishingContent}/templateFiles/platform.php.template,winPlatform.php;Linux,${publishingContent}/templateFiles/platform.php.template,linPlatform.php;Solaris,${publishingContent}/templateFiles/platform.php.template,solPlatform.php;AIX,${publishingContent}/templateFiles/platform.php.template,aixPlatform.php;Macintosh,${publishingContent}/templateFiles/platform.php.template,macPlatform.php;Source Build,${publishingContent}/templateFiles/sourceBuilds.php.template,sourceBuilds.php" />
- */
-
- test.setHrefTestResultsTargetPath("testresults");
- test.setCompileLogsDirectoryName(
- "C:\\junk\\compilelogs");
- test.setHrefCompileLogsTargetPath("compilelogs");
- test.setTestManifestFileName("C:\\junk\\testManifest.xml");
- test.execute();
- }
-
- public void execute() {
- super.execute();
-// if (sendMail)
-// mailResults();
- }
-
- protected String processDropRow(PlatformStatus aPlatform) {
- String imageName = "";
-
- if (aPlatform.hasErrors()) {
- imageName =
- "<a href=\"" + getTestResultsHtmlFileName() + "\"><img src = \"FAIL.gif\" width=19 height=23></a>";
- testResultsStatus = "failed";
-
- } else {
- if (testsRan()) {
- imageName = "<img src = \"OK.gif\" width=19 height=23>";
- } else {
- if (isBuildTested()) {
- imageName =
- "<font size=\"-1\" color=\"#FF0000\">pending</font>";
- testResultsStatus = "pending";
- } else {
- imageName = "<img src = \"OK.gif\" width=19 height=23>";
- }
- }
- }
-
- String result = "<tr>";
-
- result = result + "<td><div align=left>" + imageName + "</div></td>\n";
- result = result + "<td>" + aPlatform.getName() + "</td>";
-
- //generate http, md5 and sha1 links by calling php functions in the template
- result = result + "<td><?php genLinks($_SERVER[\"SERVER_NAME\"],\"@buildlabel@\",\"" + aPlatform.getFileName() +"\"); ?></td>\n";
- result = result + "</tr>\n";
-
- return result;
- }
-
-// private void mailResults() {
-// //send a different message for the following cases:
-// //build is not tested at all
-// //build is tested, tests have not run
-// //build is tested, tests have run with error and or failures
-// //build is tested, tests have run with no errors or failures
-// try {
-// mailer = new Mailer();
-// } catch (NoClassDefFoundError e) {
-// return;
-// }
-// String buildLabel = mailer.getBuildProperties().getBuildLabel();
-// String httpUrl = mailer.getBuildProperties().getHttpUrl()+"/"+buildLabel;
-//// String ftpUrl = mailer.getBuildProperties().getftpUrl()+"/"+buildLabel;
-//
-// String subject = "Build is complete. ";
-//
-// String downloadLinks="\n\nHTTP Download:\n\n\t"+httpUrl+" \n\n";
-// /* downloadLinks=downloadLinks.concat("FTP Download:\n\n");
-// downloadLinks=downloadLinks.concat("\tuser: anonymous\n\tpassword: (e-mail address or leave blank)\n\tserver: download.eclipse.org\n\tcd to directory: "+buildLabel);
-// downloadLinks=downloadLinks.concat("\n\n\tor");
-// downloadLinks=downloadLinks.concat("\n\n\t"+ftpUrl);*/
-//
-// //provide http links
-// String message = "The build is complete."+downloadLinks;
-//
-// if (testsRan()) {
-// subject = "Automated JUnit testing complete. ";
-// message = "Automated JUnit testing is complete. ";
-// subject =
-// subject.concat(
-// (getTestResultsWithProblems().endsWith("\n"))
-// ? "All tests pass."
-// : "Test failures/errors occurred.");
-// message =
-// message.concat(
-// (getTestResultsWithProblems().endsWith("\n"))
-// ? "All tests pass."
-// : "Test failures/errors occurred in the following: "
-// + getTestResultsWithProblems())+downloadLinks;
-// } else if (isBuildTested() && (!buildType.equals("N"))) {
-// subject = subject.concat("Automated JUnit testing is starting.");
-// message = "The " + subject+downloadLinks;
-// }
-//
-// if (subject.endsWith("Test failures/errors occurred."))
-// mailer.sendMessage(subject, message);
-// else if (!buildType.equals("N"))
-// mailer.sendMessage(subject, message);
-//
-// }
-
- public boolean isSendMail() {
- return sendMail;
- }
-
- public void setSendMail(boolean sendMail) {
- this.sendMail = sendMail;
- }
-
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/ErrorTracker.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/ErrorTracker.java
deleted file mode 100644
index e9c6ad0..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/ErrorTracker.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-package org.eclipse.releng.generators;
-
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.io.File;
-
-import java.util.Vector;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- * @version 1.0
- * @author
- */
-public class ErrorTracker {
-
- // List of test logs expected at end of build
- private Vector testLogs = new Vector();
-
-
- // Platforms keyed on
- private Hashtable platforms = new Hashtable();
- private Hashtable logFiles = new Hashtable();
- private Hashtable typesMap = new Hashtable();
- private Vector typesList = new Vector();
-
- public static void main(String[] args) {
-
- // For testing only. Should not be invoked
-
- ErrorTracker anInstance = new ErrorTracker();
- anInstance.loadFile("C:\\junk\\testManifest.xml");
- String[] theTypes = anInstance.getTypes();
- for (int i=0; i < theTypes.length; i++) {
- // System.out.println("Type: " + theTypes[i]);
- PlatformStatus[] thePlatforms = anInstance.getPlatforms(theTypes[i]);
- for (int j=0; j < thePlatforms.length; j++) {
- // System.out.println("Out ID: " + thePlatforms[j].getId());
- }
- }
- }
-
- public void loadFile(String fileName) {
- DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder parser=null;
- try {
- parser = docBuilderFactory.newDocumentBuilder();
- } catch (ParserConfigurationException e1) {
- e1.printStackTrace();
- }
- try {
-
- Document document = parser.parse(fileName);
- NodeList elements = document.getElementsByTagName("platform");
- int elementCount = elements.getLength();
- for (int i = 0; i < elementCount; i++) {
- PlatformStatus aPlatform = new PlatformStatus((Element) elements.item(i));
- //System.out.println("ID: " + aPlatform.getId());
- platforms.put(aPlatform.getId(), aPlatform);
-
- Node zipType = elements.item(i).getParentNode();
- String zipTypeName = (String) zipType.getAttributes().getNamedItem("name").getNodeValue();
-
- Vector aVector = (Vector) typesMap.get(zipTypeName);
- if (aVector == null) {
- typesList.add(zipTypeName);
- aVector = new Vector();
- typesMap.put(zipTypeName, aVector);
- }
- aVector.add(aPlatform.getId());
-
- }
-
- NodeList effectedFiles = document.getElementsByTagName("effectedFile");
- int effectedFilesCount = effectedFiles.getLength();
- for (int i = 0; i < effectedFilesCount; i++) {
- Node anEffectedFile = effectedFiles.item(i);
- Node logFile = anEffectedFile.getParentNode();
- String logFileName = (String) logFile.getAttributes().getNamedItem("name").getNodeValue();
- logFileName=convertPathDelimiters(logFileName);
- String effectedFileID = (String) anEffectedFile.getAttributes().getNamedItem("id").getNodeValue();
- //System.out.println(logFileName);
- Vector aVector = (Vector) logFiles.get(logFileName);
- if (aVector == null) {
- aVector = new Vector();
- logFiles.put(logFileName, aVector);
-
- }
- PlatformStatus ps=(PlatformStatus) platforms.get(effectedFileID);
- if (ps!=null)
- aVector.addElement(ps);
- }
-
- // store a list of the test logs expected after testing
- NodeList testLogList = document.getElementsByTagName("logFile");
- int testLogCount = testLogList.getLength();
- for (int i = 0; i < testLogCount; i++) {
-
- Node testLog = testLogList.item(i);
- String testLogName = (String) testLog.getAttributes().getNamedItem("name").getNodeValue();
- Node typeNode=testLog.getAttributes().getNamedItem("type");
- String type="test";
- if (typeNode!=null){
- type = typeNode.getNodeValue();
- }
- if (testLogName.endsWith(".xml")&&type.equals("test")){
- testLogs.add(testLogName);
- //System.out.println(testLogName);
- }
-
- }
-
-
-// // Test this mess.
-// Object[] results = platforms.values().toArray();
-// for (int i=0; i < results.length; i++) {
-// PlatformStatus ap = (PlatformStatus) results[i];
-// System.out.println("ID: " + ap.getId() + " passed: " + ap.getPassed());
-// }
-//
-// Enumeration anEnumeration = logFiles.keys();
-// while (anEnumeration.hasMoreElements()) {
-// String aKey = (String) anEnumeration.nextElement();
-// System.out.println("Whack a key: " + aKey);
-// ((PlatformStatus) logFiles.get(aKey)).setPassed(false);
-// }
-//
-// results = platforms.values().toArray();
-// for (int i=0; i < results.length; i++) {
-// PlatformStatus ap = (PlatformStatus) results[i];
-// System.out.println("ID: " + ap.getId() + " passed: " + ap.getPassed());
-// }
-
-
-
-
-
- } catch (IOException e) {
- System.out.println("IOException: " + fileName);
- // e.printStackTrace();
-
- } catch (SAXException e) {
- System.out.println("SAXException: " + fileName);
- e.printStackTrace();
-
- }
- }
-
- public void registerError(String fileName) {
- // System.out.println("Found an error in: " + fileName);
- if (logFiles.containsKey(fileName)) {
- Vector aVector = (Vector) logFiles.get(fileName);
- for (int i = 0; i < aVector.size(); i++) {
- ((PlatformStatus) aVector.elementAt(i)).registerError();
- }
- } else {
-
- // If a log file is not specified explicitly it effects
- // all "platforms" except JDT
-
- Enumeration values = platforms.elements();
- while (values.hasMoreElements()) {
- PlatformStatus aValue = (PlatformStatus) values.nextElement();
- if (!aValue.getId().equals("JA") &&
- !aValue.getId().equals("EW") &&
- !aValue.getId().equals("EA")) {
- aValue.registerError();
- }
- }
- }
- }
-
- public boolean hasErrors(String id) {
- return ((PlatformStatus) platforms.get(id)).hasErrors();
- }
-
- // Answer a string array of the zip type names in the order they appear in
- // the .xml file.
- public String[] getTypes() {
- return (String[]) typesList.toArray(new String[typesList.size()]);
- }
-
- // Answer an array of PlatformStatus objects for a given type.
-
- public PlatformStatus[] getPlatforms(String type) {
- Vector platformIDs = (Vector) typesMap.get(type);
- PlatformStatus[] result = new PlatformStatus[platformIDs.size()];
- for (int i = 0; i < platformIDs.size(); i++) {
- result[i] = (PlatformStatus) platforms.get((String) platformIDs.elementAt(i));
- }
- return result;
- }
-
- /**
- * Returns the testLogs.
- * @return Vector
- */
- public Vector getTestLogs() {
- return testLogs;
- }
-
- private String convertPathDelimiters(String path){
- return new File(path).getPath();
- }
-
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/FetchBaseTask.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/FetchBaseTask.java
deleted file mode 100644
index 6bcf213..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/FetchBaseTask.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.releng.generators;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Properties;
-
-import org.apache.tools.ant.Task;
-
-public class FetchBaseTask extends Task {
-
- private String mapFile;
- private String outputFile;
- private Hashtable entries;
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- FetchBaseTask task=new FetchBaseTask();
- task.mapFile="d:/workspace/org.eclipse.releng/maps/base.map";
- task.outputFile="d:/workspace/org.eclipse.releng/fetch.xml";
- task.execute();
- }
-
- public FetchBaseTask(){
- entries=new Hashtable();
- }
- public void execute(){
- readMap();
- printScript(fetchScript());
- }
-
- private void readMap (){
- File file=new File(mapFile);
- Properties properties=new Properties();
- try {
- properties.load(new FileInputStream(file));
- Enumeration keys=properties.keys();
- while (keys.hasMoreElements()){
- String key=keys.nextElement().toString();
- String script=getScript(key,properties.get(key).toString());
- entries.put("fetch."+key,script);
- }
-
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
- private String getScript(String key,String entry){
- String[] keyParts=key.split("@");
- if (keyParts.length==0)
- return null;
- String [] cvsinfo=entry.split(",");
- if (cvsinfo.length<3)
- return null;
-
- String[] typeParts=keyParts[0].split("base.");
- String type=typeParts[1];
- String id=keyParts[1];
-
- String fullName=entry.substring(entry.lastIndexOf("/")+1,entry.length());
- if (fullName.endsWith(".jar"))
- return fetchJarTarget(type, id, cvsinfo);
- else
- return fetchDirectoryTarget(type, id, fullName, cvsinfo);
- }
-
- public String getMapFile() {
- return mapFile;
- }
-
- public void setMapFile(String mapFile) {
- this.mapFile = mapFile;
- }
-
- public String getOutputFile() {
- return outputFile;
- }
-
- public void setOutputFile(String outputFile) {
- this.outputFile = outputFile;
- }
-
- private String fetchJarTarget(String type, String id, String[] cvsinfo){
- return "\t<target name=\"fetch.base."+type+"@"+id+"\">\n" +
- "\t\t<mkdir dir=\"${baseLocation}/"+type+"s\" />\n" +
- "\t\t<property name=\"cvsroot\" value=\""+cvsinfo[1]+"\" />\n" +
- "\t\t<property name=\"fetchTag\" value=\""+cvsinfo[0]+"\" />\n" +
- "\t\t<cvs command=\"export -d "+type+"s\"\n" +
- "\t\t\tcvsRoot=\"${cvsroot}\"\n" +
- "\t\t\tpackage=\""+cvsinfo[3]+"\"\n" +
- "\t\t\ttag=\"${fetchTag}\"\n" +
- "\t\t\tdest=\"${baseLocation}\"\n" +
- "\t\t\tquiet=\"true\"/>\n" +
- "\t\t<delete includeemptydirs=\"true\">\n"+
- "\t\t\t<fileset dir=\"${baseLocation}/"+type+"s\" includes=\"**/CVS/**\" defaultexcludes=\"no\"/>\n"+
- "\t\t</delete>\n"+
- "\t</target>\n";
-
- }
-
- private String fetchDirectoryTarget(String type, String id, String fullName,String[] cvsinfo){
- return "\t<target name=\"fetch.base."+type+"@"+id+"\">\n" +
- "\t\t<mkdir dir=\"${baseLocation}/"+type+"s\" />\n" +
- "\t\t<property name=\"cvsroot\" value=\""+cvsinfo[1]+"\" />\n" +
- "\t\t<cvs command=\"export -d "+fullName+"\"\n" +
- "\t\t\tcvsRoot=\"${cvsroot}\"\n" +
- "\t\t\tpackage=\""+cvsinfo[3]+"\"\n" +
- "\t\t\ttag=\""+cvsinfo[0]+"\"\n" +
- "\t\t\tdest=\"${baseLocation}/"+type+"s\"\n" +
- "\t\t\tquiet=\"true\"/>\n" +
- "\t\t<delete includeemptydirs=\"true\">\n"+
- "\t\t\t<fileset dir=\"${baseLocation}/"+type+"s\" includes=\"**/CVS/**\" defaultexcludes=\"no\"/>\n"+
- "\t\t</delete>\n"+
- "\t</target>\n";
-
- }
-
- private String fetchScript(){
- String script="<project default=\"all.elements\">\n" +
- "<!--Ant script which will fetch pre-built plug-ins and features to a location where they\n" +
- "will be consumed by the build, i.e. ${baseLocation}. Stored in this project to capture revisions/urls of\n" +
- "binaries.-->\n" +
- "\t<property name=\"baseLocation\" value=\"${basedir}/baseLocation\" />\n" +
- "\t<target name=\"all.elements\">\n";
-
- Enumeration keys=entries.keys();
- while (keys.hasMoreElements()){
- script=script.concat("\t\t<antcall target=\""+keys.nextElement()+"\" />\n");
- }
- script=script.concat("\t</target>");
- keys=entries.keys();
- while (keys.hasMoreElements()){
- script=script.concat("\n\n"+entries.get(keys.nextElement()));
- }
- script=script.concat("</project>");
-
- return script;
- }
-
- private void printScript(String script){
- try {
- PrintWriter out = new PrintWriter(new FileWriter(new File(outputFile)));
- out.print(script);
- out.flush();
- out.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/FileCounter.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/FileCounter.java
deleted file mode 100644
index 9490c66..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/FileCounter.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-
-package org.eclipse.releng.generators;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.StringTokenizer;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-
-/**
- * This task will count the number of fils in a given directory
- * that match a given filter. The number of fils will be output
- * to a given output file. The output file will be overwritten
- * if it already exists.
- *
- * Note: Filter comparison is NOT case sensitive. Do not use wild cards.
- * ie .zip counts all files with .zip anywere in the name.
- */
-public class FileCounter extends Task {
-
- private String sourceDirectory = "";
- private String filterString = ".zip";
- private String outputFile = "";
-
- public static void main(String args[]) {
- // For testing only.
- FileCounter aFileCounter = new FileCounter();
- aFileCounter.setSourceDirectory("c:\\RelEng\\dean");
- aFileCounter.setOutputFile("c:\\RelEng\\dean\\files.count");
- aFileCounter.setFilterString(".zip");
- aFileCounter.execute();
- }
-
- public void execute() throws BuildException {
- // Do the work.
-
- int count = 0;
-
- System.out.println("Source Directory: " + this.getSourceDirectory());
- System.out.println("Output File: " + this.getOutputFile());
- System.out.println("Filter String: " + this.getFilterString());
-
- File aDirectory = new File(this.getSourceDirectory());
- if (aDirectory == null) {
- throw new BuildException("Directory " + this.getSourceDirectory() + " not found.");
- }
-
- String[] names = aDirectory.list();
- if (names == null) {
- throw new BuildException("Directory " + this.getSourceDirectory() + " not found.");
- }
-
- System.out.println("List size: " + names.length);
-
- for (int i = 0; i < names.length; i++) {
- System.out.println("Name: " + names[i]);
-
- int index = -1;
- StringTokenizer types = getFileTypes();
-
- while (types.hasMoreTokens()){
- index = names[i].toLowerCase().indexOf(types.nextToken().toLowerCase());
- if (index != -1) {
- count++;
- }
- }
-
- }
-
- try {
- FileOutputStream anOutputStream = new FileOutputStream(this.getOutputFile());
- anOutputStream.write(String.valueOf(count).getBytes());
- anOutputStream.close();
- } catch (FileNotFoundException e) {
- throw new BuildException("Can not create file.count file");
- } catch (IOException e) {
- throw new BuildException("Can not create file.count file");
- }
-
- }
-
- private StringTokenizer getFileTypes(){
- return new StringTokenizer(getFilterString(),",");
- }
-
- /**
- * Gets the sourceDirectory.
- * @return Returns a String
- */
- public String getSourceDirectory() {
- return sourceDirectory;
- }
-
- /**
- * Sets the sourceDirectory.
- * @param sourceDirectory The sourceDirectory to set
- */
- public void setSourceDirectory(String sourceDirectory) {
- this.sourceDirectory = sourceDirectory;
- }
-
- /**
- * Gets the filterString.
- * @return Returns a String
- */
- public String getFilterString() {
- return filterString;
- }
-
- /**
- * Sets the filterString.
- * @param filterString The filterString to set
- */
- public void setFilterString(String filterString) {
- this.filterString = filterString;
- }
-
- /**
- * Gets the outputFile.
- * @return Returns a String
- */
- public String getOutputFile() {
- return outputFile;
- }
-
- /**
- * Sets the outputFile.
- * @param outputFile The outputFile to set
- */
- public void setOutputFile(String outputFile) {
- this.outputFile = outputFile;
- }
-
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/PlatformStatus.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/PlatformStatus.java
deleted file mode 100644
index b23a66a..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/PlatformStatus.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-package org.eclipse.releng.generators;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-/**
- * @version 1.0
- * @author
- */
-public class PlatformStatus {
-
- private String id;
- private String name;
- private String fileName;
- private boolean hasErrors = false;
-
- PlatformStatus(Element anElement) {
- super();
- NamedNodeMap attributes = anElement.getAttributes();
- this.id = (String) attributes.getNamedItem("id").getNodeValue();
- this.name = (String) attributes.getNamedItem("name").getNodeValue();
- this.fileName = (String) attributes.getNamedItem("fileName").getNodeValue();
-
- }
-
- /**
- * Gets the id.
- * @return Returns a String
- */
- public String getId() {
- return id;
- }
-
- public String getName() {
- return name;
- }
-
- public String getFileName() {
- return fileName;
- }
-
- public void registerError() {
- this.hasErrors = true;
- }
-
- public boolean hasErrors() {
- return this.hasErrors;
- }
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestResultsGenerator.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestResultsGenerator.java
deleted file mode 100644
index a4db5eb..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestResultsGenerator.java
+++ /dev/null
@@ -1,1363 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-package org.eclipse.releng.generators;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-import java.util.Vector;
-import java.util.Enumeration;
-
-import org.apache.tools.ant.Task;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-
-/**
- * @version 1.0
- * @author Dean Roberts
- */
-public class TestResultsGenerator extends Task {
- private static final String WARNING_SEVERITY = "WARNING";
- private static final String ERROR_SEVERITY = "ERROR";
- private static final String ForbiddenReferenceID = "ForbiddenReference";
- private static final String DiscouragedReferenceID = "DiscouragedReference";
-
- private static final int DEFAULT_READING_SIZE = 8192;
-
- static final String elementName = "testsuite";
- static final String testResultsToken = "%testresults%";
- static final String compileLogsToken = "%compilelogs%";
- static final String accessesLogsToken = "%accesseslogs%";
- public Vector dropTokens;
- public Vector platformSpecs;
- public Vector differentPlatforms;
- public String testResultsWithProblems = "\n";
-
- private DocumentBuilder parser =null;
- public ErrorTracker anErrorTracker;
- public String testResultsTemplateString = "";
- public String dropTemplateString = "";
-
- public Vector platformDescription;
- public Vector platformTemplateString;
- public Vector platformDropFileName;
-
- //Status of tests results (pending, successful, failed), used to specify the color
- //of the test Results link on the build pages (standard, green, red), once failures
- //are encountered, this is set to failed
- protected String testResultsStatus = "successful";
- //assume tests ran. If no html files are found, this is set to false
- private boolean testsRan = true;
-
- // Parameters
- // build runs JUnit automated tests
- private boolean isBuildTested;
-
- // buildType, I, N
- public String buildType;
-
- // Comma separated list of drop tokens
- public String dropTokenList;
-
- // Token in platform.php.template to be replaced by the desired platform ID
- public String platformIdentifierToken;
-
- // Location of the xml files
- public String xmlDirectoryName;
-
- // Location of the html files
- public String htmlDirectoryName;
-
- // Location of the resulting index.php file.
- public String dropDirectoryName;
-
- // Location and name of the template index.php file.
- public String testResultsTemplateFileName;
-
- // Platform specific template and output list (colon separated) in the following format:
- // <descriptor, ie. OS name>,path to template file, path to output file
- public String platformSpecificTemplateList="";
-
- // Location and name of the template drop index.php file.
- public String dropTemplateFileName;
-
- // Name of the generated index php file.
- public String testResultsHtmlFileName;
-
- // Name of the generated drop index php file;
- public String dropHtmlFileName;
-
- // Arbitrary path used in the index.php page to href the
- // generated .html files.
- public String hrefTestResultsTargetPath;
-
- // Aritrary path used in the index.php page to reference the compileLogs
- public String hrefCompileLogsTargetPath;
-
- // Location of compile logs base directory
- public String compileLogsDirectoryName;
-
- // Location and name of test manifest file
- public String testManifestFileName;
-
- //Initialize the prefix to a default string
- private String prefix = "default";
- private String testShortName = "";
- private int counter = 0;
- //The four configurations, add new configurations to test results here + update
- //testResults.php.template for changes
- private String[] testsConfig = {"linux.gtk.x86.xml",
- "linux.gtk.x86_6.0.xml",
- "macosx.cocoa.x86_5.0.xml",
- "win32.win32.x86.xml",
- "win32.win32.x86_6.0.xml"};
-
-
- public static void main(String[] args) {
- TestResultsGenerator test = new TestResultsGenerator();
- test.setDropTokenList(
- "%sdk%,%tests%,%example%,%rcpruntime%,%rcpsdk%,%deltapack%,%icubase%,%runtime%,%platformsdk%,%jdt%,%jdtsdk%,%pde%,%pdesdk%,%cvs%,%cvssdk%,%teamextras%,%swt%,%relengtools%");
- test.setPlatformIdentifierToken("%platform%");
- test.getDropTokensFromList(test.dropTokenList);
- test.setIsBuildTested(true);
- test.setXmlDirectoryName("C:\\junk\\testresults\\xml");
- test.setHtmlDirectoryName("C:\\junk\\testresults");
- test.setDropDirectoryName("C:\\junk");
- test.setTestResultsTemplateFileName(
- "C:\\junk\\templateFiles\\testResults.php.template");
- test.setPlatformSpecificTemplateList(
- "Windows,C:\\junk\\templateFiles\\platform.php.template,winPlatform.php;Linux,C:\\junk\\templateFiles\\platform.php.template,linPlatform.php;Solaris,C:\\junk\\templateFiles\\platform.php.template,solPlatform.php;AIX,C:\\junk\\templateFiles\\platform.php.template,aixPlatform.php;Macintosh,C:\\junk\\templateFiles\\platform.php.template,macPlatform.php;Source Build,C:\\junk\\templateFiles\\sourceBuilds.php.template,sourceBuilds.php");
- test.setDropTemplateFileName(
- "C:\\junk\\templateFiles\\index.php.template");
- test.setTestResultsHtmlFileName("testResults.php");
- //test.setDropHtmlFileName("index.php");
- test.setDropHtmlFileName("index.html");
-
- test.setHrefTestResultsTargetPath("testresults");
- test.setCompileLogsDirectoryName(
- "C:\\junk\\compilelogs\\plugins");
- test.setHrefCompileLogsTargetPath("compilelogs");
- test.setTestManifestFileName("C:\\junk\\testManifest.xml");
- test.execute();
- }
-
- public void execute() {
-
- anErrorTracker = new ErrorTracker();
- platformDescription = new Vector();
- platformTemplateString = new Vector();
- platformDropFileName = new Vector();
- anErrorTracker.loadFile(testManifestFileName);
- getDropTokensFromList(dropTokenList);
- testResultsTemplateString = readFile(testResultsTemplateFileName);
- dropTemplateString = readFile(dropTemplateFileName);
-
- //Specific to the platform build-page
- if(platformSpecificTemplateList!="") {
- String description, platformTemplateFile, platformDropFile;
- //Retrieve the different platforms and their info
- getDifferentPlatformsFromList(platformSpecificTemplateList);
- //Parses the platform info and retrieves the platform name,
- //template file, and drop file
- for(int i=0; i<differentPlatforms.size(); i++) {
- getPlatformSpecsFromList(differentPlatforms.get(i).toString());
- description = platformSpecs.get(0).toString();
- platformTemplateFile = platformSpecs.get(1).toString();
- platformDropFile = platformSpecs.get(2).toString();
- platformDescription.add(description);
- platformTemplateString.add(readFile(platformTemplateFile));
- platformDropFileName.add(platformDropFile);
-
- }
-
- }
-
- System.out.println("Begin: Generating test results index page");
- System.out.println("Parsing XML files");
- parseXml();
- System.out.println("Parsing compile logs");
- parseCompileLogs();
- System.out.println("End: Generating test results index page");
- writeTestResultsFile();
- //For the platform build-page, write platform files, in addition to the index file
- if(platformSpecificTemplateList!="") {
- writeDropFiles();
- }
- else {
- writeDropIndexFile();
- }
- }
-
- public void parseCompileLogs() {
-
- StringBuffer compilerString = new StringBuffer();
- StringBuffer accessesString = new StringBuffer();
- processCompileLogsDirectory(
- compileLogsDirectoryName,
- compilerString,
- accessesString);
- if (compilerString.length() == 0) {
- compilerString.append("None");
- }
- if (accessesString.length() == 0) {
- accessesString.append("None");
- }
- testResultsTemplateString =
- replace(testResultsTemplateString, compileLogsToken, String.valueOf(compilerString));
-
- testResultsTemplateString =
- replace(testResultsTemplateString, accessesLogsToken, String.valueOf(accessesString));
- }
-
- private void processCompileLogsDirectory(String directoryName, StringBuffer compilerLog, StringBuffer accessesLog) {
- File sourceDirectory = new File(directoryName);
- if (sourceDirectory.isFile()) {
- if (sourceDirectory.getName().endsWith(".log"))
- readCompileLog(sourceDirectory.getAbsolutePath(), compilerLog, accessesLog);
- if (sourceDirectory.getName().endsWith(".xml"))
- parseCompileLog(sourceDirectory.getAbsolutePath(), compilerLog, accessesLog);
- }
- if (sourceDirectory.isDirectory()) {
- File[] logFiles = sourceDirectory.listFiles();
- Arrays.sort(logFiles);
- for (int j = 0; j < logFiles.length; j++) {
- processCompileLogsDirectory(logFiles[j].getAbsolutePath(), compilerLog, accessesLog);
- }
- }
- }
-
- private void readCompileLog(String log, StringBuffer compilerLog, StringBuffer accessesLog) {
- String fileContents = readFile(log);
-
- int errorCount = countCompileErrors(fileContents);
- int warningCount = countCompileWarnings(fileContents);
- int forbiddenWarningCount = countForbiddenWarnings(fileContents);
- int discouragedWarningCount = countDiscouragedWarnings(fileContents);
- if (errorCount != 0) {
- //use wildcard in place of version number on directory names
- String logName =
- log.substring(getCompileLogsDirectoryName().length() + 1);
- StringBuffer stringBuffer = new StringBuffer(logName);
- stringBuffer.replace(
- logName.indexOf("_") + 1,
- logName.indexOf(File.separator, logName.indexOf("_") + 1),
- "*");
- logName = new String(stringBuffer);
-
- anErrorTracker.registerError(logName);
- }
- formatCompileErrorRow(log, errorCount, warningCount, compilerLog);
- formatAccessesErrorRow(log, forbiddenWarningCount, discouragedWarningCount, accessesLog);
- }
-
- private void parseCompileLog(String log, StringBuffer compilerLog, StringBuffer accessesLog) {
- int errorCount = 0;
- int warningCount = 0;
- int forbiddenWarningCount = 0;
- int discouragedWarningCount = 0;
-
- File file=new File(log);
- Document aDocument=null;
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new FileReader(file));
- InputSource inputSource = new InputSource(reader);
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = factory.newDocumentBuilder();
- aDocument = builder.parse(inputSource);
- } catch (SAXException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (ParserConfigurationException e) {
- e.printStackTrace();
- } finally {
- if (reader != null) {
- try {
- reader.close();
- } catch(IOException e) {
- // ignore
- }
- }
- }
-
- if (aDocument == null) return;
- // Get summary of problems
- NodeList nodeList = aDocument.getElementsByTagName("problem");
- if (nodeList == null ||nodeList.getLength()==0)
- return;
-
- int length = nodeList.getLength();
- for (int i = 0; i < length; i++) {
- Node problemNode = nodeList.item(i);
- NamedNodeMap aNamedNodeMap = problemNode.getAttributes();
- Node severityNode = aNamedNodeMap.getNamedItem("severity");
- Node idNode = aNamedNodeMap.getNamedItem("id");
- if (severityNode != null) {
- String severityNodeValue = severityNode.getNodeValue();
- if (WARNING_SEVERITY.equals(severityNodeValue)) {
- // this is a warning
- // need to check the id
- String nodeValue = idNode.getNodeValue();
- if (ForbiddenReferenceID.equals(nodeValue)) {
- forbiddenWarningCount++;
- } else if (DiscouragedReferenceID.equals(nodeValue)) {
- discouragedWarningCount++;
- } else {
- warningCount++;
- }
- } else if (ERROR_SEVERITY.equals(severityNodeValue)) {
- // this is an error
- errorCount++;
- }
- }
- }
- if (errorCount != 0) {
- //use wildcard in place of version number on directory names
- //System.out.println(log + "/n");
- String logName =
- log.substring(getCompileLogsDirectoryName().length() + 1);
- StringBuffer buffer = new StringBuffer(logName);
- buffer.replace(
- logName.indexOf("_") + 1,
- logName.indexOf(File.separator, logName.indexOf("_") + 1),
- "*");
- logName = new String(buffer);
-
- anErrorTracker.registerError(logName);
- }
- String logName = log.replaceAll(".xml", ".html");
- formatCompileErrorRow(
- logName,
- errorCount,
- warningCount,
- compilerLog);
- formatAccessesErrorRow(
- logName,
- forbiddenWarningCount,
- discouragedWarningCount,
- accessesLog);
- }
-
- public static byte[] getFileByteContent(String fileName) throws IOException {
- InputStream stream = null;
- try {
- File file = new File(fileName);
- stream = new FileInputStream(file);
- return getInputStreamAsByteArray(stream, (int) file.length());
- } finally {
- if (stream != null) {
- try {
- stream.close();
- } catch (IOException e) {
- // ignore
- }
- }
- }
- }
-
- /**
- * Returns the given input stream's contents as a byte array.
- * If a length is specified (ie. if length != -1), only length bytes
- * are returned. Otherwise all bytes in the stream are returned.
- * Note this doesn't close the stream.
- * @throws IOException if a problem occured reading the stream.
- */
- public static byte[] getInputStreamAsByteArray(InputStream stream, int length)
- throws IOException {
- byte[] contents;
- if (length == -1) {
- contents = new byte[0];
- int contentsLength = 0;
- int amountRead = -1;
- do {
- int amountRequested = Math.max(stream.available(), DEFAULT_READING_SIZE); // read at least 8K
-
- // resize contents if needed
- if (contentsLength + amountRequested > contents.length) {
- System.arraycopy(
- contents,
- 0,
- contents = new byte[contentsLength + amountRequested],
- 0,
- contentsLength);
- }
-
- // read as many bytes as possible
- amountRead = stream.read(contents, contentsLength, amountRequested);
-
- if (amountRead > 0) {
- // remember length of contents
- contentsLength += amountRead;
- }
- } while (amountRead != -1);
-
- // resize contents if necessary
- if (contentsLength < contents.length) {
- System.arraycopy(
- contents,
- 0,
- contents = new byte[contentsLength],
- 0,
- contentsLength);
- }
- } else {
- contents = new byte[length];
- int len = 0;
- int readSize = 0;
- while ((readSize != -1) && (len != length)) {
- // See PR 1FMS89U
- // We record first the read size. In this case len is the actual read size.
- len += readSize;
- readSize = stream.read(contents, len, length - len);
- }
- }
-
- return contents;
- }
-
- public String readFile(String fileName) {
- byte[] aByteArray = null;
- try {
- aByteArray = getFileByteContent(fileName);
- } catch (IOException e) {
- e.printStackTrace();
- }
- if (aByteArray == null) {
- return "";
- }
- return new String(aByteArray);
- }
-
- private int countCompileErrors(String aString) {
- return extractNumber(aString, "error");
- }
-
- private int countCompileWarnings(String aString) {
- return extractNumber(aString, "warning");
- }
-
- private int countForbiddenWarnings(String aString) {
- return extractNumber(aString, "Access restriction:");
- }
-
- private int countDiscouragedWarnings(String aString) {
- return extractNumber(aString, "Discouraged access:");
- }
-
- private int extractNumber(String aString, String endToken) {
- int endIndex = aString.lastIndexOf(endToken);
- if (endIndex == -1) {
- return 0;
- }
-
- int startIndex = endIndex;
- while (startIndex >= 0
- && aString.charAt(startIndex) != '('
- && aString.charAt(startIndex) != ',') {
- startIndex--;
- }
-
- String count = aString.substring(startIndex + 1, endIndex).trim();
- try {
- return Integer.parseInt(count);
- } catch (NumberFormatException e) {
- return 0;
- }
-
- }
-
- private int missingCount = 0;
- private String verifyAllTestsRan(String directory) {
- Enumeration enumeration = (anErrorTracker.getTestLogs()).elements();
-
- String replaceString="";
- while (enumeration.hasMoreElements()) {
- String testLogName = enumeration.nextElement().toString();
-
- if (new File(directory + File.separator + testLogName)
- .exists())
- continue;
-
- anErrorTracker.registerError(testLogName);
- String tmp=((platformSpecificTemplateList.equals(""))?formatRow(testLogName, -1, false):formatRowReleng(testLogName, -1, false));
- if(missingCount==0) {
- replaceString=replaceString+"</table></br>"+"\n"+
- "<table width=\"65%\" border=\"1\" bgcolor=\"#EEEEEE\" rules=\"groups\" align=\"center\">"+
- "<tr bgcolor=\"#9999CC\"> <th width=\"80%\" align=\"center\"> Missing Files </th><th align=\"center\"> Status </th></tr>";
- }
- replaceString=replaceString+tmp;
- testResultsWithProblems=testResultsWithProblems.concat("\n" + testLogName.substring(0,testLogName.length()-4) +" (file missing)");
- missingCount++;
- }
- return replaceString;
- }
-
- public void parseXml() {
-
- File sourceDirectory = new File(xmlDirectoryName);
-
- if (sourceDirectory.exists()) {
-
- String replaceString = "";
-
- File[] xmlFileNames = sourceDirectory.listFiles();
- Arrays.sort(xmlFileNames) ;
-
- for (int i = 0; i < xmlFileNames.length; i++) {
- if (xmlFileNames[i].getPath().endsWith(".xml")) {
- String fullName = xmlFileNames[i].getPath();
- int errorCount = countErrors(fullName);
- if (errorCount != 0) {
- String testName =
- xmlFileNames[i].getName().substring(
- 0,
- xmlFileNames[i].getName().length() - 4);
- testResultsWithProblems =
- testResultsWithProblems.concat("\n" + testName);
- anErrorTracker.registerError(
- fullName.substring(
- getXmlDirectoryName().length() + 1));
- }
-
-
- String tmp=((platformSpecificTemplateList.equals(""))?formatRow(xmlFileNames[i].getPath(), errorCount,true):formatRowReleng(xmlFileNames[i].getPath(), errorCount,true));
- replaceString=replaceString+tmp;
-
-
- }
- }
- //check for missing test logs
- replaceString=replaceString+verifyAllTestsRan(xmlDirectoryName);
-
- testResultsTemplateString =
- replace(
- testResultsTemplateString,
- testResultsToken,
- replaceString);
- testsRan = true;
-
- } else {
- testsRan = false;
- System.out.println(
- "Test results not found in "
- + sourceDirectory.getAbsolutePath());
- }
-
- }
-
- private String replace(
- String source,
- String original,
- String replacement) {
-
- int replaceIndex = source.indexOf(original);
- if (replaceIndex > -1) {
- String resultString = source.substring(0, replaceIndex);
- resultString = resultString + replacement;
- resultString =
- resultString
- + source.substring(replaceIndex + original.length());
- return resultString;
- } else {
- System.out.println("Could not find token: " + original);
- return source;
- }
-
- }
-
- protected void writeDropFiles() {
- writeDropIndexFile();
- //Write all the platform files
- for(int i=0; i<platformDescription.size(); i++) {
- writePlatformFile(platformDescription.get(i).toString(), platformTemplateString.get(i).toString(), platformDropFileName.get(i).toString());
- }
- }
-
- protected void writeDropIndexFile() {
-
- String[] types = anErrorTracker.getTypes();
- for (int i = 0; i < types.length; i++) {
- PlatformStatus[] platforms = anErrorTracker.getPlatforms(types[i]);
- String replaceString = processDropRows(platforms);
- dropTemplateString =
- replace(
- dropTemplateString,
- dropTokens.get(i).toString(),
- replaceString);
- }
- //Replace the token %testsStatus% with the status of the test results
- dropTemplateString = replace(dropTemplateString,"%testsStatus%",testResultsStatus);
- String outputFileName =
- dropDirectoryName + File.separator + dropHtmlFileName;
- writeFile(outputFileName, dropTemplateString);
- }
-
- //Writes the platform file (dropFileName) specific to "desiredPlatform"
- protected void writePlatformFile(String desiredPlatform, String templateString, String dropFileName) {
-
- String[] types = anErrorTracker.getTypes();
- for (int i = 0; i < types.length; i++) {
- PlatformStatus[] platforms = anErrorTracker.getPlatforms(types[i]);
- //Call processPlatformDropRows passing the platform's name
- String replaceString = processPlatformDropRows(platforms, desiredPlatform);
- templateString =
- replace(
- templateString,
- dropTokens.get(i).toString(),
- replaceString);
- }
- //Replace the platformIdentifierToken with the platform's name and the testsStatus
- //token with the status of the test results
- templateString = replace(templateString, platformIdentifierToken, desiredPlatform);
- templateString = replace(templateString,"%testsStatus%",testResultsStatus);
- String outputFileName =
- dropDirectoryName + File.separator + dropFileName;
- writeFile(outputFileName, templateString);
- }
-
- //Process drop rows specific to each of the platforms
- protected String processPlatformDropRows(PlatformStatus[] platforms, String name) {
-
- String result = "";
- boolean found = false;
- for (int i = 0; i < platforms.length; i++) {
- //If the platform description indicates the platform's name, or "All",
- //call processDropRow
- if(platforms[i].getName().startsWith(name.substring(0, 3)) || platforms[i].getName().equals("All")) {
- result = result + processDropRow(platforms[i]);
- found = true;
- }
- //If the platform description indicates "All Other Platforms", process
- //the row locally
- else if(platforms[i].getName().equals("All Other Platforms") && !found)
- {
- String imageName = "";
-
- if (platforms[i].hasErrors()) {
- imageName =
- "<a href=\"" + getTestResultsHtmlFileName() + "\"><img src = \"FAIL.gif\" width=19 height=23></a>";
- } else {
- if (testsRan) {
- imageName = "<img src = \"OK.gif\" width=19 height=23>";
- } else {
- if (isBuildTested) {
- imageName =
- "<font size=\"-1\" color=\"#FF0000\">pending</font>";
- } else {
- imageName = "<img src = \"OK.gif\" width=19 height=23>";
- }
- }
- }
-
- result = result + "<tr>";
- result = result + "<td><div align=left>" + imageName + "</div></td>\n";
- result = result + "<td>All " + name + "</td>";
- //generate http, md5 and sha1 links by calling php functions in the template
- result = result + "<td><?php genLinks($_SERVER[\"SERVER_NAME\"],\"@buildlabel@\",\"" + platforms[i].getFileName() +"\"); ?></td>\n";
- result = result + "</tr>\n";
- }
- }
-
- return result;
- }
-
- protected String processDropRows(PlatformStatus[] platforms) {
-
- String result = "";
- for (int i = 0; i < platforms.length; i++) {
- result = result + processDropRow(platforms[i]);
- }
-
- return result;
- }
-
- protected String processDropRow(PlatformStatus aPlatform) {
-
- String imageName = "";
-
- if (aPlatform.hasErrors()) {
- imageName =
- "<a href=\"" + getTestResultsHtmlFileName()+ "\"><img src = \"FAIL.gif\" width=19 height=23></a>";
- //Failure in tests
- testResultsStatus = "failed";
- } else {
- if (testsRan) {
- imageName = "<img src = \"OK.gif\" width=19 height=23>";
- } else {
- if (isBuildTested) {
- imageName =
- "<font size=\"-1\" color=\"#FF0000\">pending</font>";
- //Tests are pending
- testResultsStatus = "pending";
- } else {
- imageName = "<img src = \"OK.gif\" width=19 height=23>";
- }
- }
- }
-
- String result = "<tr>";
-
- result = result + "<td><div align=left>" + imageName + "</div></td>\n";
- result = result + "<td>" + aPlatform.getName() + "</td>";
- result = result + "<td>" + aPlatform.getFileName() + "</td>\n";
- result = result + "</tr>\n";
-
- return result;
- }
-
- public void writeTestResultsFile() {
-
- String outputFileName =
- dropDirectoryName + File.separator + testResultsHtmlFileName;
- writeFile(outputFileName, testResultsTemplateString);
- }
-
- private void writeFile(String outputFileName, String contents) {
- FileOutputStream outputStream = null;
- try {
- outputStream = new FileOutputStream(outputFileName);
- outputStream.write(contents.getBytes());
- } catch (FileNotFoundException e) {
- System.out.println(
- "File not found exception writing: " + outputFileName);
- } catch (IOException e) {
- System.out.println("IOException writing: " + outputFileName);
- } finally {
- if (outputStream != null) {
- try {
- outputStream.close();
- } catch(IOException e) {
- // ignore
- }
- }
- }
- }
-
- public void setTestResultsHtmlFileName(String aString) {
- testResultsHtmlFileName = aString;
- }
-
- public String getTestResultsHtmlFileName() {
- return testResultsHtmlFileName;
- }
-
- public void setTestResultsTemplateFileName(String aString) {
- testResultsTemplateFileName = aString;
- }
-
- public String getTestResultsTemplateFileName() {
- return testResultsTemplateFileName;
- }
-
- public void setXmlDirectoryName(String aString) {
- xmlDirectoryName = aString;
- }
-
- public String getXmlDirectoryName() {
- return xmlDirectoryName;
- }
-
- public void setHtmlDirectoryName(String aString) {
- htmlDirectoryName = aString;
- }
-
- public String getHtmlDirectoryName() {
- return htmlDirectoryName;
- }
-
- public void setDropDirectoryName(String aString) {
- dropDirectoryName = aString;
- }
-
- public String getDropDirectoryName() {
- return dropDirectoryName;
- }
-
- private void formatCompileErrorRow(
- String fileName,
- int errorCount,
- int warningCount,
- StringBuffer buffer) {
-
- if (errorCount == 0 && warningCount == 0) {
- return;
- }
-
- String hrefCompileLogsTargetPath2 = getHrefCompileLogsTargetPath();
- int i = fileName.indexOf(hrefCompileLogsTargetPath2);
-
- String shortName =
- fileName.substring(i + hrefCompileLogsTargetPath2.length());
-
- buffer
- .append("<tr>\n<td>\n")
- .append("<a href=")
- .append("\"")
- .append(hrefCompileLogsTargetPath2)
- .append(shortName)
- .append("\">")
- .append(shortName)
- .append("</a>")
- .append("</td>\n")
- .append("<td align=\"center\">")
- .append("<a href=")
- .append("\"")
- .append(hrefCompileLogsTargetPath2)
- .append(shortName)
- .append("#ERRORS")
- .append("\">")
- .append(errorCount)
- .append("</a>")
- .append("</td>\n")
- .append("<td align=\"center\">")
- .append("<a href=")
- .append("\"")
- .append(hrefCompileLogsTargetPath2)
- .append(shortName)
- .append("#OTHER_WARNINGS")
- .append("\">")
- .append(warningCount)
- .append("</a>")
- .append("</td>\n")
- .append("</tr>\n");
- }
-
- private void formatAccessesErrorRow(
- String fileName,
- int forbiddenAccessesWarningsCount,
- int discouragedAccessesWarningsCount,
- StringBuffer buffer) {
-
- if (forbiddenAccessesWarningsCount == 0 && discouragedAccessesWarningsCount == 0) {
- return;
- }
-
- String hrefCompileLogsTargetPath2 = getHrefCompileLogsTargetPath();
- int i = fileName.indexOf(hrefCompileLogsTargetPath2);
-
- String shortName =
- fileName.substring(i + hrefCompileLogsTargetPath2.length());
-
- buffer
- .append("<tr>\n<td>\n")
- .append("<a href=")
- .append("\"")
- .append(hrefCompileLogsTargetPath2)
- .append(shortName)
- .append("\">")
- .append(shortName)
- .append("</a>")
- .append("</td>\n")
- .append("<td align=\"center\">")
- .append("<a href=")
- .append("\"")
- .append(hrefCompileLogsTargetPath2)
- .append(shortName)
- .append("#FORBIDDEN_WARNINGS")
- .append("\">")
- .append(forbiddenAccessesWarningsCount)
- .append("</a>")
- .append("</td>\n")
- .append("<td align=\"center\">")
- .append("<a href=")
- .append("\"")
- .append(hrefCompileLogsTargetPath2)
- .append(shortName)
- .append("#DISCOURAGED_WARNINGS")
- .append("\">")
- .append(discouragedAccessesWarningsCount)
- .append("</a>")
- .append("</td>\n")
- .append("</tr>\n");
- }
-
- private String formatRow(String fileName, int errorCount, boolean link) {
-
- // replace .xml with .html
-
- String aString = "";
- if (!link) {
- return "<tr><td>" + fileName + " (missing)" + "</td><td>" + "DNF";
- }
-
- if (fileName.endsWith(".xml")) {
-
- int begin = fileName.lastIndexOf(File.separatorChar);
- int end = fileName.lastIndexOf(".xml");
-
- String shortName = fileName.substring(begin + 1, end);
- String displayName = shortName;
- if (errorCount != 0)
- aString = aString + "<tr><td><b>";
- else
- aString = aString + "<tr><td>";
-
-
- if (errorCount!=0){
- displayName="<font color=\"#ff0000\">"+displayName+"</font>";
- }
- if (errorCount==-1){
- aString=aString.concat(displayName);
- }else {
- aString=aString
- + "<a href="
- + "\""
- + hrefTestResultsTargetPath
- + "/"
- + shortName
- + ".html"
- + "\">"
- + displayName
- + "</a>";
- }
- if (errorCount > 0)
- aString = aString + "</td><td><b>";
- else
- aString = aString + "</td><td>";
-
- if (errorCount == -1)
- aString = aString + "<font color=\"#ff0000\">DNF";
-
- else if (errorCount >0)
- aString = aString + "<font color=\"#ff0000\">"+String.valueOf(errorCount);
- else
- aString = aString +String.valueOf(errorCount);
-
- if (errorCount != 0)
- aString = aString + "</font></b></td></tr>";
- else
- aString = aString + "</td></tr>";
- }
-
- return aString;
-
- }
-
- //Specific to the RelEng test results page
- private String formatRowReleng(String fileName, int errorCount, boolean link) {
-
- //If the file name doesn't end with any of the set test configurations, do nothing
- boolean endsWithConfig = false;
- int card = testsConfig.length;
- for(int i=0; i<card; i++) {
- if(fileName.endsWith(testsConfig[i]))
- endsWithConfig = true;
- }
- if(!endsWithConfig)
- return "";
-
- String aString = "";
- if (!link) {
- return "<tr><td>" + fileName + "</td><td align=\"center\">" + "DNF </tr>";
- }
-
- if (fileName.endsWith(".xml")) {
-
- int begin = fileName.lastIndexOf(File.separatorChar);
-
- //Get org.eclipse. out of the component name
- String shortName = fileName.substring(begin + 13, fileName.indexOf('_'));
- String displayName = shortName;
-
- //If the short name does not start with this prefix
- if(!shortName.startsWith(prefix)) {
- //If the prefix is not yet set
- if(prefix=="default"){
- //Set the testShortName variable to the current short name
- testShortName = shortName;
- counter=0;
- //Set new prefix
- prefix = shortName.substring(0, shortName.indexOf(".tests") + 6);
- aString = aString + "<tbody><tr><td><b>" + prefix + ".*" + "</b><td><td><td><td>";
- aString = aString + "<tr><td><P>" + shortName;
-
- //Loop until the matching string postfix(test config.) is found
- while(counter<card && !fileName.endsWith(testsConfig[counter])) {
- aString = aString + "<td align=\"center\">-</td>";
- counter++;
- }
- }
- else {
- //Set new prefix
- prefix = shortName.substring(0, shortName.indexOf(".tests") + 6);
-
- //Loop until the matching string postfix(test config.) is found
- while(counter<card && !fileName.endsWith(testsConfig[counter])) {
- aString = aString + "<td align=\"center\">-</td>";
- counter++;
- }
-
- //In this case, the new prefix should be set with the short name under it,
- //since this would mean that the team has more than one component test
- if(!shortName.endsWith("tests")) {
- aString = aString + "<tbody><tr><td><b>" + prefix + ".*" + "</b><td><td><td><td>";
- aString = aString + "<tr><td><P>" + shortName;
- }
- //The team has only one component test
- else
- aString = aString + "<tbody><tr><td><b>" + shortName;
- testShortName = shortName;
-
- counter = 0;
- }
- }
- //If the file's short name starts with the current prefix
- if(shortName.startsWith(prefix)) {
- //If the new file has a different short name than the current one
- if(!shortName.equals(testShortName)){
- //Fill the remaining cells with '-'. These files will later be listed as
- //missing
- while(counter<card) {
- aString = aString + "<td align=\"center\">-</td>";
- counter++;
- }
- counter = 0;
- //Print the component name
- aString = aString + "<tr><td><P>" + shortName;
- //Loop until the matching string postfix(test config.) is found
- while(counter<card && !fileName.endsWith(testsConfig[counter])) {
- aString = aString + "<td align=\"center\">-</td>";
- counter++;
- }
- }
- else {
- //Loop until the matching string postfix(test config.) is found
- while(counter<card && !fileName.endsWith(testsConfig[counter])) {
- aString = aString + "<td align=\"center\">-</td>";
- counter++;
- }
- //If the previous component has no more test files left
- if(counter==card) {
- counter = 0;
- //Print the new component name
- aString = aString + "<tr><td><P>" + shortName;
- //Loop until the matching string postfix(test config.) is found
- while(counter<card && !fileName.endsWith(testsConfig[counter])) {
- aString = aString + "<td align=\"center\">-</td>";
- counter++;
- }
- }
- }
-
- testShortName = shortName;
-
- if (errorCount != 0)
- aString = aString + "<td align=\"center\"><b>";
- else
- aString = aString + "<td align=\"center\">";
-
- //Print number of errors
- if (errorCount!=0){
- displayName="<font color=\"#ff0000\">"+ "(" + String.valueOf(errorCount) + ")" +"</font>";
- }
- else {
- displayName="(0)";
- }
-
- //Reference
- if (errorCount==-1){
- aString=aString.concat(displayName);
- }else {
- aString=aString
- + "<a href="
- + "\""
- + hrefTestResultsTargetPath
- + "/"
- + fileName.substring(begin+1, fileName.length()-4)
- + ".html"
- + "\">"
- + displayName
- + "</a>";
- }
-
- if (errorCount == -1)
- aString = aString + "<font color=\"#ff0000\">DNF";
-
- if (errorCount != 0)
- aString = aString + "</font></b></td>";
- else
- aString = aString + "</td>";
- counter++;
- }
- }
-
- return aString;
- }
-
- private int countErrors(String fileName) {
- int errorCount = 0;
-
- if (new File(fileName).length()==0)
- return -1;
-
- try {
- DocumentBuilderFactory docBuilderFactory=DocumentBuilderFactory.newInstance();
- parser=docBuilderFactory.newDocumentBuilder();
-
- Document document = parser.parse(fileName);
- NodeList elements = document.getElementsByTagName(elementName);
-
- int elementCount = elements.getLength();
- if (elementCount == 0)
- return -1;
- for (int i = 0; i < elementCount; i++) {
- Element element = (Element) elements.item(i);
- NamedNodeMap attributes = element.getAttributes();
- Node aNode = attributes.getNamedItem("errors");
- errorCount =
- errorCount + Integer.parseInt(aNode.getNodeValue());
- aNode = attributes.getNamedItem("failures");
- errorCount =
- errorCount + Integer.parseInt(aNode.getNodeValue());
-
- }
-
- } catch (IOException e) {
- System.out.println("IOException: " + fileName);
- // e.printStackTrace();
- return 0;
- } catch (SAXException e) {
- System.out.println("SAXException: " + fileName);
- // e.printStackTrace();
- return 0;
- } catch (ParserConfigurationException e) {
- e.printStackTrace();
- }
- return errorCount;
- }
-
-
-
- /**
- * Gets the hrefTestResultsTargetPath.
- * @return Returns a String
- */
- public String getHrefTestResultsTargetPath() {
- return hrefTestResultsTargetPath;
- }
-
- /**
- * Sets the hrefTestResultsTargetPath.
- * @param hrefTestResultsTargetPath The hrefTestResultsTargetPath to set
- */
- public void setHrefTestResultsTargetPath(String htmlTargetPath) {
- this.hrefTestResultsTargetPath = htmlTargetPath;
- }
-
- /**
- * Gets the compileLogsDirectoryName.
- * @return Returns a String
- */
- public String getCompileLogsDirectoryName() {
- return compileLogsDirectoryName;
- }
-
- /**
- * Sets the compileLogsDirectoryName.
- * @param compileLogsDirectoryName The compileLogsDirectoryName to set
- */
- public void setCompileLogsDirectoryName(String compileLogsDirectoryName) {
- this.compileLogsDirectoryName = compileLogsDirectoryName;
- }
-
- /**
- * Gets the hrefCompileLogsTargetPath.
- * @return Returns a String
- */
- public String getHrefCompileLogsTargetPath() {
- return hrefCompileLogsTargetPath;
- }
-
- /**
- * Sets the hrefCompileLogsTargetPath.
- * @param hrefCompileLogsTargetPath The hrefCompileLogsTargetPath to set
- */
- public void setHrefCompileLogsTargetPath(String hrefCompileLogsTargetPath) {
- this.hrefCompileLogsTargetPath = hrefCompileLogsTargetPath;
- }
-
- /**
- * Gets the testManifestFileName.
- * @return Returns a String
- */
- public String getTestManifestFileName() {
- return testManifestFileName;
- }
-
- /**
- * Sets the testManifestFileName.
- * @param testManifestFileName The testManifestFileName to set
- */
- public void setTestManifestFileName(String testManifestFileName) {
- this.testManifestFileName = testManifestFileName;
- }
-
- /**
- * Gets the dropHtmlFileName.
- * @return Returns a String
- */
- public String getDropHtmlFileName() {
- return dropHtmlFileName;
- }
-
- /**
- * Sets the dropHtmlFileName.
- * @param dropHtmlFileName The dropHtmlFileName to set
- */
- public void setDropHtmlFileName(String dropHtmlFileName) {
- this.dropHtmlFileName = dropHtmlFileName;
- }
-
- /**
- * Gets the dropTemplateFileName.
- * @return Returns a String
- */
- public String getDropTemplateFileName() {
- return dropTemplateFileName;
- }
-
- /**
- * Sets the dropTemplateFileName.
- * @param dropTemplateFileName The dropTemplateFileName to set
- */
- public void setDropTemplateFileName(String dropTemplateFileName) {
- this.dropTemplateFileName = dropTemplateFileName;
- }
-
- protected void getDropTokensFromList(String list) {
- StringTokenizer tokenizer = new StringTokenizer(list, ",");
- dropTokens = new Vector();
-
- while (tokenizer.hasMoreTokens()) {
- dropTokens.add(tokenizer.nextToken());
- }
- }
-
- protected void getDifferentPlatformsFromList(String list) {
- StringTokenizer tokenizer = new StringTokenizer(list, ";");
- differentPlatforms = new Vector();
-
- while (tokenizer.hasMoreTokens()) {
- differentPlatforms.add(tokenizer.nextToken());
- }
- }
-
- protected void getPlatformSpecsFromList(String list) {
- StringTokenizer tokenizer = new StringTokenizer(list, ",");
- platformSpecs = new Vector();
-
- while (tokenizer.hasMoreTokens()) {
- platformSpecs.add(tokenizer.nextToken());
- }
- }
-
- public String getDropTokenList() {
- return dropTokenList;
- }
-
- public void setDropTokenList(String dropTokenList) {
- this.dropTokenList = dropTokenList;
- }
-
- public boolean isBuildTested() {
- return isBuildTested;
- }
-
- public void setIsBuildTested(boolean isBuildTested) {
- this.isBuildTested = isBuildTested;
- }
-
-
- /**
- * @return
- */
- public boolean testsRan() {
- return testsRan;
- }
-
- /**
- * @param b
- */
- public void setTestsRan(boolean b) {
- testsRan = b;
- }
-
- /**
- * @return
- */
- public Vector getDropTokens() {
- return dropTokens;
- }
-
- /**
- * @param vector
- */
- public void setDropTokens(Vector vector) {
- dropTokens = vector;
- }
-
- /**
- * @return
- */
- public String getTestResultsWithProblems() {
- return testResultsWithProblems;
- }
-
- /**
- * @param string
- */
- public void setTestResultsWithProblems(String string) {
- testResultsWithProblems = string;
- }
-
- public String getBuildType() {
- return buildType;
- }
-
- public void setBuildType(String buildType) {
- this.buildType = buildType;
- }
-
- public String getPlatformSpecificTemplateList() {
- return platformSpecificTemplateList;
- }
-
- public void setPlatformSpecificTemplateList(String platformSpecificTemplateList) {
- this.platformSpecificTemplateList = platformSpecificTemplateList;
- }
-
- public void setPlatformIdentifierToken(String platformIdentifierToken) {
- this.platformIdentifierToken = platformIdentifierToken;
- }
-
- public String getPlatformIdentifierToken() {
- return platformIdentifierToken;
- }
-
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestVersionTracker.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestVersionTracker.java
deleted file mode 100644
index 7ed4ac3..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/TestVersionTracker.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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
- *******************************************************************************/
-package org.eclipse.releng.generators;
-/**
- * This class finds the version of a plug-in, or fragment listed in a feature
- * and writes <element>=<element>_<version> for each in a properties file.
- * The file produced from this task can be loaded by an Ant script to find files in the
- * binary versions of plugins and fragments.
- */
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.StringTokenizer;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.apache.tools.ant.Task;
-import org.eclipse.osgi.framework.util.Headers;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class TestVersionTracker extends Task{
-
- private Hashtable elements;
-
- //fields to hold temporary values for parsing
- private SAXParser parser;
-
- //the feature to from which to collect version information
- private String featureId;
-
- //buildDirectory
- private String buildDirectory;
-
- //the path to the file in which to write the results
- private String outputFile;
-
- public static void main(String[] args) {
- TestVersionTracker tracker =
- new TestVersionTracker();
- tracker.buildDirectory="D:/src";
- tracker.featureId="org.eclipse.sdk.tests";
- tracker.outputFile="d:/eclipse-testing/test.properties";
- tracker.execute();
-
- }
-
- public TestVersionTracker(){
- super();
- }
-
-
- public void execute() {
- elements = new Hashtable();
-
- SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
- try {
- parser = saxParserFactory.newSAXParser();
- } catch (ParserConfigurationException e) {
- e.printStackTrace();
- } catch (SAXException e) {
- e.printStackTrace();
- }
-
- parse(buildDirectory+"/features/"+featureId+"/build.xml",new FeatureHandler());
- getTestPluginProperties();
- writeProperties(outputFile, true);
- }
-
- public void parse(String xmlFile,DefaultHandler handler){
- try {
- parser.parse(xmlFile,handler);
- } catch (SAXException e) {
- System.err.println (e);
- } catch (IOException e) {
- System.err.println (e);
- }
- }
-
- private void getTestPluginProperties(){
- //set prerequisites list for each test plugin
- Enumeration keys=elements.keys();
- while (keys.hasMoreElements()){
- String id=keys.nextElement().toString();
- TestPlugin testPlugin=(TestPlugin)elements.get(id);
- testPlugin.getPrerequisitePlugins(id);
- testPlugin.setHasPerformanceTarget();
- }
- }
-
- private class FeatureHandler extends DefaultHandler{
- // Start Element Event Handler
- public void startElement(
- String uri,
- String local,
- String qName,
- Attributes atts) {
-
- if (qName.equals("eclipse.idReplacer")) {
- try{
- String pluginIds = atts.getValue("pluginIds");
-
- //get pluginIDs and versions from generated build.xml. Create TestPlugin objects
- StringTokenizer tokenizer= new StringTokenizer(pluginIds,",");
- while (tokenizer.hasMoreTokens()){
- String idtmp=tokenizer.nextToken();
- String id=idtmp.substring(0, idtmp.indexOf(":"));
- String version=tokenizer.nextToken();
- TestPlugin testPlugin=new TestPlugin(id,version);
- elements.put(id,testPlugin);
- }
- } catch (Exception e){
- e.printStackTrace();
- }
- }
- }
- }
-
- private class TestPlugin {
- String id;
- String version;
- boolean hasPerformanceTarget=false;
- ArrayList prerequisitePlugins=new ArrayList();
- File testXml;
-
- TestPlugin(String id, String version){
- this.id=id;
- this.version=version;
- this.testXml=new File(buildDirectory,"plugins/"+id+"/test.xml");
- }
-
- private void getPrerequisitePlugins(String id) {
- Headers headers = null;
- String value = null;
- File manifest = new File(buildDirectory, "plugins/" + id + "/META-INF/MANIFEST.MF");
- ManifestElement[] manifestElements=null;
- if (manifest.exists()) {
- try {
- headers = Headers.parseManifest(new FileInputStream(manifest));
- if (headers.get(Constants.REQUIRE_BUNDLE)==null)
- return;
- value = headers.get(Constants.REQUIRE_BUNDLE).toString();
- manifestElements = ManifestElement.parseHeader(Constants.REQUIRE_BUNDLE, value);
-
- } catch (BundleException e) {
- e.printStackTrace();
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
-
- for (int i = 0; i < manifestElements.length; i++) {
- String name = manifestElements[i].getValue();
- if (elements.containsKey(name)){
- if (!prerequisitePlugins.contains(name)){
- boolean prereqAdded=prerequisitePlugins.add(name);
- if (prereqAdded){
- getPrerequisitePlugins(name);
- }
- }
- }
- }
- }
- getPrerequisitePluginsFromPluginXml(id);
- }
-
- /**
- * Returns the required list of plug-ins from plugin.xml
- */
- private void getPrerequisitePluginsFromPluginXml(String id) {
- File pluginXml = new File(buildDirectory, "/plugins/" + id + "/plugin.xml");
- if (!pluginXml.exists())
- return;
-
- InputStream is = null;
- Document doc = null;
- try {
- is = new BufferedInputStream(new FileInputStream(pluginXml));
- InputSource inputSource = new InputSource(is);
-
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-
- DocumentBuilder builder = null;
-
- try {
- builder = factory.newDocumentBuilder();
- } catch (ParserConfigurationException e1) {
- e1.printStackTrace();
- }
-
- try {
- doc = builder.parse(inputSource);
- } catch (SAXParseException e) {
- e.printStackTrace();
- }
-
- } catch (IOException e) {
- e.printStackTrace();
- } catch (SAXException e) {
- e.printStackTrace();
- } finally {
- try {
- is.close();
- } catch (IOException e) {
- }
- }
- // Find the fragment's plugins's name, id and version
- NodeList nodeList = doc.getElementsByTagName("import");
- if (nodeList == null || nodeList.getLength() == 0) {
- return;
- }
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node node = nodeList.item(i);
- NamedNodeMap map = node.getAttributes();
- Node namedItem = map.getNamedItem("plugin");
- String name = namedItem.getNodeValue();
- if (namedItem == null) {
- continue;
- } else {
- if (elements.containsKey(name)) {
- if (!prerequisitePlugins.contains(name)) {
- boolean prereqAdded = prerequisitePlugins.add(name);
- if (prereqAdded) {
- getPrerequisitePlugins(name);
- }
- }
- }
- }
- }
- }
-
- /**
- * Returns the required list of plug-ins from plugin.xml
- */
- private void setHasPerformanceTarget() {
- File testXml = new File(buildDirectory, "/plugins/" + id + "/test.xml");
- if (!testXml.exists())
- return;
-
- InputStream is = null;
- Document doc = null;
- try {
- is = new BufferedInputStream(new FileInputStream(testXml));
- InputSource inputSource = new InputSource(is);
-
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-
- DocumentBuilder builder = null;
-
- try {
- builder = factory.newDocumentBuilder();
- } catch (ParserConfigurationException e1) {
- e1.printStackTrace();
- }
-
- try {
- doc = builder.parse(inputSource);
- } catch (SAXParseException e) {
- e.printStackTrace();
- }
-
- } catch (IOException e) {
- e.printStackTrace();
- } catch (SAXException e) {
- e.printStackTrace();
- } finally {
- try {
- is.close();
- } catch (IOException e) {
- }
- }
- // Find a target named "performance"
- NodeList nodeList = doc.getElementsByTagName("target");
- if (nodeList == null || nodeList.getLength() == 0) {
- return;
- }
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node node = nodeList.item(i);
- NamedNodeMap map = node.getAttributes();
- Node namedItem = map.getNamedItem("name");
- String name = namedItem.getNodeValue();
- if (namedItem == null) {
- continue;
- } else {
- if (name.equals("performance")){
- hasPerformanceTarget=true;
- return;
- }
- }
- }
- }
-
- public String toString(){
- String keyPrefix=id+"_"+version;
- String performanceProperty=hasPerformanceTarget?id+".has.performance.target="+hasPerformanceTarget+"\n":"";
- return id+"="+keyPrefix+"\n"+
- performanceProperty+
- id+".prerequisite.testplugins="+getPrerequisiteList()+"\n";
- }
-
- private String getPrerequisiteList(){
- String prerequisites="";
- for (int i=0;i<prerequisitePlugins.size();i++){
- prerequisites=prerequisites.concat("**/${"+prerequisitePlugins.get(i)+"}** ");
- }
- return prerequisites;
- }
- }
-
- public void writeProperties(String propertiesFile,boolean append){
-
- try{
-
- PrintWriter writer = new PrintWriter(new FileWriter(propertiesFile,append));
-
- Object[] keys = elements.keySet().toArray();
- Arrays.sort(keys);
- for (int i=0;i<keys.length;i++){
- Object key = keys[i];
- writer.println(((TestPlugin)elements.get(key)).toString());
- writer.flush();
- }
- writer.close();
-
- } catch (IOException e){
- System.out.println("Unable to write to file "+propertiesFile);
- }
-
-
- }
-
-
- /**
- * @return Returns the outputFilePath.
- */
- public String getOutputFilePath() {
- return outputFile;
- }
-
- /**
- * @param outputFilePath The outputFilePath to set.
- */
- public void setOutputFilePath(String outputFilePath) {
- this.outputFile = outputFilePath;
- }
-
- public String getBuildDirectory() {
- return buildDirectory;
- }
-
- public void setBuildDirectory(String buildDirectory) {
- this.buildDirectory = buildDirectory;
- }
-
- public String getFeatureId() {
- return featureId;
- }
-
- public void setFeatureId(String featureId) {
- this.featureId = featureId;
- }
-
- public String getOutputFile() {
- return outputFile;
- }
-
- public void setOutputFile(String outputFile) {
- this.outputFile = outputFile;
- }
-
-
-
-
-}
diff --git a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/VersionTrackerTask.java b/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/VersionTrackerTask.java
deleted file mode 100644
index 68c1631..0000000
--- a/bundles/org.eclipse.build.tools/src/org/eclipse/releng/generators/VersionTrackerTask.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 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 class finds the version of a plug-in, or fragment listed in a feature
- * and writes <element>=<element>_<version> for each in a properties file.
- * The file produced from this task can be loaded by an Ant script to find files in the
- * binary versions of plugins and fragments.
- */
-package org.eclipse.releng.generators;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.helpers.DefaultHandler;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import org.xml.sax.SAXException;
-import java.io.*;
-import java.util.Hashtable;
-import java.util.Enumeration;
-import org.apache.tools.ant.Task;
-import java.util.Vector;
-
-public class VersionTrackerTask extends Task {
-
- private String buildDirectory;
- private Hashtable elements;
- private SAXParser parser;
- private Vector allElements;
-
- //the feature to from which to collect version information
- private String featurePath;
-
- //the path to the file in which to write the results
- private String outputFilePath;
-
- public void execute(){
- VersionTrackerTask tracker =
- new VersionTrackerTask(getBuildDirectory());
- tracker.parse(getFeaturePath(),new FeatureHandler());
- tracker.parse(new PluginHandler());
- tracker.writeProperties(getOutputFilePath(), true);
- }
-
- //test
- public static void main(String[] args) {
- VersionTrackerTask Tracker =
- new VersionTrackerTask(args[1]);
- Tracker.parse(args[0],Tracker.new FeatureHandler());
- Tracker.parse(Tracker.new PluginHandler());
- Tracker.writeProperties(args[2], true);
- }
-
- public VersionTrackerTask(){
- }
-
- public VersionTrackerTask(String install) {
- elements = new Hashtable();
- allElements=new Vector();
-
- SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
- try {
- parser = saxParserFactory.newSAXParser();
- } catch (ParserConfigurationException e) {
- e.printStackTrace();
- } catch (SAXException e) {
- e.printStackTrace();
- }
-
- // directory containing the source for a given build
- buildDirectory = install;
- }
-
- private void parse (DefaultHandler handler){
- for (int i=0; i<allElements.size();i++){
- parse(allElements.elementAt(i).toString(), handler);
- }
- }
-
- public void parse(String xmlFile,DefaultHandler handler){
- try {
- parser.parse(xmlFile,handler);
- } catch (SAXException e) {
- System.err.println (e);
- } catch (IOException e) {
- System.err.println (e);
- }
- }
-
- private class FeatureHandler extends DefaultHandler{
- // Start Element Event Handler
- public void startElement(
- String uri,
- String local,
- String qName,
- Attributes atts) {
-
- String element = atts.getValue("id");
- //need to parse the plugin.xml or fragment.xml for the correct version value since the 3.0 features may list these as "0.0.0"
- if (qName.equals("plugin")) {
- try{
- allElements.add(getBuildDirectory()+File.separator+"plugins"+File.separator+element+File.separator+"plugin.xml");
- } catch (Exception e){
- e.printStackTrace();
-
- }
- } else if (qName.equals("fragment")){
- allElements.add(getBuildDirectory()+File.separator+"plugins"+File.separator+element+File.separator+"fragment.xml");
- }
- }
- }
-
- private class PluginHandler extends DefaultHandler{
- // Start Element Event Handler
- public void startElement(
- String uri,
- String local,
- String qName,
- Attributes atts) {
-
-
- String element = atts.getValue("id");
- String version = atts.getValue("version");
- System.out.println("Examining "+element);
-
- if (qName.equals("plugin") || qName.equals("fragment")){
- System.out.println("Found plugin "+element);
- elements.put(element,element+"_"+version);
- }
- }
- }
-
- public void writeProperties(String propertiesFile,boolean append){
- try{
-
- PrintWriter writer = new PrintWriter(new FileWriter(propertiesFile,append));
-
- Enumeration keys = elements.keys();
-
- while (keys.hasMoreElements()){
- Object key = keys.nextElement();
- writer.println(key.toString()+"="+elements.get(key).toString());
- writer.flush();
- }
- writer.close();
-
- } catch (IOException e){
- System.out.println("Unable to write to file "+propertiesFile);
- }
-
-
- }
-
- /**
- * @return Returns the featurePath.
- */
- public String getFeaturePath() {
- return featurePath;
- }
-
- /**
- * @param featurePath The featurePath to set.
- */
- public void setFeaturePath(String featurePath) {
- this.featurePath = featurePath;
- }
-
- /**
- * @return Returns the installDirectory.
- */
- public String getBuildDirectory() {
- return buildDirectory;
- }
-
- /**
- * @param installDirectory The installDirectory to set.
- */
- public void setBuildDirectory(String buildDirectory) {
- this.buildDirectory = buildDirectory;
- }
-
- /**
- * @return Returns the outputFilePath.
- */
- public String getOutputFilePath() {
- return outputFilePath;
- }
-
- /**
- * @param outputFilePath The outputFilePath to set.
- */
- public void setOutputFilePath(String outputFilePath) {
- this.outputFilePath = outputFilePath;
- }
-
-}
diff --git a/bundles/org.eclipse.build.tools/src_bugzilla/org/eclipse/releng/services/bugzilla/UpdateBugStateTask.java b/bundles/org.eclipse.build.tools/src_bugzilla/org/eclipse/releng/services/bugzilla/UpdateBugStateTask.java
deleted file mode 100644
index 5e120cb..0000000
--- a/bundles/org.eclipse.build.tools/src_bugzilla/org/eclipse/releng/services/bugzilla/UpdateBugStateTask.java
+++ /dev/null
@@ -1,706 +0,0 @@
-/**
- * Copyright (c) 2006 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
- */
-
-package org.eclipse.releng.services.bugzilla;
-
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.net.URL;
-import java.net.URLConnection;
-import java.net.URLEncoder;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.net.ssl.HttpsURLConnection;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-
-import org.eclipse.releng.util.bugzilla.Messages;
-
-
-public class UpdateBugStateTask extends Task
-{
- private static final String UTF_8 = "UTF-8"; //$NON-NLS-1$
-
- private static final String GET = "GET"; //$NON-NLS-1$
-
- private static final String CTYPE_RDF = "&ctype=rdf"; //$NON-NLS-1$
-
- private static final String URL_TARGET_MILESTONE = "&target_milestone="; //$NON-NLS-1$
-
- private static final String URL_CHFIELDTO = "&chfieldto="; //$NON-NLS-1$
-
- private static final String URL_BUG_STATUS = "&bug_status="; //$NON-NLS-1$
-
- private static final String HTTPS_BUGS_ECLIPSE_ORG_BUGS_BUGLIST_CGI_PRODUCT = "https://bugs.eclipse.org/bugs/buglist.cgi?product="; //$NON-NLS-1$
-
- private static final String COOKIE = "Cookie"; //$NON-NLS-1$
-
- private static final String APPLICATION_X_WWW_FORM_URLENCODED = "application/x-www-form-urlencoded"; //$NON-NLS-1$
-
- private static final String CONTENT_TYPE = "Content-type"; //$NON-NLS-1$
-
- private static final String POST = "POST"; //$NON-NLS-1$
-
- private static final String HTTPS_BUGS_ECLIPSE_ORG_BUGS_PROCESS_BUG_CGI = "https://bugs.eclipse.org/bugs/process_bug.cgi"; //$NON-NLS-1$
-
- private static final String BUG_STATUS = "bug_status"; //$NON-NLS-1$
-
- private static final String AMP = "&"; //$NON-NLS-1$
-
- private static final String EQ = "="; //$NON-NLS-1$
-
- private static final String HTTPS_BUGS_ECLIPSE_ORG_BUGS_SHOW_BUG_CGI_ID = "https://bugs.eclipse.org/bugs/show_bug.cgi?id="; //$NON-NLS-1$
-
- private static final String CTYPE_XML = "&ctype=xml"; //$NON-NLS-1$
-
- private static final String RESOLVE = "resolve"; //$NON-NLS-1$
-
- private static final String RESOLUTION = "resolution"; //$NON-NLS-1$
-
- private static final String KNOB = "knob"; //$NON-NLS-1$
-
- private static final String LONGDESCLENGTH = "longdesclength"; //$NON-NLS-1$
-
- private static final String SHORT_DESC = "short_desc"; //$NON-NLS-1$
-
- private static final String BUG_FILE_LOC = "bug_file_loc"; //$NON-NLS-1$
-
- private static final String BUG_SEVERITY = "bug_severity"; //$NON-NLS-1$
-
- private static final String PRIORITY = "priority"; //$NON-NLS-1$
-
- private static final String OP_SYS = "op_sys"; //$NON-NLS-1$
-
- private static final String REP_PLATFORM = "rep_platform"; //$NON-NLS-1$
-
- private static final String TARGET_MILESTONE = "target_milestone"; //$NON-NLS-1$
-
- private static final String COMPONENT = "component"; //$NON-NLS-1$
-
- private static final String VERSION = "version"; //$NON-NLS-1$
-
- private static final String PRODUCT = "product"; //$NON-NLS-1$
-
- private static final String ID = "id"; //$NON-NLS-1$
-
- private static final String COMMENT = "comment"; //$NON-NLS-1$
-
- private static final String PROCESS_BUG = "process_bug"; //$NON-NLS-1$
-
- private static final String FORM_NAME = "form_name"; //$NON-NLS-1$
-
- private static final String BUGZILLA_LOGINCOOKIE = "; Bugzilla_logincookie="; //$NON-NLS-1$
-
- private static final String BUGZILLA_LOGIN = "Bugzilla_login="; //$NON-NLS-1$
-
- private static final String DIGITS_REGEX = "(\\d+)"; //$NON-NLS-1$
-
- private static final String COLON = ":"; //$NON-NLS-1$
-
- private static final String DASH = "-"; //$NON-NLS-1$
-
- private static final String BUGID_REGEX = "<bz:id(?: nc:parseType=\"Integer\")>(\\d+)</bz:id>"; //$NON-NLS-1$
-
- private static final String BUILDID_REGEX = "([IMNRS]?-?)(\\d{4})(\\d{2})(\\d{2})-?(\\d{2})(\\d{2})"; //$NON-NLS-1$
-
- private static final String TIMESTAMP_REGEX = "(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})"; //$NON-NLS-1$
-
- private static final String JS = "Java said:"; //$NON-NLS-1$
-
- private static final String SP = " "; //$NON-NLS-1$
-
- private static final String XML_REGEX = "<(\\S+)>([^<]+)</\\1>"; //$NON-NLS-1$
-
- private static final String NL = "\n"; //$NON-NLS-1$
-
- private static final String CSO = ", or "; //$NON-NLS-1$
-
- private static final String CS = ", "; //$NON-NLS-1$
-
- private static final String BZ_IV = "INVALID"; //$NON-NLS-1$
-
- private static final String BZ_WF = "WONTFIX"; //$NON-NLS-1$
-
- private static final String BZ_LT = "LATER"; //$NON-NLS-1$
-
- private static final String BZ_RM = "REMIND"; //$NON-NLS-1$
-
- private static final String BZ_WK = "WORKSFORME"; //$NON-NLS-1$
-
- private static final String BZ_FX = "FIXED"; //$NON-NLS-1$
-
- private static final String BZ_RE = "REOPENED"; //$NON-NLS-1$
-
- private static final String BZ_AS = "ASSIGNED"; //$NON-NLS-1$
-
- private static final String BZ_NEW = "NEW"; //$NON-NLS-1$
-
- private static final String BZ_UC = "UNCONFIRMED"; //$NON-NLS-1$
-
- private static final String EMPTY = ""; //$NON-NLS-1$
-
- private static final String LT = "<"; //$NON-NLS-1$
-
- private static final String GT = ">"; //$NON-NLS-1$
-
- private static final String QUOT = "\""; //$NON-NLS-1$
-
- private static final String APOS = "'"; //$NON-NLS-1$
-
- private static final String HTML_APOS = "'"; //$NON-NLS-1$
-
- private static final String HTML_QUOT = """; //$NON-NLS-1$
-
- private static final String HTML_LT = "<"; //$NON-NLS-1$
-
- private static final String HTML_GT = ">"; //$NON-NLS-1$
-
- private static final String HTML_NBSP = " "; //$NON-NLS-1$
-
- private static final String HTML_AMP = "&"; //$NON-NLS-1$
-
- private int debug;
-
- private int login;
-
- private int loginCookie;
-
- private String product;
-
- private String status;
-
- private String buildID;
-
- private String buildAlias;
-
- private String milestone;
-
- private String bugList;
-
- private String resolution;
-
- private String endDate;
-
- private LinkedHashMap trans;
-
- public UpdateBugStateTask()
- {
- debug = 1;
-
- login = 0;
- loginCookie = 0;
- product = EMPTY;
- status = EMPTY;
- buildID = EMPTY;
- buildAlias = EMPTY;
- endDate = EMPTY;
- milestone = EMPTY;
- bugList = EMPTY;
- resolution = BZ_FX;
-
- trans = new LinkedHashMap(8, 0.75f, false);
- trans.put(HTML_APOS, APOS);
- trans.put(HTML_QUOT, QUOT);
- trans.put(HTML_LT, LT);
- trans.put(HTML_GT, GT);
- trans.put(HTML_NBSP, SP);
- trans.put(HTML_AMP, AMP);
- }
-
- public void setDebug(int d)
- {
- debug = d;
- }
-
- public void setBugList(String b)
- {
- bugList = b;
- }
-
- public void setProduct(String p)
- {
- product = p;
- }
-
- public void setStatus(String s)
- {
- if (s.equals(BZ_UC) || s.equals(BZ_NEW) || s.equals(BZ_AS) || s.equals(BZ_RE))
- {
- status = s;
- }
- else
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.invalidStatus") + "!" + SP + //$NON-NLS-1$ //$NON-NLS-2$
- Messages.getString("UpdateBugStateTask.expectedOne") + SP + BZ_UC + CS + BZ_NEW + CS + BZ_AS + CSO + BZ_RE); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
-
- public void setLogin(int l)
- {
- login = l;
- }
-
- public void setLoginCookie(int lc)
- {
- loginCookie = lc;
- }
-
- public void setResolution(String r)
- {
- if (r.equals(BZ_FX) || r.equals(BZ_IV) || r.equals(BZ_WF) || r.equals(BZ_LT) || r.equals(BZ_RM) || r.equals(BZ_WK))
- {
- resolution = r;
- }
- else
- {
- System.err.println(Messages.getString("UpdateBugStateTask.invalidResolution") + "!" + SP + //$NON-NLS-1$ //$NON-NLS-2$
- Messages.getString("UpdateBugStateTask.expected") //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- + SP + BZ_FX + CS + BZ_IV + CS + BZ_WF + CS + BZ_LT + CS + BZ_RM + CSO + BZ_WK + SP
- + "(" + Messages.getString("UpdateBugStateTask.default") + COLON + SP + BZ_FX + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
-
- public void setEndDate(String t)
- {
- Pattern p = Pattern.compile(TIMESTAMP_REGEX);
- Matcher m = p.matcher(t);
- if (m.matches())
- {
- endDate = m.group(1) + DASH + m.group(2) + DASH + m.group(3) + SP + m.group(4) + COLON + m.group(5);
- }
- else
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.invalidTimestamp") + COLON + SP + t + "!"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- public void setBuildID(String t)
- {
- Pattern p = Pattern.compile(BUILDID_REGEX);
- Matcher m = p.matcher(t);
- if (m.matches())
- {
- buildID = m.group(1) + m.group(2) + m.group(3) + m.group(4) + m.group(5) + m.group(6);
- }
- else
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.invalidBuildID") + COLON + SP + t + "!"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- public void setBuildAlias(String b)
- {
- buildAlias = b;
- }
-
- public void setMilestone(String m)
- {
- milestone = m;
- }
-
-public void execute() throws BuildException
- {
- if (login == 0)
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.expectingLogin") + "!"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (loginCookie == 0)
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.expectingLogincookie") + "!"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (status.equals(EMPTY))
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.expectingStatus") + "!"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /* we take an explicit list OR do a query, not both */
- if (!bugList.equals(EMPTY) && endDate.equals(EMPTY) && milestone.equals(EMPTY) && product.equals(EMPTY))
- {
- if (debug > 1)
- {
- System.err.println(Messages.getString("UpdateBugStateTask.usingBugList")); //$NON-NLS-1$
- }
- Pattern p = Pattern.compile(DIGITS_REGEX);
- Matcher m = p.matcher(bugList);
- while (m.find())
- {
- int bugID = Integer.parseInt(m.group(1));
- if (debug > 1)
- {
- System.err.println(Messages.getString("UpdateBugStateTask.found") + SP + bugID); //$NON-NLS-1$
- }
- doBug(bugID);
- }
- }
- else if (bugList.equals(EMPTY))
- {
- if (product.equals(EMPTY))
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.expectingProduct") + "!"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- if (debug > 1)
- {
- System.err.println(Messages.getString("UpdateBugStateTask.queryingFor") + SP + //$NON-NLS-1$
- (!status.equals(EMPTY) ? status + SP : EMPTY) +
- (!product.equals(EMPTY) ? product + SP : EMPTY) +
- (!milestone.equals(EMPTY) ? milestone + SP : EMPTY) +
- Messages.getString("UpdateBugStateTask.bugs")); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /* the Bugzilla search form generates a massive URL, but thankfully doesn't
- * demand all sorts of superfluous fields like when updating a bug */
- String url = HTTPS_BUGS_ECLIPSE_ORG_BUGS_BUGLIST_CGI_PRODUCT + urlEncode(product) + URL_BUG_STATUS + urlEncode(status)
- + URL_CHFIELDTO + urlEncode(endDate) + URL_TARGET_MILESTONE + urlEncode(milestone) + CTYPE_RDF;
- if (debug > 1)
- {
- System.err.println(Messages.getString("UpdateBugStateTask.connectingTo") + SP + //$NON-NLS-1$
- url + SP + "..."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
- HttpsURLConnection bugsconn = getConn(url, GET, true, false, EMPTY);
- String bugs = slurpStream(bugsconn);
- if (debug > 1)
- {
- System.err.println(Messages.getString("UpdateBugStateTask.gotBugList") + COLON); //$NON-NLS-1$
- System.err.println(bugs);
- }
-
- Pattern p = Pattern.compile(BUGID_REGEX);
- Matcher m = p.matcher(bugs);
- if (m.find()) {
- while (m.find())
- {
- int bugID = Integer.parseInt(m.group(1));
- if (debug > 1)
- {
- System.out.println(Messages.getString("UpdateBugStateTask.found") + SP + bugID); //$NON-NLS-1$
- }
- doBug(bugID);
- }
- }
- else
- {
- System.out.println("No bugs found matching specified state" + SP + "(" + status + "). Nothing to do!");
- }
- }
- else
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.ambiguousRequest") + CS + //$NON-NLS-1$
- Messages.getString("UpdateBugStateTask.mutuallyExclusive") + "!"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- } private void doBug(int bugID) throws BuildException
- {
- if (bugID == 0)
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.invalidBugID") + SP + bugID + "!"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- String bugcookie = BUGZILLA_LOGIN + login + BUGZILLA_LOGINCOOKIE + loginCookie;
- String buildstring = EMPTY;
- if (buildAlias.equals(EMPTY) && buildID.equals(EMPTY))
- {
- buildstring = Messages.getString("UpdateBugStateTask.latestBuild"); //$NON-NLS-1$
- }
- else if (!buildAlias.equals(EMPTY) && !buildID.equals(EMPTY))
- {
- buildstring = buildAlias + SP + "(" + buildID + ")"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- else
- {
- buildstring = (!buildAlias.equals(EMPTY) ? buildAlias : buildID);
- }
-
- Hashtable args = new Hashtable();
- args.put(FORM_NAME, PROCESS_BUG);
- args.put(COMMENT, Messages.getString("UpdateBugStateTask.fixedIn") + SP + buildstring + "."); //$NON-NLS-1$ //$NON-NLS-2$
- args.put(ID, new Integer(bugID));
- args.put(PRODUCT, EMPTY);
- args.put(VERSION, EMPTY);
- args.put(COMPONENT, EMPTY);
- args.put(TARGET_MILESTONE, EMPTY);
- args.put(REP_PLATFORM, EMPTY);
- args.put(OP_SYS, EMPTY);
- args.put(PRIORITY, EMPTY);
- args.put(BUG_SEVERITY, EMPTY);
- args.put(BUG_FILE_LOC, EMPTY);
- args.put(SHORT_DESC, EMPTY);
- args.put(LONGDESCLENGTH, new Integer(1)); //Bugzilla doesn't seem to use this, but demands it anyways
- args.put(KNOB, RESOLVE);
- args.put(RESOLUTION, resolution);
-
- if (debug > 1)
- {
- System.err.println(Messages.getString("UpdateBugStateTask.usingCookie") + COLON + SP + bugcookie); //$NON-NLS-1$
- System.err.println(Messages.getString("UpdateBugStateTask.usingComment") + COLON + SP + args.get(COMMENT).toString()); //$NON-NLS-1$
- }
-
- /* slurp xml for bugID */
- String url = HTTPS_BUGS_ECLIPSE_ORG_BUGS_SHOW_BUG_CGI_ID + urlEncode(args.get(ID).toString()) + CTYPE_XML;
- if (debug > 1)
- {
- System.err.println(Messages.getString("UpdateBugStateTask.connectingTo") + SP + //$NON-NLS-1$
- url + SP + "..."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
- HttpsURLConnection xmlconn = getConn(url, GET, true, false, EMPTY);
- String xml = slurpStream(xmlconn);
- if (debug > 1)
- {
- System.err.println(Messages.getString("UpdateBugStateTask.gotXML") + COLON); //$NON-NLS-1$
- System.err.println(xml);
- }
- xmlconn.disconnect();
-
- /* parse xml, build post string */
- String req = EMPTY;
- Hashtable pxml = parseXML(xml);
- for (Enumeration e = args.keys(); e.hasMoreElements();)
- {
- String elem = e.nextElement().toString();
- /* sometimes Bugzilla omits bug_file_loc if it's blank... */
- if (args.get(elem).equals(EMPTY) && pxml.get(elem) != null)
- {
- args.put(elem, pxml.get(elem));
- }
-
- req += urlEncode(elem) + EQ + urlEncode(args.get(elem).toString()) + AMP;
- }
-
- req = req.substring(0, req.length() - 1);
-
- /* update bug, if applicable */
- if (pxml.get(BUG_STATUS) == null)
- {
- if (debug > 0)
- {
- System.out.println(Messages.getString("UpdateBugStateTask.noBugStatus") + SP + //$NON-NLS-1$
- bugID + CS + Messages.getString("UpdateBugStateTask.missingBug")); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- else if (pxml.get(BUG_STATUS).equals(status))
- {
- String bugurl = HTTPS_BUGS_ECLIPSE_ORG_BUGS_PROCESS_BUG_CGI;
- if (debug > 1)
- {
- System.err.println(Messages.getString("UpdateBugStateTask.connectingTo") + SP + //$NON-NLS-1$
- bugurl + SP + "..."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
- HttpsURLConnection bugconn = getConn(bugurl, POST, true, true, bugcookie);
-
- if (debug > 1)
- {
- System.err.println(Messages.getString("UpdateBugStateTask.postingData") + COLON); //$NON-NLS-1$
- System.err.println(req);
- }
- sendStream(bugconn, req);
- String response = slurpStream(bugconn);
-
- // trap for invalid login cookie
- if (response.indexOf(Messages.getString("UpdateBugStateTask.legitimateLoginAndPassword")) > 0) //$NON-NLS-1$
- {
- System.err.println(Messages.getString("UpdateBugStateTask.couldNotLogIn")); //$NON-NLS-1$
- System.err.println(Messages.getString("UpdateBugStateTask.BugzillaReplied") + COLON + SP + //$NON-NLS-1$
- "\"" + Messages.getString("UpdateBugStateTask.legitimateLoginAndPassword") + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (debug > 1)
- {
- System.err.println(Messages.getString("UpdateBugStateTask.gotResponse") + COLON); //$NON-NLS-1$
- System.err.println(response);
- }
- bugconn.disconnect();
- System.err.println(Messages.getString("UpdateBugStateTask.setBugFailed") + SP + bugID + SP + //$NON-NLS-1$
- Messages.getString("UpdateBugStateTask.to") + SP + resolution + SP + //$NON-NLS-1$
- "(" + Messages.getString("UpdateBugStateTask.was") + SP + pxml.get(BUG_STATUS) + ")" + COLON + SP + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "\"" + Messages.getString("UpdateBugStateTask.fixedIn") + SP + buildstring + ".\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- else
- {
- if (debug > 1)
- {
- System.err.println(Messages.getString("UpdateBugStateTask.gotResponse") + COLON); //$NON-NLS-1$
- System.err.println(response);
- }
- bugconn.disconnect();
- if (debug > 0)
- {
- System.out.println(Messages.getString("UpdateBugStateTask.setBug") + SP + bugID + SP + //$NON-NLS-1$
- Messages.getString("UpdateBugStateTask.to") + SP + resolution + SP + //$NON-NLS-1$
- "(" + Messages.getString("UpdateBugStateTask.was") + SP + pxml.get(BUG_STATUS) + ")" + COLON + SP + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "\"" + Messages.getString("UpdateBugStateTask.fixedIn") + SP + buildstring + ".\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
- }
- else
- {
- if (debug > 0)
- {
- System.out.println(Messages.getString("UpdateBugStateTask.ignoreBug") + SP + args.get(ID).toString() + SP + //$NON-NLS-1$
- "(" + Messages.getString("UpdateBugStateTask.notInExpectedState") + SP + status + ")" + COLON + SP + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Messages.getString("UpdateBugStateTask.was") + SP + pxml.get(BUG_STATUS).toString() + "."); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
-
- private String urlEncode(String elem)
- {
- elem = htmlDecode(elem);
-
- try
- {
- elem = URLEncoder.encode(elem, UTF_8);
- }
- catch (java.io.UnsupportedEncodingException e)
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.couldntEncode") + SP + //$NON-NLS-1$
- "'" + elem + "'" + "!" + SP + JS + SP + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- return elem;
- }
-
- private HttpsURLConnection getConn(String url, String method, boolean in, boolean out, String cookie)
- {
- URL u = null;
- try
- {
- u = new URL(url);
- }
- catch (java.net.MalformedURLException e)
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.badURL") + CS + //$NON-NLS-1$
- url + "!" + SP + JS + SP + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
-
- URLConnection conn = null;
- try
- {
- conn = u.openConnection();
- }
- catch (java.io.IOException e)
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.failedConnection") + "!" + SP + JS + SP + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
- }
- HttpsURLConnection sconn = (HttpsURLConnection)conn;
-
- try
- {
- sconn.setRequestMethod(method);
- }
- catch (java.net.ProtocolException e)
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.badHTTPMethod") + "!" + SP + JS + SP + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- if (method.equals(POST))
- {
- sconn.setRequestProperty(CONTENT_TYPE, APPLICATION_X_WWW_FORM_URLENCODED);
- }
-
- if (!cookie.equals(EMPTY))
- {
- sconn.setRequestProperty(COOKIE, cookie);
- }
-
- sconn.setDoInput(in);
- sconn.setDoOutput(out);
-
- try
- {
- sconn.connect();
- }
- catch (java.io.IOException e)
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.connectError") + SP + //$NON-NLS-1$
- url + "!" + SP + JS + SP + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
-
- return sconn;
- }
-
- private void sendStream(HttpsURLConnection conn, String req)
- {
- try
- {
- PrintWriter out = new PrintWriter(conn.getOutputStream());
- out.print(req);
- out.flush();
- out.close();
- }
- catch (java.io.IOException e)
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.streamWriteError") + "!" + SP + JS + SP + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- private String slurpStream(HttpsURLConnection conn)
- {
- String ret = EMPTY;
- try
- {
- BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
- String tmp;
- while ((tmp = in.readLine()) != EMPTY && tmp != null)
- {
- ret += tmp + NL;
- }
-
- in.close();
- }
- catch (java.io.IOException e)
- {
- throw new BuildException(Messages.getString("UpdateBugStateTask.streamReadError") + "!" + SP + JS + SP + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- return ret;
- }
-
- /* this will only keep the last comment, but we don't use the comments anyways */
- private Hashtable parseXML(String xml)
- {
- if (debug > 1)
- {
- System.err.println(Messages.getString("UpdateBugStateTask.parsingXML") + "..."); //$NON-NLS-1$ //$NON-NLS-2$
- }
- Hashtable pxml = new Hashtable();
- Pattern p = Pattern.compile(XML_REGEX);
- Matcher m = p.matcher(xml);
- while (m.find())
- {
- if (debug > 1)
- {
- System.err.println(Messages.getString("UpdateBugStateTask.found") + SP + m.group(1) + SP + EQ + SP + m.group(2)); //$NON-NLS-1$
- }
- pxml.put(m.group(1), m.group(2));
- }
-
- return pxml;
- }
-
- private String htmlDecode(String str)
- {
- for (Iterator i = trans.keySet().iterator(); i.hasNext();)
- {
- String elem = i.next().toString();
-
- str = Pattern.compile(elem).matcher(str).replaceAll(trans.get(elem).toString());
- }
-
- return str;
- }
-
- public static void main(String args[])
- {
- new UpdateBugStateTask();
- }
-}
diff --git a/bundles/org.eclipse.build.tools/src_bugzilla/org/eclipse/releng/util/bugzilla/Messages.java b/bundles/org.eclipse.build.tools/src_bugzilla/org/eclipse/releng/util/bugzilla/Messages.java
deleted file mode 100644
index d36f0f1..0000000
--- a/bundles/org.eclipse.build.tools/src_bugzilla/org/eclipse/releng/util/bugzilla/Messages.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- */
-package org.eclipse.releng.util.bugzilla;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-
-public class Messages
-{
- private static final String BUNDLE_NAME = "org.eclipse.releng.util.bugzilla.messages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
- private Messages()
- {
- }
-
- public static String getString(String key)
- {
- try
- {
- return RESOURCE_BUNDLE.getString(key);
- }
- catch (MissingResourceException e)
- {
- return '!' + key + '!';
- }
- }
-}
diff --git a/bundles/org.eclipse.build.tools/src_bugzilla/org/eclipse/releng/util/bugzilla/messages.properties b/bundles/org.eclipse.build.tools/src_bugzilla/org/eclipse/releng/util/bugzilla/messages.properties
deleted file mode 100644
index 415e9c1..0000000
--- a/bundles/org.eclipse.build.tools/src_bugzilla/org/eclipse/releng/util/bugzilla/messages.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-UpdateBugStateTask.invalidStatus=Invalid initial status
-UpdateBugStateTask.expectedOne=Expected one of
-UpdateBugStateTask.invalidResolution=Invalid resolution
-UpdateBugStateTask.expected=Expected
-UpdateBugStateTask.default=default
-UpdateBugStateTask.invalidBuildID=Invalid buildID. Entered
-UpdateBugStateTask.invalidTimestamp=Invalid timestamp (must be yyyymmddHHMM or yyyymmdd0000). Entered
-UpdateBugStateTask.expectingLogin=Was expecting a login
-UpdateBugStateTask.expectingLogincookie=Was expecting a logincookie
-UpdateBugStateTask.legitimateLoginAndPassword=I need a legitimate login and password to continue.
-UpdateBugStateTask.expectingStatus=Was expecting an initial status
-UpdateBugStateTask.usingBugList=Using explicit bug list
-UpdateBugStateTask.found=Found
-UpdateBugStateTask.expectingProduct=Was expecting a product
-UpdateBugStateTask.queryingFor=Querying for
-UpdateBugStateTask.bugs=bugs
-UpdateBugStateTask.connectingTo=Connecting to
-UpdateBugStateTask.gotBugList=Got bug list
-UpdateBugStateTask.ambiguousRequest=Ambiguous request
-UpdateBugStateTask.mutuallyExclusive=bugList and (endDate, milestone, product) are mutually exclusive
-UpdateBugStateTask.invalidBugID=Invalid bugID
-UpdateBugStateTask.latestBuild=latest build
-UpdateBugStateTask.fixedIn=Fixed in
-UpdateBugStateTask.usingCookie=Using cookie information
-UpdateBugStateTask.usingComment=Using comment
-UpdateBugStateTask.gotXML=Got xml
-UpdateBugStateTask.noBugStatus=Couldn't find bug_status for bug
-UpdateBugStateTask.missingBug=this means that the bug probably doesn't exist, ignoring.
-UpdateBugStateTask.postingData=Posting data
-UpdateBugStateTask.gotResponse=Got response
-UpdateBugStateTask.setBug=Set bug
-UpdateBugStateTask.setBugFailed=Failed to set bug
-UpdateBugStateTask.to=to
-UpdateBugStateTask.was=was
-UpdateBugStateTask.ignoreBug=Ignoring bug
-UpdateBugStateTask.notInExpectedState=as not in expected state
-UpdateBugStateTask.couldntEncode=Couldn't encode
-UpdateBugStateTask.couldNotLogIn=Could not use your login/logincookie credentials to log in.
-UpdateBugStateTask.badURL=Bad URL
-UpdateBugStateTask.failedConnection=Couldn't open connection
-UpdateBugStateTask.badHTTPMethod=Bad HTTP method
-UpdateBugStateTask.connectError=Error connecting to
-UpdateBugStateTask.streamWriteError=Error writing to stream
-UpdateBugStateTask.streamReadError=Error in reading from stream
-UpdateBugStateTask.BugzillaReplied=Bugzilla replied
-UpdateBugStateTask.parsingXML=Parsing xml
diff --git a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedAddEntryTask.java b/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedAddEntryTask.java
deleted file mode 100644
index d0a6d96..0000000
--- a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedAddEntryTask.java
+++ /dev/null
@@ -1,584 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.releng.generators.rss;
-
-//TODO: bug - can't run CreateFeed and AddEntry together when debug=2 - file locking problem?
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.util.Date;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.util.DateUtils;
-
-import org.eclipse.releng.util.rss.Messages;
-import org.eclipse.releng.util.rss.RSSFeedUtil;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.xml.sax.SAXException;
-
-/**
- * Parameters:
- * debug - more output to console - eg., 0|1|2
- *
- * file - path to the XML file that will be created - eg., /path/to/file.to.create.xml
- * project - project's name, used to label the feed - eg., Eclipse, EMF, UML2
- * branch - build's branch, eg., 2.2.0
- * buildID - build's ID, eg., S200605051234
- * feedURL - URL of the feed where it will be published - eg., http://servername/path/to/feed.xml
- * note that feedURL is not required if the feed already exists, only if a new feed file must be created
- * buildURL - URL of the build being added to the feed - eg., http://servername/path/to/project/branch/buildID/
- *
- * buildAlias - build's alias, eg., 2.2.0RC2
- *
- * dependencyURLs - upstream dependencies, eg., UML2 depends on emf and eclipse, so specify TWO URLs in properties file or ant task
- *
- * releaseNotesURL - URL of the build's release notes page - eg., http://www.eclipse.org/project/news/release-notes.php
- * updateManagerURL - URL of the build's Update Manager site - eg., http://servername/path/to/project/updates/
- * downloadsURL - URL of the build's downloads - eg., http://servername/path/to/project/downloads/
- *
- * jarSigningStatus - code to define jar signing status - eg., one of:
- * NONE (or '') - no status available or not participating
- * UNSIGNED - no jar signage available or done yet
- * SIGNREADY - jars promoted to eclipse.org, ready for signing
- * BUILDREADY - signed on eclipse.org, ready to be collected and bundled as zips and copied to UM site
- * SIGNED - signed & bundled on download page and on UM site
- *
- * callistoStatus - code to define Callisto status, eg., one of:
- * NONE (or '') - not part of Callisto or unknown status
- * BUILDCOMPLETE - Have you finished your RC1 bits?
- * 2006-05-02T20:50:00Z - When do you expect to finish them?
- * TPTP - If you're waiting for another project, which one(s)? (TPTP is just an example)
- * UMSITEREADY - Have you placed those bits in your update site?
- * CALLISTOSITEREADY - Have you updated the features.xml file in the Callisto CVS directory?
- * COMPLETE - Are you ready for RC1 to be declared?
- *
- * buildType - code to define type of build, eg., one of:
- * N - Nightly
- * I - Integration
- * M - Maintenance
- * S - Stable (Milestone or Release Candidate)
- * R - Release
- * MC - Maintenance-Callisto
- * SC - Stable-Callisto
- * RC - Release-Callisto
- *
- * Releases - comma or space-separated list of releases in quints of os,ws,arch,type/name,filename,...
- * - eg., win32,win,x86,SDK,eclipse-SDK-3.2RC5-win32.zip,linux,gtk,x86_64,SDK,eclipse-SDK-3.2RC5-linux-gtk.tar.gz
- * - (for examples and definitions of ws, os + arch, see below)
- *
- * JUnitTestURL - URL of the build's JUnit test results - eg., http://servername/path/to/project/branch/buildID/testResults.php
- * performanceTestURL - URL of the build's performance tests - eg., http://servername/path/to/project/branch/buildID/performance/performance.php
- * APITestURL - URL of the build's API test results - eg., http://servername/path/to/project/branch/buildID/testResults.php
- *
- * JUnitTestResults - comma or space-separated list of test results in quads of os,ws,arch,status,os,ws,status,arch,... - eg., win32,win,x86,PASS,linux,gtk,x86,PASS
- * performanceTestResults - comma or space-separated list of test results in quads of os,ws,arch,status,os,ws,status,arch,... - eg., win32,win,x86_64,PASS,linux,gtk,x86_64,PASS
- * APITestResults - comma or space-separated list of test results in quads of os,ws,arch,status,os,ws,status,arch,... - eg., win32,win,ppc,PASS,linux,gtk,ppc,PASS
- * ws - window system - eg., ALL, win32, win64, linux, macos...
- * os - operating system - eg., ALL, win, gtk, motif, carbon, ...
- * arch - architecture, eg., ALL, x86, x86_64, ppc, ...
- * status - status code for test results - eg., one of: PASS, PENDING, FAIL, UNKNOWN, SKIPPED
- *
- * @author nickb
- *
- */
-public class RSSFeedAddEntryTask extends Task {
-
- private int debug = 0;
-
- private static final String now = getTimestamp();
-
- //$ANALYSIS-IGNORE codereview.java.rules.portability.RulePortabilityLineSeparators
- private static final String NL="\n"; //$NON-NLS-1$
- private static final String NS = ""; //$NON-NLS-1$
- private static final String SEP = "----"; //$NON-NLS-1$
- private static final String SP = " "; //$NON-NLS-1$
-
- private static final String splitter = "[,\t " + NL + "]+"; //$NON-NLS-1$ //$NON-NLS-2$
-
- //required fields
- private File file;
- private String project;
- private String branch;
- private String buildID;
- private String feedURL;
- private String buildURL;
-
- //optional
- private String buildAlias;
-
- //optional
- private String[] dependencyURLs = new String[] {};
-
- //optional
- private String releaseNotesURL;
- private String updateManagerURL;
- private String downloadsURL;
- private String jarSigningStatus;
- private String callistoStatus;
- private String buildType;
-
- //optional
- private String[] releases = new String[] {};
-
- //optional
- private String JUnitTestURL;
- private String performanceTestURL;
- private String APITestURL;
- private String[] JUnitTestResults;
- private String[] performanceTestResults;
- private String[] APITestResults;
-
- //optional
- public void setDebug(int debug) { this.debug = debug; }
-
- //required fields
- public void setFile(String file) {
- if (isNullString(file))
- { System.err.println(Messages.getString("RSSFeedCommon.FileError")); } //$NON-NLS-1$
- else
- { this.file = new File(file); }
- }
- public void setProject(String project) {
- if (isNullString(project))
- { System.err.println(Messages.getString("RSSFeedCommon.ProjectError")); } //$NON-NLS-1$
- else
- { this.project = project; }
- }
- public void setBranch(String branch) {
- if (isNullString(branch))
- { System.err.println(Messages.getString("RSSFeedAddEntryTask.BranchError")); } //$NON-NLS-1$
- else
- { this.branch = branch; }
- }
- public void setBuildID(String buildID) {
- if (isNullString(buildID))
- { System.err.println(Messages.getString("RSSFeedAddEntryTask.BuildIDError")); } //$NON-NLS-1$
- else
- { this.buildID = buildID; }
- }
- public void setFeedURL(String feedURL) {
- if (isNullString(feedURL))
- { System.err.println(Messages.getString("RSSFeedCommon.FeedURLError")); } //$NON-NLS-1$
- else
- { this.feedURL = feedURL; }
- }
- public void setBuildURL(String buildURL) {
- if (isNullString(buildURL))
- { System.err.println(Messages.getString("RSSFeedAddEntryTask.BuildURLError")); } //$NON-NLS-1$
- else
- { this.buildURL = buildURL; }
- }
-
- //optional: alias is usually something like "3.2.0M6"
- public void setBuildAlias(String buildAlias) { this.buildAlias = buildAlias; }
-
- //optional: upstream dependencies, eg., UML2 depends on emf and eclipse, so specify TWO URLs in properties file or ant task
- public void setDependencyURLs(String dependencyURLs) { if (!isNullString(dependencyURLs)) { this.dependencyURLs = dependencyURLs.split(splitter); } }
-
- //optional: define releases available in this build for a series of operating systems, windowing systems, and type
- public void setReleases(String releases) { if (!isNullString(releases)) { this.releases = releases.split(splitter); } }
-
- //optional: informational links to release notes, downloads, update manager
- public void setReleaseNotesURL(String releaseNotesURL) { this.releaseNotesURL = releaseNotesURL; }
- public void setUpdateManagerURL(String updateManagerURL) { this.updateManagerURL = updateManagerURL; }
- public void setDownloadsURL(String downloadsURL) { this.downloadsURL = downloadsURL; }
- public void setJarSigningStatus(String jarSigningStatus) { this.jarSigningStatus = jarSigningStatus; }
- public void setCallistoStatus(String callistoStatus) { this.callistoStatus = callistoStatus; }
- public void setBuildType(String buildType) {
- if (!isNullString(buildType))
- {
- this.buildType = buildType;
- }
- else
- {
- this.buildType = buildID.replaceAll("[^NIMSR]", NS); //$NON-NLS-1$
- if (this.buildType.length()>1)
- {
- this.buildType=this.buildType.substring(0, 1);
- }
- }
-
- }
-
- //optional: test URLs and results
- public void setJUnitTestURL(String JUnitTestURL) { this.JUnitTestURL = JUnitTestURL; }
- public void setPerformanceTestURL(String performanceTestURL) { this.performanceTestURL = performanceTestURL; }
- public void setAPITestURL(String APITestURL) { this.APITestURL = APITestURL; }
- public void setJUnitTestResults(String JUnitTestResults) { if (!isNullString(JUnitTestResults)) { this.JUnitTestResults = JUnitTestResults.split(splitter); } }
- public void setPerformanceTestResults(String performanceTestResults) { if (!isNullString(performanceTestResults)) { this.performanceTestResults = performanceTestResults.split(splitter); } }
- public void setAPITestResults(String APITestResults) { if (!isNullString(APITestResults)) { this.APITestResults = APITestResults.split(splitter); } }
-
- // The method executing the task
- public void execute() throws BuildException {
- if (debug>0) {
- System.out.println(Messages.getString("RSSFeedAddEntryTask.AddingEntryTo") + project + SP + Messages.getString("RSSFeedCommon.RSSFeedFile") + SP + file.toString() + ", " + Messages.getString("RSSFeedCommon.ToBePublishedAt") + feedURL); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- }
- updateFeedXML(file); // load previous
- }
-
- //$ANALYSIS-IGNORE codereview.java.rules.exceptions.RuleExceptionsSpecificExceptions
- private void updateFeedXML(File file){
- if (!file.exists()) {
- System.out.println(Messages.getString("RSSFeedCommon.RSSFeedFile") + SP + file.toString() + SP + Messages.getString("RSSFeedAddEntryTask.DoesNotExist")); //$NON-NLS-1$ //$NON-NLS-2$
- RSSFeedCreateFeedTask creator=new RSSFeedCreateFeedTask();
- creator.setFile(file.toString());
- creator.setFeedURL(feedURL);
- creator.setProject(project);
- creator.setDebug(debug);
- creator.execute();
- }
- DocumentBuilderFactory documentBuilderFactory=DocumentBuilderFactory.newInstance();
- documentBuilderFactory.setNamespaceAware(true);
- DocumentBuilder documentBuilder=null;
- try {
- documentBuilder=documentBuilderFactory.newDocumentBuilder();
- }
- catch (ParserConfigurationException e) {
- e.printStackTrace();
- }
- Document document=null;
- try {
- document=documentBuilder.parse(file);
- }
- catch (SAXException e) {
- e.printStackTrace();
- }
- catch (IOException e) {
- e.printStackTrace();
- }
-
- Transformer transformer = null;
- try {
- transformer = createTransformer("UTF-8"); //$NON-NLS-1$
- } catch (TransformerException e) {
- e.printStackTrace();
- }
-
- Element element=document.getDocumentElement();
- for (Node child=element.getFirstChild(); child != null; child=child.getNextSibling()) {
- if ("updated".equals(child.getLocalName())) { //$NON-NLS-1$
- if (debug > 0) {
- System.out.println(Messages.getString("RSSFeedCommon.Set") + " <" + child.getLocalName()+ ">"+ now+ "</"+ child.getLocalName()+ ">"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- }
- ((Element)child).setTextContent(now);
- }
- else if ("id".equals(child.getLocalName())) { //$NON-NLS-1$
- Node newNode=createEntry(document);
- if (debug > 0) {
- System.out.println(Messages.getString("RSSFeedAddEntryTask.AttachNew") + " <entry/>"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- try {
- if (debug > 0) {
- System.out.println(SEP); //$NON-NLS-1$
- transformer.transform(new DOMSource(newNode),new StreamResult(System.out));
- System.out.println(SEP); //$NON-NLS-1$
- }
- }
- catch (TransformerException e) {
- e.printStackTrace();
- }
- Node refNode=child.getNextSibling();
- element.insertBefore(document.createTextNode(NL + " "),refNode); //$NON-NLS-1$
- element.insertBefore(newNode,refNode);
- break;
- }
- }
- try {
- transformer.transform(new DOMSource(document),new StreamResult(new OutputStreamWriter(new FileOutputStream(file))));
- if (debug > 1) {
- System.out.println(SEP); //$NON-NLS-1$
- transformer.transform(new DOMSource(document),new StreamResult(System.out));
- System.out.println(SEP); //$NON-NLS-1$
- }
- }
- catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- catch (TransformerException e) {
- e.printStackTrace();
- }
- }
-
-
- private Element createEntry(Document document) {
-
-// <entry>
- Element entry = document.createElement("entry"); //$NON-NLS-1$
-
- String[] txt = { NL + " ", NL + " ", NL + " ", NL + " ", NL + " " , NL + " " }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- Element elem = null;
-
- String projectVersionString = project + SP + (!isNullString(buildAlias)? //$NON-NLS-1$
- (buildAlias.startsWith(branch) ?
- buildAlias + " (" + buildID + ")" : // 2.2.0RC2 (S200605051234) //$NON-NLS-1$ //$NON-NLS-2$
- buildAlias + " (" + branch + "." + buildID + ")") : // Foobar (2.2.0.S200605051234) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- branch + SP + buildID); // 2.2.0.S200605051234 //$NON-NLS-1$
-
- doVarSubs();
-
-// <title>[announce] " + project + SP + branch + SP + buildID + " is available</title>
- elem = document.createElement("title"); //$NON-NLS-1$
- elem.setTextContent(Messages.getString("RSSFeedAddEntryTask.AnnouncePrefix") + projectVersionString + SP + Messages.getString("RSSFeedAddEntryTask.IsAvailable")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- attachNode(document, entry, elem, txt[1]);
-
-// <link href=\"" + buildURL + "\"/>
- elem = document.createElement("link"); //$NON-NLS-1$
- elem.setAttribute("href", !isNullString(buildURL) ? buildURL : projectVersionString); //$NON-NLS-1$
- attachNode(document, entry, elem, txt[1]);
-
-// <id>" + buildURL + "</id>
- elem = document.createElement("id"); //$NON-NLS-1$
- elem.setTextContent(!isNullString(buildURL) ? buildURL : projectVersionString);
- attachNode(document, entry, elem, txt[1]);
-
-// <updated>" + getTimestamp() + "</updated>
- elem = document.createElement("updated"); //$NON-NLS-1$
- elem.setTextContent(now);
- attachNode(document, entry, elem, txt[1]);
-
-// <summary>
- Element summary = document.createElement("summary"); //$NON-NLS-1$
- attachNode(document, entry, summary, txt[1]);
-
-// <build callisto="" jars="" type="" href="" xmlns="http://www.eclipse.org/2006/BuildFeed">
- Element build = document.createElement("build"); //$NON-NLS-1$
- build.setAttribute("jars", jarSigningStatus); //$NON-NLS-1$
- build.setAttribute("callisto", callistoStatus); //$NON-NLS-1$
- build.setAttribute("type", buildType); //$NON-NLS-1$
- build.setAttribute("xmlns", "http://www.eclipse.org/2006/BuildFeed"); //$NON-NLS-1$ //$NON-NLS-2$
- if (!isNullString(buildURL)) {
- build.setAttribute("href",buildURL); //$NON-NLS-1$
- }
- attachNode(document, summary, build, txt[2]);
-
-// <update>" + usiteURL + "</update>
- if (!isNullString(updateManagerURL)) {
- elem = document.createElement("update"); //$NON-NLS-1$
- elem.setTextContent(updateManagerURL);
- attachNode(document, build, elem, txt[3]);
- }
-
-// <downloads>" + dropsURL + "</downloads>
- if (!isNullString(downloadsURL)) {
- elem = document.createElement("downloads"); //$NON-NLS-1$
- elem.setTextContent(downloadsURL);
- attachNode(document, build, elem, txt[3]);
- }
-
-// <releasenotes>" + releaseNotesURL + "</releasenotes>
- if (!isNullString(releaseNotesURL)) {
- elem = document.createElement("releasenotes"); //$NON-NLS-1$
- elem.setTextContent(releaseNotesURL);
- attachNode(document, build, elem, txt[3]);
- }
-
-// <releases>
-// <release os="" ws="" type=""> + filename + </release>
- if (releases!=null && releases.length>0) {
- if (releases.length % 5 != 0) {
- System.err.println(Messages.getString("RSSFeedAddEntryTask.WrongNumberOfVariables") + SP + Messages.getString("RSSFeedAddEntryTask.MustBeMultipleOf5") + SP + Messages.getString("RSSFeedAddEntryTask.InProperty") + SP + "releases"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
- Element releasesElem = document.createElement("releases"); //$NON-NLS-1$
- for (int i = 0; i < releases.length; i+=5)
- {
- Element release = document.createElement("release"); //$NON-NLS-1$
- release.setAttribute("os", releases[i]); //$NON-NLS-1$
- release.setAttribute("ws", releases[i+1]); //$NON-NLS-1$
- release.setAttribute("arch", releases[i+2]); //$NON-NLS-1$
- release.setAttribute("type", releases[i+3]); //$NON-NLS-1$
- release.setTextContent(varSub(releases[i+4]));
- attachNode(document, releasesElem, release, txt[4]);
- }
- attachNode(document, build, releasesElem, txt[3]);
- }
-
-// <tests>
- Element tests = document.createElement("tests"); //$NON-NLS-1$
-
-// <test type=\"junit\" href=\"" + JUnitTestURL + "\"/>
- if (!isNullString(JUnitTestURL)) {
- Element test = document.createElement("test"); //$NON-NLS-1$
- test.setAttribute("type", "junit"); //$NON-NLS-1$ //$NON-NLS-2$
- test.setAttribute("href", JUnitTestURL); //$NON-NLS-1$
- if (JUnitTestResults!=null && JUnitTestResults.length>0) {
- if (JUnitTestResults.length % 4 != 0) {
- System.err.println(Messages.getString("RSSFeedAddEntryTask.WrongNumberOfVariables") + SP + Messages.getString("RSSFeedAddEntryTask.MustBeMultipleOf4") + SP + Messages.getString("RSSFeedAddEntryTask.InProperty") + SP + "JUnitTestResults"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
- for (int i = 0; i < JUnitTestResults.length; i+=4)
- {
- Element result = document.createElement("result"); //$NON-NLS-1$
- result.setAttribute("os", JUnitTestResults[i]); //$NON-NLS-1$
- result.setAttribute("ws", JUnitTestResults[i+1]); //$NON-NLS-1$
- result.setAttribute("arch", JUnitTestResults[i+2]); //$NON-NLS-1$
- result.setTextContent(JUnitTestResults[i+3]);
- attachNode(document, test, result, txt[5]);
- }
- // extra space to close containing tag
- elem.appendChild(document.createTextNode(txt[4]));
- }
- attachNode(document, tests, test, txt[4]);
- }
-
-// <test type=\"performance\" href=\"" + performanceTestURL + "\"/>
- if (!isNullString(performanceTestURL)) {
- Element test = document.createElement("test"); //$NON-NLS-1$
- test.setAttribute("type", "performance"); //$NON-NLS-1$ //$NON-NLS-2$
- test.setAttribute("href", performanceTestURL); //$NON-NLS-1$
- if (performanceTestResults!=null && performanceTestResults.length>0) {
- if (performanceTestResults.length % 4 != 0) {
- System.err.println(Messages.getString("RSSFeedAddEntryTask.WrongNumberOfVariables") + SP + Messages.getString("RSSFeedAddEntryTask.MustBeMultipleOf4") + SP + Messages.getString("RSSFeedAddEntryTask.InProperty") + SP + "performanceTestResults"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
- for (int i = 0; i < performanceTestResults.length; i+=4)
- {
- Element result = document.createElement("result"); //$NON-NLS-1$
- result.setAttribute("os", performanceTestResults[i]); //$NON-NLS-1$
- result.setAttribute("ws", performanceTestResults[i+1]); //$NON-NLS-1$
- result.setAttribute("arch", performanceTestResults[i+2]); //$NON-NLS-1$
- result.setTextContent(performanceTestResults[i+3]);
- attachNode(document, test, result, txt[5]);
- }
- // extra space to close containing tag
- test.appendChild(document.createTextNode(txt[4]));
- }
- attachNode(document, tests, test, txt[4]);
- }
-
-// <test type=\"performance\" href=\"" + performanceTestURL + "\"/>
- if (!isNullString(APITestURL)) {
- Element test = document.createElement("test"); //$NON-NLS-1$
- test.setAttribute("type", "api"); //$NON-NLS-1$ //$NON-NLS-2$
- test.setAttribute("href", APITestURL); //$NON-NLS-1$
- if (APITestResults!=null && APITestResults.length>0) {
- if (APITestResults.length % 4 != 0) {
- System.err.println(Messages.getString("RSSFeedAddEntryTask.WrongNumberOfVariables") + SP + Messages.getString("RSSFeedAddEntryTask.MustBeMultipleOf4") + SP + Messages.getString("RSSFeedAddEntryTask.InProperty") + SP + "APITestResults"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
- for (int i = 0; i < APITestResults.length; i+=4)
- {
- Element result = document.createElement("result"); //$NON-NLS-1$
- result.setAttribute("os", APITestResults[i]); //$NON-NLS-1$
- result.setAttribute("ws", APITestResults[i+1]); //$NON-NLS-1$
- result.setAttribute("arch", APITestResults[i+2]); //$NON-NLS-1$
- result.setTextContent(APITestResults[i+3]);
- attachNode(document, tests, result, txt[5]);
- }
- // extra space to close containing tag
- test.appendChild(document.createTextNode(txt[4]));
- }
- attachNode(document, tests, test, txt[4]);
- }
-
- attachNode(document, build, tests, txt[3]);
-
- if (dependencyURLs!=null && dependencyURLs.length>0) {
- // <dependencies>
- // <dependency>" + dependencyURL + "</dependency>
- Element dependencies = document.createElement("dependencies"); //$NON-NLS-1$
- for (int i = 0; i < dependencyURLs.length; i++)
- {
- elem = document.createElement("dependency"); //$NON-NLS-1$
- elem.setTextContent(dependencyURLs[i]);
- attachNode(document, dependencies, elem, txt[4]);
- }
- attachNode(document, build, dependencies, txt[3]);
- }
-
- return entry;
- }
-
- //$ANALYSIS-IGNORE codereview.java.rules.exceptions.RuleExceptionsSpecificExceptions
- private void attachNode(Document document,Element entry,Element elem,String txt){
- entry.appendChild(document.createTextNode(txt));
- entry.appendChild(elem);
- }
-
- private static String getTimestamp() { // eg., 2006-04-10T20:40:08Z
- return DateUtils.format(new Date(), DateUtils.ISO8601_DATETIME_PATTERN) + "Z"; //$NON-NLS-1$
- }
-
- private void doVarSubs()
- {
- feedURL = varSub(feedURL);
- buildURL = varSub(buildURL);
-
- releaseNotesURL = varSub(releaseNotesURL);
- updateManagerURL = varSub(updateManagerURL);
- downloadsURL = varSub(downloadsURL);
-
- JUnitTestURL = varSub(JUnitTestURL);
- performanceTestURL = varSub(performanceTestURL);
- APITestURL = varSub(APITestURL);
- }
-
- public static Transformer createTransformer(String encoding) throws TransformerException
- {
- TransformerFactory transformerFactory = TransformerFactory.newInstance();
-
- try
- {
- transformerFactory.setAttribute("indent-number", new Integer(2)); //$NON-NLS-1$
- }
- catch (IllegalArgumentException exception)
- {
- }
-
- Transformer transformer = transformerFactory.newTransformer();
-
- transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
- transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-
- // Unless a width is set, there will be only line breaks but no indentation.
- // The IBM JDK and the Sun JDK don't agree on the property name,
- // so we set them both.
- //
- transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2"); //$NON-NLS-1$ //$NON-NLS-2$
- transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); //$NON-NLS-1$ //$NON-NLS-2$
- if (encoding != null)
- {
- transformer.setOutputProperty(OutputKeys.ENCODING, encoding);
- }
- return transformer;
- }
-
- /*
- * variable substitution in URLs - eg., replace %%branch%% and %%buildID%% in buildURL
- */
- private String varSub(String urlstring)
- {
- if (!isNullString(urlstring) && urlstring.indexOf("%%")>=0) //$NON-NLS-1$
- {
- return urlstring.replaceAll(Messages.getString("RSSFeedAddEntryTask.BranchKeyword"), branch).replaceAll(Messages.getString("RSSFeedAddEntryTask.BuildIDKeyword"), buildID).replaceAll(Messages.getString("RSSFeedAddEntryTask.BuildAliasKeyword"), buildAlias); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- return urlstring;
- }
-
- private static boolean isNullString(String str)
- {
- return RSSFeedUtil.isNullString(str);
- }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedCreateFeedTask.java b/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedCreateFeedTask.java
deleted file mode 100644
index 042c0cf..0000000
--- a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedCreateFeedTask.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.releng.generators.rss;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.util.Date;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.util.DateUtils;
-
-import org.eclipse.releng.util.rss.Messages;
-import org.eclipse.releng.util.rss.RSSFeedUtil;
-
-//TODO: bug - can't run CreateFeed and AddEntry back when debug=2
-
-/**
- * Parameters:
- * debug - more output to console - eg., 0|1|2
- *
- * file - path to the XML file that will be created - eg., /path/to/file.to.create.xml
- * project - project's name, used to label the feed - eg., Eclipse, EMF, UML2
- * feedURL - URL of the feed where it will be published - eg., http://servername/path/to/feed.xml
- * @author nickb
- *
- */
-public class RSSFeedCreateFeedTask extends Task {
-
- private int debug = 0;
-
- //$ANALYSIS-IGNORE codereview.java.rules.portability.RulePortabilityLineSeparators
- private static final String NL="\n"; //$NON-NLS-1$
- private static final String NS = ""; //$NON-NLS-1$
- private static final String SP = " "; //$NON-NLS-1$
-
- //required fields
- private File file;
- private String project;
- private String feedURL;
-
- //optional
- public void setDebug(int debug) { this.debug = debug; }
-
- //required fields
- public void setFile(String file) {
- if (isNullString(file))
- { System.err.println(Messages.getString("RSSFeedCommon.FileError")); } //$NON-NLS-1$
- else
- { this.file = new File(file); }
- }
- public void setProject(String project) {
- if (isNullString(project))
- { System.err.println(Messages.getString("RSSFeedCommon.ProjectError")); } //$NON-NLS-1$
- else
- { this.project = project; }
- }
- public void setFeedURL(String feedURL) {
- if (isNullString(feedURL))
- { System.err.println(Messages.getString("RSSFeedCommon.FeedURLError")); } //$NON-NLS-1$
- else
- { this.feedURL = feedURL; }
- }
-
- // The method executing the task
- public void execute() throws BuildException {
- if (debug>0) {
- System.out.println(Messages.getString("RSSFeedCreateFeedTask.Creating") + project + SP + Messages.getString("RSSFeedCommon.RSSFeedFile") + SP + file.toString() + ", " + Messages.getString("RSSFeedCommon.ToBePublishedAt") + feedURL); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- }
- writeFeedXML(createFeedXML(),file);
- if (debug>1) {
- writeFeedXML(createFeedXML(),System.out);
- }
- }
-
- private String createFeedXML() {
- StringBuffer sb = new StringBuffer();
- sb.append("<?xml-stylesheet href=\"http://www.blogger.com/styles/atom.css\" type=\"text/css\"?>" + NL); //$NON-NLS-1$
- sb.append("<feed xmlns=\"http://www.w3.org/2005/Atom\">" + NL); //$NON-NLS-1$
- sb.append(" <title>" + project + SP + Messages.getString("RSSFeedCreateFeedTask.Builds") + "</title>" + NL); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- sb.append(" <link rel=\"self\" type=\"application/atom+xml\" href=\"" + (!isNullString(feedURL)?feedURL:NS) + "\"/>" + NL); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- sb.append(" <updated>" + getTimestamp() + "</updated>" + NL); //$NON-NLS-1$ //$NON-NLS-2$
- sb.append(" <author>" + NL); //$NON-NLS-1$
- sb.append(" <name>" + (!isNullString(project)?project + SP : NS) + Messages.getString("RSSFeedCreateFeedTask.BuildTeam") + "</name>" + NL); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- sb.append(" </author>" + NL); //$NON-NLS-1$
- sb.append(" <id>" + (!isNullString(feedURL)?feedURL:NS) + "</id>" + NL); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- sb.append("</feed>" + NL + NL); //$NON-NLS-1$
- return sb.toString();
- }
-
- private void writeFeedXML(String feedXML,File file) {
- try{
- PrintWriter writer = new PrintWriter(new FileWriter(file));
- writer.println(feedXML);
- writer.flush();
- writer.close();
- } catch (IOException e){
- System.out.println(Messages.getString("RSSFeedCreateFeedTask.UnableToWriteToFile")+file); //$NON-NLS-1$
- }
-
- }
-
- private void writeFeedXML(String feedXML, PrintStream ps) {
- PrintWriter writer = new PrintWriter(ps);
- writer.println(feedXML);
- writer.flush();
- writer.close();
- }
-
- private String getTimestamp() { // eg., 2006-04-10T20:40:08Z
- return DateUtils.format(new Date(), DateUtils.ISO8601_DATETIME_PATTERN) + "Z"; //$NON-NLS-1$
- }
-
- private static boolean isNullString(String str)
- {
- return RSSFeedUtil.isNullString(str);
- }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedGetPropertyTask.java b/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedGetPropertyTask.java
deleted file mode 100644
index b8f4855..0000000
--- a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedGetPropertyTask.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.releng.generators.rss;
-
-import java.io.File;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-
-import org.eclipse.releng.util.rss.Messages;
-import org.eclipse.releng.util.rss.RSSFeedUtil;
-
-/**
- * Parameters:
- * debug - more output to console - eg., 0|1|2
- *
- * file - path to the XML file that will be read - eg., /path/to/file.to.read.xml
- * xpath - xpath string representing the object to read
- *
- * @author nickb
- *
- */
-public class RSSFeedGetPropertyTask extends Task {
-
- private int debug = 0;
-
- //required fields
- private File file;
-
- private String xpath;
-
- //optional
- public void setDebug(int debug) { this.debug = debug; }
-
- //required fields
- public void setFile(String file) {
- if (isNullString(file))
- { System.err.println(Messages.getString("RSSFeedCommon.FileError")); } //$NON-NLS-1$
- else
- { this.file = new File(file); }
- }
- public void setXpath(String xpath) {
- if (isNullString(xpath))
- { System.err.println(Messages.getString("RSSFeedCommon.XpathError")); } //$NON-NLS-1$
- else
- { this.xpath = xpath; }
- }
-
- // The method executing the task
- public void execute() throws BuildException {
- RSSFeedUpdateEntryTask updater = new RSSFeedUpdateEntryTask();
- updater.setFile(file.toString());
- updater.setXpath(xpath);
- updater.setDebug(debug);
- updater.execute();
- }
-
- private static boolean isNullString(String str)
- {
- return RSSFeedUtil.isNullString(str);
- }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedUpdateEntryTask.java b/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedUpdateEntryTask.java
deleted file mode 100644
index 417b8bb..0000000
--- a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/generators/rss/RSSFeedUpdateEntryTask.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.releng.generators.rss;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.util.Date;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.util.DateUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.xml.sax.SAXException;
-
-import org.eclipse.releng.util.rss.Messages;
-import org.eclipse.releng.util.rss.RSSFeedUtil;
-
-/**
- * Parameters:
- * debug - more output to console - eg., 0|1|2
- *
- * file - path to the XML file that will be read - eg., /path/to/file.to.read.xml
- * xpath - xpath string representing the object to modify
- * replacement - string to use as replacement
- *
- * @author nickb
- *
- */
-public class RSSFeedUpdateEntryTask extends Task {
-
- private int debug = 0;
-
- private static final String now = getTimestamp();
-
- private static final XPath xp = XPathFactory.newInstance().newXPath();
-
- private static final String NS = ""; //$NON-NLS-1$
- private static final String SEP = "----"; //$NON-NLS-1$
- private static final String SP = " "; //$NON-NLS-1$
-
- //required fields
- private File file;
-
- private String xpath;
- private String replacement;
-
- private Transformer transformer = null;
-
- private boolean isNodeFound = false;
- private boolean isNodeChanged = false;
- private Node foundNode = null;
-
- //optional
- public void setDebug(int debug) { this.debug = debug; }
-
- //required fields
- public void setFile(String file) {
- if (isNullString(file))
- { System.err.println(Messages.getString("RSSFeedCommon.FileError")); } //$NON-NLS-1$
- else
- { this.file = new File(file); }
- }
- public void setXpath(String xpath) {
- if (isNullString(xpath))
- { System.err.println(Messages.getString("RSSFeedCommon.XpathError")); } //$NON-NLS-1$
- else
- { this.xpath = xpath; }
- }
-
- //optional - if null, display value found instead of changing it - see RSSFeedGetPropertyTask
- public void setReplacement(String replacement) { this.replacement = replacement; }
-
- // The method executing the task
- public void execute() throws BuildException {
- if (debug>0) {
- System.out.println(Messages.getString("RSSFeedUpdateEntryTask.SearchingFor") + SP + xpath + (!isNullString(replacement)?", " + Messages.getString("RSSFeedUpdateEntryTask.ReplacingWith") + " '" + replacement + "'":NS)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
- }
- updateFeedXML(file); // load previous
- }
-
- //$ANALYSIS-IGNORE codereview.java.rules.exceptions.RuleExceptionsSpecificExceptions
- private void updateFeedXML(File file){
- if (file.exists()) {
- DocumentBuilderFactory documentBuilderFactory=DocumentBuilderFactory.newInstance();
- documentBuilderFactory.setNamespaceAware(true);
- DocumentBuilder documentBuilder=null;
- try {
- documentBuilder=documentBuilderFactory.newDocumentBuilder();
- }
- catch (ParserConfigurationException e) {
- e.printStackTrace();
- }
- Document document=null;
- try {
- document=documentBuilder.parse(file);
- }
- catch (SAXException e) {
- e.printStackTrace();
- }
- catch (IOException e) {
- e.printStackTrace();
- }
-
- try {
- transformer = RSSFeedAddEntryTask.createTransformer("UTF-8"); //$NON-NLS-1$
- } catch (TransformerException e) {
- e.printStackTrace();
- }
-
- if (!isNullString(replacement)) {
- setEntryNodeUpdate(document.getDocumentElement());
- }
- Node newNode=findAndReplace(document);
- if (debug > 1 && newNode != null) {
- try {
- System.out.println(SEP);
- transformer.transform(new DOMSource(newNode),new StreamResult(System.out));
- System.out.println(SEP);
- }
- catch (TransformerException e) {
- e.printStackTrace();
- }
- }
- if (!isNullString(replacement) && newNode != null) {
- try {
- transformer.transform(new DOMSource(document),new StreamResult(new PrintStream(file)));
- }
- catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- catch (TransformerException e) {
- e.printStackTrace();
- }
- }
- }
- else {
- System.out.println(Messages.getString("RSSFeedCommon.RSSFeedFile") + SP + file.toString()+ " "+ Messages.getString("RSSFeedUpdateEntryTask.DoesNotExist")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
- }
-
- // get/set the desired node
- public Node getFoundNode()
- {
- return this.foundNode;
- }
- private void setFoundNode(Node foundNode)
- {
- this.foundNode = foundNode;
- }
-
- // has the desired node been found?
- public boolean getNodeFound()
- {
- return this.isNodeFound;
- }
- private void setNodeFound(boolean isNodeFound)
- {
- this.isNodeFound = isNodeFound;
- }
-
- // has the desired node been changed?
- public boolean getNodeChanged()
- {
- return this.isNodeChanged;
- }
- private void setNodeChanged(boolean isNodeChanged)
- {
- this.isNodeChanged = isNodeChanged;
- }
-
- /**
- * Modify an entry:
- *
- * <entry>
- * <title/>
- * <link href=""/>
- * <id/>
- * <updated/>
- * <summary>
- * ...
- * </summary>
- * </entry>
- */
- private Node findAndReplace(Document document) {
- Node parentEntryNode = null;
- Node aNode = null;
- if (debug==0) { System.out.print(xpath + (isNullString(replacement)?" = ":" :: ")); } //$NON-NLS-1$ //$NON-NLS-2$
- NodeList nodelist = getNodeList(document, xpath);
- // Process the elements in the nodelist
- if (nodelist != null && nodelist.getLength()>0) {
- for (int i=0; i<nodelist.getLength(); i++) {
- Node node = (Node)nodelist.item(i);
- switch (node.getNodeType())
- {
- case Node.ATTRIBUTE_NODE :
- aNode = (Attr)nodelist.item(i);
- if (debug>0) { System.out.print(Messages.getString("RSSFeedUpdateEntryTask.DebugFoundAttribute")); } //$NON-NLS-1$
- break;
-
- case Node.ELEMENT_NODE :
- aNode = (Element)nodelist.item(i);
- if (debug>0) { System.out.print(Messages.getString("RSSFeedUpdateEntryTask.DebugFoundElement")); } //$NON-NLS-1$
- break;
-
- case Node.TEXT_NODE :
- aNode = (Text)nodelist.item(i);
- if (debug>0) { System.out.print(Messages.getString("RSSFeedUpdateEntryTask.DebugFoundText")); } //$NON-NLS-1$
- break;
-
- default:
- aNode = null;
- break;
- }
- if (aNode != null) {
- setFoundNode(aNode);
- setNodeFound(true);
- System.out.print((debug>0?aNode.getNodeName() + " = ":NS) + aNode.getNodeValue()); //$NON-NLS-1$ //$NON-NLS-2$
- if (!isNullString(replacement)) { aNode.setTextContent(replacement); }
- System.out.println(isNullString(replacement)?NS:" => " + replacement); //$NON-NLS-1$ //$NON-NLS-2$
- if (debug>0) {
- try
- {
- // write to console
- System.out.println(SEP); //$NON-NLS-1$
- transformer.transform(new DOMSource(getParentNode(document,aNode,null,NS)), new StreamResult(System.out)); //$NON-NLS-1$
- System.out.println(SEP); //$NON-NLS-1$
- }
- catch (TransformerException e)
- {
- e.printStackTrace();
- }
- }
- if (!isNullString(replacement)) {
- parentEntryNode = getParentNode(document, aNode, "entry", NS); //$NON-NLS-1$ //$NON-NLS-2$
- setEntryNodeUpdate(parentEntryNode);
- }
- }
- }
- } else {
- System.out.println(Messages.getString("RSSFeedUpdateEntryTask.XpathNodeNotFound")); //$NON-NLS-1$
- }
- return parentEntryNode;
- }
-
- private Node getParentNode(Document document, Node nodeIn, String target, String indent)
- {
- Node node = nodeIn;
- if (node.getNodeType() != Node.ELEMENT_NODE) {
- if (debug>1) { System.out.println(indent + Messages.getString("RSSFeedUpdateEntryTask.DebugGotATNode") + node.getNodeName()); } //$NON-NLS-1$
- // get the element for the attrib/text node
- NodeList nodelist = getNodeList(document, xpath.substring(0, xpath.lastIndexOf("/")));
- if (nodelist !=null && nodelist.getLength()>0)
- {
- for (int i=0; i<nodelist.getLength(); i++) {
- node = (Node)nodelist.item(i);
- break;
- }
- }
- }
- if (debug>1) { System.out.println(indent + Messages.getString("RSSFeedUpdateEntryTask.DebugGotENode") + node.getNodeName() + " (" + node.getNodeType() + ")"); } //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (!isNullString(target) && !node.getNodeName().equals(target))
- {
- node = getParentNode(document, node.getParentNode(), target, indent + "_ "); //$NON-NLS-1$
- }
- return node;
- }
-
- private NodeList getNodeList(Document document, String xpath)
- {
- NodeList nodelist = null;
- try
- {
- xp.reset();
- Object o = xp.evaluate(xpath, document, XPathConstants.NODESET);
- if (o instanceof NodeList)
- {
- nodelist = (NodeList)o;
- }
- }
- catch (XPathExpressionException e)
- {
- e.printStackTrace();
- }
- return nodelist;
- }
-
- //$ANALYSIS-IGNORE codereview.java.rules.exceptions.RuleExceptionsSpecificExceptions
- private void setEntryNodeUpdate(Node parentEntryNode){
- for (Node child=parentEntryNode.getFirstChild(); child != null; child=child.getNextSibling()) {
- if ("updated".equals(child.getLocalName())) { //$NON-NLS-1$
- if (debug > 0) {
- System.out.println(Messages.getString("RSSFeedCommon.Set") + " <" + child.getLocalName()+ ">"+ now+ "</"+ child.getLocalName()+ ">"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- }
- ((Element)child).setTextContent(now);
- setNodeChanged(true);
- break;
- }
- }
- }
-
-
- private static String getTimestamp() { // eg., 2006-04-10T20:40:08Z
- return DateUtils.format(new Date(), DateUtils.ISO8601_DATETIME_PATTERN) + "Z"; //$NON-NLS-1$
- }
-
- private static boolean isNullString(String str)
- {
- return RSSFeedUtil.isNullString(str);
- }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/services/rss/RSSFeedPublisherTask.java b/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/services/rss/RSSFeedPublisherTask.java
deleted file mode 100644
index b26e7f9..0000000
--- a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/services/rss/RSSFeedPublisherTask.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.releng.services.rss;
-
-//TODO: enable support for running task on Windows (problems with ssh, scp, cvs)
-//TODO: enable support for connecting to Windows server? (`mkdir -p` not supported)
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-
-import org.eclipse.releng.util.rss.Messages;
-import org.eclipse.releng.util.rss.RSSFeedUtil;
-
-/**
- * Parameters:
- * debug - more output to console - eg., 0|1|2
- *
- * file - path to the XML file that will be published - eg., /path/to/file.to.publish.xml
- *
- * cvsExec - path to the executable for cvs, eg., /usr/bin/cvs
- * cvsRoot - cvs root used to commit the file - eg., username@cvsserver:/cvsroot/path
- * cvsPath - cvs module to update - eg., project/news/ (into which builds.xml would go)
- * cvsTemp - path to the temp folder to use for cvs checkout
- *
- * scpExec - path to the executable for scp, eg., /usr/bin/scp
- * scpTarget - scp target path for publishing the file - eg., username@server:/path/to/target/file.xml
- *
- * Optionally, if the target folder might not exist, you can use ssh to create it before scp'ing
- * sshExec - path to the executable for ssh, eg., /usr/bin/ssh
- *
- * @author nickb
- *
- */
-public class RSSFeedPublisherTask extends Task {
-
- private int debug = 0;
-
- private static final String CL = ":"; //$NON-NLS-1$
- private static final String FS = File.separator;
- private static final String SP = " "; //$NON-NLS-1$
-
- // default values for optional fields
- private static final String DEFAULT_CVSTemp = "/tmp/tmp-RSSFeedPublisherTask"; //$NON-NLS-1$
- private static final String DEFAULT_CVSExec = "cvs"; //$NON-NLS-1$
- private static final String DEFAULT_SCPExec = "scp"; //$NON-NLS-1$
-
- private static final RSSFeedUtil util = new RSSFeedUtil();
-
- //required fields
- private File file;
-
- // required if doing CVS
- private String CVSExec;
- private String CVSRoot;
- private String CVSPath;
- private String CVSTemp;
-
- // required if doing SCP
- private String SCPExec;
- private String SCPTarget;
-
- // required if doing SCP and target dir may not already exist
- private String SSHExec;
-
- //optional
- public void setDebug(int debug) { this.debug = debug; }
-
- //required
- public void setFile(String file) {
- if (!isNullString(file)) { this.file = new File(file); }
- }
-
- //required for CVS commit (with default)
- public void setCVSExec(String CVSExec) {
- if (!isNullString(CVSExec)) {
- this.CVSExec = CVSExec;
- } else {
- this.CVSExec = DEFAULT_CVSExec;
- }
- }
-
- //required for CVS commit
- public void setCVSRoot(String CVSRoot) { this.CVSRoot = CVSRoot; }
- public void setCVSPath(String CVSPath) { this.CVSPath = CVSPath; }
-
- //required for CVS commit (with default)
- public void setCVSTemp(String CVSTemp) {
- if (!isNullString(CVSTemp)) {
- this.CVSTemp = CVSTemp;
- } else {
- this.CVSTemp = DEFAULT_CVSTemp;
- }
- }
-
- //required for CVS commit (with default)
- public void setSCPExec(String SCPExec) {
- if (!isNullString(SCPExec)) {
- this.SCPExec = SCPExec;
- } else {
- this.SCPExec = DEFAULT_SCPExec;
- }
- }
- public void setSCPTarget(String SCPTarget) { this.SCPTarget = SCPTarget; }
-
- // required if doing SCP and target dir may not already exist (with default, not assigned)
- public void setSSHExec(String SSHExec) {
- this.SSHExec = SSHExec;
- }
-
- // The method executing the task
- public void execute() throws BuildException {
-
- if (file==null || !file.exists() || !file.isFile()) {
- System.err.println(Messages.getString("RSSFeedPublisherTask.ErrorInvalidFile") + CL + SP + file + "!"); //$NON-NLS-1$ //$NON-NLS-2$
- } else {
- if (debug>0) { System.out.println(Messages.getString("RSSFeedPublisherTask.Publish") + SP + file); } //$NON-NLS-1$
- if ((!isNullString(CVSRoot) && !isNullString(CVSPath)) || !isNullString(SCPTarget)) {
- if ((!isNullString(CVSRoot) && !isNullString(CVSPath))) {
- commitFeedToCVS();
- }
- if (!isNullString(SCPTarget)) {
- publishFeedWithSCP();
- }
- } else {
- System.err.println(Messages.getString("RSSFeedPublisherTask.ErrorNothingToDo")); //$NON-NLS-1$
- }
- }
- }
-
- private void commitFeedToCVS()
- {
- if (debug>1) {
- System.out.println(Messages.getString("RSSFeedPublisherTask.UsingCVSRoot") + SP + CVSRoot); //$NON-NLS-1$
- System.out.println(Messages.getString("RSSFeedPublisherTask.UsingCVSPath") + SP + CVSPath); //$NON-NLS-1$
- }
-// <!-- 3. get filename (eg., builds.xml) from file (which could include a path, eg. ./data/news/builds.xml) -->
-// <pathconvert property="filename"><path path="${file}"/><mapper type="flatten"/></pathconvert>
- String filename = file.getName();
-
-// <!-- 4. create target temp folder & check out existing version from CVS -->
-// <mkdir dir="${cvsTemp}"/>
- File CVSTempDir = new File(CVSTemp);
- if (CVSTempDir.isFile()) { // if dir exists as a file, we need a new tmp folder name
- CVSTemp += ".tmp"; //$NON-NLS-1$
- CVSTempDir = new File(CVSTemp);
- }
- if (CVSTempDir.isDirectory()) {
- if (!CVSTempDir.delete()) {
- System.err.println(Messages.getString("RSSFeedPublisherTask.ErrorCouldNotDeleteTempFolder") + SP + CVSTempDir); //$NON-NLS-1$
- }
- }
- CVSTempDir.mkdir();
- if (debug>1) {
- System.out.println(Messages.getString("RSSFeedPublisherTask.UsingCVSTemp") + SP + CVSTempDir); //$NON-NLS-1$
- }
-
-// <exec executable="${cvsExec}" dir="${cvsTemp}"><arg line="-d ${cvsRoot} co -d checkoutDir ${cvsPath}"/></exec>
- runCVSExecTask("co -d checkoutDir" + SP + CVSPath, CVSTemp); //$NON-NLS-1$
-
-// <!-- 5. check if the file already exists in CVS to see if we need to add it -->
-// <available file="${cvsTemp}/checkoutDir/${filename}" type="file" property="fileInCVS"/>
- File destFile = new File(CVSTemp + FS + "checkoutDir" + FS + filename); //$NON-NLS-1$
- boolean fileInCVS = destFile.isFile();
-
-// <!-- 6. overwrite CVS copy with new version; or if new, copy file to destination for add then check-in -->
-// <copy file="../${file}" overwrite="true" todir="${cvsTemp}/checkoutDir"/>
- try
- {
- RSSFeedUtil.transferData(new FileInputStream(file),new FileOutputStream(destFile));
- }
- catch (FileNotFoundException e)
- {
- e.printStackTrace();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
-
-// <!-- 7. add to CVS (if new) -->
-// <antcall target="addFileToCVS"/>
-// <!-- 7. Add file to CVS (if file is new) -->
-// <target name="addFileToCVS" depends="init" unless="fileInCVS" description="Add file to CVS (if file is new)">
-// <exec executable="${cvsExec}" dir="${cvsTemp}/checkoutDir"><arg line="-d ${cvsRoot} add ${filename}"/></exec>
-// </target>
- if (!fileInCVS) {
- runCVSExecTask("add " + filename, CVSTemp + FS + "checkoutDir"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
-// <!-- 8. check in file -->
-// <exec executable="${cvsExec}" dir="${cvsTemp}/checkoutDir"><arg line="-d ${cvsRoot} ci -m '' ${filename}"/></exec>
- runCVSExecTask("ci -m '' " + filename, CVSTemp + FS + "checkoutDir"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- private void publishFeedWithSCP()
- {
- if (debug>1) {
- System.out.println(Messages.getString("RSSFeedPublisherTask.PublishToSCPTarget") + SP + SCPTarget); //$NON-NLS-1$
- }
-
-// <exec executable="${sshExec}"><arg line="${sshMakeDirCommand}"/></exec>
- if (!isNullString(SSHExec) && SCPTarget.indexOf(CL)>0) {
- String userAtHost = SCPTarget.substring(0, SCPTarget.indexOf(CL));
- String targetPath = SCPTarget.substring(SCPTarget.indexOf(CL)+1,SCPTarget.lastIndexOf(FS));
- util.runExecTask(SSHExec, userAtHost + " \"mkdir -p" + SP + targetPath + "\"", null); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
-// <exec executable="${scpExec}" dir="../"><arg line="${file} ${scpTarget}"/></exec>
- util.runExecTask(SCPExec, file.toString() + SP + SCPTarget, null);
- }
-
- private void runCVSExecTask(String task, String dir)
- {
- util.runExecTask(CVSExec, "-d " + CVSRoot + " -q " + task, dir); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- private static boolean isNullString(String str)
- {
- return RSSFeedUtil.isNullString(str);
- }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/services/rss/RSSFeedWatcherTask.java b/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/services/rss/RSSFeedWatcherTask.java
deleted file mode 100644
index 085d46c..0000000
--- a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/services/rss/RSSFeedWatcherTask.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.releng.services.rss;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.taskdefs.ExecTask;
-
-import org.eclipse.releng.generators.rss.RSSFeedUpdateEntryTask;
-import org.eclipse.releng.util.rss.Messages;
-import org.eclipse.releng.util.rss.RSSFeedUtil;
-
-/**
- * Parameters:
- * debug - more output to console - eg., 0|1|2
- *
- * file - path to the XML file that will be published - eg., /path/to/file.to.publish.xml
- * feedURL - URL of the feed where it will be published - eg., http://servername/path/to/feed.xml
- *
- * feedWatchActions - semi-comma-separated list of triplets:
- * (Xpath to watch for); (what to execute if condition is met); (commandline args to the executable)...
- * eg., to watch for ANY change in the feed and respond by sending email
- * /*[name() = 'feed']/*[name() = 'updated']/text(); sendEmailAlert.sh; null
- * eg., to watch for ANY changes in the current build
- * //*[name() = 'entry'][1]/*[name() = 'updated']/text(); sendEmailAlert.sh; null
- * eg., to watch for changes in the current build's performance test results on linux-gtk
- * //*[name() = 'entry'][1]/*[name() = 'summary']/*[@type = 'performance'][1]/*[name() = 'results'][@os = 'linux'][@ws = 'gtk']/text(); sendEmailAlert.sh; null
- *
- * @author nickb
- *
- */
-public class RSSFeedWatcherTask extends Task {
-
- private int debug = 0;
-
- private static final String CL = ":"; //$NON-NLS-1$
- private static final String DOT = "."; //$NON-NLS-1$
- private static final String NS = ""; //$NON-NLS-1$
- private static final String SP = " "; //$NON-NLS-1$
-
- private static final String splitter = "[;\t\r\n]+"; //$NON-NLS-1$
-
- private static final String feedWatchActionError = "feedWatchAction.Error"; //$NON-NLS-1$
- private static final String feedWatchActionOuput = "feedWatchAction.Output"; //$NON-NLS-1$
- private static final String feedWatchActionResult = "feedWatchAction.Result"; //$NON-NLS-1$
- private static final String feedWatchActionNewValue = "feedWatchAction.NewValue"; //$NON-NLS-1$
- private static final String feedWatchActionOldValue = "feedWatchAction.OldValue"; //$NON-NLS-1$
- private static final String feedWatchActionTheValue = "feedWatchAction.TheValue"; //$NON-NLS-1$
-
- private static final RSSFeedUtil util = new RSSFeedUtil();
-
- //required fields
- private File file;
- private File tmpFile;
- private String feedURL;
- private String[] feedWatchActions = new String[] {};
-
- //optional
- public void setDebug(int debug) { this.debug = debug; }
-
- //required
- public void setFile(String file) {
- if (!isNullString(file)) {
- this.file = new File(file);
- this.tmpFile = new File(file + ".tmp"); //$NON-NLS-1$
- }
- }
- public void setFeedURL(String feedURL) {
- if (isNullString(feedURL))
- { System.err.println(Messages.getString("RSSFeedCommon.FeedURLError")); } //$NON-NLS-1$
- else
- { this.feedURL = feedURL; }
- }
- public void setFeedWatchActions(String feedWatchActions) {
- int missingActions = 0;
- if (!isNullString(feedWatchActions)) {
- this.feedWatchActions = feedWatchActions.split(splitter);
- missingActions = this.feedWatchActions.length % 3; if (missingActions > 0) { missingActions = 3 - missingActions; }
- }
- if (missingActions > 0) {
- for (int i = 0; i < missingActions; i++)
- {
- System.out.println((i==0 && missingActions==2 ? Messages.getString("RSSFeedWatcherTask.WarningNoScriptAction") : Messages.getString("RSSFeedWatcherTask.WarningNoCommandlineParams")) + SP + feedWatchActions ); //$NON-NLS-1$ //$NON-NLS-2$
- feedWatchActions += "; null"; //$NON-NLS-1$
- }
- this.feedWatchActions = feedWatchActions.split(splitter);
- }
- }
-
- // The method executing the task
- public void execute() throws BuildException {
- if (debug>0) { util.setDebug(debug); }
- if (file==null || !file.exists() || !file.isFile()) {
- // if there's no local copy of the feed, get a copy, then exit with instructions
- downloadFeed(file,debug>=0);
- System.out.println(Messages.getString("RSSFeedWatcherTask.PleaseRunThisTaskLater") + SP + file); //$NON-NLS-1$
- System.out.println(Messages.getString("RSSFeedWatcherTask.ToTheLatestVersion") + SP + feedURL); //$NON-NLS-1$
- } else {
- if (feedWatchActions==null || feedWatchActions.length<1) {
- System.err.println(Messages.getString("RSSFeedWatcherTask.ErrorNoWatchActions")); //$NON-NLS-1$
- } else {
- checkFeed();
- }
- }
- }
-
- private void checkFeed() {
- if (file.isDirectory()) {
- System.err.println(Messages.getString("RSSFeedWatcherTask.ErrorDestinationFileIsADirectory")); //$NON-NLS-1$
- } else {
- downloadFeed(tmpFile,debug>0);
- }
-
- if (tmpFile.isFile()) {
- if (debug>0) { System.out.println(Messages.getString("RSSFeedWatcherTask.Compare") + SP + file + Messages.getString("RSSFeedWatcherTask.with") + tmpFile + CL); } //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- RSSFeedUpdateEntryTask oldFeedWatcher = null;
- RSSFeedUpdateEntryTask newFeedWatcher = null;
- int j=0;
-
- for (int i = 0; i < feedWatchActions.length; i+=3)
- {
- String xpath = feedWatchActions[i].trim();
- String action = feedWatchActions[i+1].trim();
- String commandline = feedWatchActions[i+2].trim();
-
- oldFeedWatcher = new RSSFeedUpdateEntryTask();
- oldFeedWatcher.setFile(file.toString());
- if (debug>0) { oldFeedWatcher.setDebug(debug); }
- oldFeedWatcher.setXpath(xpath);
- oldFeedWatcher.execute();
-
- if (oldFeedWatcher.getFoundNode() != null) {
- newFeedWatcher = new RSSFeedUpdateEntryTask();
- newFeedWatcher.setFile(tmpFile.toString());
- if (debug>0) { newFeedWatcher.setDebug(debug); }
- newFeedWatcher.setXpath(xpath);
- newFeedWatcher.execute();
-
- String oldContent = oldFeedWatcher.getFoundNode().getTextContent();
- String newContent = newFeedWatcher.getFoundNode().getTextContent();
-
- if (debug>1) {
- System.out.println(Messages.getString("RSSFeedWatcherTask.GotOldNodeContents") + CL + SP + oldContent); //$NON-NLS-1$
- System.out.println(Messages.getString("RSSFeedWatcherTask.GotNewNodeContents") + CL + SP + newContent); //$NON-NLS-1$
- }
-
- if (!"null".equals(action)) { //$NON-NLS-1$
- commandline =
- (debug>0?"-debug " + debug + SP:NS) + ("null".equals(commandline)?NS:commandline) + //$NON-NLS-1$ //$NON-NLS-2$
- " -feedURL " + feedURL + //$NON-NLS-1$
- " -xpath \"" + xpath + "\"" + //$NON-NLS-1$ //$NON-NLS-2$
- " -oldvalue \"" + oldContent + "\"" + //$NON-NLS-1$ //$NON-NLS-2$
- " -newvalue \"" + newContent + "\""; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- // store actual value - either the changed value or the original value (if unchanged)
- this.getProject().setProperty(feedWatchActionTheValue + DOT + j,!isNullString(newContent)?newContent:oldContent);
-
- if (newFeedWatcher.getFoundNode() == null || // changed from exists to not exists, or
- !oldContent.equals(newContent) // node has changed
- ) {
- // collect property from newNode and pass it to THIS task so that the local ant script can see it
- if (!isNullString(oldContent)) { this.getProject().setProperty(feedWatchActionOldValue + DOT + j,oldContent); }
- if (!isNullString(newContent)) { this.getProject().setProperty(feedWatchActionNewValue + DOT + j,newContent); }
-
- if (!"null".equals(action)) { //$NON-NLS-1$
- System.out.println(Messages.getString("RSSFeedWatcherTask.RunExecTask") + CL + SP + action + SP + commandline); //$NON-NLS-1$
- ExecTask exec = util.runExecTask((new File(action)).getAbsolutePath(), commandline, null);
-
- // collect properties from exec task and pass them to THIS task so that the local ant script can see them
- String out = null;
-
- out = exec.getProject().getProperty(RSSFeedUtil.RUN_EXEC_TASK_ERROR);
- if (!isNullString(out)) { this.getProject().setProperty(feedWatchActionError + DOT + j, out); }
-
- out = exec.getProject().getProperty(RSSFeedUtil.RUN_EXEC_TASK_RESULT);
- if (!isNullString(out)) { this.getProject().setProperty(feedWatchActionOuput + DOT + j, out); }
-
- out = exec.getProject().getProperty(RSSFeedUtil.RUN_EXEC_TASK_RESULT);
- if (!RSSFeedUtil.EXPECTED_RESULT.equals(out)) { this.getProject().setProperty(feedWatchActionResult + DOT + j, out); }
- }
- } else {
- System.out.println(Messages.getString("RSSFeedWatcherTask.NodeUnchanged")); //$NON-NLS-1$
- }
- } else {
- System.out.println(Messages.getString("RSSFeedWatcherTask.NodeNotFound")); //$NON-NLS-1$
- }
- j++;
- }
-
- try
- {
- RSSFeedUtil.transferData(new FileInputStream(tmpFile), new FileOutputStream(file));
- tmpFile.deleteOnExit();
- }
- catch (FileNotFoundException e)
- {
- e.printStackTrace();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- }
- }
-
- private void downloadFeed(File destFile, boolean verbose)
- {
- try
- {
- if (verbose) {
- System.out.println(Messages.getString("RSSFeedWatcherTask.Download") + CL + SP + feedURL); //$NON-NLS-1$
- System.out.println(Messages.getString("RSSFeedWatcherTask.To") + CL + SP + destFile + SP); //$NON-NLS-1$
- }
- RSSFeedUtil.transferData((new URL(feedURL)).openStream(), new FileOutputStream(destFile));
- if (verbose) {
- System.out.println(Messages.getString("RSSFeedWatcherTask.Done")); //$NON-NLS-1$
- System.out.println(SP);
- }
- }
- catch (MalformedURLException e)
- {
- e.printStackTrace();
- }
- catch (FileNotFoundException e)
- {
- e.printStackTrace();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- }
-
- private static boolean isNullString(String str)
- {
- return RSSFeedUtil.isNullString(str);
- }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/util/rss/Messages.java b/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/util/rss/Messages.java
deleted file mode 100644
index bd50cc7..0000000
--- a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/util/rss/Messages.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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 - Initial API and implementation
- *
- * </copyright>
- *
- * $Id$
- * /
- *******************************************************************************/
-package org.eclipse.releng.util.rss;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-
-public class Messages
-{
- private static final String BUNDLE_NAME = "org.eclipse.releng.util.rss.messages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
- private Messages()
- {
- }
-
- public static String getString(String key)
- {
- try
- {
- return RESOURCE_BUNDLE.getString(key);
- }
- catch (MissingResourceException e)
- {
- return '!' + key + '!';
- }
- }
-}
diff --git a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/util/rss/RSSFeedUtil.java b/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/util/rss/RSSFeedUtil.java
deleted file mode 100644
index f933f76..0000000
--- a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/util/rss/RSSFeedUtil.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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
- *******************************************************************************/
-package org.eclipse.releng.util.rss;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.ExecTask;
-import org.apache.tools.ant.types.Commandline.Argument;
-
-/**
- *
- * Helper methods
- *
- * @author nickb
- *
- */
-public class RSSFeedUtil {
-
- private static final String SP = " "; //$NON-NLS-1$
- private static final String CL = ":"; //$NON-NLS-1$
- public static final String EXPECTED_RESULT = "0"; //$NON-NLS-1$
-
- public static final String RUN_EXEC_TASK_ERROR = "runExecTask.Error"; //$NON-NLS-1$
- public static final String RUN_EXEC_TASK_OUTPUT = "runExecTask.Output"; //$NON-NLS-1$
- public static final String RUN_EXEC_TASK_RESULT = "runExecTask.Result"; //$NON-NLS-1$
-
- private int debug = 0;
-
- /**
- * A buffer.
- */
- private static byte[] buffer = new byte [8192];
-
- public ExecTask runExecTask(String executable, String commandline, String dir)
- {
- if (dir==null) {
- dir = "."; //$NON-NLS-1$
- }
-
- ExecTask exec = new ExecTask();
- exec.setExecutable(executable);
- exec.setResolveExecutable(true);
- exec.setDir((new File(dir)).getAbsoluteFile());
- Project project = new Project(); project.setName(executable);
- exec.setProject(project);
- exec.setFailIfExecutionFails(true);
- exec.setFailonerror(true);
- exec.setErrorProperty(RUN_EXEC_TASK_ERROR);
- exec.setOutputproperty(RUN_EXEC_TASK_OUTPUT);
- exec.setResultProperty(RUN_EXEC_TASK_RESULT);
- exec.setLogError(true);
-
- if (commandline != null || "".equals(commandline)) { //$NON-NLS-1$
- Argument execArg = exec.createArg();
- execArg.setLine(commandline);
- }
- try
- {
- if (debug>0) {
- System.out.println(Messages.getString("RSSFeedPublisherTask.Execute") + SP + executable + (commandline==null?"":SP + commandline)); //$NON-NLS-1$ //$NON-NLS-2$
- }
- exec.execute();
- handleExecTaskReturn(project);
- }
- catch (Exception e)
- {
- handleExecTaskReturn(project);
- System.err.println(Messages.getString("RSSFeedPublisherTask.ForProject") + SP + project.getName() + CL); //$NON-NLS-1$
- e.printStackTrace();
- }
-
- return exec;
-
- }
-
- private void handleExecTaskReturn(Project project)
- {
- String out = null;
-
- out = project.getProperty(RUN_EXEC_TASK_RESULT);
- if (debug>1) {
- if (!isNullString(out) && !EXPECTED_RESULT.equals(out)) {
- System.err.println(Messages.getString("RSSFeedPublisherTask.Result") + SP + out); //$NON-NLS-1$
- }
- }
-
- out = project.getProperty(RUN_EXEC_TASK_OUTPUT);
- if (!isNullString(out)) {
- System.out.println(out);
- }
-
- out = project.getProperty(RUN_EXEC_TASK_ERROR);
- if (!isNullString(out)) {
- if (debug>1 && out.equals(Messages.getString("RSSFeedPublisherTask.CVSWarning"))) { //$NON-NLS-1$
- System.out.println(out);
- } else if (!out.equals(Messages.getString("RSSFeedPublisherTask.CVSWarning"))) { //$NON-NLS-1$
- System.err.println(Messages.getString("RSSFeedPublisherTask.Error") + SP + out); //$NON-NLS-1$
- }
- }
- }
-
- /**
- * Copies all bytes in the given source stream to the given destination
- * stream. Neither streams are closed.
- *
- * From: org.eclipse.emf/tests/org.eclipse.emf.test.build/src/org/eclipse/emf/test/build/FileTool.java,v 1.2
- *
- * @param source
- * the given source stream
- * @param destination
- * the given destination stream
- */
- public static void transferData(InputStream source, OutputStream destination) throws IOException
- {
- int bytesRead = 0;
- while (bytesRead != -1)
- {
- bytesRead = source.read(buffer, 0, buffer.length);
- if (bytesRead != -1)
- {
- destination.write(buffer, 0, bytesRead);
- }
- }
- }
-
- public static boolean isNullString(String str)
- {
- return str==null||"".equals(str); //$NON-NLS-1$
- }
-
- public void setDebug(int debug)
- {
- this.debug = debug;
- }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/util/rss/messages.properties b/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/util/rss/messages.properties
deleted file mode 100644
index 7a57db3..0000000
--- a/bundles/org.eclipse.build.tools/src_rss/org/eclipse/releng/util/rss/messages.properties
+++ /dev/null
@@ -1,80 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 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
-###############################################################################
-RSSFeedCommon.FileError=Error: no output file specified for feed, eg., ./feed.xml\!
-RSSFeedWatcherTask.with=\ with
-RSSFeedWatcherTask.To=To
-RSSFeedWatcherTask.Done=Done.
-RSSFeedCommon.ProjectError=Error: no project name specified, eg., EMF or WTP\!
-RSSFeedCommon.FeedURLError=Error: no feedURL specified, eg., http://server/path/to/feed.xml\!
-RSSFeedCommon.RSSFeedFile=RSS Feed file
-RSSFeedCommon.ToBePublishedAt=to be published at:
-RSSFeedCommon.Set=Set
-RSSFeedCommon.XpathError=Error: no xpath string to search for, eg., /*/*[name() = 'entry'][1]/*[name() = 'updated']/text()
-
-RSSFeedCreateFeedTask.Creating=Creating
-RSSFeedCreateFeedTask.Builds=Builds
-RSSFeedCreateFeedTask.BuildTeam=Build Team
-RSSFeedCreateFeedTask.UnableToWriteToFile=Unable to write to file
-
-RSSFeedAddEntryTask.BranchError=Warning: no branch specified, eg., 3.2.0\!
-RSSFeedAddEntryTask.BuildIDError=Warning: no buildID specified, eg., S200506071234\!
-RSSFeedAddEntryTask.BuildURLError=Warning: no buildURL specified, eg., http://server/path/to/project/downloads/drops/branch/buildID/\!
-RSSFeedAddEntryTask.AddingEntryTo=Adding entry to
-
-RSSFeedAddEntryTask.DoesNotExist=does not exist. Creating ...
-RSSFeedAddEntryTask.AnnouncePrefix=[announce]
-RSSFeedAddEntryTask.IsAvailable=is available
-RSSFeedAddEntryTask.InProperty=in property
-RSSFeedAddEntryTask.AttachNew=Attach new
-RSSFeedAddEntryTask.BranchKeyword=%%branch%%
-RSSFeedAddEntryTask.BuildIDKeyword=%%buildID%%
-RSSFeedAddEntryTask.BuildAliasKeyword=%%buildAlias%%
-RSSFeedAddEntryTask.WrongNumberOfVariables=Wrong number of variables
-RSSFeedAddEntryTask.MustBeMultipleOf5=(must be multiple of 5)
-RSSFeedAddEntryTask.MustBeMultipleOf4=(must be multiple of 4)
-
-RSSFeedUpdateEntryTask.SearchingFor=Searching for
-RSSFeedUpdateEntryTask.ReplacingWith=replacing with
-RSSFeedUpdateEntryTask.DoesNotExist=does not exist. Nothing to do\!
-RSSFeedUpdateEntryTask.DebugFoundAttribute=Found Attribute:
-RSSFeedUpdateEntryTask.DebugFoundElement=Found Element:
-RSSFeedUpdateEntryTask.DebugFoundText=Found Text:
-RSSFeedUpdateEntryTask.XpathNodeNotFound=Xpath Node Not Found\!
-RSSFeedUpdateEntryTask.DebugGotATNode=Got A/T Node:
-RSSFeedUpdateEntryTask.DebugGotENode=Got E Node:
-
-RSSFeedPublisherTask.ErrorInvalidFile=Error: invalid feed file specified
-RSSFeedPublisherTask.Error=Error:
-RSSFeedPublisherTask.Publish=Publish
-RSSFeedPublisherTask.Execute=Execute:
-RSSFeedPublisherTask.Result=Result:
-RSSFeedPublisherTask.ForProject=For project
-RSSFeedPublisherTask.UsingCVSRoot=Using CVS Root:
-RSSFeedPublisherTask.UsingCVSPath=Using CVS Path:
-RSSFeedPublisherTask.UsingCVSTemp=Using CVS Temp:
-RSSFeedPublisherTask.PublishToSCPTarget=Publish to SCP Target:
-RSSFeedPublisherTask.ErrorNothingToDo=Error\! Must specify SCP and/or CVS options to publish a feed file. Nothing to do\!
-RSSFeedPublisherTask.ErrorCouldNotDeleteTempFolder=Error: could not delete temp folder
-RSSFeedPublisherTask.CVSWarning=cvs add: use `cvs commit' to add this file permanently
-
-RSSFeedWatcherTask.ErrorNoWatchActions=Error\! Must specify for which feed changes to watch and what actions as response. Nothing to do\!
-RSSFeedWatcherTask.PleaseRunThisTaskLater=Please run this task at some later date to compare reference copy in
-RSSFeedWatcherTask.WarningNoScriptAction=Warning: Assuming no script action for
-RSSFeedWatcherTask.WarningNoCommandlineParams=Warning: Assuming no commandline params for
-RSSFeedWatcherTask.ToTheLatestVersion=to latest version of feed in
-RSSFeedWatcherTask.ErrorDestinationFileIsADirectory=Error\! Destination file exists as a directory\! Cannot proceed.
-RSSFeedWatcherTask.Compare=Compare
-RSSFeedWatcherTask.GotOldNodeContents=Got old node contents
-RSSFeedWatcherTask.GotNewNodeContents=Got new node contents
-RSSFeedWatcherTask.RunExecTask=Run Exec Task
-RSSFeedWatcherTask.NodeUnchanged=Node unchanged. Nothing to do\!
-RSSFeedWatcherTask.NodeNotFound=Node not found. Nothing to do\!
-RSSFeedWatcherTask.Download=Download