Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'production/miscToolsAndNotes')
-rwxr-xr-xproduction/miscToolsAndNotes/cptestConfigs.sh10
-rw-r--r--production/miscToolsAndNotes/declareTemplate/cc-list.txt1
-rw-r--r--production/miscToolsAndNotes/declareTemplate/declare.txt43
-rw-r--r--production/miscToolsAndNotes/mainDLCheck.html452
-rwxr-xr-xproduction/miscToolsAndNotes/misc/checkForErrorExit.sh29
-rwxr-xr-xproduction/miscToolsAndNotes/misc/makeBranch.sh84
-rwxr-xr-xproduction/miscToolsAndNotes/misc/querySystem.sh55
-rwxr-xr-xproduction/miscToolsAndNotes/misc/renameBuild.sh249
-rwxr-xr-xproduction/miscToolsAndNotes/misc/wgetFresh.sh53
-rw-r--r--production/miscToolsAndNotes/proxyRelated/getBaseBuilderAndTools.xml261
-rwxr-xr-xproduction/miscToolsAndNotes/proxyRelated/getSettings.sh29
-rw-r--r--production/miscToolsAndNotes/proxyRelated/platformSpecific.properties26
-rw-r--r--production/miscToolsAndNotes/relengUtils/diffing-artifactcomparison.txt12
-rwxr-xr-xproduction/miscToolsAndNotes/reposcripts/chrepos.sh30
-rw-r--r--production/miscToolsAndNotes/reposcripts/outcheck.txt135
-rw-r--r--production/miscToolsAndNotes/reposcripts/outgc.txt15
-rwxr-xr-xproduction/miscToolsAndNotes/reposcripts/platformgc.sh28
-rwxr-xr-xproduction/miscToolsAndNotes/stripVersions.sh175
-rwxr-xr-xproduction/miscToolsAndNotes/syncWebFiles/pullDLSite.sh81
-rwxr-xr-xproduction/miscToolsAndNotes/syncWebFiles/pushDLSite.sh86
-rwxr-xr-xproduction/miscToolsAndNotes/updaterepo/cleanComposite.sh76
-rw-r--r--production/miscToolsAndNotes/updaterepo/cleanComposite.xml64
-rw-r--r--production/miscToolsAndNotes/updaterepo/updateComposite38milestone.xml24
-rw-r--r--production/miscToolsAndNotes/updaterepo/updateComposite42milestone.xml31
-rw-r--r--production/miscToolsAndNotes/updaterepo/updateComposite43N.xml41
-rwxr-xr-xproduction/miscToolsAndNotes/updaterepo/updateGenericComposites.sh90
-rw-r--r--production/miscToolsAndNotes/updaterepo/updateGenericComposites.xml104
-rwxr-xr-xproduction/miscToolsAndNotes/utilityCronJobs/checkCronRebuilds52
-rwxr-xr-xproduction/miscToolsAndNotes/utilityCronJobs/cleanup.sh117
-rw-r--r--production/miscToolsAndNotes/xslUtilityScripts/fix-feature-pom.xsl45
-rw-r--r--production/miscToolsAndNotes/xslUtilityScripts/fix-pom-parent-version.xsl24
-rw-r--r--production/miscToolsAndNotes/xslUtilityScripts/fix-pom-version.xsl24
-rw-r--r--production/miscToolsAndNotes/xslUtilityScripts/fix-pom.xsl42
-rwxr-xr-xproduction/miscToolsAndNotes/xslUtilityScripts/groupId.sh47
-rw-r--r--production/miscToolsAndNotes/xslUtilityScripts/run-xsl.xml10
-rwxr-xr-xproduction/miscToolsAndNotes/xslUtilityScripts/upVersionParents.sh42
-rwxr-xr-xproduction/miscToolsAndNotes/xslUtilityScripts/xgroupId.sh31
-rwxr-xr-xproduction/miscToolsAndNotes/xslUtilityScripts/xparentVersions.sh45
-rwxr-xr-xproduction/miscToolsAndNotes/xslUtilityScripts/xslUpVersion.sh26
39 files changed, 2789 insertions, 0 deletions
diff --git a/production/miscToolsAndNotes/cptestConfigs.sh b/production/miscToolsAndNotes/cptestConfigs.sh
new file mode 100755
index 000000000..f7e0cb45a
--- /dev/null
+++ b/production/miscToolsAndNotes/cptestConfigs.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# I am not sure what this is for?
+for file in drops4/*
+do
+ if [[ -d $file ]]
+ then
+ echo "copying testConfigs.php to $file/"
+ cp testConfigs.php $file/
+ fi
+done
diff --git a/production/miscToolsAndNotes/declareTemplate/cc-list.txt b/production/miscToolsAndNotes/declareTemplate/cc-list.txt
new file mode 100644
index 000000000..0b887001f
--- /dev/null
+++ b/production/miscToolsAndNotes/declareTemplate/cc-list.txt
@@ -0,0 +1 @@
+arunkumar.thondapu@in.ibm.com, daniel_megert@ch.ibm.com, jarthana@in.ibm.com, Lars.Vogel@vogella.com, lshanmug@in.ibm.com, manpalat@in.ibm.com, markus_keller@ch.ibm.com, pascal@rapicorp.com, sarika.sinha@in.ibm.com, srikanth_sankaran@in.ibm.com, stephan.herrmann@berlin.de, szymon.ptaszkiewicz@pl.ibm.com, tjwatson@us.ibm.com, Vikas.Chandra@in.ibm.com
diff --git a/production/miscToolsAndNotes/declareTemplate/declare.txt b/production/miscToolsAndNotes/declareTemplate/declare.txt
new file mode 100644
index 000000000..c7004acca
--- /dev/null
+++ b/production/miscToolsAndNotes/declareTemplate/declare.txt
@@ -0,0 +1,43 @@
+Declare Neon M6
+
+A "go" is needed from all the components below to declare our Neon M6 candidate.
+
+Current candidate:
+ http://download.eclipse.org/eclipse/downloads/drops4/I20160317-0200/
+
+Software repository:
+ http://download.eclipse.org/eclipse/updates/4.6-I-builds
+
+Non-composite repository:
+ http://download.eclipse.org/eclipse/updates/4.5-I-builds/I20160317-0200/
+
+Equinox downloads:
+ http://download.eclipse.org/equinox/drops/I20160317-0200/
+
+Deadlines:
+ Thursday, 3/17, around 5 PM (Eastern): deadline for sign-off (or, by then, comment in this bug when you expect to sign-off).
+ Friday, 3/18, afternoon: promote approved build to S-4.6M6-201603170200, contribute to simultaneous release repo, and announce to our mailing lists.
+
+Remember to investigate and document here any failing JUnit tests.
+
+
+= = = = = = = =
+
+Platform:
+-Resources
+-UI
+-Debug
+-Ant
+-SWT
+-Releng
+
+JDT:
+-Core
+-Debug
+-UI
+
+PDE
+
+Equinox
+-p2
+
diff --git a/production/miscToolsAndNotes/mainDLCheck.html b/production/miscToolsAndNotes/mainDLCheck.html
new file mode 100644
index 000000000..5248881bf
--- /dev/null
+++ b/production/miscToolsAndNotes/mainDLCheck.html
@@ -0,0 +1,452 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <title>
+ [Valid]
+ Markup Validation of http://davidw.com/eclipse/downloads/createIndex4x.php - W3C Markup Validator</title>
+ <link rel="icon" href="data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%10%00%00%00%10%08%02%00%00%00%90%91h6%00%00%00%19IDAT(%91c%0C%DD%10%C5%40%0A%60%22I%F5%A8%86Q%0DCJ%03%00dy%01%7F%0C%9F0%7D%00%00%00%00IEND%AEB%60%82" type="image/png" />
+ <link rev="made" href="mailto:www-validator@w3.org" />
+ <link rev="start" href="./" title="Home Page" />
+ <style type="text/css" media="all">@import "./style/base";
+ @import "./style/results";</style>
+ <meta name="keywords" content="HTML, HyperText Markup Language, Validation,
+ W3C Markup Validation Service" />
+ <meta name="description" content="W3C's easy-to-use
+ markup validation service, based on SGML and XML parsers." />
+ </head>
+ <body>
+
+ <div id="banner">
+ <h1 id="title">
+ <a href="http://www.w3.org/"><img alt="W3C" width="110" height="61" id="logo" src="./images/w3c.png" /></a>
+ <a href="./"><span>Markup Validation Service</span></a>
+ </h1>
+ <p id="tagline">Check the markup (HTML, XHTML, …) of Web documents</p>
+ </div>
+
+
+<div id="results_container">
+
+
+
+ <ul class="navbar" id="jumpbar">
+ <li><strong>Jump To:</strong></li>
+
+ <li><a href="#preparse_warnings">Notes and Potential Issues</a></li>
+
+
+ <li><a title="Result of Validation" href="#result">Validation Output</a></li>
+
+
+ <li><a title="Information on validation, Icons" href="#congrats">Congratulations &middot; Icons</a></li>
+
+
+
+
+
+ </ul>
+
+<!-- valid/invalid header and revalidation table -->
+
+
+ <h2 class="valid">This document was successfully checked as
+ HTML5!</h2>
+
+
+
+
+
+
+
+ <form id="form" method="get" action="check">
+
+
+ <table class="header">
+ <tr>
+ <th>Result:</th>
+
+ <td colspan="2" class="valid">
+
+ Passed, <strong class="has_warnings">2 warning(s)</strong>
+
+
+ </td>
+ </tr>
+ <tr>
+
+
+ <th><label title="Address of Page to Validate" for="uri">Address</label>:</th>
+ <td colspan="2"><input type="text" id="uri" name="uri" value="http://davidw.com/eclipse/downloads/createIndex4x.php" size="50" /></td>
+
+
+ </tr>
+
+
+
+ <tr>
+ <th><label title="Character Encoding" for="charset">Encoding</label>:</th>
+ <td>utf-8</td><td><select name="charset" id="charset">
+ <option value="(detect automatically)">(detect automatically)</option>
+ <option value="utf-8" >utf-8 (Unicode, worldwide)</option>
+ <option value="utf-16" >utf-16 (Unicode, worldwide)</option>
+ <option value="iso-8859-1" >iso-8859-1 (Western Europe)</option>
+ <option value="iso-8859-2" >iso-8859-2 (Central Europe)</option>
+ <option value="iso-8859-3" >iso-8859-3 (Southern Europe)</option>
+ <option value="iso-8859-4" >iso-8859-4 (North European)</option>
+ <option value="iso-8859-5" >iso-8859-5 (Cyrillic)</option>
+ <option value="iso-8859-6-i" >iso-8859-6-i (Arabic)</option>
+ <option value="iso-8859-7" >iso-8859-7 (Greek)</option>
+ <option value="iso-8859-8" >iso-8859-8 (Hebrew, visual)</option>
+ <option value="iso-8859-8-i" >iso-8859-8-i (Hebrew, logical)</option>
+ <option value="iso-8859-9" >iso-8859-9 (Turkish)</option>
+ <option value="iso-8859-10" >iso-8859-10 (Latin 6)</option>
+ <option value="iso-8859-11" >iso-8859-11 (Latin/Thai)</option>
+ <option value="iso-8859-13" >iso-8859-13 (Latin 7, Baltic Rim)</option>
+ <option value="iso-8859-14" >iso-8859-14 (Latin 8, Celtic)</option>
+ <option value="iso-8859-15" >iso-8859-15 (Latin 9)</option>
+ <option value="iso-8859-16" >iso-8859-16 (Latin 10)</option>
+ <option value="us-ascii" >us-ascii (basic English)</option>
+ <option value="euc-jp" >euc-jp (Japanese, Unix)</option>
+ <option value="shift_jis" >shift_jis (Japanese, Win/Mac)</option>
+ <option value="iso-2022-jp" >iso-2022-jp (Japanese, email)</option>
+ <option value="euc-kr" >euc-kr (Korean)</option>
+ <option value="gb2312" >gb2312 (Chinese, simplified)</option>
+ <option value="gb18030" >gb18030 (Chinese, simplified)</option>
+ <option value="big5" >big5 (Chinese, traditional)</option>
+ <option value="big5-HKSCS" >Big5-HKSCS (Chinese, Hong Kong)</option>
+ <option value="tis-620" >tis-620 (Thai)</option>
+ <option value="koi8-r" >koi8-r (Russian)</option>
+ <option value="koi8-u" >koi8-u (Ukrainian)</option>
+ <option value="iso-ir-111" >iso-ir-111 (Cyrillic KOI-8)</option>
+ <option value="macintosh" >macintosh (MacRoman)</option>
+ <option value="windows-1250" >windows-1250 (Central Europe)</option>
+ <option value="windows-1251" >windows-1251 (Cyrillic)</option>
+ <option value="windows-1252" >windows-1252 (Western Europe)</option>
+ <option value="windows-1253" >windows-1253 (Greek)</option>
+ <option value="windows-1254" >windows-1254 (Turkish)</option>
+ <option value="windows-1255" >windows-1255 (Hebrew)</option>
+ <option value="windows-1256" >windows-1256 (Arabic)</option>
+ <option value="windows-1257" >windows-1257 (Baltic Rim)</option>
+</select>
+</td>
+ </tr>
+
+
+ <tr>
+ <th><label for="doctype" title="Document Type">Doctype</label>:</th>
+ <td>HTML5</td><td><select id="doctype" name="doctype">
+ <option value="Inline">(detect automatically)</option>
+ <option value="HTML5">HTML5 (experimental)</option>
+ <option value="XHTML 1.0 Strict">XHTML 1.0 Strict</option>
+ <option value="XHTML 1.0 Transitional" >XHTML 1.0 Transitional</option>
+ <option value="XHTML 1.0 Frameset" >XHTML 1.0 Frameset</option>
+ <option value="HTML 4.01 Strict" >HTML 4.01 Strict</option>
+ <option value="HTML 4.01 Transitional" >HTML 4.01 Transitional</option>
+ <option value="HTML 4.01 Frameset" >HTML 4.01 Frameset</option>
+ <option value="HTML 4.01 + RDFa 1.1" >HTML 4.01 + RDFa 1.1</option>
+ <option value="HTML 3.2" >HTML 3.2</option>
+ <option value="HTML 2.0" >HTML 2.0</option>
+ <option value="ISO/IEC 15445:2000 (&quot;ISO HTML&quot;)" >ISO/IEC 15445:2000 ("ISO HTML")</option>
+ <option value="XHTML 1.1" >XHTML 1.1</option>
+ <option value="XHTML + RDFa" >XHTML + RDFa</option>
+ <option value="XHTML Basic 1.0" >XHTML Basic 1.0</option>
+ <option value="XHTML Basic 1.1" >XHTML Basic 1.1</option>
+ <option value="XHTML Mobile Profile 1.2" >XHTML Mobile Profile 1.2</option>
+ <option value="XHTML-Print 1.0" >XHTML-Print 1.0</option>
+ <option value="XHTML 1.1 plus MathML 2.0" >XHTML 1.1 plus MathML 2.0</option>
+ <option value="XHTML 1.1 plus MathML 2.0 plus SVG 1.1" >XHTML 1.1 plus MathML 2.0 plus SVG 1.1</option>
+ <option value="MathML 2.0" >MathML 2.0</option>
+ <option value="SVG 1.0" >SVG 1.0</option>
+ <option value="SVG 1.1" >SVG 1.1</option>
+ <option value="SVG 1.1 Tiny" >SVG 1.1 Tiny</option>
+ <option value="SVG 1.1 Basic" >SVG 1.1 Basic</option>
+ <option value="SMIL 1.0" >SMIL 1.0</option>
+ <option value="SMIL 2.0" >SMIL 2.0</option>
+</select>
+</td>
+ </tr>
+
+
+ <tr>
+ <th>Root Element:</th>
+ <td colspan="2">html</td>
+ </tr>
+
+
+
+ </table>
+
+<div id="w3c-include">
+ <script type="text/javascript" src="http://www.w3.org/QA/Tools/w3c-include.js"></script>
+</div>
+
+ <fieldset id="revalidate_opts">
+ <legend>Options</legend>
+
+ <table class="header">
+ <tr>
+ <td><input type="checkbox" value="1" id="ss" name="ss"
+
+ /><label title="Show Page Source" for="ss">Show&nbsp;Source</label></td>
+ <td><input type="checkbox" value="1" id="outline" name="outline"
+
+ /><label title="Show an Outline of the document" for="outline">Show&nbsp;Outline</label></td>
+ <td><input type="radio" name="group" id="group_no" value="0"
+
+ checked="checked"
+
+ /><label for="group_no">List Messages Sequentially</label>
+ <input type="radio" name="group" id="group_yes" value="1"
+
+ /><label for="group_yes">Group Error Messages by Type</label></td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" value="1" id="No200" name="No200"
+
+ /><label title="Validate also pages for which the HTTP status code indicates an error" for="No200">Validate&nbsp;error&nbsp;pages</label></td>
+ <td><input type="checkbox" value="1" id="verbose" name="verbose"
+
+ /><label title="Show Verbose Output" for="verbose">Verbose&nbsp;Output</label></td>
+ <td><input id="st" name="st" type="checkbox" value="1"
+
+ /><label for="st">Clean up Markup with HTML-Tidy</label></td>
+ </tr>
+
+ </table>
+ <p class="moreinfo">
+ <a href="docs/users.html#Options">Help</a> on the options is available.
+ </p>
+ <div id="revalidate_button" class="submit_button">
+ <input type="hidden" value="W3C_Validator/1.3 http://validator.w3.org/services" id="user-agent" name="user-agent" />
+ <input type="submit" value="Revalidate" title="Validate this document again" />
+ </div>
+ </fieldset>
+</form>
+
+
+
+
+ <div id="result">
+
+
+ <h3 id="preparse_warnings">Notes and Potential Issues</h3>
+<p>The following notes and warnings highlight missing or conflicting information which caused the validator to perform some guesswork prior to validation, or other things affecting the output below. If the guess or fallback is incorrect, it could make validation results entirely incoherent. It is <em>highly recommended</em>
+to check these potential issues, and, if necessary, fix them and re-validate the document.</p>
+<ol id="warnings">
+
+
+ <li class="msg_warn" id="W00">
+ <p><span class="err_type"><img src="images/info_icons/info.png" alt="Info" title="Info" /></span> <span class="msg"> Using experimental feature:
+ <em>HTML5 Conformance Checker</em>.</span></p>
+ <p>The validator checked your document with an experimental feature:
+ <em>HTML5 Conformance Checker</em>. This feature has been
+ made available for your convenience, but be aware that it may be unreliable, or not perfectly
+ up to date with the latest development of some cutting-edge technologies. If you find any issues
+ with this feature, please <a href="feedback.html">report them</a>. Thank you.
+ </p>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</ol><!-- End of "warnings". -->
+
+
+
+
+<h3 id="warning_loop">Validation Output: 2 Warnings
+ </h3>
+ <p>
+ Below is a list of the warning message(s) produced when checking your document.
+ </p>
+
+ <ol id="error_loop">
+
+ <li class="msg_warn">
+ <span class="err_type"><img src="images/info_icons/warning.png" alt="Warning" title="Warning" /></span>
+
+ <em>Line 235,
+ Column 69</em>:
+ <span class="msg">Section lacks heading. Consider using h2-h6 elements to add identifying headings to all sections.</span>
+ <pre><code class="input"> &#60;section id=&#34;breadcrumb&#34; class=&#34;defaut-breadcrumbs hidden-print&#34;<strong title="Position where error was detected.">&#62;</strong></code></pre>
+ <p class="helpwanted">
+ <a
+ href="feedback.html?uri=http%3A%2F%2Fdavidw.com%2Feclipse%2Fdownloads%2FcreateIndex4x.php;errmsg_id=html5#errormsg"
+ title="Suggest improvements on this error message through our feedback channels"
+ >&#x2709;</a>
+ </p>
+
+ </li>
+
+</ol>
+
+<p class="backtop"><a href="#jumpbar">&uarr; Top</a></p>
+
+
+
+
+<h3 id="congrats">Congratulations</h3>
+ <p>
+
+
+ The document located at
+ &lt;<a href="http://davidw.com/eclipse/downloads/createIndex4x.php">http://davidw.com/eclipse/downloads/createIndex4x.php</a>&gt;
+
+
+
+ was successfully checked as
+
+ HTML5.
+
+ This means that the resource in question identified itself as
+ "HTML5" and that we successfully
+ performed a formal validation of it.
+
+
+ The parser implementations we used for this check are based on
+
+
+ <a href="http://validator.nu/">validator.nu</a> (HTML5).
+
+ </p>
+
+
+
+<h4>Linking to this result</h4>
+ <p>
+ If you would like to create a link to <em>this</em> page (i.e., this
+ validation result) to make it easier to revalidate this page in the
+ future or to allow others to validate your page, the URI is
+ &lt;<a href="http://validator.w3.org/check?uri=http%3A%2F%2Fdavidw.com%2Feclipse%2Fdownloads%2FcreateIndex4x.php">http://validator.w3.org/check?uri=http%3A%2F%2Fdavidw.com%2Feclipse%2Fdownloads%2FcreateIndex4x.php</a>&gt;
+ (or you can just add the current page to your bookmarks or hotlist).
+ </p>
+
+
+<h4>Validating CSS Style Sheets</h4>
+ <p>
+ If you use <a href="http://www.w3.org/Style/CSS/">CSS</a> in your document,
+ you can
+
+
+ <a title="Validate CSS at the W3C CSS Validator"
+ href="http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fdavidw.com%2Feclipse%2Fdownloads%2FcreateIndex4x.php">check
+ it</a>
+
+
+ using the W3C
+ <a href="http://jigsaw.w3.org/css-validator/">CSS Validation Service</a>.
+ </p>
+
+
+<p class="backtop"><a href="#jumpbar">&uarr; Top</a></p>
+
+</div><!-- end of "result" -->
+
+
+
+
+
+
+
+
+
+</div><!-- results_container-->
+
+<ul class="navbar" id="menu">
+ <li><a href="./" accesskey="1" title="Go to the Home Page for The W3C Markup Validation Service">Home</a><span> | </span></li>
+ <li><a href="./about.html" title="Information About this Service">About...</a><span> | </span></li>
+
+ <li><a href="./whatsnew.html" title="The changes made to this service recently">News</a><span> | </span></li>
+ <li><a href="./docs/" accesskey="3" title="Documentation for this Service">Docs</a><span> | </span></li>
+ <li><a href="./docs/help.html" title="Help and answers to frequently asked questions">Help&nbsp;&amp;&nbsp;<acronym title="Frequently Asked Questions">FAQ</acronym></a><span> | </span></li>
+ <li><a href="./feedback.html" accesskey="4" title="How to provide feedback on this service">Feedback</a><span> | </span></li>
+ <li><a href="./contribute.html" title="How to contribute to the validator project">Contribute</a><span> | </span></li>
+</ul>
+<div id="footer">
+
+ <p id="activity_logos">
+ <a href="http://www.w3.org/Status" title="W3C's Open Source, bringing you free Web quality tools and more"><img src="http://www.w3.org/Icons/WWW/w3c_home_nb" alt="W3C" width="72" height="47" /><img src="./images/opensource-55x48.png" alt="Open-Source" title="We are building certified Open Source/Free Software. - see www.opensource.org" width="55" height="48" /></a>
+ </p>
+
+ <p id="support_logo">
+ <a href="http://www.w3.org/QA/Tools/Donate">
+ <img src="http://www.w3.org/QA/Tools/I_heart_validator" alt="I heart Validator logo" title=" Validators Donation Program" width="80" height="15" />
+ </a>
+ </p>
+ <p id="version_info">
+ This service runs the W3C Markup Validator, <a href="whatsnew.html#v13"><abbr title="version">v</abbr>1.3</a>.
+ </p>
+
+ <p class="copyright">
+ <a rel="Copyright" href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> &copy; 1994-2012
+ <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a>&reg;
+
+ (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>,
+ <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>,
+ <a href="http://www.keio.ac.jp/">Keio</a>),
+ All Rights Reserved.
+ W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>,
+ <a rel="Copyright" href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a>
+
+ and <a rel="Copyright" href="http://www.w3.org/Consortium/Legal/copyright-software">software licensing</a>
+
+ rules apply. Your interactions with this site are in accordance
+ with our <a href="http://www.w3.org/Consortium/Legal/privacy-statement#Public">public</a> and
+ <a href="http://www.w3.org/Consortium/Legal/privacy-statement#Members">Member</a> privacy
+ statements.
+ </p>
+</div><!-- footer -->
+ </body>
+
+</html>
+
+
+
diff --git a/production/miscToolsAndNotes/misc/checkForErrorExit.sh b/production/miscToolsAndNotes/misc/checkForErrorExit.sh
new file mode 100755
index 000000000..06cbdfa65
--- /dev/null
+++ b/production/miscToolsAndNotes/misc/checkForErrorExit.sh
@@ -0,0 +1,29 @@
+
+# TODO: an enhanced version was put directly in 'wgetFreshSDKdir.sh'
+# Should check if this is used anywhere, and delete, if not.
+
+function checkForErrorExit ()
+{
+ # arg 1 must be return code, $?
+ # arg 2 (remaining line) can be message to print before exiting due to non-zero exit code
+ exitCode=$1
+ shift
+ message="$*"
+ if [ -z "${exitCode}" ]
+ then
+ echo "PROGRAM ERROR: checkForErrorExit called with no arguments"
+ exit 1
+ fi
+ if [ -z "${message}" ]
+ then
+ echo "WARNING: checkForErrorExit called without message"
+ message="(Calling program provided no message)"
+ fi
+ if [ "${exitCode}" -ne "0" ]
+ then
+ echo
+ echo " ERROR. exit code: ${exitCode} ${message}"
+ echo
+ exit "${exitCode}"
+ fi
+}
diff --git a/production/miscToolsAndNotes/misc/makeBranch.sh b/production/miscToolsAndNotes/misc/makeBranch.sh
new file mode 100755
index 000000000..842bd4389
--- /dev/null
+++ b/production/miscToolsAndNotes/misc/makeBranch.sh
@@ -0,0 +1,84 @@
+#!/usr/bin/env bash
+
+# Utility script to semi-automate creation of a branch using committer shell (or, e4Build id)
+
+#project=simrel
+project=platform
+#project=jdt
+
+#reponame=eclipse.platform.team
+#reponame=eclipse.jdt.debug
+#reponame=eclipse.platform.releng
+#reponame=org.eclipse.simrel.build
+reponame=eclipse.platform.releng.maps
+
+startTag=R4_2_2
+#startTag=JunoSR0
+#startTag=R4_2
+#startTag=R3_8
+branchName=R4_2_2_maintenance_patches
+#branchName=R4_2_maintenance
+#branchName=R3_8_maintenance
+
+source checkForErrorExit.sh
+
+repoprojectroot=/gitroot/$project
+gitreponame=$reponame.git
+repo=${repoprojectroot}/${gitreponame}
+
+printf "\n\t%s" "Creating branch $branchName from $startTag "
+printf "\n\t%s\n\n" " for repo $repo "
+
+temprepoarea=/shared/eclipse/temp/mkbranch
+mkdir -p $temprepoarea
+checkForErrorExit $? "Could not create temprepoarea!?: $temprepoarea"
+cd $temprepoarea
+checkForErrorExit $? "Could not cd to temprepoarea!?: $temprepoarea"
+
+git clone $repo
+checkForErrorExit $? "Could not create clone repo: $repo"
+
+
+cd $reponame
+checkForErrorExit $? "Could not cd to reponame: $reponame"
+
+git checkout master
+checkForErrorExit $? "Error during initial checkout of master"
+
+git fetch
+checkForErrorExit $? "Error during fetch"
+
+git checkout -b $branchName $startTag
+checkForErrorExit $? "Could not create local branch ($branchName) from tag ($startTag)"
+
+# The part above could be done by anyone. The following code is where committer access is required
+# (which is accomplished by using e4Build id for the general case).
+
+# note: using cd here is where executing this whole thing from a committer shell on server is handy
+cd $repo
+checkForErrorExit $? "Could not cd to repo: $repo"
+
+git config hooks.allowcreatenottopicbranch true
+checkForErrorExit $? "Could not change config hook"
+
+cd -
+checkForErrorExit $? "Could not cd back to local repo"
+
+git push origin $branchName
+checkForErrorExit $? "Could not push branch to origin"
+
+cd $repo
+checkForErrorExit $? "Could not cd to repo: $repo"
+
+git config --unset hooks.allowcreatenottopicbranch
+checkForErrorExit $? "Could not unset config hook"
+
+# simple cleanup ...
+#rm -fr $temprepoarea
+#checkForErrorExit $? "Error while removing temp repo"
+
+printf "\n\t%s" "Completed creating branch $branchName from $startTag "
+printf "\n\t%s\n\n" " for repo $repo "
+
+exit 0
+
diff --git a/production/miscToolsAndNotes/misc/querySystem.sh b/production/miscToolsAndNotes/misc/querySystem.sh
new file mode 100755
index 000000000..aaba36794
--- /dev/null
+++ b/production/miscToolsAndNotes/misc/querySystem.sh
@@ -0,0 +1,55 @@
+
+#!/usr/bin/env bash
+
+# of special interest, though most won't be defined
+echo "\$WINDOWMANAGER: $WINDOWMANAGER"
+echo "\$WINDOW_MANAGER: $WINDOW_MANAGER"
+echo "\$DESKTOP_SESSION: $DESKTOP_SESSION"
+echo "\$XDG_CURRENT_DESKTOP: $XDG_CURRENT_DESKTOP"
+echo "\$GDMSESSION: $GDMSESSION"
+
+echo "uname -a"
+uname -a
+echo
+echo "lsb_release -a"
+lsb_release -a
+echo
+echo "cat /etc/lsb-release"
+cat /etc/lsb-release
+echo
+echo "cat /etc/SuSE-release"
+cat /etc/SuSE-release
+echo
+echo "rpm -q cairo"
+rpm -q cairo
+echo
+echo "rpm -q gtk2"
+rpm -q gtk2
+echo
+echo "rpm -q glibc"
+rpm -q glibc
+echo
+echo "rpm -q pango"
+rpm -q pango
+echo
+echo "rpm -q glib2"
+rpm -q glib2
+echo
+
+echo
+echo "Check if any window managers are running (xfwm|twm|metacity|beryl|fluxbox|compiz):"
+ps -ef | egrep -i "xfwm|twm|metacity|beryl|fluxbox|compiz" | grep -v egrep
+echo
+echo
+# unity|mint|gnome|kde|xfce|ion|wmii|dwm (was original list, but matched too much,
+# espeically "ion' I suppose.
+echo "Check for popular desktop environments (gnome or kde):"
+ps -ef | egrep -i "gnome|kde" | grep -v egrep
+
+echo
+echo " == all env variables == "
+printenv
+echo
+echo
+# we always end with "success" even though some commands may "fail"
+exit 0
diff --git a/production/miscToolsAndNotes/misc/renameBuild.sh b/production/miscToolsAndNotes/misc/renameBuild.sh
new file mode 100755
index 000000000..f0ac6858b
--- /dev/null
+++ b/production/miscToolsAndNotes/misc/renameBuild.sh
@@ -0,0 +1,249 @@
+#!/usr/bin/env bash
+
+# Important: it is assumed this script is ran from the directory
+# that is the parent of the directory to rename
+
+# CAUTION: this is hard coded for going from "I" build to "S" build.
+# Needs adjustment for "R" build.
+
+# its assumed oldname is old name of directory and buildId, such as I20120503-1800
+# newdirname is new name for directory, such as S-3.8M7-201205031800 and
+# newlabel is the new "short name" of the deliverables, such as 3.8M7
+
+if [[ $# != 3 && $# != 4 ]]
+then
+ # usage:
+ scriptname=$(basename $0)
+ printf "\n\t%s\n" "This script, $scriptname requires three (optionally four) arguments, in order: "
+ printf "\t\t%s\t%s\n" "oldname" "(e.g. I20120503-1800) "
+ printf "\t\t%s\t%s\n" "newdirname" "(e.g. S-3.8M7-201205031800) "
+ printf "\t\t%s\t%s\n" "newlabel" "(e.g. 3.8M7 or 4.2M7 or KeplerM3) "
+ printf "\t\t%s\t%s\n" "dirname" "Optional, this is used when the rename should be done on a directory other than 'oldName', such as for INDEX_ONLY update."
+ printf "\t%s\n" "for example,"
+ printf "\t%s\n\n" "./$scriptname I20120503-1800 S-3.8M7-201205031800 3.8M7 [S-3.8M7-201205031800]"
+ exit 1
+else
+ oldname=$1
+ newdirname=$2
+ newlabel=$3
+ dirname=$4
+ if [[ -z "${dirname}" ]]
+ then
+ dirname=$oldname
+ fi
+ printf "\n\tInput to renameBuild.sh:\n"
+ printf "\t\toldname: ${oldname}\n"
+ printf "\t\tnewdirname: ${newdirname}\n"
+ printf "\t\tnewlabel: ${newlabel}\n"
+ printf "\t\tdirname: ${dirname}\n\n\n"
+fi
+
+
+function renamefile ()
+{
+ # file name is input parameter
+ # if the file name ends in gif, do not rename (due to performance analysis gifs).
+ if [[ ! $1 =~ .*\.gif ]]
+ then
+ if [[ $1 =~ (.*)($oldname)(.*) ]]
+ then
+ echo "changing $1 to ${BASH_REMATCH[1]}$newlabel${BASH_REMATCH[3]}"
+ #TODO Could check here, if already equal, and if so, do not try "mv", though doubt it hurts
+ # anything, it clutters log with confusing messages during "INDEX_ONLY" update.
+ # BUT, some files might have to be updated, so we can not just skip.
+ mv "$1" "${BASH_REMATCH[1]}$newlabel${BASH_REMATCH[3]}"
+ fi
+ fi
+}
+
+
+if [[ "${oldname}" == "${dirname}" ]]
+then
+ echo "Renaming build $oldname to $newdirname with $newlabel"
+else
+ echo "Renaming build $oldname to $newdirname with $newlabel but working in directory ${dirname}"
+fi
+
+# be sure to do "long string" first, since "sort string" will also
+# match it.
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=435671#7
+
+# specific "replaces" to make sure checksums URLs are correct for equinox
+fromString="EQ_BUILD_DIR_SEG = \"${oldname}\""
+toString="EQ_BUILD_DIR_SEG = \"${EQUINOX_DL_DROP_DIR_SEGMENT}\""
+replaceDirCommand="s!${fromString}!${toString}!g"
+echo "replaceDirCommand: $replaceDirCommand"
+perl -w -pi -e "${replaceDirCommand}" ${dirname}/buildproperties.*
+
+# specific "replace" to make sure checksums URLs are correct for eclipse
+fromString="BUILD_DIR_SEG = \"${oldname}\""
+toString="BUILD_DIR_SEG = \"${ECLIPSE_DL_DROP_DIR_SEGMENT}\""
+replaceDirCommand="s!${fromString}!${toString}!g"
+echo "replaceDirCommand: $replaceDirCommand"
+perl -w -pi -e "${replaceDirCommand}" ${dirname}/buildproperties.*
+
+fromString=$oldname
+toString=$newlabel
+replaceCommand="s!${fromString}!${toString}!g"
+
+# As far as is known, the "directory name" only comes into play in
+# the various "buildproperties.*" files, so that's all we'll replace, for now.
+# In most files, it's a "relative" location so newdirname should not be needed.
+# We assume if "oldName" is surrounded by path separators ('/') it needs whole directory
+# name, not just "label".
+# See https://bugs.eclipse.org/bugs/show_bug.cgi?id=414739
+replaceDirCommand="s!/${fromString}/!/${newdirname}/!g"
+perl -w -pi -e ${replaceDirCommand} ${dirname}/buildproperties.*
+
+# not all these file types may exist, we include all the commonly used ones, though,
+# just in case future changes to site files started to have them. There is no harm, per se,
+# if the perl command fails.
+# TODO: could add some "smarts" here to see if all was as expected before making changes.
+perl -w -pi -e ${replaceCommand} ${dirname}/*.php
+perl -w -pi -e ${replaceCommand} ${dirname}/*.html
+perl -w -pi -e ${replaceCommand} ${dirname}/*.xml 2>/dev/null
+perl -w -pi -e ${replaceCommand} ${dirname}/checksum/*
+
+# TODO: need to make this part of case statement, to handle
+# Integration --> Stable
+# Integration --> Release Candidate
+# Integration --> Release
+# These are for cases where used in headers, titles, etc.
+# TODO: final "fall through" case should be based on matching
+# new label with digits only, such as "4.3" ... not sure
+# if this would work for Equinox "Kepler" or "Kepler Released Build"?
+OLD_BUILD_TYPE=${oldname:0:1}
+if [[ $OLD_BUILD_TYPE == "I" ]]
+then
+ oldString="Integration Build"
+elif [[ $OLD_BUILD_TYPE == "M" ]]
+then
+ oldString="Maintenance Build"
+else
+ oldString="Unexpected OLD_BUILD_TYPE: $OLD_BUILD_TYPE"
+fi
+
+if [[ "${newlabel}" =~ .*RC.* ]]
+then
+ newString="Release Candidate Build"
+elif [[ "${newlabel}" =~ .*R.* ]]
+then
+ newString="Release Build"
+elif [[ "${newlabel}" =~ .*M.* ]]
+then
+ newString="Stable Build"
+else
+ # releases have labels such as 4.4 or 4.3.1 (or KeplerSR1) so former
+ # won't match any of the above.
+ # TODO: put in sanity check to match known release patterns
+ # of digits and periods, else bail.
+ newString="Release Build"
+fi
+
+echo -e "\n\tReplacing ${oldString} with ${newString} in ${oldname}/*.php\n"
+
+replaceBuildNameCommand="s!${oldString}!${newString}!g"
+# quotes are critical here, since strings contain spaces!
+perl -w -pi -e "${replaceBuildNameCommand}" ${dirname}/*.php
+
+# some special cases, for the buildproperties.php file
+# Note, we do php only, since that's what we need, and if we did want
+# to rebuild, say using buildproperties.shsource, would be best to work
+# from original values. Less sure what to do with Ant properties,
+# buildproperties.properties ... but, we'll decide when needed.
+# TODO: New label doesn't have "R" in it ... just, for example, "4.3".
+# for now, we'll "fall through" to "R", if doesn't match anything else,
+# but this won't work well if/when we add others, such as X or T for test
+# builds.
+
+if [[ $OLD_BUILD_TYPE == "I" ]]
+then
+ oldString="BUILD_TYPE = \"I\""
+elif [[ $OLD_BUILD_TYPE == "M" ]]
+then
+ oldString="BUILD_TYPE = \"M\""
+else
+ oldString="Unexpected OLD_BUILD_TYPE: $OLD_BUILD_TYPE"
+fi
+
+if [[ "${newlabel}" =~ .*RC.* && $OLD_BUILD_TYPE == "I" ]]
+then
+ newString="BUILD_TYPE = \"S\""
+elif [[ "${newlabel}" =~ .*RC.* && $OLD_BUILD_TYPE == "M" ]]
+then
+ newString="BUILD_TYPE = \"M\""
+elif [[ "${newlabel}" =~ .*R.* ]]
+then
+ newString="BUILD_TYPE = \"R\""
+elif [[ "${newlabel}" =~ .*M.* ]]
+then
+ newString="BUILD_TYPE = \"S\""
+else
+ # see previous comment on forms of "releases" (4.3.1, 4.2, Kepler, KeplerSR1, etc.)
+ newString="BUILD_TYPE = \"R\""
+fi
+
+replaceBuildNameCommand="s!${oldString}!${newString}!g"
+# quotes are critical here, since strings contain spaces!
+perl -w -pi -e "${replaceBuildNameCommand}" ${dirname}/buildproperties.php
+
+# We only ever promote "I" or "M" builds, so this ends with sanity check.
+if [[ $OLD_BUILD_TYPE == "I" ]]
+then
+ oldString="BUILD_TYPE_NAME = \"Integration\""
+elif [[ $OLD_BUILD_TYPE == "M" ]]
+then
+ oldString="BUILD_TYPE_NAME = \"Maintenance\""
+else
+ oldString="BUILD_TYPE_NAME = \"Unknown OLD_BUILD_TYPE, $OLD_BUILD_TYPE\""
+fi
+
+if [[ "${newlabel}" =~ .*RC.* ]]
+then
+ newString="BUILD_TYPE_NAME = \"Release Candidate\""
+elif [[ "${newlabel}" =~ .*R.* ]]
+then
+ newString="BUILD_TYPE_NAME = \"Release\""
+elif [[ "${newlabel}" =~ .*M.* ]]
+then
+ newString="BUILD_TYPE_NAME = \"Stable\""
+else
+ newString="BUILD_TYPE_NAME = \"Release\""
+fi
+
+echo -e "\n\tReplacing ${oldString} with ${newString} in ${dirname}/buildproperties.php\n"
+
+replaceBuildNameCommand="s!${oldString}!${newString}!g"
+# quotes are critical here, since strings might contain spaces!
+perl -w -pi -e "${replaceBuildNameCommand}" ${dirname}/buildproperties.php
+
+# One special case for promoted builds, is the "FAILED" icons are
+# changed to "OK", since all unit tests accounted for, if not fixed.
+oldString="FAIL.gif"
+newString="OK.gif"
+replaceBuildNameCommand="s!${oldString}!${newString}!g"
+# quotes are critical here, since strings might contain spaces!
+perl -w -pi -e "${replaceBuildNameCommand}" ${dirname}/index.php
+
+# If the names are equal, then we must be doing an "index only" update, and no need to
+# to 'move'
+if [[ ! "${dirname}" == "${newdirname}" ]]
+then
+ echo -e "\n\n\tMove old directory, $oldname, to new directory, $newdirname.\n\n"
+ # move directory before file renames
+ mv $oldname $newdirname
+fi
+# We (currently) rename files under current directory, and in 'checksums'.
+# No need to go deeper (currently) and can be harm, since we do have a copy of
+# 'repository' in there (so things things with same name as build directory, such
+# as branding bundles? and /repository/binaries get renamed too, if we go too deep.
+# Even though we should not need that copy of 'repository' any longer, we might,
+# some day?
+echo -e "\n\n\tRename files in new directory, ./${newdirname}, to new name.\n\n"
+nFiles=$(find ./${newdirname} -mindepth 1 -maxdepth 2 -name "*${oldname}*" -print | wc -l)
+echo -e "\n\t $nFiles files found to rename.\n"
+
+for file in $(find ./${newdirname} -mindepth 1 -maxdepth 2 -name "*${oldname}*" -print)
+do
+ renamefile $file
+done
diff --git a/production/miscToolsAndNotes/misc/wgetFresh.sh b/production/miscToolsAndNotes/misc/wgetFresh.sh
new file mode 100755
index 000000000..e29345bfc
--- /dev/null
+++ b/production/miscToolsAndNotes/misc/wgetFresh.sh
@@ -0,0 +1,53 @@
+#!/usr/bin/env bash
+
+# gets a fresh copy of utility scripts
+
+# this localBuildProperties.shsource file is to ease local builds to override some variables.
+# It should not be used for production builds.
+source localBuildProperties.shsource 2>/dev/null
+
+export GIT_HOST=${GIT_HOST:-"git.eclipse.org"}
+
+# codifying the branch (or tag) to use, so it can be set/chagned in one place
+initScriptTag="h=master"
+
+# to use a tag instead of branch, would be tag=X, such as
+# tag=vI20120417-0700, or in full form
+# http://git.eclipse.org/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/wgetFresh.sh?tag=vI20120417-0700
+
+source checkForErrorExit.sh
+
+gitfile=makeBranch.sh
+wget --no-verbose -O ${gitfile} http://${GIT_HOST}/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/sdk/${gitfile}?$initScriptTag 2>&1;
+checkForErrorExit $? "could not wget file: ${gitfile}"
+gitfile=renameBuild.sh
+wget --no-verbose -O ${gitfile} http://${GIT_HOST}/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/sdk/${gitfile}?$initScriptTag 2>&1;
+checkForErrorExit $? "could not wget file: ${gitfile}"
+gitfile=checkForErrorExit.sh
+wget --no-verbose -O ${gitfile} http://${GIT_HOST}/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/sdk/${gitfile}?$initScriptTag 2>&1;
+checkForErrorExit $? "could not wget file: ${gitfile}"
+
+# get this script itself (would have to run twice to make use changes, naturally)
+# and has trouble "writing over itself" so we put in a file with 'NEW' suffix
+# but will remove it if no differences found.
+# and a command line like the following works well
+
+wget --no-verbose -O wgetFresh.NEW.sh http://${GIT_HOST}/c/platform/eclipse.platform.releng.eclipsebuilder.git/plain/scripts/sdk/wgetFresh.sh?$initScriptTag 2>&1;
+
+differs=`diff wgetFresh.NEW.sh wgetFresh.sh`
+
+if [ -z "${differs}" ]
+then
+ # 'new' not different from existing, so remove 'new' one
+ rm wgetFresh.NEW.sh
+else
+ echo " "
+ echo " wgetFresh.sh has changed. Compare with and consider replacing with wgetFresh.NEW.sh"
+ echo " "
+ echo "differences: ${differs}"
+ echo " "
+fi
+
+chmod ug+x *.sh
+chmod o-rwx *.sh
+
diff --git a/production/miscToolsAndNotes/proxyRelated/getBaseBuilderAndTools.xml b/production/miscToolsAndNotes/proxyRelated/getBaseBuilderAndTools.xml
new file mode 100644
index 000000000..375a51c73
--- /dev/null
+++ b/production/miscToolsAndNotes/proxyRelated/getBaseBuilderAndTools.xml
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A utility ant script which gets the Eclipse Platform binary from 'archive' server then uses it to
+ install additional tools and utilities from several p2 repositories: from 'downloads', the 'build' machine,
+ and one that is on an 'external' site, to actually test that proxies work. (The external one is a "real" project,
+ so this script should not be ran so often to "stress" that site, or throw off their download statistics.)
+
+ Hudson jobs (or builds) can call a script like this one from generic ant
+ as one of it first build steps to get the eclipse tools or applications, such as antRunner.
+-->
+<project
+ name="getBaseBuilder"
+ default="getBaseBuilder"
+ basedir=".">
+
+
+ <target
+ name="init"
+ unless="getBaseBuilderInitialized">
+
+ <property environment="env" />
+
+ <!-- this property file is optional. It's primarily used to set
+ the "proxy setting preferences" for Eclpse. -->
+ <property file="platformSpecific.properties" />
+
+ <!-- jvm usually set in the platformSpecific.properties file, but if not, we
+ will force one possibly valid value. -->
+ <property
+ name="jvm"
+ value="/shared/common/jdk1.8.0_x64-latest/bin" />
+
+
+ <condition
+ property="TMP"
+ value="${env.TMP_DIR}">
+ <isset property="env.TMP_DIR" />
+ </condition>
+ <condition
+ property="TMP"
+ value="${TMP_DIR}">
+ <isset property="TMP_DIR" />
+
+ </condition>
+ <condition
+ property="TMP"
+ value="${env.BUILD_ROOT}/tmp">
+ <isset property="${env.BUILD_ROOT}" />
+
+ </condition>
+ <condition
+ property="TMP"
+ value="${BUILD_ROOT}/tmp">
+ <isset property="${BUILD_ROOT}" />
+ </condition>
+
+ <property
+ name="TMP"
+ value="${basedir}/tmp" />
+
+ <fail
+ unless="TMP"
+ message="TMP not defined, since TMP_DIR nor BUILD_ROOT was defined" />
+ <echo message="TMP: ${TMP}" />
+
+ <mkdir dir="${TMP}" />
+
+ <condition
+ property="downloadHost"
+ value="${env.DOWNLOAD_HOST}"
+ else="archive.eclipse.org">
+ <isset property="env.DOWNLOAD_HOST" />
+ </condition>
+ <!--
+ TODO: need make platform independent, as in test.xml, to compute right one.
+ (and, pass in?)
+ (and make "version" variable)
+ -->
+ <property
+ name="platformURL"
+ value="http://${downloadHost}/eclipse/downloads/drops4/R-4.5.2-201602121500" />
+ <!--
+ We used to use binary platform, since smaller, but moved to SDK, to be able to use API Tools.
+ But then moved back to Platform, after having some cases where we need to pick up new fixes from
+ API tools.
+ -->
+ <property
+ name="platformFile"
+ value="eclipse-platform-4.5.2-linux-gtk-x86_64.tar.gz" />
+
+ <property
+ name="eclipserun-repo"
+ value="http://download.eclipse.org/eclipse/updates/4.5/R-4.5.2-201602121500" />
+ <echo message="eclipserun-repo: ${eclipserun-repo}" />
+
+ <property
+ name="apiTools.repository"
+ value="${eclipserun-repo}" />
+ <property
+ name="apiTools.iu"
+ value="org.eclipse.pde.api.tools" />
+ <!-- since we specify specific repo for api tools, we can leave version to "hightest" -->
+ <property
+ name="apiTools.iu.version"
+ value="" />
+
+ <property
+ name="buildTools.repository"
+ value="http://build.eclipse.org/eclipse/buildtools/" />
+ <property
+ name="buildTools.feature"
+ value="org.eclipse.releng.build.tools.feature.feature.group" />
+ <!-- Here, even though not specific repo, we always want the "latest". But, if that ever changes,
+ we can specify a concrete version here.
+ -->
+ <property
+ name="buildTools.feature.version"
+ value="" />
+
+ <property
+ name="buildTools.derby.feature"
+ value="org.apache.derby.core.feature.feature.group" />
+ <property
+ name="buildTools.derby.feature.version"
+ value="" />
+
+ <property
+ name="webtools.repository"
+ value="http://download.eclipse.org/webtools/releng/repository/" />
+ <property
+ name="webtools.feature"
+ value="org.eclipse.wtp.releng.tools.feature.feature.group" />
+ <property
+ name="webtools.feature.version"
+ value="1.2.0.v201102200505-21-7w312213311616" />
+
+ <!-- Have included this "external" site, just to give a true
+ test of the proxies themselves. I got this site from "marketplace"
+ and because this is a "real" project for someone, we should not
+ overuse the "test" aspect, or will throw off their numbers.
+ If it is ever desired to "run this test" ever day, or similar,
+ then a better "test site" should be found or created. -->
+ <property
+ name="external.repository"
+ value=" http://fabrizioiannetti.github.io/p2/" />
+ <property
+ name="external.feature"
+ value="com.github.fabeclipse.textedgrep_feature.feature.group" />
+ <property
+ name="external.feature.version"
+ value="" />
+
+ <!-- assign default WORKSPACE if not on hudson, for local testing if nothing else -->
+ <property
+ name="WORKSPACE"
+ value="${basedir}" />
+ <echo message="WORKSPACE: ${WORKSPACE}" />
+
+ <!--
+ The desired folder name (made to stay consistent with history.
+ -->
+ <property
+ name="folderName"
+ value="org.eclipse.releng.basebuilder" />
+
+ <property
+ name="getBaseBuilderInitialized"
+ value="true" />
+ </target>
+
+
+ <target
+ name="getBaseBuilder"
+ depends="init">
+ <!-- remove old one, if there, and make sure one exists for eventual checkout/copy/globmapper -->
+ <delete dir="${WORKSPACE}/${folderName}" />
+ <mkdir dir="${WORKSPACE}/${folderName}" />
+ <antcall target="fetchBasePlatform" />
+ </target>
+
+ <target
+ name="fetchBasePlatform"
+ depends="init"
+ if="platformURL">
+ <get
+ dest="${TMP}/${platformFile}"
+ src="${platformURL}/${platformFile}"
+ usetimestamp="true" />
+ <!-- untar is broken in Ant 1.9.4. See https://bz.apache.org/bugzilla/show_bug.cgi?id=56641
+ <untar
+ compression="gzip"
+ src="${TMP}/${platformFile}"
+ dest="${TMP}">
+ </untar>
+ -->
+ <exec
+ executable="/bin/tar"
+ dir="${TMP}">
+ <arg value="-xf" />
+ <arg value="${TMP}/${platformFile}" />
+ </exec>
+
+ <chmod perm="ugo+x">
+ <fileset dir="${TMP}/eclipse">
+ <include name="eclipse" />
+ <include name="*.so*" />
+ </fileset>
+ </chmod>
+
+ <antcall target="installSettings" />
+
+ <exec
+ dir="${TMP}/eclipse"
+ failonerror="true"
+ executable="${TMP}/eclipse/eclipse">
+ <arg value="-nosplash" />
+ <arg value="-debug" />
+ <arg value="-consolelog" />
+ <arg value="-data" />
+ <arg value="${WORKSPACE}/workspace-toolsinstall" />
+ <arg value="-application" />
+ <arg value="org.eclipse.equinox.p2.director" />
+ <arg value="-repository" />
+ <arg value="${eclipserun-repo},${buildTools.repository},${webtools.repository},${external.repository}" />
+ <arg value="-installIU" />
+ <arg
+ value="${apiTools.iu}/${apiTools.iu.version},${buildTools.feature}/${buildTools.feature.version},${webtools.feature}/${webtools.feature.version},${buildTools.derby.feature}/${buildTools.derby.feature.version},${external.feature}/${external.feature.version}" />
+ <arg value="-vm" />
+ <arg value="${jvm}" />
+ <!-- vmargs must come last -->
+ <arg value="-vmargs" />
+ <arg value="-Djava.io.tmpdir=${TMP}" />
+ </exec>
+
+ <!-- we "move" so the directory structure so it flat under basebuilder ...
+ for compatibility to very old code/scripts -->
+ <move todir="${WORKSPACE}/${folderName}">
+ <fileset dir="${TMP}/eclipse/" />
+ </move>
+
+ <echo
+ message="platform and tools installed. platformURL: ${platformURL} platform: ${platformFile}, fetched using getBaseBuilderAndTools.xml" />
+
+ <echo message="The following were the properties in effect:" />
+ <echoproperties />
+ </target>
+
+ <target
+ name="installSettings"
+ if="org.eclipse.core.net.prefs">
+ <property
+ name="settingsDir"
+ value="org.eclipse.releng.basebuilder/configuration/.settings" />
+
+ <mkdir dir="${settingsDir}" />
+ <echo
+ message="${org.eclipse.core.net.prefs}"
+ file="${settingsDir}/org.eclipse.core.net.prefs" />
+ </target>
+
+</project>
diff --git a/production/miscToolsAndNotes/proxyRelated/getSettings.sh b/production/miscToolsAndNotes/proxyRelated/getSettings.sh
new file mode 100755
index 000000000..3ced0d849
--- /dev/null
+++ b/production/miscToolsAndNotes/proxyRelated/getSettings.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+function getconf ()
+{
+ key=$1
+ if [[ -n "${key}" ]]
+ then
+ value=$(gconftool-2 --get "${key}")
+ echo -e "${key} \t\t${value}"
+ fi
+}
+
+getconf /system/http_proxy/use_http_proxy
+getconf /system/http_proxy/use_authentication
+getconf /system/http_proxy/host
+getconf /system/http_proxy/authentication_user
+getconf /system/http_proxy/authentication_password
+getconf /system/http_proxy/port
+getconf /system/proxy/socks_host
+getconf /system/proxy/mode
+getconf /system/proxy/ftp_host
+getconf /system/proxy/secure_host
+getconf /system/proxy/socks_port
+getconf /system/proxy/ftp_port
+getconf /system/proxy/secure_port
+getconf /system/proxy/no_proxy_for
+getconf /system/proxy/gopher_host
+getconf /system/proxy/gopher_port
+
diff --git a/production/miscToolsAndNotes/proxyRelated/platformSpecific.properties b/production/miscToolsAndNotes/proxyRelated/platformSpecific.properties
new file mode 100644
index 000000000..0ba80620d
--- /dev/null
+++ b/production/miscToolsAndNotes/proxyRelated/platformSpecific.properties
@@ -0,0 +1,26 @@
+
+# This properties file contains items that are specific to the platform being tested,
+# Typically includes items dependent on exact OS, architecture, and location of files.
+
+# This is the VM to use to run the tests, if one prefers
+# to use a different one from the one that stared the whole process.
+jvm=/shared/common/jdk1.8.0_x64-latest/bin/
+
+# This value gets written to the "preference file", named org.eclipse.core.net.prefs.
+# We implement as a property string, since eventually we may test multiple proxy settings.
+# These listed here are for tests running on build.eclipse.org, to access files outside
+# eclipse.org infrastructure.
+# was: 172.30.206.*
+org.eclipse.core.net.prefs=\
+eclipse.preferences.version=1\n\
+org.eclipse.core.net.hasMigrated=true\n\
+proxiesEnabled=true\n\
+systemProxiesEnabled=true\n\
+nonProxiedHosts=*.eclipse.org\n\
+proxyData/HTTP/hasAuth=false\n\
+proxyData/HTTP/host=proxy.eclipse.org\n\
+proxyData/HTTP/port=9898\n\
+proxyData/HTTPS/hasAuth=false\n\
+proxyData/HTTPS/host=proxy.eclipse.org\n\
+proxyData/HTTPS/port=9898\n
+
diff --git a/production/miscToolsAndNotes/relengUtils/diffing-artifactcomparison.txt b/production/miscToolsAndNotes/relengUtils/diffing-artifactcomparison.txt
new file mode 100644
index 000000000..39396c4f5
--- /dev/null
+++ b/production/miscToolsAndNotes/relengUtils/diffing-artifactcomparison.txt
@@ -0,0 +1,12 @@
+
+execute from top of source tree in build area
+
+find . -regex ".*/artifactcomparison/.*-\(baseline\|build\)" |sort > ~/temp/compareList.sh
+
+chmod +x ~/temp/compareList.sh
+
+Edit to add 'diff \' and '\' to first in pair
+ Also need to change '$' of inner classes to '\$'
+
+~/temp/compareList.sh | tee ~/temp/artifactDiffs.txt
+
diff --git a/production/miscToolsAndNotes/reposcripts/chrepos.sh b/production/miscToolsAndNotes/reposcripts/chrepos.sh
new file mode 100755
index 000000000..75ecd0b49
--- /dev/null
+++ b/production/miscToolsAndNotes/reposcripts/chrepos.sh
@@ -0,0 +1,30 @@
+
+function checkrepo ()
+{
+ cd $1
+ echo $1
+
+ NUNREACHABLE=`git fsck --unreachable | wc -l`
+ echo "Unreachable: " $NUNREACHABLE
+ #find objects/?? -type f | wc -l
+ #find objects/pack -ls | wc -l
+ git count-objects -v
+}
+PROJECTROOT=/gitroot/platform
+
+checkrepo ${PROJECTROOT}/eclipse.platform.common.git
+checkrepo ${PROJECTROOT}/eclipse.platform.debug.git
+checkrepo ${PROJECTROOT}/eclipse.platform.git
+checkrepo ${PROJECTROOT}/eclipse.platform.news.git
+checkrepo ${PROJECTROOT}/eclipse.platform.releng.eclipsebuilder.git
+checkrepo ${PROJECTROOT}/eclipse.platform.releng.git
+checkrepo ${PROJECTROOT}/eclipse.platform.releng.maps.git
+checkrepo ${PROJECTROOT}/eclipse.platform.resources.git
+checkrepo ${PROJECTROOT}/eclipse.platform.runtime.git
+checkrepo ${PROJECTROOT}/eclipse.platform.swt.binaries.git
+checkrepo ${PROJECTROOT}/eclipse.platform.swt.git
+checkrepo ${PROJECTROOT}/eclipse.platform.team.git
+checkrepo ${PROJECTROOT}/eclipse.platform.text.git
+checkrepo ${PROJECTROOT}/eclipse.platform.ua.git
+checkrepo ${PROJECTROOT}/eclipse.platform.ui.git
+
diff --git a/production/miscToolsAndNotes/reposcripts/outcheck.txt b/production/miscToolsAndNotes/reposcripts/outcheck.txt
new file mode 100644
index 000000000..906b03aae
--- /dev/null
+++ b/production/miscToolsAndNotes/reposcripts/outcheck.txt
@@ -0,0 +1,135 @@
+/gitroot/platform/eclipse.platform.common.git
+Unreachable: 0
+count: 0
+size: 0
+in-pack: 207910
+packs: 1
+size-pack: 181425
+prune-packable: 0
+garbage: 0
+/gitroot/platform/eclipse.platform.debug.git
+Unreachable: 0
+count: 0
+size: 0
+in-pack: 134591
+packs: 1
+size-pack: 18538
+prune-packable: 0
+garbage: 0
+/gitroot/platform/eclipse.platform.git
+Unreachable: 0
+count: 0
+size: 0
+in-pack: 117311
+packs: 1
+size-pack: 40530
+prune-packable: 0
+garbage: 0
+/gitroot/platform/eclipse.platform.news.git
+Unreachable: 0
+count: 0
+size: 0
+in-pack: 927
+packs: 1
+size-pack: 5990
+prune-packable: 0
+garbage: 0
+/gitroot/platform/eclipse.platform.releng.eclipsebuilder.git
+Unreachable: 0
+count: 0
+size: 0
+in-pack: 31339
+packs: 1
+size-pack: 45893
+prune-packable: 0
+garbage: 0
+/gitroot/platform/eclipse.platform.releng.git
+Unreachable: 0
+count: 0
+size: 0
+in-pack: 22222
+packs: 1
+size-pack: 6260
+prune-packable: 0
+garbage: 0
+/gitroot/platform/eclipse.platform.releng.maps.git
+Unreachable: 0
+count: 0
+size: 0
+in-pack: 97563
+packs: 1
+size-pack: 10932
+prune-packable: 0
+garbage: 0
+/gitroot/platform/eclipse.platform.resources.git
+Unreachable: 0
+count: 0
+size: 0
+in-pack: 55373
+packs: 1
+size-pack: 9372
+prune-packable: 0
+garbage: 0
+/gitroot/platform/eclipse.platform.runtime.git
+Unreachable: 0
+count: 0
+size: 0
+in-pack: 59179
+packs: 1
+size-pack: 8352
+prune-packable: 0
+garbage: 0
+/gitroot/platform/eclipse.platform.swt.binaries.git
+Unreachable: 27
+count: 27
+size: 880
+in-pack: 47053
+packs: 1
+size-pack: 337103
+prune-packable: 0
+garbage: 0
+/gitroot/platform/eclipse.platform.swt.git
+Unreachable: 0
+count: 0
+size: 0
+in-pack: 373509
+packs: 1
+size-pack: 69654
+prune-packable: 0
+garbage: 0
+/gitroot/platform/eclipse.platform.team.git
+Unreachable: 1
+count: 1
+size: 4
+in-pack: 171672
+packs: 1
+size-pack: 27660
+prune-packable: 0
+garbage: 0
+/gitroot/platform/eclipse.platform.text.git
+Unreachable: 0
+count: 0
+size: 0
+in-pack: 82240
+packs: 1
+size-pack: 11447
+prune-packable: 0
+garbage: 0
+/gitroot/platform/eclipse.platform.ua.git
+Unreachable: 0
+count: 0
+size: 0
+in-pack: 72097
+packs: 1
+size-pack: 19155
+prune-packable: 0
+garbage: 0
+/gitroot/platform/eclipse.platform.ui.git
+Unreachable: 49
+count: 49
+size: 196
+in-pack: 400034
+packs: 2
+size-pack: 88880
+prune-packable: 0
+garbage: 0
diff --git a/production/miscToolsAndNotes/reposcripts/outgc.txt b/production/miscToolsAndNotes/reposcripts/outgc.txt
new file mode 100644
index 000000000..908c2a11b
--- /dev/null
+++ b/production/miscToolsAndNotes/reposcripts/outgc.txt
@@ -0,0 +1,15 @@
+/gitroot/platform/eclipse.platform.common.git
+/gitroot/platform/eclipse.platform.debug.git
+/gitroot/platform/eclipse.platform.git
+/gitroot/platform/eclipse.platform.news.git
+/gitroot/platform/eclipse.platform.releng.eclipsebuilder.git
+/gitroot/platform/eclipse.platform.releng.git
+/gitroot/platform/eclipse.platform.releng.maps.git
+/gitroot/platform/eclipse.platform.resources.git
+/gitroot/platform/eclipse.platform.runtime.git
+/gitroot/platform/eclipse.platform.swt.binaries.git
+/gitroot/platform/eclipse.platform.swt.git
+/gitroot/platform/eclipse.platform.team.git
+/gitroot/platform/eclipse.platform.text.git
+/gitroot/platform/eclipse.platform.ua.git
+/gitroot/platform/eclipse.platform.ui.git
diff --git a/production/miscToolsAndNotes/reposcripts/platformgc.sh b/production/miscToolsAndNotes/reposcripts/platformgc.sh
new file mode 100755
index 000000000..ea50c01e3
--- /dev/null
+++ b/production/miscToolsAndNotes/reposcripts/platformgc.sh
@@ -0,0 +1,28 @@
+
+function checkrepo ()
+{
+ cd $1
+ echo $1
+ #git fsck --unreachable | wc -l
+ #find objects/?? -type f | wc -l
+ #find objects/pack -ls | wc -l
+ git gc
+}
+PROJECTROOT=/gitroot/platform
+
+checkrepo ${PROJECTROOT}/eclipse.platform.common.git
+checkrepo ${PROJECTROOT}/eclipse.platform.debug.git
+checkrepo ${PROJECTROOT}/eclipse.platform.git
+checkrepo ${PROJECTROOT}/eclipse.platform.news.git
+checkrepo ${PROJECTROOT}/eclipse.platform.releng.eclipsebuilder.git
+checkrepo ${PROJECTROOT}/eclipse.platform.releng.git
+checkrepo ${PROJECTROOT}/eclipse.platform.releng.maps.git
+checkrepo ${PROJECTROOT}/eclipse.platform.resources.git
+checkrepo ${PROJECTROOT}/eclipse.platform.runtime.git
+checkrepo ${PROJECTROOT}/eclipse.platform.swt.binaries.git
+checkrepo ${PROJECTROOT}/eclipse.platform.swt.git
+checkrepo ${PROJECTROOT}/eclipse.platform.team.git
+checkrepo ${PROJECTROOT}/eclipse.platform.text.git
+checkrepo ${PROJECTROOT}/eclipse.platform.ua.git
+checkrepo ${PROJECTROOT}/eclipse.platform.ui.git
+
diff --git a/production/miscToolsAndNotes/stripVersions.sh b/production/miscToolsAndNotes/stripVersions.sh
new file mode 100755
index 000000000..cd1d40c6c
--- /dev/null
+++ b/production/miscToolsAndNotes/stripVersions.sh
@@ -0,0 +1,175 @@
+#!/usr/bin/env bash
+
+# Utility bash script to "strip" buildIds and version numbers out of directories and
+# bundles names, in order to make it more meaningful to compare two "installs",
+# or repositories.
+# It also "unzips" any bundled jars, so subsequent "diff" commands will be
+# comparing files to files.
+
+# It allows "directory" to be passed in on command line, which should the the directory
+# that contains both "plugins" and "features" directories. Contents of those
+# two directories will be "stripped".
+# It leaves given input unchanged, but puts results in subdirectories of features and
+# plugins, named "stripped".
+
+OUTPUT_DIR_SEGMENT="stripped"
+DEBUG_PARSE="true"
+DEBUG_VERBOSE_FILE_OPS="false"
+# DEBUG function is used in abbreviated form.
+# return 0 to have debug statements printed.
+# non-zero (1) to not print debug statements
+function DEBUG
+{
+ return 1;
+}
+function VERBOSE
+{
+ return 1;
+}
+
+DIRNAME=$1
+
+if [[ -z "${DIRNAME}" ]]
+then
+ DIRNAME="${PWD}"
+ echo -e "\n\tDirectory not specified on command line, assuming current directory of"
+ echo -e "\t${DIRNAME}\n"
+else
+ echo -e "\n\tDirectory specified on command line:"
+ echo -e "\t${DIRNAME}\n"
+fi
+
+if [[ ! "${DIRNAME:0:1}" = "/" ]]
+then
+ printf "\n\t%s %s\n\t%s\n\t%s\n" "DIRNAME argument, " "${DIRNAME}, " "was not absolute, so assuming it is a child of current working directory, " "${PWD}."
+ DIRNAME="${PWD}/${DIRNAME}"
+fi
+PLUGINS_DIR="${DIRNAME}/plugins"
+FEATURES_DIR="${DIRNAME}/features"
+
+if [[ ! -e "${PLUGINS_DIR}" || ! -e "${FEATURES_DIR}" ]]
+then
+ echo -e "\n\tERROR: 'plugins' or 'features' directory (or both) did not exist under DIRNAME."
+ echo -e "\n\t\tPlease check DIRNAME and re-enter."
+ echo -e "\n\t\tDIRNAME: \t${DIRNAME}"
+ exit 1
+fi
+
+function cleanStripped ()
+{
+ printf "\n\t%s\n" "Removing any existing directories named '${OUTPUT_DIR_SEGMENT}'; assuming left over from previous runs."
+ find $WORK_DIR -name ${OUTPUT_DIR_SEGMENT} -type d -exec rm -fr '{}' \;
+}
+
+function processDirectory ()
+{
+
+ WORK_DIR=$1
+ if [[ ! -e "${WORK_DIR}" ]]
+ then
+ echo -e "\n\tPROGRAM ERROR: WORK_DIR did not exist, even after earlier checking?\n"
+ exit 1
+ fi
+
+ OUTPUTDIR="${WORK_DIR}/${OUTPUT_DIR_SEGMENT}"
+ mkdir -p "${OUTPUTDIR}"
+ DEBUG && echo "DEBUG: OUTPUTDIR: ${OUTPUTDIR}"
+ VERSION_PATTERN="(([[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+)(\.{1}([0-9A-Za-z_\-]+){1})?)"
+ NAME_PATTERN="^.*/(.*)_${VERSION_PATTERN}(\.jar)?$"
+
+ for filename in ${WORK_DIR}/*
+ do
+ # no sense checking the literal WORK_DIR itself,
+ # just to avoid noise in log.
+ if [[ "${filename}" == "${OUTPUTDIR}" ]]
+ then
+ continue
+ fi
+ OLDFILENAME="$filename"
+ DEBUG && echo -e "DEBUG: Starting loop with ${OLDFILENAME}"
+ if [[ "${OLDFILENAME}" =~ $NAME_PATTERN ]]
+ then
+ if [[ "${DEBUG_PARSE}" == "true" ]]
+ then
+ printf "\n%s\n" "MATCH"
+ printf "\t%s\n" "${OLDFILENAME}"
+ #printf "\t%s\n\n" "${BASH_REMATCH[@]}"
+ for ((i=1; i < ${#BASH_REMATCH[*]}; i++))
+ do
+ printf "%u \t%s\n" ${i} "${BASH_REMATCH[${i}]}"
+ done
+ fi
+ NEWFILENAME="${BASH_REMATCH[1]}${BASH_REMATCH[7]}"
+ NEWFILEBASENAME=$NEWFILENAME
+ if [[ "${NEWFILEBASENAME}" =~ ^(.*)\.jar ]]
+ then
+ NEWFILEBASENAME="${BASH_REMATCH[1]}"
+ fi
+ NEWSTRIPPEDDIR="${OUTPUTDIR}/${NEWFILEBASENAME}"
+ DEBUG && echo -e "DEBUG: will copy or unzip \n\t${OLDFILENAME} to \n\t${NEWSTRIPPEDDIR}"
+ if [[ -d ${OLDFILENAME} && ! -L "${OLDFILENAME}" ]]
+ then
+ DEBUG && echo "DEBUG: OLDFILENAME is a directory: ${OLDFILENAME}"
+ mkdir -p "${NEWSTRIPPEDDIR}"
+ DEBUG && echo "DEBUG: Made dir ${NEWSTRIPPEDDIR}"
+ R_VERBOSE=
+ if [[ "${DEBUG_VERBOSE_FILE_OPS}" == "true" ]]
+ then
+ R_VERBOSE="-v"
+ fi
+ VERBOSE && printf "\n\t%s\n\t%s\n\t%s\n\t%s\n" "copying" "${OLDFILENAME}" "to" "${NEWSTRIPPEDDIR}"
+ #remember, no quotes around options!
+ rsync -r --safe-links ${R_VERBOSE} "${OLDFILENAME}/" "${NEWSTRIPPEDDIR}/"
+ RC=$?
+ if [[ ! $RC == 0 ]]
+ then
+ echo -e "[ERROR] Return from rsync was non-zero.RC: $RC"
+ fi
+ elif [[ -f "${OLDFILENAME}" ]]
+ then
+ DEBUG && echo "DEBUG: OLDFILENAME is a file: ${OLDFILENAME}"
+ # TODO: To handle "multiples", such as org.eclipse.jdt.annotations,
+ # and remember, in some repos, may be multiples that differ only in
+ # suffix, we will add arbitrary "__1", "__2", etc., based on the order
+ # encountered on file system. (We limit it to "10" duplicates, since
+ # more than 3 or 5 is highly unlikely, and a sign of an error if there
+ # are more than that.
+ MULTIPLES_SUFFIX=1
+ if [[ -e "${NEWSTRIPPEDDIR}" ]]
+ then
+ MULTIPLES_SUFFIX=1
+ NEWSTRIPPEDDIR_SUFFIXED=${NEWSTRIPPEDDIR}__${MULTIPLES_SUFFIX}
+ while [[ -e "${NEWSTRIPPEDDIR_SUFFIXED}" && ${MULTIPLES_SUFFIX} -lt 10 ]]
+ do
+ ((MULTIPLES_SUFFIX++))
+ DEBUG && echo "DEBUG: MULTIPLLES_SUFFIX INCREMENTED: ${MULTIPLES_SUFFIX}"
+ NEWSTRIPPEDDIR_SUFFIXED=${NEWSTRIPPEDDIR}__${MULTIPLES_SUFFIX}
+ done
+ NEWSTRIPPEDDIR=$NEWSTRIPPEDDIR_SUFFIXED
+ fi
+ Z_VERBOSE=
+ if [[ ! "${DEBUG_VERBOSE_FILE_OPS}" == "true" ]]
+ then
+ Z_VERBOSE="-q"
+ fi
+ VERBOSE && printf "\n\t%s\n\t%s\n\t%s\n\t%s\n" "unzipping" "${OLDFILENAME}" "to" "${NEWSTRIPPEDDIR}"
+ unzip ${Z_VERBOSE} -n "${OLDFILENAME}" -d "${NEWSTRIPPEDDIR}"
+ else
+ echo -e "A matching pattern was neither a file, nor a directory?!\n"
+ fi
+ else
+ if [[ "${DEBUG_PARSE}" == "true" ]]
+ then
+ echo -e "\nNO MATCH\n"
+ echo -e "${OLDFILENAME}\n did not match pattern of \n${NAME_PATTERN}\n"
+ fi
+ fi
+ done
+}
+
+
+# remove earlier versions of "stripped" directories
+cleanStripped
+
+processDirectory "${PLUGINS_DIR}"
+processDirectory "${FEATURES_DIR}"
diff --git a/production/miscToolsAndNotes/syncWebFiles/pullDLSite.sh b/production/miscToolsAndNotes/syncWebFiles/pullDLSite.sh
new file mode 100755
index 000000000..7896b8567
--- /dev/null
+++ b/production/miscToolsAndNotes/syncWebFiles/pullDLSite.sh
@@ -0,0 +1,81 @@
+#!/usr/bin/env bash
+
+function usage ()
+{
+ printf "\n\t%s\n" "This utlity is to pull web files (but not drop artifacts) down to client machine, for local testing."
+ printf "\t%s\n" "Care is needed since it can delete files on client, for the goal of making contents equal."
+ printf "\t%s\n" "Thus, at least one parameter is needed: -f or -s; for 'full' or 'synchronize'"
+ printf "\t\t%s\t%s\n" "-f" "Does a full copy from remote host to local client".
+ printf "\t\t%s\t%s\n" "-s" "Copies files from remote host to local client, but also deletes files on client, that are not on host."
+ printf "\t\t%s\t%s\n" "-r" "All operations are 'dry-runs' unless '-r' ('run') is specified."
+}
+
+doit="--dry-run"
+verbose=""
+delete=""
+trailing=""
+full=""
+sync=""
+while getopts 'fsrvh' OPTION
+do
+ case $OPTION in
+ h) usage
+ exit 1
+ ;;
+ f) delete=""
+ full="true"
+ ;;
+ s) delete="--delete"
+ sync="true"
+ ;;
+ v) verbose="--verbose"
+ ;;
+ r) doit=""
+ ;;
+ # ?) usage
+ # exit 2
+ # ;;
+ esac
+done
+
+# We do not currently use trailing arguments,
+# but for safety/sanity checks, issue "error" if found.
+shift $(($OPTIND - 1))
+trailing="$@"
+
+if [[ -n "${trailing}" ]]
+then
+ printf "\n\tERROR: \t%s\n" "Unexpected trailing arguments were found, so exiting."
+ usage
+ exit 1
+fi
+
+# if BOTH f and s specified, it is an error.
+# if NEITHER f nor s is specified, it is a "no op", but we can treat as a "--dry-run" of full copy?
+
+if [[ "${full}" == "true" && "${sync}" == "true" ]]
+then
+ printf "\n\tERROR: \t%s\n" "Both full and sync were specified."
+ usage
+ exit 1
+fi
+
+if [[ -z "${full}" && -z "${sync}" && -z "${doit}" ]]
+then
+ printf "\n\tERROR: \t%s\n" "Neither full nor sync were specified, but 'run' was."
+ usage
+ exit 1
+fi
+
+# we exclude 'index.html' since that is a "derived" file, and is specific to what is in "drop directories".
+# we excldue the drop directories since they can be massive, and do not need them to do web development.
+rsync ${doit} ${verbose} ${delete} -P -e ssh -a --eclude index.html --exclude **/downloads/drops4/** --exclude **/downloads/drops/** build:~/downloads/eclipse/downloads .
+
+if [[ -z $full && -z $sync ]]
+then
+ printf "\n\tWARNING: \t%s\n" "Neither full nor sync were specified, so symply did full (dry-run) list of what would be copied."
+ usage
+ exit 0
+fi
+
+
diff --git a/production/miscToolsAndNotes/syncWebFiles/pushDLSite.sh b/production/miscToolsAndNotes/syncWebFiles/pushDLSite.sh
new file mode 100755
index 000000000..b8b936df9
--- /dev/null
+++ b/production/miscToolsAndNotes/syncWebFiles/pushDLSite.sh
@@ -0,0 +1,86 @@
+#!/usr/bin/env bash
+
+function usage ()
+{
+ printf "\n\t%s\n" "This utlity is to push web files (but not drop artifacts) up host machine, after local testing and development."
+ printf "\t%s\n" "Care is needed since it can delete files on host, for the goal of making contents equal."
+ printf "\t%s\n" "Thus, at least one parameter is needed: -f or -s; for 'full' or 'synchronize'"
+ printf "\t%s\n" "-f (full) should be rarely needed; only when just getting started, or similar."
+ printf "\t\t%s\t%s\n" "-f" "Does a full copy from remote host to local client".
+ printf "\t\t%s\t%s\n" "-s" "Copies files from remote host to local client, but also deletes files on client, that are not on host."
+ printf "\t\t%s\t%s\n" "-r" "All operations are 'dry-runs' unless '-r' ('run') is specified."
+ printf "\t\t%s\t%s\n" "-v" "verbose output."
+ printf "\t\t%s\t%s\n" "-h" "Displays this 'usage' information."
+
+}
+
+doit="--dry-run"
+verbose=""
+delete=""
+trailing=""
+full=""
+sync=""
+while getopts 'fsrvh' OPTION
+do
+ case $OPTION in
+ h) usage
+ exit 1
+ ;;
+ f) delete=""
+ full="true"
+ ;;
+ s) delete="--delete"
+ sync="true"
+ ;;
+ v) verbose="--verbose"
+ ;;
+ r) doit=""
+ ;;
+ # ?) usage
+ # exit 2
+ # ;;
+ esac
+done
+
+# We do not currently use trailing arguments,
+# but for safety/sanity checks, issue "error" if found.
+shift $(($OPTIND - 1))
+trailing="$@"
+
+if [[ -n "${trailing}" ]]
+then
+ printf "\n\tERROR: \t%s\n" "Unexpected trailing arguments were found, so exiting."
+ usage
+ exit 1
+fi
+
+# if BOTH f and s specified, it is an error.
+# if NEITHER f nor s is specified, it is a "no op", but we can treat as a "--dry-run" of full copy?
+
+if [[ "${full}" == "true" && "${sync}" == "true" ]]
+then
+ printf "\n\tERROR: \t%s\n" "Both full and sync were specified."
+ usage
+ exit 1
+fi
+
+if [[ -z "${full}" && -z "${sync}" && -z "${doit}" ]]
+then
+ printf "\n\tERROR: \t%s\n" "Neither full nor sync were specified, but 'run' was."
+ usage
+ exit 1
+fi
+
+# we exclude 'index.html' since that is a "derived" file, and is specific to what is in "drop directories".
+# we excldue the drop directories since they can be massive, and do not need them to do web development.
+# repeating --itemize-changes is intentional, and causes unchanged files to also be listed.
+rsync ${doit} ${verbose} ${delete} --itemize-changes --itemize-changes -P -e ssh -a --exclude /index.html --exclude /drops4/ ./downloads/ build:~/downloads/eclipse/downloads/
+
+if [[ -z $full && -z $sync ]]
+then
+ printf "\n\tWARNING: \t%s\n" "Neither full nor sync were specified, so symply did full (dry-run) list of what would be copied."
+ usage
+ exit 0
+fi
+
+
diff --git a/production/miscToolsAndNotes/updaterepo/cleanComposite.sh b/production/miscToolsAndNotes/updaterepo/cleanComposite.sh
new file mode 100755
index 000000000..514fecc7d
--- /dev/null
+++ b/production/miscToolsAndNotes/updaterepo/cleanComposite.sh
@@ -0,0 +1,76 @@
+#!/usr/bin/env bash
+
+# Utility to invoke p2.process.artifacts via eclipse antrunner
+# First argument must be the absolute directory path to the
+# (simple) artifact repository.
+
+JAVA_5_HOME=${JAVA_5_HOME:-/shared/common/jdk1.5.0-latest}
+JAVA_6_HOME=${JAVA_6_HOME:-/shared/common/jdk1.6.0-latest}
+JAVA_7_HOME=${JAVA_7_HOME:-/shared/common/jdk1.7.0-latest}
+JAVA_8_HOME=${JAVA_8_HOME:-/shared/common/jdk1.8.0_x64-latest}
+
+export JAVA_HOME=${JAVA_HOME:-${JAVA_8_HOME}}
+
+devJRE="${JAVA_HOME}/bin/java"
+
+if [[ ! -n ${devJRE} -a -x ${devJRE} ]]
+then
+ echo "ERROR: could not find (or execute) JRE were expected: ${devJRE}"
+ exit 1
+else
+ # display version, just to be able to log it.
+ echo "DEBUG: JRE Location and Version: ${devJRE}"
+ echo "DEBUG: $( $devJRE -version )"
+fi
+
+
+# remember, the eclipse install must match the VM used (e.g. both 64 bit, both 32 bit, etc).
+ECLIPSE_EXE=${ECLIPSE_EXE:-/shared/simrel/tools/eclipse45/eclipse/eclipse}
+
+if [ ! -n ${ECLIPSE_EXE} -a -x ${ECLIPSE_EXE} ]
+then
+ echo "ERROR: ECLIPSE_EXE is not defined or not executable: ${ECLIPSE_EXE}"
+ exit 2
+fi
+
+BUILDFILE=cleanComposite.xml
+if [[ -z "${BUILDFILE}" ]]
+then
+ printf "\n\t%s\t%s\n" "ERROR" "must provide ant file to perform composite update as first argument"
+ exit 1
+fi
+if [[ ! -e "${BUILDFILE}" ]]
+then
+ printf "\n\t%s\t%s\n" "ERROR" "BUILDFILE does not exist: ${BUILDFILE}"
+ exit 1
+fi
+BUILDFILESTR="-f ${BUILDFILE}"
+
+repodir=$1
+if [[ -z "${repodir}" ]]
+then
+ printf "\n\t%s\t%s\n" "ERROR" "repodir must be specified as first argument"
+ exit 1
+fi
+if [[ ! -e "${repodir}" ]]
+then
+ printf "\n\t%s\t%s\n" "ERROR" "repodir does not exist: ${repodir}"
+ exit 1
+else
+ REPODIRSTR="-Drepodir=${repodir}"
+fi
+
+devArgs="$devArgs $REPODIRSTR $COMPLOCATIONSTR"
+
+devworkspace=workspace-updateComposite
+
+${ECLIPSE_EXE} --launcher.suppressErrors -nosplash -console -debug -data $devworkspace -application org.eclipse.ant.core.antRunner $BUILDFILESTR ${extraArgs} -vm $devJRE -vmargs $devArgs
+RC=$?
+if [[ $RC != 0 ]]
+then
+ echo "error occurred in composite operation RC: $RC"
+ exit $RC
+fi
+
+exit 0
+
diff --git a/production/miscToolsAndNotes/updaterepo/cleanComposite.xml b/production/miscToolsAndNotes/updaterepo/cleanComposite.xml
new file mode 100644
index 000000000..c46fa04bd
--- /dev/null
+++ b/production/miscToolsAndNotes/updaterepo/cleanComposite.xml
@@ -0,0 +1,64 @@
+<project
+ default="updatecomposite"
+ basedir=".">
+
+ <target name="updatecomposite">
+ <fail
+ unless="repodir"
+ message="repodir must be passed in to this script" />
+ <p2.composite.repository>
+ <repository location="file://${repodir}" />
+ <remove>
+ <repository location="I20130502-0800" />
+ <repository location="I20130503-2000" />
+ <repository location="I20130504-1500" />
+ <repository location="I20130505-2000" />
+ <repository location="I20130507-1100" />
+ <repository location="I20130508-1200" />
+ <repository location="I20130508-2000" />
+ <repository location="I20130509-2000" />
+ <repository location="I20130510-2000" />
+ <repository location="I20130511-1500" />
+ <repository location="I20130512-2000" />
+ <repository location="I20130513-2000" />
+ <repository location="I20130514-2000" />
+ <repository location="I20130515-2000" />
+ <repository location="I20130516-2200" />
+ <repository location="I20130518-1500" />
+ <repository location="I20130519-2000" />
+ <repository location="I20130520-2000" />
+ <repository location="I20130521-2000" />
+ <repository location="I20130522-2000" />
+
+ </remove>
+ </p2.composite.repository>
+<!-- needs work -->
+ <delete>
+ <fileset dir="${repodir}">
+
+ <include name="I20130502-0800" />
+ <include name="I20130503-2000" />
+ <include name="I20130504-1500" />
+ <include name="I20130505-2000" />
+ <include name="I20130507-1100" />
+ <include name="I20130508-1200" />
+ <include name="I20130508-2000" />
+ <include name="I20130509-2000" />
+ <include name="I20130510-2000" />
+ <include name="I20130511-1500" />
+ <include name="I20130512-2000" />
+ <include name="I20130513-2000" />
+ <include name="I20130514-2000" />
+ <include name="I20130515-2000" />
+ <include name="I20130516-2200" />
+ <include name="I20130518-1500" />
+ <include name="I20130519-2000" />
+ <include name="I20130520-2000" />
+ <include name="I20130521-2000" />
+ <include name="I20130522-2000" />
+ </fileset>
+ </delete>
+
+ </target>
+</project>
+
diff --git a/production/miscToolsAndNotes/updaterepo/updateComposite38milestone.xml b/production/miscToolsAndNotes/updaterepo/updateComposite38milestone.xml
new file mode 100644
index 000000000..8c79567d3
--- /dev/null
+++ b/production/miscToolsAndNotes/updaterepo/updateComposite38milestone.xml
@@ -0,0 +1,24 @@
+<project
+ default="updatecomposite"
+ basedir=".">
+ <target name="updatecomposite">
+ <p2.composite.repository>
+ <repository
+ location="file:///home/data/httpd/download.eclipse.org/eclipse/updates/3.8milestones/"
+ name="The Eclipse Project milestone repository" />
+ <remove>
+ <repository location="S-3.8M1-201108031800" />
+ <repository location="S-3.8M2-201109151308" />
+ <repository location="S-3.8M3-201110271800" />
+ <repository location="S-3.8M4-201112091447" />
+ <repository location="S-3.8M5-201201251800" />
+ <repository location="S-3.8M6-201203141800" />
+ <repository location="S-3.8M7-201205022000" />
+ <repository location="S-3.8RC1-201205182345" />
+ <repository location="S-3.8RC2-201205251400" />
+ <repository location="S-3.8RC3-201205310600" />
+ </remove>
+ </p2.composite.repository>
+ </target>
+</project>
+
diff --git a/production/miscToolsAndNotes/updaterepo/updateComposite42milestone.xml b/production/miscToolsAndNotes/updaterepo/updateComposite42milestone.xml
new file mode 100644
index 000000000..62658da66
--- /dev/null
+++ b/production/miscToolsAndNotes/updaterepo/updateComposite42milestone.xml
@@ -0,0 +1,31 @@
+<project
+ default="updatecomposite"
+ basedir=".">
+ <target name="updatecomposite">
+ <p2.composite.repository>
+ <repository
+ location="file:///home/data/httpd/download.eclipse.org/eclipse/updates/4.2milestones/"
+ name="The Eclipse Project milestone repository" />
+ <!--
+ <add>
+ <repository location="http://download.eclipse.org/webtools/downloads/drops/R3.3.0/R-3.3.0-20110607160810/repository/"/>
+ <repository location='http://download.eclipse.org/libra/releases/R-0.1.0-201106071417/'/>
+ </add>
+
+ -->
+ <remove>
+ <repository location="S-4.2M1-201108051200" />
+ <repository location="S-4.2M2-201109161615" />
+ <repository location="S-4.2M3-201110281100" />
+ <repository location="S-4.2M4-201112092100" />
+ <repository location="S-4.2M5-201201271145" />
+ <repository location="S-4.2M6-201203151300" />
+ <repository location="S-4.2M7-201205031800" />
+ <repository location="S-4.2RC1-201205182145" />
+ <repository location="S-4.2RC2-201205242100" />
+ <repository location="S-4.2RC3-201205311500" />
+ </remove>
+ </p2.composite.repository>
+ </target>
+</project>
+
diff --git a/production/miscToolsAndNotes/updaterepo/updateComposite43N.xml b/production/miscToolsAndNotes/updaterepo/updateComposite43N.xml
new file mode 100644
index 000000000..ef464f29a
--- /dev/null
+++ b/production/miscToolsAndNotes/updaterepo/updateComposite43N.xml
@@ -0,0 +1,41 @@
+<project
+ default="updatecomposite"
+ basedir=".">
+ <target name="updatecomposite">
+
+ <fail unless="repodir" message="must specify repodirectory" />
+ <echo message="repodir: ${repodir}" />
+
+
+ <p2.composite.repository>
+ <repository
+ location="file://${repodir}"
+ name="The Eclipse Project nightly repository" />
+ <!--
+ <add>
+ <repository location="http://download.eclipse.org/webtools/downloads/drops/R3.3.0/R-3.3.0-20110607160810/repository/"/>
+ <repository location='http://download.eclipse.org/libra/releases/R-0.1.0-201106071417/'/>
+ </add>
+
+ -->
+ <remove>
+ <repository location="N20120626-1030" />
+ <repository location="N20120627-2000" />
+ <repository location="N20120628-2000" />
+ <repository location="N20120629-2000" />
+ <repository location="N20120701-0800" />
+ <repository location="N20120701-2000" />
+ <repository location="N20120702-2000" />
+ </remove>
+ </p2.composite.repository>
+ <echo message="repodir: ${repodir}" />
+ <delete dir="${repodir}/N20120626-1030" />
+ <delete dir="${repodir}/N20120627-2000" />
+ <delete dir="${repodir}/N20120628-2000" />
+ <delete dir="${repodir}/N20120629-2000" />
+ <delete dir="${repodir}/N20120701-0800" />
+ <delete dir="${repodir}/N20120701-2000" />
+ <delete dir="${repodir}/N20120702-2000" />
+ </target>
+</project>
+
diff --git a/production/miscToolsAndNotes/updaterepo/updateGenericComposites.sh b/production/miscToolsAndNotes/updaterepo/updateGenericComposites.sh
new file mode 100755
index 000000000..5a4023bc3
--- /dev/null
+++ b/production/miscToolsAndNotes/updaterepo/updateGenericComposites.sh
@@ -0,0 +1,90 @@
+#!/usr/bin/env bash
+#*******************************************************************************
+# Copyright (c) 2015 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:
+# David Williams - initial API and implementation
+#*******************************************************************************
+
+# Utility to invoke p2.process.artifacts via eclipse antrunner
+# First argument must be the absolute directory path to the
+# (simple) artifact repository.
+
+JAVA_5_HOME=${JAVA_5_HOME:-/shared/common/jdk1.5.0-latest}
+JAVA_6_HOME=${JAVA_6_HOME:-/shared/common/jdk1.6.0-latest}
+JAVA_7_HOME=${JAVA_7_HOME:-/shared/common/jdk1.7.0-latest}
+JAVA_8_HOME=${JAVA_8_HOME:-/shared/common/jdk1.8.0_x64-latest}
+
+export JAVA_HOME=${JAVA_HOME:-${JAVA_8_HOME}}
+
+devJRE="${JAVA_HOME}"/bin/java
+
+if [ ! -n ${devJRE} -a -x ${devJRE} ]
+then
+ echo "ERROR: could not find (or execute) JRE where expected: ${devJRE}"
+ exit 1
+else
+ # display version, just to be able to log it.
+ echo "JRE Location and Version: ${devJRE}"
+ echo $( $devJRE -version )
+fi
+
+# Assumed there is an Eclipse SDK already installed.
+# remember, the eclipse install must match the VM used (e.g. both 64 bit, both 32 bit, etc).
+ECLIPSE_EXE=${ECLIPSE_EXE:-/shared/eclipse/sdk/eclipse45/eclipse/eclipse}
+
+if [[ ! -n ${ECLIPSE_EXE} && -x ${ECLIPSE_EXE} ]]
+then
+ echo "ERROR: ECLIPSE_EXE is not defined or not executable: ${ECLIPSE_EXE}"
+ exit 2
+fi
+
+BUILDFILE=updateGenericComposites.xml
+if [[ -z "${BUILDFILE}" ]]
+then
+ printf "\n\t%s\t%s\n" "ERROR:" "must provide ant file to perform composite update"
+ exit 1
+fi
+if [[ ! -e "${BUILDFILE}" ]]
+then
+ printf "\n\t%s\t%s\n" "ERROR:" "BUILDFILE does not exist: ${BUILDFILE}"
+ exit 1
+fi
+BUILDFILESTR="-f ${BUILDFILE}"
+
+currentStream=$1
+if [[ -z "${currentStream}" ]]
+then
+ printf "\n\t%s\t%s\n" "WARNING:" "Current stream version not specified on command line, assuming 4.6"
+ currentStream="4.6"
+fi
+
+maintenanceStream=$2
+if [[ -z "${maintenanceStream}" ]]
+then
+ printf "\n\t%s\t%s\n" "WARNING:" "Maintenance stream version not specified on command line, assuming 4.5"
+ maintenanceStream="4.5"
+fi
+
+
+
+devArgs="$devArgs -DcurrentStream=$currentStream -DmaintenanceStream=$maintenanceStream"
+
+devworkspace=workspace-updateGenericComposite
+
+${ECLIPSE_EXE} --launcher.suppressErrors -nosplash -console -data $devworkspace -application org.eclipse.ant.core.antRunner $BUILDFILESTR ${extraArgs} -vm $devJRE -vmargs $devArgs
+RC=$?
+if [[ $RC != 0 ]]
+then
+ echo "error occurred in composite operation RC: $RC"
+ exit $RC
+fi
+
+
+
+exit 0
+
diff --git a/production/miscToolsAndNotes/updaterepo/updateGenericComposites.xml b/production/miscToolsAndNotes/updaterepo/updateGenericComposites.xml
new file mode 100644
index 000000000..a487f1beb
--- /dev/null
+++ b/production/miscToolsAndNotes/updaterepo/updateGenericComposites.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 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:
+ David Williams - initial API and implementation
+-->
+
+<project
+ default="updateGenericComposites"
+ basedir=".">
+
+ <!--
+ updateGenericComposites is a utilty to use once a year or so,
+ when ever a new release is started.
+ It must be ran from "antRunner appliction"
+
+ -->
+ <target name="updateGenericComposites">
+
+ <fail
+ unless="currentStream"
+ message="currentStream (such as '4.6') must be defined for this script" />
+ <fail
+ unless="maintenanceStream"
+ message="maintenanceStream (such as '4.5') must be defined for this script" />
+
+ <!-- Note: we do not put stream number in 'name', since once a 'name' is defined
+ in Eclipse's UI, it does not change. -->
+ <updatecomposite
+ repotocreate="/home/data/httpd/download.eclipse.org/eclipse/updates/I-builds"
+ repotopointto="http://download.eclipse.org/eclipse/updates/${currentStream}-I-builds/"
+ reponame="Eclipse Project current integration builds repository" />
+ <updatecomposite
+ repotocreate="/home/data/httpd/download.eclipse.org/eclipse/updates/N-builds"
+ repotopointto="http://download.eclipse.org/eclipse/updates/${currentStream}-N-builds/"
+ reponame="Eclipse Project current nightly builds repository" />
+ <updatecomposite
+ repotocreate="/home/data/httpd/download.eclipse.org/eclipse/updates/milestones"
+ repotopointto="http://download.eclipse.org/eclipse/updates/${currentStream}milestones/"
+ reponame="Eclipse Project current milestone builds repository" />
+ <updatecomposite
+ repotocreate="/home/data/httpd/download.eclipse.org/eclipse/updates/M-builds"
+ repotopointto="http://download.eclipse.org/eclipse/updates/${maintenanceStream}-M-builds/"
+ reponame="Eclipse Project maintenance builds repository" />
+
+ </target>
+
+ <!--
+ macro to create a "generic" composite site, that simply points to
+ annohter repository.
+
+ repoToCreate must be an absolute file path directory,
+ that is writeable.
+
+ repoToPointTo can be any repo, but must be in "full form", such as
+ http://download.eclipse.org/eclipse/updates/${currentStream}milestones/
+
+ -->
+ <macrodef name="updatecomposite">
+ <attribute name="repoToCreate" />
+ <attribute name="repoToPointTo" />
+ <attribute name="reponame" />
+ <sequential>
+ <!-- delete it, if already exists -->
+ <delete
+ dir="@{repoToCreate}"
+ failonerror="false" />
+ <!-- create it -->
+ <mkdir dir="@{repoToCreate}" />
+ <!-- now add the one child -->
+ <echo message="(re)creating repostory: @{repoToCreate}" />
+ <echo message="adding child repository: @{repoToPointTo}" />
+ <p2.composite.repository>
+ <repository location="file://@{repoToCreate}" name="@{reponame}"/>
+ <add location="@{repoToPointTo}" />
+ </p2.composite.repository>
+
+ <local name="p2IndexFilename" />
+ <property
+ name="p2IndexFilename"
+ value="@{repoToCreate}/p2.index" />
+ <echo message="creating p2.index file" />
+ <echo
+ file="${p2IndexFilename}"
+ message="version=1${line.separator}" />
+ <echo
+ file="${p2IndexFilename}"
+ append="true"
+ message="metadata.repository.factory.order=compositeContent.xml,!${line.separator}" />
+ <echo
+ file="${p2IndexFilename}"
+ append="true"
+ message="artifact.repository.factory.order=compositeArtifacts.xml,!${line.separator}" />
+
+ </sequential>
+ </macrodef>
+
+</project>
+
diff --git a/production/miscToolsAndNotes/utilityCronJobs/checkCronRebuilds b/production/miscToolsAndNotes/utilityCronJobs/checkCronRebuilds
new file mode 100755
index 000000000..8d1978524
--- /dev/null
+++ b/production/miscToolsAndNotes/utilityCronJobs/checkCronRebuilds
@@ -0,0 +1,52 @@
+#!/usr/bin/env bash
+
+# simply utility to show, and save current cronjobs
+#
+# not a bad idea to save a complete copy before making
+# changes
+
+# must be run from "current user id
+
+OUTPUTDIR=/opt/buildhomes/e4Build/cronjobs
+
+timestamp=$( date +%Y%m%d-%H%M )
+outfilename=${OUTPUTDIR}/crontab-${timestamp}.txt
+crontab -l > $outfilename
+
+# following line if for interactive jobs.
+#printf "\n\tlisting of crontab saved to %s \n\n" ${outfilename}
+
+# check for "rebuilds" that are still enabled, and if found, send
+# an eamil. Since we are running from a cronjob, we'll set it's
+# email parametes to send to right person "on error" (which
+# includes anything written to stderr.
+
+# this depends on certain conventions, such as using the comment
+# of '# rebuilds' immediately before an entry to do the job.
+# So, if the line following '# rebuilds' begins with blank for # we
+# can assume "ok". If that line begins with a digit, then it is
+# still scheduled, when it probably should not be.
+
+rebuildPattern="^# rebuild"
+okPattern="^#"
+notOkPattern="^[ \t]*[0-9\*]+"
+while read LINE
+do
+
+if [[ "${LINE}" =~ $rebuildPattern ]]
+then
+# echo "DEBUG: $LINE"
+ read NEXTLINE
+# echo "DEBUG: $NEXTLINE"
+ if [[ "${NEXTLINE}" =~ $notOkPattern ]]
+ then
+ printf "%s\n" "A rebuild job appears to still be scheduled. Please comment it out unless still needed." >&2
+ printf "%s\n" "For $USER on $HOSTNAME, see " >&2
+ printf "%s\n" "$outfilename" >&2
+ printf "%s\n" "Such as, the following (may be more than one on system)." >&2
+ printf "%s\n" "$NEXTLINE" >&2
+ exit 1
+ fi
+fi
+done < "$outfilename"
+exit 0
diff --git a/production/miscToolsAndNotes/utilityCronJobs/cleanup.sh b/production/miscToolsAndNotes/utilityCronJobs/cleanup.sh
new file mode 100755
index 000000000..bbb30e122
--- /dev/null
+++ b/production/miscToolsAndNotes/utilityCronJobs/cleanup.sh
@@ -0,0 +1,117 @@
+#!/bin/bash
+
+#*******************************************************************************
+# Copyright (c) 2011 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
+#*******************************************************************************
+
+baseBuilder=/shared/eclipse/e4/build/e4/org.eclipse.releng.basebuilder
+launcherJar=$( find $baseBuilder/ -name "org.eclipse.equinox.launcher_*.jar" | sort | head -1 )
+java=/shared/common/jdk-1.5.0-22.x86_64/jre/bin/java
+
+remoteBase=/home/data/httpd/download.eclipse.org
+
+e4Builds=/shared/eclipse/e4/build/e4/downloads/drops/4.0.0
+sdkBuilds=/shared/eclipse/e4/build/e4/downloads/drops/4.0.0/40builds
+orionBuilds=/shared/eclipse/e4/orion
+
+generateCleanupXML() {
+ dash=""
+ if [ ! -z "$1" ]; then
+ dash=$1
+ fi
+
+ cat > cleanupScript.xml << "EOF"
+<project>
+ <target name="cleanup">
+ <p2.composite.repository destination="file:${compositeRepo}">
+ <remove>
+EOF
+ for f in $builds; do
+ d=${f:0:9}
+ t=${f:9}
+ echo " <repository location=\"$d$dash$t\" />" >> cleanupScript.xml
+ done
+cat >> cleanupScript.xml << "EOF"
+ </remove>
+ </p2.composite.repository>
+ </target>
+</project>
+EOF
+
+}
+
+clean() {
+ project=$1
+ prefix=$2
+ compositeRepo=$3
+
+ user=pwebster
+ drops=drops
+ createIndex=createIndex.php
+ case "$project" in
+ "e4")
+ buildDir=$e4Builds
+ p2RepoRoot=e4/updates
+ urlFragment=e4/downloads;;
+ "sdk")
+ buildDir=$sdkBuilds
+ p2RepoRoot=eclipse/updates
+ drops=drops4
+ createIndex=createIndex4x.php
+ urlFragment=eclipse/downloads;;
+ "orion")
+ buildDir=$orionBuilds
+ user=aniefer
+ p2RepoRoot=orion/updates
+ urlFragment=orion;;
+ esac
+
+ pushd $buildDir
+
+ builds=$( ls --format=single-column -d $prefix* | sort | head -n-3 )
+
+ if [[ ! -z $builds ]]; then
+ #remove from p2 composite repository
+ generateCleanupXML
+ $java -jar $launcherJar -data "/opt/buildhomes/e4Build/cleanupworkspaces/workspace-cleanup" -application org.eclipse.ant.core.antRunner -f cleanupScript.xml cleanup -DcompositeRepo=$compositeRepo
+
+ for f in $builds; do
+ rm -rf $f #delete from build directory
+ ssh $user@build.eclipse.org rm -rf $remoteBase/$urlFragment/$drops/$f #delete from dev.eclipse.org drops
+ rm -rf $compositeRepo/$f #delete from composite repo
+
+ case "$project" in
+ "e4")
+ rm -rf targets/$f targets/$f-p2;;
+ "sdk")
+ rm -rf /shared/eclipse/e4/sdk/$f $sdkBuilds/targets/helios-repo-$f;;
+ "orion")
+ d=${f:0:9}
+ t=${f:9}
+ rm -rf tests/$d-$t $compositeRepo/$d-$t;;
+ esac
+ done
+
+ #update website index and rsync the repo
+ if [[ $project != "orion" ]]; then
+ wget -O index.txt http://download.eclipse.org/$urlFragment/$createIndex
+ scp index.txt $user@build.eclipse.org:$remoteBase/$urlFragment/index.html
+ rm index.txt
+ fi
+ rsync --delete --recursive $compositeRepo $user@build.eclipse.org:$remoteBase/$p2RepoRoot
+ fi
+ popd
+}
+
+clean e4 I $e4Builds/targets/updates/0.12-I-builds
+clean e4 M $e4Builds/targets/updates/0.11-I-builds
+clean sdk I $e4Builds/targets/updates/4.2-I-builds
+clean sdk M $e4Builds/targets/updates/4.1-I-builds
+clean orion I $orionBuilds/target/integration
diff --git a/production/miscToolsAndNotes/xslUtilityScripts/fix-feature-pom.xsl b/production/miscToolsAndNotes/xslUtilityScripts/fix-feature-pom.xsl
new file mode 100644
index 000000000..4bc444271
--- /dev/null
+++ b/production/miscToolsAndNotes/xslUtilityScripts/fix-feature-pom.xsl
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:my="http://maven.apache.org/POM/4.0.0" exclude-result-prefixes="my xs" version="1.0">
+ <!--xsl:output omit-xml-declaration="yes" indent="yes"/>
+ <xsl:output indent="yes"/>
+ <xsl:strip-space elements="*"/-->
+ <xsl:output method="xml" encoding="UTF-8"/>
+ <xsl:template name="group-id">
+ <xsl:param name="pText" select="."/>
+ <xsl:param name="pCount" select="0"/>
+ <xsl:if test="$pCount &lt; 3">
+ <xsl:value-of select="substring-before(concat($pText, '.'), '.')"/>
+ <xsl:if test="$pCount &lt; 2">
+ <xsl:text>.</xsl:text>
+ </xsl:if>
+ <xsl:call-template name="group-id">
+ <xsl:with-param name="pText" select="substring-after($pText, '.')"/>
+ <xsl:with-param name="pCount" select="$pCount + 1"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test="$pCount = 3">
+ <xsl:text>.feature</xsl:text>
+ </xsl:if>
+ </xsl:template>
+ <xsl:template match="/my:project/my:groupId">
+ <groupId xmlns="http://maven.apache.org/POM/4.0.0">
+ <xsl:call-template name="group-id">
+ <xsl:with-param name="pText" select="/my:project/my:artifactId/text()"/>
+ <xsl:with-param name="pCount" select="0"/>
+ </xsl:call-template>
+ </groupId>
+ </xsl:template>
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+ <!--xsl:template match="node()|@*">
+ <xsl:copy>
+ <xsl:apply-templates select="node()|@*">
+ <xsl:sort select="name()" />
+ <xsl:sort select="@*" />
+ </xsl:apply-templates>
+ </xsl:copy>
+</xsl:template-->
+</xsl:stylesheet>
diff --git a/production/miscToolsAndNotes/xslUtilityScripts/fix-pom-parent-version.xsl b/production/miscToolsAndNotes/xslUtilityScripts/fix-pom-parent-version.xsl
new file mode 100644
index 000000000..4529cb09d
--- /dev/null
+++ b/production/miscToolsAndNotes/xslUtilityScripts/fix-pom-parent-version.xsl
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:my="http://maven.apache.org/POM/4.0.0" exclude-result-prefixes="my xs" version="1.0">
+ <!--xsl:output omit-xml-declaration="yes" indent="yes"/>
+ <xsl:output indent="yes"/>
+ <xsl:strip-space elements="*"/-->
+ <xsl:output method="xml" encoding="UTF-8"/>
+ <xsl:param name="new-version" select="'0.14.0-SNAPSHOT'"/>
+ <xsl:template match="/my:project/my:parent/my:version">
+ <xsl:element name="version" namespace="http://maven.apache.org/POM/4.0.0"><xsl:value-of select="$new-version"/></xsl:element>
+ </xsl:template>
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+ <!--xsl:template match="node()|@*">
+ <xsl:copy>
+ <xsl:apply-templates select="node()|@*">
+ <xsl:sort select="name()" />
+ <xsl:sort select="@*" />
+ </xsl:apply-templates>
+ </xsl:copy>
+</xsl:template-->
+</xsl:stylesheet>
diff --git a/production/miscToolsAndNotes/xslUtilityScripts/fix-pom-version.xsl b/production/miscToolsAndNotes/xslUtilityScripts/fix-pom-version.xsl
new file mode 100644
index 000000000..3a631eb69
--- /dev/null
+++ b/production/miscToolsAndNotes/xslUtilityScripts/fix-pom-version.xsl
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:my="http://maven.apache.org/POM/4.0.0" exclude-result-prefixes="my xs" version="1.0">
+ <!--xsl:output omit-xml-declaration="yes" indent="yes"/>
+ <xsl:output indent="yes"/>
+ <xsl:strip-space elements="*"/-->
+ <xsl:output method="xml" encoding="UTF-8"/>
+ <xsl:param name="new-version" select="'0.14.0-SNAPSHOT'"/>
+ <xsl:template match="/my:project/my:version">
+ <xsl:element name="version" namespace="http://maven.apache.org/POM/4.0.0"><xsl:value-of select="$new-version"/></xsl:element>
+ </xsl:template>
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+ <!--xsl:template match="node()|@*">
+ <xsl:copy>
+ <xsl:apply-templates select="node()|@*">
+ <xsl:sort select="name()" />
+ <xsl:sort select="@*" />
+ </xsl:apply-templates>
+ </xsl:copy>
+</xsl:template-->
+</xsl:stylesheet>
diff --git a/production/miscToolsAndNotes/xslUtilityScripts/fix-pom.xsl b/production/miscToolsAndNotes/xslUtilityScripts/fix-pom.xsl
new file mode 100644
index 000000000..7bfd72f40
--- /dev/null
+++ b/production/miscToolsAndNotes/xslUtilityScripts/fix-pom.xsl
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:my="http://maven.apache.org/POM/4.0.0" exclude-result-prefixes="my xs" version="1.0">
+ <!--xsl:output omit-xml-declaration="yes" indent="yes"/>
+ <xsl:output indent="yes"/>
+ <xsl:strip-space elements="*"/-->
+ <xsl:output method="xml" encoding="UTF-8"/>
+ <xsl:template name="group-id">
+ <xsl:param name="pText" select="."/>
+ <xsl:param name="pCount" select="0"/>
+ <xsl:if test="$pCount &lt; 3">
+ <xsl:value-of select="substring-before(concat($pText, '.'), '.')"/>
+ <xsl:if test="$pCount &lt; 2">
+ <xsl:text>.</xsl:text>
+ </xsl:if>
+ <xsl:call-template name="group-id">
+ <xsl:with-param name="pText" select="substring-after($pText, '.')"/>
+ <xsl:with-param name="pCount" select="$pCount + 1"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+ <xsl:template match="/my:project/my:groupId">
+ <groupId xmlns="http://maven.apache.org/POM/4.0.0">
+ <xsl:call-template name="group-id">
+ <xsl:with-param name="pText" select="/my:project/my:artifactId/text()"/>
+ <xsl:with-param name="pCount" select="0"/>
+ </xsl:call-template>
+ </groupId>
+ </xsl:template>
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+ <!--xsl:template match="node()|@*">
+ <xsl:copy>
+ <xsl:apply-templates select="node()|@*">
+ <xsl:sort select="name()" />
+ <xsl:sort select="@*" />
+ </xsl:apply-templates>
+ </xsl:copy>
+</xsl:template-->
+</xsl:stylesheet>
diff --git a/production/miscToolsAndNotes/xslUtilityScripts/groupId.sh b/production/miscToolsAndNotes/xslUtilityScripts/groupId.sh
new file mode 100755
index 000000000..cdd08a6e9
--- /dev/null
+++ b/production/miscToolsAndNotes/xslUtilityScripts/groupId.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+ECLIPSE=/opt/local/e4-self/R421/eclipse/eclipse
+
+if [ $# -gt 0 ]; then
+ ECLIPSE="$1" ; shift
+fi
+
+find * -name pom.xml -print0 | xargs -0 grep eclipse-plugin | cut -f1 -d: | sort -u >/tmp/t1_$$.txt
+
+for POM in $( cat /tmp/t1_$$.txt ); do
+ $ECLIPSE -noSplash \
+ -application org.eclipse.ant.core.antRunner -v \
+ -buildfile run-xsl.xml \
+ -Dfile.sheet="fix-pom.xsl" \
+ -Dfile.in="$(pwd)/$POM" \
+ -Dfile.out="$(pwd)/${POM}.out"
+ xmllint --format "${POM}.out" >"${POM}"
+ rm "${POM}.out"
+done
+
+find * -name pom.xml -print0 | xargs -0 grep eclipse-feature | cut -f1 -d: | sort -u >/tmp/t1_$$.txt
+
+for POM in $( cat /tmp/t1_$$.txt ); do
+ $ECLIPSE -noSplash \
+ -application org.eclipse.ant.core.antRunner -v \
+ -buildfile run-xsl.xml \
+ -Dfile.sheet="fix-feature-pom.xsl" \
+ -Dfile.in="$(pwd)/$POM" \
+ -Dfile.out="$(pwd)/${POM}.out"
+ xmllint --format "${POM}.out" >"${POM}"
+ rm "${POM}.out"
+done
+
+
+find * -name pom.xml -print0 | xargs -0 grep eclipse-test-plugin | cut -f1 -d: | sort -u >/tmp/t1_$$.txt
+
+for POM in $( cat /tmp/t1_$$.txt ); do
+ $ECLIPSE -noSplash \
+ -application org.eclipse.ant.core.antRunner -v \
+ -buildfile run-xsl.xml \
+ -Dfile.sheet="fix-pom.xsl" \
+ -Dfile.in="$(pwd)/$POM" \
+ -Dfile.out="$(pwd)/${POM}.out"
+ xmllint --format "${POM}.out" >"${POM}"
+ rm "${POM}.out"
+done
diff --git a/production/miscToolsAndNotes/xslUtilityScripts/run-xsl.xml b/production/miscToolsAndNotes/xslUtilityScripts/run-xsl.xml
new file mode 100644
index 000000000..e7b642d7f
--- /dev/null
+++ b/production/miscToolsAndNotes/xslUtilityScripts/run-xsl.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="Run stylesheet" default="all" basedir=".">
+ <property name="file.in" value="content.xml"/>
+ <property name="file.out" value="out_${file.in}"/>
+ <property name="file.sheet" value="sort.xsl"/>
+
+ <target name="all">
+ <xslt in="${file.in}" out="${file.out}" style="${file.sheet}"/>
+ </target>
+</project>
diff --git a/production/miscToolsAndNotes/xslUtilityScripts/upVersionParents.sh b/production/miscToolsAndNotes/xslUtilityScripts/upVersionParents.sh
new file mode 100755
index 000000000..5d9cc10a0
--- /dev/null
+++ b/production/miscToolsAndNotes/xslUtilityScripts/upVersionParents.sh
@@ -0,0 +1,42 @@
+#!/bin/bash
+#
+
+
+LOG=$(pwd)/log_$( date +%Y%m%d%H%M%S ).txt
+
+exec >>$LOG 2>&1
+
+LREPO=$(pwd)/../localMavenRepo
+
+JAVA_7_HOME=${JAVA_7_HOME:-/shared/common/jdk1.7.0-latest}
+JAVA_8_HOME=${JAVA_8_HOME:-/shared/common/jdk1.8.0_x64-latest}
+export JAVA_HOME=${JAVA_HOME:-${JAVA_8_HOME}}
+
+TMP_DIR=${TMP_DIR:-$(pwd)/../tmp}
+mkdir -p $TMP_DIR
+export MAVEN_OPTS=${MAVEN_OPTS:-"-Xmx2560m -XX:MaxPermSize=256M -Djava.io.tmpdir=${TMP_DIR}"}
+export MAVEN_PATH=${MAVEN_PATH:-/opt/local/apache-maven-3.1.1/bin}
+export PATH=${JAVA_HOME}/bin:${MAVEN_PATH}:${PATH}
+
+DIR=$( dirname $0 )
+NEW_VER=4.4.0-SNAPSHOT
+if [ $# -eq 1 ]; then
+ NEW_VER="$1"
+fi
+
+find * -name pom.xml -print0 | xargs -0 grep packaging.pom..packaging | cut -f1 -d: | sort -u >/tmp/t1_$$.txt
+find * -name pom.xml -print0 | xargs -0 grep packaging.eclipse-repository..packaging | cut -f1 -d: | sort -u >>/tmp/t1_$$.txt
+
+for POM in $( cat /tmp/t1_$$.txt ); do
+ # this doesn't update everything like I hoped
+ # and fails for a small number of bundles.
+ # it doesn't deal well with the children of the parent poms
+ mvn -Pbuild-individual-bundles \
+ versions:set \
+ -DnewVersion=$NEW_VER \
+ -DgenerateBackupPoms=false \
+ -f $POM \
+ -Dmaven.repo.local=$LREPO
+done
+
+
diff --git a/production/miscToolsAndNotes/xslUtilityScripts/xgroupId.sh b/production/miscToolsAndNotes/xslUtilityScripts/xgroupId.sh
new file mode 100755
index 000000000..9b4ac56a2
--- /dev/null
+++ b/production/miscToolsAndNotes/xslUtilityScripts/xgroupId.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+ECLIPSE=/opt/local/e4-self/R421/eclipse/eclipse
+
+if [ $# -gt 0 ]; then
+ ECLIPSE="$1" ; shift
+fi
+
+find * -name pom.xml -print0 | xargs -0 grep eclipse-plugin | cut -f1 -d: | sort -u >/tmp/t1_$$.txt
+
+for POM in $( cat /tmp/t1_$$.txt ); do
+ xsltproc -o "${POM}.out" fix-pom.xsl "${POM}"
+ mv "${POM}.out" "${POM}"
+done
+
+find * -name pom.xml -print0 | xargs -0 grep eclipse-feature | cut -f1 -d: | sort -u >/tmp/t1_$$.txt
+
+for POM in $( cat /tmp/t1_$$.txt ); do
+ xsltproc -o "${POM}.out" fix-feature-pom.xsl "${POM}"
+ mv "${POM}.out" "${POM}"
+done
+
+
+find * -name pom.xml -print0 | xargs -0 grep eclipse-test-plugin | cut -f1 -d: | sort -u >/tmp/t1_$$.txt
+
+for POM in $( cat /tmp/t1_$$.txt ); do
+ xsltproc -o "${POM}.out" fix-pom.xsl "${POM}"
+ mv "${POM}.out" "${POM}"
+done
+
+
diff --git a/production/miscToolsAndNotes/xslUtilityScripts/xparentVersions.sh b/production/miscToolsAndNotes/xslUtilityScripts/xparentVersions.sh
new file mode 100755
index 000000000..0bbcf6bc2
--- /dev/null
+++ b/production/miscToolsAndNotes/xslUtilityScripts/xparentVersions.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+#
+
+DIR=$( dirname $0 )
+NEW_VER=0.14.0-SNAPSHOT
+if [ $# -eq 1 ]; then
+ NEW_VER="$1"
+fi
+
+find * -name pom.xml -print0 | xargs -0 grep "^<project>" | cut -f1 -d: | sort -u >/tmp/t1_$$.txt
+
+for POM in $( cat /tmp/t1_$$.txt ); do
+ sed 's!<project>!<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">!g' ${POM} >/tmp/out_$$.txt
+ mv /tmp/out_$$.txt ${POM}
+done
+
+
+find * -name pom.xml -print0 | xargs -0 grep packaging.pom..packaging | cut -f1 -d: | sort -u >/tmp/t1_$$.txt
+find * -name pom.xml -print0 | xargs -0 grep packaging.eclipse-repository..packaging | cut -f1 -d: | sort -u >>/tmp/t1_$$.txt
+
+for POM in $( cat /tmp/t1_$$.txt ); do
+ xsltproc --stringparam new-version "$NEW_VER" -o "${POM}.out" $DIR/fix-pom-version.xsl "${POM}"
+ mv "${POM}.out" "${POM}"
+done
+
+find * -name pom.xml | sort -u >/tmp/t1_$$.txt
+
+for POM in $( cat /tmp/t1_$$.txt ); do
+ xsltproc --stringparam new-version "$NEW_VER" -o "${POM}.out" $DIR/fix-pom-parent-version.xsl "${POM}"
+ mv "${POM}.out" "${POM}"
+done
+
+find * -name pom.xml -print0 | xargs -0 grep packaging.eclipse-plugin | cut -f1 -d: | sort -u >/tmp/t1_$$.txt
+find * -name pom.xml -print0 | xargs -0 grep packaging.eclipse-feature | cut -f1 -d: | sort -u >>/tmp/t1_$$.txt
+find * -name pom.xml -print0 | xargs -0 grep packaging.eclipse-test-plugin | cut -f1 -d: | sort -u >>/tmp/t1_$$.txt
+
+
+for POM in $( cat /tmp/t1_$$.txt ); do
+ POM_DIR=$( dirname $POM )
+ cat >${POM_DIR}/forceQualifierUpdate.txt <<EOF
+ # To force a version qualifier update add the bug here
+ Bug 403352 - Update all parent versions to match our build stream
+EOF
+done
+
diff --git a/production/miscToolsAndNotes/xslUtilityScripts/xslUpVersion.sh b/production/miscToolsAndNotes/xslUtilityScripts/xslUpVersion.sh
new file mode 100755
index 000000000..ad1a0552a
--- /dev/null
+++ b/production/miscToolsAndNotes/xslUtilityScripts/xslUpVersion.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+#
+
+DIR=$( dirname $0 )
+NEW_VER=4.4.0-SNAPSHOT
+if [ $# -eq 1 ]; then
+ NEW_VER="$1"
+fi
+
+find * -name pom.xml -print0 >/tmp/files.txt
+
+cat /tmp/files.txt | xargs -0 grep packaging.pom..packaging | cut -f1 -d: | sort -u >/tmp/t1_$$.txt
+cat /tmp/files.txt | xargs -0 grep packaging.eclipse-repository..packaging | cut -f1 -d: | sort -u >>/tmp/t1_$$.txt
+
+for POM in $( cat /tmp/t1_$$.txt ); do
+ xsltproc --stringparam new-version "$NEW_VER" -o "${POM}.out" $DIR/fix-pom-version.xsl "${POM}"
+ mv "${POM}.out" "${POM}"
+done
+
+find * -name pom.xml | sort -u >/tmp/t1_$$.txt
+
+for POM in $( cat /tmp/t1_$$.txt ); do
+ xsltproc --stringparam new-version "$NEW_VER" -o "${POM}.out" $DIR/fix-pom-parent-version.xsl "${POM}"
+ mv "${POM}.out" "${POM}"
+done
+

Back to the top