diff --git a/org.eclipse.wtp.releng.webupdatesite/build-home/featureFileCreate.jar b/org.eclipse.wtp.releng.webupdatesite/build-home/featureFileCreate.jar index 0ee4bdd387f1222996d70f652a9ce261c8ae5041..453c293a5b8c2df21e2d57ce15640bbd04337ca6 100644 Binary files a/org.eclipse.wtp.releng.webupdatesite/build-home/featureFileCreate.jar and b/org.eclipse.wtp.releng.webupdatesite/build-home/featureFileCreate.jar differ diff --git a/org.eclipse.wtp.releng.webupdatesite/featureFileUpdaterDescription.jardesc b/org.eclipse.wtp.releng.webupdatesite/featureFileUpdaterDescription.jardesc index 9481d5a76319f4baa40ae43cfa5e187397e17eba..09cc54c53eb4098e539f07ec11fd21e3d00cc6a9 100644 --- a/org.eclipse.wtp.releng.webupdatesite/featureFileUpdaterDescription.jardesc +++ b/org.eclipse.wtp.releng.webupdatesite/featureFileUpdaterDescription.jardesc @@ -33,8 +33,8 @@ <file path="/org.eclipse.wtp.releng.webupdatesite/build-home/updateMirrorProject.xml"/> <file path="/org.eclipse.wtp.releng.webupdatesite/build-home/copyToMilestoneDirectory-SiteFiles.sh"/> <folder path="/org.eclipse.wtp.releng.webupdatesite/META-INF"/> - <file path="/org.eclipse.wtp.releng.webupdatesite/build-home/properties.shsource"/> <file path="/org.eclipse.wtp.releng.webupdatesite/build-home/createMirrorSite.xml"/> + <file path="/org.eclipse.wtp.releng.webupdatesite/build-home/properties.shsource"/> <file path="/org.eclipse.wtp.releng.webupdatesite/build-home/updateGanymedeMirrorAll.xml"/> <file path="/org.eclipse.wtp.releng.webupdatesite/build-home/ant.sh"/> <file path="/org.eclipse.wtp.releng.webupdatesite/build-home/createMirrorFile.sh"/> diff --git a/org.eclipse.wtp.releng.webupdatesite/siteFileUpdaterManifest.mf b/org.eclipse.wtp.releng.webupdatesite/siteFileUpdaterManifest.mf deleted file mode 100644 index f78d55238b6883d51273a38ade0dff8fe1afa0f4..0000000000000000000000000000000000000000 --- a/org.eclipse.wtp.releng.webupdatesite/siteFileUpdaterManifest.mf +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Main-Class: org.eclipse.callisto.tools.SiteFileUpdater - 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 3b31793b0b9277879179f625877b4c502a47a407..26a8f0d7860ad4b6e708cabb79f66eb3d1e06b63 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 @@ -28,57 +28,36 @@ public class CreateFeatureUpdateFile { final private static String PATH_SEPARATOR = System.getProperty("file.separator"); private String rawUpdateSite; - private int returnCode; 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.jst.ws.cxf.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", - // "org.eclipse.jst.ws.cxf_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",}; + private String[] featuresOfInterest = new String[]{"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.jst.ws.cxf.feature", "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", "org.eclipse.jst.ws.cxf_sdk.feature",}; private String[] shortListOfInterest = new String[]{"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",}; public static void main(String[] args) { + int returnCode = 0; if (args.length != 2) { System.out.println(" Error: Program needs stream and rawUpdateSite"); } else { try { - new CreateFeatureUpdateFile().createFeatureFiles(args); + returnCode = new CreateFeatureUpdateFile().createFeatureFiles(args); } catch (IOException e) { e.printStackTrace(); } + catch (SAXException e) { + e.printStackTrace(); + } } + System.exit(returnCode); } - private void createFeatureFiles(String[] args) throws IOException { + private int createFeatureFiles(String[] args) throws IOException, SAXException { + int returnCode = 0; String stream = args[0].trim(); rawUpdateSite = args[1].trim(); if (!rawUpdateSite.endsWith(PATH_SEPARATOR)) { @@ -98,17 +77,28 @@ public class CreateFeatureUpdateFile { returnCode = 9; } else { + Map currentFeatureVersions = getCurrentFeatures(featuresDirectories); if ("Galileo".equals(stream)) { String scfilename = rawUpdateSite + "webtools.build"; System.out.println("Creating short List for Galileo site"); System.out.println(" filename: " + scfilename); - doListForGalileo(featuresDirectories, shortListOfInterest, scfilename); + doListForGalileo(currentFeatureVersions, shortListOfInterest, scfilename); + // update site.xml, incase some features are "new". + // this is just needed for now, as long as we use site.xml + // to define categories + String sitexmlFileName = rawUpdateSite + "site.xml"; + updateSiteXml(currentFeatureVersions, sitexmlFileName); } else if ("Helios".equals(stream)) { String scfilename = rawUpdateSite + "webtools.build"; System.out.println("Creating short List for Helios site"); System.out.println(" filename: " + scfilename); - doListForHelios(featuresDirectories, shortListOfInterest, scfilename); + doListForHelios(currentFeatureVersions, shortListOfInterest, scfilename); + // update site.xml, incase some features are "new". + // this is just needed for now, as long as we use site.xml + // to define categories + String sitexmlFileName = rawUpdateSite + "site.xml"; + updateSiteXml(currentFeatureVersions, sitexmlFileName); } else if ("Ganymede".equals(stream)) { String filename = "features-ganymede-wtp.xml"; @@ -148,9 +138,32 @@ public class CreateFeatureUpdateFile { } } } - System.exit(returnCode); + return returnCode; } + private void updateSiteXml(Map currentFeatureVersions, String sitexmlFileName) throws IOException, SAXException { + FileOutputStream outfile = null; + Document siteDOM = getSiteDOM(sitexmlFileName); + + try { + + Document newDOM = updateFeatureDOM(siteDOM, currentFeatureVersions); + + // we'll write over what we read it + outfile = new FileOutputStream(sitexmlFileName); + CommonXML.serialize(newDOM, outfile); + + System.out.println("\tSite.xml output to: " + sitexmlFileName); //$NON-NLS-1$ + + } + finally { + if (outfile != null) { + outfile.close(); + } + } + } + + private void doList(String[] featureDirectories, String[] featureOfFocus, String filename) throws IOException { File outFile = new File(filename); Writer output = new FileWriter(outFile); @@ -219,25 +232,28 @@ public class CreateFeatureUpdateFile { } - private void doListForGalileo(String[] featureDirectories, String[] featureOfFocus, String filename) throws IOException { + private void doListForGalileo(Map currentFeatureVersions, String[] featureOfFocus, String filename) throws IOException { String galeleoTemplateFile = "galileo.webtools.build.xml"; - createBuildFile(featureDirectories, featureOfFocus, filename, galeleoTemplateFile); + createBuildFile(currentFeatureVersions, filename, galeleoTemplateFile); } - private void doListForHelios(String[] featureDirectories, String[] featureOfFocus, String filename) throws IOException { + + private void doListForHelios(Map currentFeatureVersions, String[] featureOfFocus, String filename) throws IOException { String galeleoTemplateFile = "helios.webtools.build.xml"; - createBuildFile(featureDirectories, featureOfFocus, filename, galeleoTemplateFile); + createBuildFile(currentFeatureVersions, filename, galeleoTemplateFile); } - private void createBuildFile(String[] featureDirectories, String[] featureOfFocus, String filename, String templateFile) throws IOException, FileNotFoundException { + + private void createBuildFile(Map currentFeatureVersions, String filename, String templateFile) throws IOException, FileNotFoundException { FileOutputStream outfile = null; Document templateDom = getTemplateDOM(templateFile); try { - Document newDOM = substitureLatestVersions(featureDirectories, featureOfFocus, templateDom); + Document newDOM = updateFeatureDOM(templateDom, currentFeatureVersions); + outfile = new FileOutputStream(filename); CommonXML.serialize(newDOM, outfile); @@ -252,17 +268,7 @@ public class CreateFeatureUpdateFile { } } - private Document substitureLatestVersions(String[] featureDirectories, String[] featureOfFocus, Document startingDOM) throws IOException { - - Map currentFeatureVersions = new HashMap(); - 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); - } - + private Document updateFeatureDOM(Document startingDOM, Map currentFeatureVersions) { NodeList features = startingDOM.getElementsByTagName("features"); for (int i = 0; i < features.getLength(); i++) { @@ -280,6 +286,18 @@ public class CreateFeatureUpdateFile { return startingDOM; } + private Map getCurrentFeatures(String[] featureDirectories) { + Map currentFeatureVersions = new HashMap(); + 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); + } + return currentFeatureVersions; + } + private Document getTemplateDOM(String templateFileName) throws IOException { @@ -302,4 +320,16 @@ public class CreateFeatureUpdateFile { return templateDom; } + + private Document getSiteDOM(String siteFileName) throws IOException, SAXException { + + + File siteFile = new File(siteFileName); + + DocumentBuilder documentBuilder = CommonXML.getDocumentBuilder(); + Document templateDom = null; + templateDom = documentBuilder.parse(siteFile); + return templateDom; + + } } diff --git a/org.eclipse.wtp.releng.webupdatesite/webtools.build b/org.eclipse.wtp.releng.webupdatesite/webtools.build deleted file mode 100644 index 226ed8f52132f0bdea64e37198a76da53ada29ea..0000000000000000000000000000000000000000 --- a/org.eclipse.wtp.releng.webupdatesite/webtools.build +++ /dev/null @@ -1,59 +0,0 @@ -<?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.web_ui.feature" repo="//@repositories.0" version="3.1.0.v200905242131-7R77FSlEVw2xWKwEsJnUxocrDEY1"> - <category href="galileo.build#//@categories.2"/> - </features> - <features id="org.eclipse.jst.enterprise_ui.feature" repo="//@repositories.0" version="3.1.0.v200905242144-7_7EGraFQRwRZSMN-6Z-NeR7Thco"> - <category href="galileo.build#//@categories.2"/> - </features> - <features id="org.eclipse.jpt.feature" repo="//@repositories.0" version="2.2.0.v200906100220-7L7OAFFBBoPR9QNdMUt_f"> - <category href="galileo.build#//@categories.2"/> - </features> - <features id="org.eclipse.jst.ws.axis2tools.feature" repo="//@repositories.0" version="1.1.0.v200905242110-78-FBpDZRDE6FdPdLYYe"> - <category href="galileo.build#//@categories.2"/> - </features> - <features id="org.eclipse.jpt.eclipselink.feature" repo="//@repositories.0" version="2.2.0.v200905310000-65A7AkF77g7SGH7997"> - <category href="galileo.build#//@categories.2"/> - </features> - <features id="org.eclipse.jst.webpageeditor.feature" repo="//@repositories.0" version="2.2.0.v20090310-4339oB55W5K6F"> - <category href="galileo.build#//@categories.2"/> - </features> - <features id="org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature" repo="//@repositories.0" version="2.2.0.v20090517-20-7w311A1636"> - <category href="galileo.build#//@categories.2"/> - </features> - <features id="org.eclipse.wst.xml_ui.feature" repo="//@repositories.0" version="3.1.1.v200907161031-7H6FMXDxtkM-5RhLELH3z0Rvb_PW"> - <category href="galileo.build#//@categories.2"/> - <category href="galileo.build#//@categories.1"/> - </features> - <features id="org.eclipse.wst.jsdt.feature" repo="//@repositories.0" version="1.1.1.v200906091427-77-FGCCcNBC-BgLiEWQn"> - <category href="galileo.build#//@categories.2"/> - <category href="galileo.build#//@categories.1"/> - </features> - <features id="org.eclipse.wtp.capabilities" repo="//@repositories.0" version="1.0.0.v200905221827-5--AkF77g7V7ZFJ77"/> - <features id="org.eclipse.wst.common.fproj" repo="//@repositories.0" version="3.1.0.v200906241252-377-8s733L3H355J8A"> - <category href="galileo.build#//@categories.2"/> - </features> - <features id="org.eclipse.wst.server_adapters.feature" repo="//@repositories.0" version="3.1.0.v200906020451-51DFAkF77g7GCNc"> - <category href="galileo.build#//@categories.2"/> - </features> - <features id="org.eclipse.wst.xsl.feature" repo="//@repositories.0" version="1.0.0.v200905242203-7R7T8rFIhIehWg35Bsn_c1"> - <category href="galileo.build#//@categories.2"/> - </features> - <features id="org.eclipse.jst.common.fproj.enablement.jdt" repo="//@repositories.0" version="3.1.0.v200906241252-377-8s733L3G58469C"> - <category href="galileo.build#//@categories.2"/> - </features> - <features id="org.eclipse.jst.server_ui.feature" repo="//@repositories.0" version="3.1.0.v20080930-7A2FB_9xFaFovXGKcCTNM2355"> - <category href="galileo.build#//@categories.2"/> - </features> - <features id="org.eclipse.jst.server_adapters.feature" repo="//@repositories.0" version="3.1.0.v20090311c-20-7w311A1422c"> - <category href="galileo.build#//@categories.2"/> - </features> - <features id="org.eclipse.jst.server_adapters.ext.feature" repo="//@repositories.0" version="3.1.0.v20090311b-777HFDNCcNBBz-BcKW6EGF"> - <category href="galileo.build#//@categories.2"/> - </features> - <features id="org.eclipse.jst.web_ui.feature" repo="//@repositories.0" version="3.1.0.v200901280155-7E77FBcDlwYa_9Vfy1i58cp-7Zfg"> - <category href="galileo.build#//@categories.2"/> - </features> - <repositories label="Web Tools 3.1.1 maintenance" location="http://download.eclipse.org/webtools/maintenance/"/> -</build:Contribution> diff --git a/org.eclipse.wtp.releng.webupdatesite/wtp.sc b/org.eclipse.wtp.releng.webupdatesite/wtp.sc deleted file mode 100644 index 8ccfb4dfc604a87282e34dd8617167f6bbda3f70..0000000000000000000000000000000000000000 --- a/org.eclipse.wtp.releng.webupdatesite/wtp.sc +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version='1.0' encoding="UTF-8"?> -<sc:siteContribution - xmlns="http://www.eclipse.org/buckminster/CSpec-1.0" - xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0" - updateSite="${downloads}/webtools/tempTestUpdates/site.xml" - projectId="wtp"> - <sc:member - name="David Williams" - email="david_williams@us.ibm.com" /> - <sc:cspec - name="org.eclipse.wtp-sc"> - <dependencies> - </dependencies> - <groups> - <public - name="Web and Java EE Development"> - <attribute - component="org.eclipse.wst.xml_ui.feature" /> - <attribute - component="org.eclipse.wst.jsdt.feature" /> - <attribute - component="org.eclipse.wst" /> - <attribute - component="org.eclipse.jst" /> - <attribute - component="org.eclipse.jpt.feature" /> - <attribute - component="org.eclipse.jpt.eclipselink.feature" /> - <attribute - component="org.eclipse.jst.webpageeditor.feature" /> - <attribute - component="org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature" /> - <attribute - component="org.eclipse.jst.ws.axis2tools.feature" /> - </public> - <public - name="Enabling Features"> - <attribute - component="org.eclipse.wst.common_ui.feature" /> - </public> - <public - name="Java Development"> - <attribute - component="org.eclipse.jpt.feature" /> - <attribute - component="org.eclipse.jpt.eclipselink.feature" /> - <attribute - component="org.eclipse.jst" /> - </public> - </groups> - </sc:cspec> -</sc:siteContribution> \ No newline at end of file