From c6763c0d14760349b6fa160089167676aa1197fe Mon Sep 17 00:00:00 2001 From: david_williams <david_williams> Date: Sun, 16 Nov 2008 08:47:27 +0000 Subject: [PATCH] prep for update sites --- .../features-galileo-wtp.xml | 178 +++++++++++++++++- .../releng/tools/CreateFeatureUpdateFile.java | 95 +++++++++- .../wtp/releng/tools/webtools.build.xml | 69 +++++++ .../webtools.build | 29 +++ 4 files changed, 367 insertions(+), 4 deletions(-) create mode 100644 org.eclipse.wtp.releng.webupdatesite/src/org/eclipse/wtp/releng/tools/webtools.build.xml create mode 100644 org.eclipse.wtp.releng.webupdatesite/webtools.build diff --git a/org.eclipse.wtp.releng.webupdatesite/features-galileo-wtp.xml b/org.eclipse.wtp.releng.webupdatesite/features-galileo-wtp.xml index 3d6b87cbc..457b70482 100644 --- a/org.eclipse.wtp.releng.webupdatesite/features-galileo-wtp.xml +++ b/org.eclipse.wtp.releng.webupdatesite/features-galileo-wtp.xml @@ -15,8 +15,184 @@ --> <property name="from.update.site" - value="file://D:\builds\freshZips\wtp303\eclipse" /> + value="file://D:\builds\freshZips\35M3\eclipse" /> <echo message=" pulling update jars from ${from.update.site}" /> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.jpt.eclipselink.feature" /> + <property + name="version" + value="2.1.0.v200808210000-318Y9oA55S885E5555" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.jpt.eclipselink_sdk.feature" /> + <property + name="version" + value="2.1.0.v200808210000-41-806AbJrL_9VAA8GA9Fg_pB66T" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.jpt.feature" /> + <property + name="version" + value="2.1.0.v200808210000-7979AgCYQCD4INIbCCCD" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.jpt_sdk.feature" /> + <property + name="version" + value="2.1.0.v200808210000-51-90HBDVlUhYHI9NPSnMOQxDZRD" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature" /> + <property + name="version" + value="2.1.0.v20081007-1-8Z7w31192118" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.jst.jsf.apache.trinidad.tagsupport_sdk.feature" /> + <property + name="version" + value="2.1.0.v20081007-41-7z4AcHz064AA63Bk8x422_322" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.jst.sdk" /> + <property + name="version" + value="3.1.0.v200809240350-7Z7B19RfogrHpaZ-OkamyiJqmR5H" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.jst.webpageeditor.feature" /> + <property + name="version" + value="2.1.0.v20081008-3209oA55S6H5K" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.jst.webpageeditor_sdk.feature" /> + <property + name="version" + value="2.1.0.v20081008-41-8073Bz-E88d8N_N_pB66T7I6L" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.jst.ws.axis2tools.feature" /> + <property + name="version" + value="1.0.2.v200810151341-77-E_ECYQCD4FdMjLXVW" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.jst.ws.axis2tools_sdk.feature" /> + <property + name="version" + value="1.0.2.v200810151341-2-384B2HKIFcYGJAJfWtNpioDZRD" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.jst" /> + <property + name="version" + value="3.1.0.v200809240350-7W7A19LLZt03kh0NQWkYCW04ZKJ8" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.wst.common_sdk.feature" /> + <property + name="version" + value="3.1.0.v200810090150-78319xOCLsCaHxwmex-9wtEQqe6i" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.wst.common_ui.feature" /> + <property + name="version" + value="3.1.0.v200808191703-7B6EN5E7ZmPQez-hjz0iLy5iRuT5" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.wst.jsdt.feature" /> + <property + name="version" + value="1.1.0.v200809251625-6-EFABcMAAwFJGiHkHW" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.wst.jsdt_sdk.feature" /> + <property + name="version" + value="1.1.0.v200809251625-21-834HILEoRIF3KRIrK0akCdNBB" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.wst.sdk" /> + <property + name="version" + value="3.1.0.v200810090150-7G5-8e-SpLJP_DQhCDz0C-RgQFN6" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.wst.xml_sdk.feature" /> + <property + name="version" + value="3.1.0.v200808191955-792-8CUCKqHpDRhhwP-q8Ryan_to" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.wst.xml_ui.feature" /> + <property + name="version" + value="3.1.0.v200808191955-7F5ETHCwtlGAz-j2ej3Fz0bqpfCq" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.wst.xsl.feature" /> + <property + name="version" + value="1.0.0.v200809171039-7O7U7EEGlDcf5lvrATz-t28" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.wst.xsl_sdk.feature" /> + <property + name="version" + value="1.0.0.v200808310406-3--90XBZRKSPyHflGo4GL07H9LwE" /> + </ant> + <ant antfile="updateMirrorProject.xml"> + <property + name="featureId" + value="org.eclipse.wst" /> + <property + name="version" + value="3.1.0.v200810090150-7G5-8eO3BwQz04Z6Wy5ZAql7tLGW" /> + </ant> </target> </project> \ No newline at end of file diff --git a/org.eclipse.wtp.releng.webupdatesite/src/org/eclipse/wtp/releng/tools/CreateFeatureUpdateFile.java b/org.eclipse.wtp.releng.webupdatesite/src/org/eclipse/wtp/releng/tools/CreateFeatureUpdateFile.java index 21503b407..cc37d9d48 100644 --- a/org.eclipse.wtp.releng.webupdatesite/src/org/eclipse/wtp/releng/tools/CreateFeatureUpdateFile.java +++ b/org.eclipse.wtp.releng.webupdatesite/src/org/eclipse/wtp/releng/tools/CreateFeatureUpdateFile.java @@ -1,9 +1,23 @@ package org.eclipse.wtp.releng.tools; import java.io.File; +import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; +import java.io.InputStream; import java.io.Writer; +import java.util.Dictionary; +import java.util.HashMap; +import java.util.Map; + +import javax.xml.parsers.DocumentBuilder; + +import org.eclipse.callisto.tools.utils.CommonXML; +import org.w3c.dom.Document; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.xml.sax.SAXException; public class CreateFeatureUpdateFile { @@ -16,7 +30,7 @@ public class CreateFeatureUpdateFile { private String featuresDirectoryLocation; private FullJarNameParser fullJarNameParser = new FullJarNameParser(); - private String[] featuresOfInterest = new String[]{"org.eclipse.wst", "org.eclipse.jst", "org.eclipse.jpt.feature", "org.eclipse.jpt.eclipselink.feature", "org.eclipse.wst.xml_ui.feature", "org.eclipse.wst.jsdt.feature", "org.eclipse.wst.common_ui.feature", "org.eclipse.jst.webpageeditor.feature", "org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature", "org.eclipse.jst.ws.axis2tools.feature", "org.eclipse.wst.xsl.feature", "org.eclipse.wst.sdk", "org.eclipse.jst.sdk", "org.eclipse.jpt_sdk.feature", "org.eclipse.jpt.eclipselink_sdk.feature", "org.eclipse.wst.xml_sdk.feature", "org.eclipse.wst.jsdt_sdk.feature", "org.eclipse.wst.common_sdk.feature", "org.eclipse.jst.webpageeditor_sdk.feature", "org.eclipse.jst.jsf.apache.trinidad.tagsupport_sdk.feature", "org.eclipse.jst.ws.axis2tools_sdk.feature","org.eclipse.wst.xsl_sdk.feature",}; + private String[] featuresOfInterest = new String[]{"org.eclipse.wst", "org.eclipse.jst", "org.eclipse.jpt.feature", "org.eclipse.jpt.eclipselink.feature", "org.eclipse.wst.xml_ui.feature", "org.eclipse.wst.jsdt.feature", "org.eclipse.wst.common_ui.feature", "org.eclipse.jst.webpageeditor.feature", "org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature", "org.eclipse.jst.ws.axis2tools.feature", "org.eclipse.wst.xsl.feature", "org.eclipse.wst.sdk", "org.eclipse.jst.sdk", "org.eclipse.jpt_sdk.feature", "org.eclipse.jpt.eclipselink_sdk.feature", "org.eclipse.wst.xml_sdk.feature", "org.eclipse.wst.jsdt_sdk.feature", "org.eclipse.wst.common_sdk.feature", "org.eclipse.jst.webpageeditor_sdk.feature", "org.eclipse.jst.jsf.apache.trinidad.tagsupport_sdk.feature", "org.eclipse.jst.ws.axis2tools_sdk.feature", "org.eclipse.wst.xsl_sdk.feature",}; private String[] shortListOfInterest = new String[]{"org.eclipse.wst", "org.eclipse.jst", "org.eclipse.jpt.feature", "org.eclipse.jpt.eclipselink.feature", "org.eclipse.wst.xml_ui.feature", "org.eclipse.wst.jsdt.feature", "org.eclipse.wst.common_ui.feature", "org.eclipse.jst.webpageeditor.feature", "org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature", "org.eclipse.jst.ws.axis2tools.feature",}; @@ -59,10 +73,10 @@ public class CreateFeatureUpdateFile { doList(featuresDirectories, featuresOfInterest, filename); System.out.println(); - String scfilename = "wtp.sc"; + String scfilename = "webtools.build"; System.out.println("Creating short List for Galileo site"); System.out.println(" filename: " + scfilename); - doList2(featuresDirectories, shortListOfInterest, scfilename); + doListForGalileo(featuresDirectories, shortListOfInterest, scfilename); } else if ("Ganymede".equals(stream)) { String filename = "features-ganymede-wtp.xml"; @@ -172,4 +186,79 @@ public class CreateFeatureUpdateFile { } } + + private void doListForGalileo(String[] featureDirectories, String[] featureOfFocus, String filename) throws IOException { + + String galeleoTemplateFile = "webtools.build.xml"; + FileOutputStream outfile = null; + Document templateDom = getTemplateDOM(galeleoTemplateFile); + + try { + + Document newDOM = substitureLatestVersions(featureDirectories, featureOfFocus, templateDom); + + outfile = new FileOutputStream(filename); + CommonXML.serialize(newDOM, outfile); + + System.out.println("\tOutput to: " + filename); //$NON-NLS-1$ + + } + finally { + if (outfile != null) { + outfile.close(); + } + } + + } + + private Document substitureLatestVersions(String[] featureDirectories, String[] featureOfFocus, Document startingDOM) throws IOException { + + Map currentFeatureVersions = new HashMap<String, String>(); + for (int i = 0; i < featureDirectories.length; i++) { + String directoryName = featureDirectories[i]; + fullJarNameParser.parse(directoryName); + String projectName = fullJarNameParser.getProjectString(); + String versionString = fullJarNameParser.getVersionString(); + currentFeatureVersions.put(projectName, versionString); + } + + NodeList features = startingDOM.getElementsByTagName("features"); + + for (int i = 0; i < features.getLength(); i++) { + Node featureElement = features.item(i); + + NamedNodeMap attributes = featureElement.getAttributes(); + Node featureNameNode = attributes.getNamedItem("id"); + String featureName = featureNameNode.getNodeValue(); + System.out.println(featureName); + String currentVersion = (String) currentFeatureVersions.get(featureName); + System.out.println(currentVersion); + Node versionNode = attributes.getNamedItem("version"); + versionNode.setNodeValue(currentVersion); + } + return startingDOM; + } + + private Document getTemplateDOM(String templateFileName) throws IOException { + + + + InputStream templateFile = this.getClass().getResourceAsStream(templateFileName); + + DocumentBuilder documentBuilder = CommonXML.getDocumentBuilder(); + Document templateDom = null; + try { + templateDom = documentBuilder.parse(templateFile); + } + catch (SAXException e) { + e.printStackTrace(); + } + finally { + if (templateFile != null) { + templateFile.close(); + } + } + return templateDom; + + } } diff --git a/org.eclipse.wtp.releng.webupdatesite/src/org/eclipse/wtp/releng/tools/webtools.build.xml b/org.eclipse.wtp.releng.webupdatesite/src/org/eclipse/wtp/releng/tools/webtools.build.xml new file mode 100644 index 000000000..67a056be8 --- /dev/null +++ b/org.eclipse.wtp.releng.webupdatesite/src/org/eclipse/wtp/releng/tools/webtools.build.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="ASCII"?> +<build:Contribution + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:build="http://www.eclipse.org/amalgam/2008/build" + label="WebTools"> + <contacts + name="David Williams" + email="david_williams@us.ibm.com"/> + <features + id="org.eclipse.wst" + version="3.1.0.v200810090150-7G5-8eM6Jutz04Z5Wy0Up-Ab9ctX" + repo="//@repositories.0"> + <category + href="galileo.build#//@categories.2"/> + </features> + <features + id="org.eclipse.jst" + version="3.1.0.v200809240350-7W7A19LJbz0z0Vkh0LVVhMlfjfLN" + repo="//@repositories.0"> + <category + href="galileo.build#//@categories.2"/> + </features> + <features + id="org.eclipse.jpt.feature" + version="2.0.101.v200809030200-793DuCYQCD4D2DUEKHL" + repo="//@repositories.0"> + <category + href="galileo.build#//@categories.2"/> + </features> + <features + id="org.eclipse.jst.ws.axis2tools.feature" + version="1.0.1.v200807092124-77-E_BCYQCD4CyNjOPRU" + repo="//@repositories.0"> + <category + href="galileo.build#//@categories.2"/> + </features> + <features + id="org.eclipse.jpt.eclipselink.feature" + version="2.0.0.v200806090000-3--8s733I3D683333" + repo="//@repositories.0"> + <category + href="galileo.build#//@categories.2"/> + </features> + <features + id="org.eclipse.jst.webpageeditor.feature" + version="2.0.1.v20080811-32-9oA55S5M5J" + repo="//@repositories.0"> + <category + href="galileo.build#//@categories.2"/> + </features> + <features + id="org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature" + version="2.0.1.v200808071446-1-8Y7w311919182557" + repo="//@repositories.0"> + <category + href="galileo.build#//@categories.2"/> + </features> + <features + id="org.eclipse.wst.jsdt.feature" + version="1.0.2.v200809102023-6-7SBcMAAwAyIPHRNV" + repo="//@repositories.0"> + <category + href="galileo.build#//@categories.2"/> + </features> + <repositories + location="http://download.eclipse.org/webtools/tempTestUpdates/" + label="WebTools temporary updates"/> +</build:Contribution> \ No newline at end of file diff --git a/org.eclipse.wtp.releng.webupdatesite/webtools.build b/org.eclipse.wtp.releng.webupdatesite/webtools.build new file mode 100644 index 000000000..48ed3e1c6 --- /dev/null +++ b/org.eclipse.wtp.releng.webupdatesite/webtools.build @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<build:Contribution xmlns:build="http://www.eclipse.org/amalgam/2008/build" xmlns:xmi="http://www.omg.org/XMI" label="WebTools" xmi:version="2.0"> + <contacts email="david_williams@us.ibm.com" name="David Williams"/> + <features id="org.eclipse.wst" repo="//@repositories.0" version="3.1.0.v200810090150-7G5-8eO3BwQz04Z6Wy5ZAql7tLGW"> + <category href="galileo.build#//@categories.2"/> + </features> + <features id="org.eclipse.jst" repo="//@repositories.0" version="3.1.0.v200809240350-7W7A19LLZt03kh0NQWkYCW04ZKJ8"> + <category href="galileo.build#//@categories.2"/> + </features> + <features id="org.eclipse.jpt.feature" repo="//@repositories.0" version="2.1.0.v200808210000-7979AgCYQCD4INIbCCCD"> + <category href="galileo.build#//@categories.2"/> + </features> + <features id="org.eclipse.jst.ws.axis2tools.feature" repo="//@repositories.0" version="1.0.2.v200810151341-77-E_ECYQCD4FdMjLXVW"> + <category href="galileo.build#//@categories.2"/> + </features> + <features id="org.eclipse.jpt.eclipselink.feature" repo="//@repositories.0" version="2.1.0.v200808210000-318Y9oA55S885E5555"> + <category href="galileo.build#//@categories.2"/> + </features> + <features id="org.eclipse.jst.webpageeditor.feature" repo="//@repositories.0" version="2.1.0.v20081008-3209oA55S6H5K"> + <category href="galileo.build#//@categories.2"/> + </features> + <features id="org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature" repo="//@repositories.0" version="2.1.0.v20081007-1-8Z7w31192118"> + <category href="galileo.build#//@categories.2"/> + </features> + <features id="org.eclipse.wst.jsdt.feature" repo="//@repositories.0" version="1.1.0.v200809251625-6-EFABcMAAwFJGiHkHW"> + <category href="galileo.build#//@categories.2"/> + </features> + <repositories label="WebTools temporary updates" location="http://download.eclipse.org/webtools/milestones/"/> +</build:Contribution> -- GitLab