Bug 533905 - Fix and simplify Oomph setup for JDT

Ensure that an API baseline is set; it should be Oxygen now.

Set eclipse.target.platform to eclipse.target.platform.latest which is
maintained in the project catalog; it is Photon now (and don't set it in
any of the streams).

Set eclipse.api.baseline.target.platform to
eclipse.api.baseline.target.platform.latest.released which is maintained
in the project catalog; it's is Oxygen now.

Include a task to resolve JDT's API baseline and set it; this task is
composeable with the setups of other projects, producing a common
baseline.

Simplify the targlet tasks, e.g., always use
http://download.eclipse.org/cbi/updates/license regardless of the
current target platform choice.

Change-Id: I10ac3a686f7cfb57084be00c26aa157593ca78ea
Signed-off-by: Ed Merks <ed.merks@gmail.com>
diff --git a/org.eclipse.jdt.releng/JDT.setup b/org.eclipse.jdt.releng/JDT.setup
index 0242bfb..97ed7de 100644
--- a/org.eclipse.jdt.releng/JDT.setup
+++ b/org.eclipse.jdt.releng/JDT.setup
@@ -19,14 +19,6 @@
         name="org.eclipse.pde.api.tools.ee.feature.feature.group"/>
   </setupTask>
   <setupTask
-      xsi:type="setup:CompoundTask"
-      name="org.eclipse.pde.api.tools">
-    <setupTask
-        xsi:type="setup:PreferenceTask"
-        key="/instance/org.eclipse.pde.api.tools/missing_default_api_profile"
-        value="Ignore"/>
-  </setupTask>
-  <setupTask
       xsi:type="setup:EclipseIniTask"
       option="-Xmx"
       value="2048m"
@@ -45,21 +37,19 @@
   <setupTask
       xsi:type="setup:VariableTask"
       name="eclipse.target.platform"
-      defaultValue="Oxygen"
+      value="${eclipse.target.platform.latest}"
       storageURI="scope://Workspace"/>
   <setupTask
       xsi:type="setup:VariableTask"
-      disabled="true"
       name="eclipse.api.baseline.target.platform"
-      value="Neon"
+      value="${eclipse.api.baseline.target.platform.latest.released}"
       storageURI="scope://Workspace"/>
   <setupTask
       xsi:type="setup.targlets:TargletTask"
-      disabled="true"
       targetName="Modular API Baseline Target"
       activateTarget="false">
     <targlet
-        name="Platform"
+        name="JDT"
         activeRepositoryList="${eclipse.api.baseline.target.platform}"
         includeSources="false">
       <requirement
@@ -76,7 +66,7 @@
       xsi:type="setup.targlets:TargletTask">
     <targlet
         name="JDT Platform"
-        activeRepositoryList="${eclipse.target.platform}">
+        activeRepositoryList="CBI">
       <requirement
           name="org.eclipse.platform.feature.group"/>
       <requirement
@@ -86,32 +76,7 @@
       <requirement
           name="org.eclipse.equinox.executable.feature.group"/>
       <repositoryList
-          name="Oxygen">
-        <repository
-            url="http://download.eclipse.org/cbi/updates/license"/>
-      </repositoryList>
-      <repositoryList
-          name="Neon">
-        <repository
-            url="http://download.eclipse.org/cbi/updates/license"/>
-      </repositoryList>
-      <repositoryList
-          name="Mars">
-        <repository
-            url="http://download.eclipse.org/cbi/updates/license"/>
-      </repositoryList>
-      <repositoryList
-          name="Luna">
-        <repository
-            url="http://download.eclipse.org/cbi/updates/license"/>
-      </repositoryList>
-      <repositoryList
-          name="Kepler">
-        <repository
-            url="http://download.eclipse.org/cbi/updates/license"/>
-      </repositoryList>
-      <repositoryList
-          name="Juno">
+          name="CBI">
         <repository
             url="http://download.eclipse.org/cbi/updates/license"/>
       </repositoryList>
@@ -156,18 +121,6 @@
             name="*"/>
         <sourceLocator
             rootFolder="${git.clone.jdt.location}"/>
-        <repositoryList
-            name="Oxygen"/>
-        <repositoryList
-            name="Neon"/>
-        <repositoryList
-            name="Mars"/>
-        <repositoryList
-            name="Luna"/>
-        <repositoryList
-            name="Kepler"/>
-        <repositoryList
-            name="Juno"/>
       </targlet>
     </setupTask>
     <setupTask
@@ -188,13 +141,7 @@
     </setupTask>
     <stream
         name="master"
-        label="Master">
-      <setupTask
-          xsi:type="setup:VariableTask"
-          name="eclipse.target.platform"
-          value="Oxygen"
-          storageURI="scope://Workspace"/>
-    </stream>
+        label="Master"/>
     <description>The features of the JDT project</description>
   </project>
   <project name="core"
@@ -233,20 +180,12 @@
           activeRepositoryList="${eclipse.target.platform}">
         <requirement
             name="org.eclipse.jdt.apt.ui"/>
+        <requirement
+            name="org.eclipse.jdt.core.internal.tools"/>
+        <requirement
+            name="org.eclipse.jdt.core.ecj.validation.plain.project"/>
         <sourceLocator
             rootFolder="${git.clone.jdt.core.location}"/>
-        <repositoryList
-            name="Oxygen"/>
-        <repositoryList
-            name="Neon"/>
-        <repositoryList
-            name="Mars"/>
-        <repositoryList
-            name="Luna"/>
-        <repositoryList
-            name="Kepler"/>
-        <repositoryList
-            name="Juno"/>
       </targlet>
     </setupTask>
     <setupTask
@@ -302,13 +241,7 @@
       </setupTask>
       <stream
           name="master"
-          label="Master">
-        <setupTask
-            xsi:type="setup:VariableTask"
-            name="eclipse.target.platform"
-            value="Oxygen"
-            storageURI="scope://Workspace"/>
-      </stream>
+          label="Master"/>
     </project>
     <project
         name="testbinaries"
@@ -349,18 +282,6 @@
               name="org.eclipse.jdt.core.tests.binaries"/>
           <sourceLocator
               rootFolder="${git.clone.jdt.binaries.location}"/>
-          <repositoryList
-              name="Oxygen"/>
-          <repositoryList
-              name="Neon"/>
-          <repositoryList
-              name="Mars"/>
-          <repositoryList
-              name="Luna"/>
-          <repositoryList
-              name="Kepler"/>
-          <repositoryList
-              name="Juno"/>
         </targlet>
       </setupTask>
       <setupTask
@@ -374,24 +295,12 @@
       </setupTask>
       <stream
           name="master"
-          label="Master">
-        <setupTask
-            xsi:type="setup:VariableTask"
-            name="eclipse.target.platform"
-            value="Oxygen"
-            storageURI="scope://Workspace"/>
-      </stream>
+          label="Master"/>
       <description>The binaries for tests of the JDT Core project</description>
     </project>
     <stream
         name="master"
-        label="Master">
-      <setupTask
-          xsi:type="setup:VariableTask"
-          name="eclipse.target.platform"
-          value="Oxygen"
-          storageURI="scope://Workspace"/>
-    </stream>
+        label="Master"/>
     <description>The core parts of the JDT project</description>
   </project>
   <project name="debug"
@@ -428,20 +337,17 @@
       <targlet
           name="JDT Debug"
           activeRepositoryList="${eclipse.target.platform}">
+        <requirement
+            name="*"/>
         <sourceLocator
-            rootFolder="${git.clone.jdt.debug.location}"/>
-        <repositoryList
-            name="Oxygen"/>
-        <repositoryList
-            name="Neon"/>
-        <repositoryList
-            name="Mars"/>
-        <repositoryList
-            name="Luna"/>
-        <repositoryList
-            name="Kepler"/>
-        <repositoryList
-            name="Juno"/>
+            rootFolder="${git.clone.jdt.debug.location}">
+          <predicate
+              xsi:type="predicates:NotPredicate">
+            <operand
+                xsi:type="predicates:NamePredicate"
+                pattern=".*tests.*"/>
+          </predicate>
+        </sourceLocator>
       </targlet>
     </setupTask>
     <setupTask
@@ -471,9 +377,13 @@
             name="JDT Debug Tests"
             activeRepositoryList="">
           <requirement
-              name="org.eclipse.jdt.debug.tests"/>
-          <requirement
-              name="org.eclipse.jdt.debug.jdi.tests.plain.project"/>
+              name="*"/>
+          <sourceLocator
+              rootFolder="${git.clone.jdt.debug.location}">
+            <predicate
+                xsi:type="predicates:NamePredicate"
+                pattern=".*tests.*"/>
+          </sourceLocator>
         </targlet>
       </setupTask>
       <setupTask
@@ -493,23 +403,11 @@
       </setupTask>
       <stream
           name="master"
-          label="Master">
-        <setupTask
-            xsi:type="setup:VariableTask"
-            name="eclipse.target.platform"
-            value="Oxygen"
-            storageURI="scope://Workspace"/>
-      </stream>
+          label="Master"/>
     </project>
     <stream
         name="master"
-        label="Master">
-      <setupTask
-          xsi:type="setup:VariableTask"
-          name="eclipse.target.platform"
-          value="Oxygen"
-          storageURI="scope://Workspace"/>
-    </stream>
+        label="Master"/>
     <description>The debug parts of the JDT project</description>
   </project>
   <project name="ui"
@@ -552,18 +450,6 @@
             name="org.eclipse.jdt.jeview.feature.feature.group"/>
         <sourceLocator
             rootFolder="${git.clone.jdt.ui.location}"/>
-        <repositoryList
-            name="Oxygen"/>
-        <repositoryList
-            name="Neon"/>
-        <repositoryList
-            name="Mars"/>
-        <repositoryList
-            name="Luna"/>
-        <repositoryList
-            name="Kepler"/>
-        <repositoryList
-            name="Juno"/>
       </targlet>
     </setupTask>
     <setupTask
@@ -618,13 +504,7 @@
       </setupTask>
       <stream
           name="master"
-          label="Master">
-        <setupTask
-            xsi:type="setup:VariableTask"
-            name="eclipse.target.platform"
-            value="Oxygen"
-            storageURI="scope://Workspace"/>
-      </stream>
+          label="Master"/>
     </project>
     <project
         name="examples"
@@ -656,23 +536,11 @@
       </setupTask>
       <stream
           name="master"
-          label="Master">
-        <setupTask
-            xsi:type="setup:VariableTask"
-            name="eclipse.target.platform"
-            value="Oxygen"
-            storageURI="scope://Workspace"/>
-      </stream>
+          label="Master"/>
     </project>
     <stream
         name="master"
-        label="Master">
-      <setupTask
-          xsi:type="setup:VariableTask"
-          name="eclipse.target.platform"
-          value="Oxygen"
-          storageURI="scope://Workspace"/>
-    </stream>
+        label="Master"/>
     <description>The UI parts of the JDT project</description>
   </project>
   <logicalProjectContainer