Changes needed for the Oomph tutorial
diff --git a/plugins/org.eclipse.oomph.p2.ui/icons/sample.gif b/plugins/org.eclipse.oomph.p2.ui/icons/sample.gif new file mode 100644 index 0000000..34fb3c9 --- /dev/null +++ b/plugins/org.eclipse.oomph.p2.ui/icons/sample.gif Binary files differ
diff --git a/plugins/org.eclipse.oomph.p2.ui/plugin.xml b/plugins/org.eclipse.oomph.p2.ui/plugin.xml index a939793..41da9d5 100644 --- a/plugins/org.eclipse.oomph.p2.ui/plugin.xml +++ b/plugins/org.eclipse.oomph.p2.ui/plugin.xml
@@ -58,6 +58,15 @@ id="org.eclipse.oomph.p2.ui.ExploreRepository" name="Explore Repository"> </command> + <category + id="org.eclipse.oomph.p2.ui.commands.category" + name="Sample Category"> + </category> + <command + categoryId="org.eclipse.oomph.p2.ui.commands.category" + id="org.eclipse.oomph.p2.ui.commands.sampleCommand" + name="Sample Command"> + </command> </extension> <extension @@ -76,6 +85,10 @@ </iterate> </activeWhen> </handler> + <handler + class="org.eclipse.oomph.p2.ui.handlers.StripReleaseTrainHandler" + commandId="org.eclipse.oomph.p2.ui.commands.sampleCommand"> + </handler> </extension> <extension @@ -103,6 +116,33 @@ tooltip="Offline Mode"> </command> </menuContribution> + <!-- + <menuContribution + locationURI="menu:org.eclipse.ui.main.menu?after=additions"> + <menu + id="org.eclipse.oomph.p2.ui.menus.sampleMenu" + label="Sample Menu" + mnemonic="M"> + <command + commandId="org.eclipse.oomph.p2.ui.commands.sampleCommand" + id="org.eclipse.oomph.p2.ui.menus.sampleCommand" + mnemonic="S"> + </command> + </menu> + </menuContribution> + <menuContribution + locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions"> + <toolbar + id="org.eclipse.oomph.p2.ui.toolbars.sampleToolbar"> + <command + commandId="org.eclipse.oomph.p2.ui.commands.sampleCommand" + icon="icons/sample.gif" + id="org.eclipse.oomph.p2.ui.toolbars.sampleCommand" + tooltip="Say hello world"> + </command> + </toolbar> + </menuContribution> + --> </extension> </plugin>
diff --git a/plugins/org.eclipse.oomph.p2.ui/src/org/eclipse/oomph/p2/ui/handlers/StripReleaseTrainHandler.java b/plugins/org.eclipse.oomph.p2.ui/src/org/eclipse/oomph/p2/ui/handlers/StripReleaseTrainHandler.java new file mode 100644 index 0000000..35b7b89 --- /dev/null +++ b/plugins/org.eclipse.oomph.p2.ui/src/org/eclipse/oomph/p2/ui/handlers/StripReleaseTrainHandler.java
@@ -0,0 +1,168 @@ +package org.eclipse.oomph.p2.ui.handlers; + +import org.eclipse.oomph.p2.core.Agent; +import org.eclipse.oomph.p2.core.P2Util; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.equinox.p2.metadata.IArtifactKey; +import org.eclipse.equinox.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.query.QueryUtil; +import org.eclipse.equinox.p2.repository.artifact.ArtifactKeyQuery; +import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository; +import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager; +import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; +import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.handlers.HandlerUtil; + +import java.io.File; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; + +/** + * Our sample handler extends AbstractHandler, an IHandler base class. + * @see org.eclipse.core.commands.IHandler + * @see org.eclipse.core.commands.AbstractHandler + */ +public class StripReleaseTrainHandler extends AbstractHandler +{ + /** + * The constructor. + */ + public StripReleaseTrainHandler() + { + } + + /** + * the command has been executed, so extract extract the needed information + * from the application context. + */ + public Object execute(ExecutionEvent event) throws ExecutionException + { + stripTrain(); + // stripOrbit(); + + IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event); + MessageDialog.openInformation(window.getShell(), "Oomph P2 Management UI", "Done!"); + return null; + } + + private void stripTrain() + { + String[] trainPrefixes = { "com.fasterxml.jackson", "com.mycorp.examples.timeservice", "com.naef.jnlua", "com.spotify.docker.client", + "com.thoughtworks.selenium", "jnr", "org.eclipse.actf", "org.eclipse.birt", "org.eclipse.bpel", "org.eclipse.bpmn2", "org.eclipse.cdt", + "org.eclipse.egf", "org.eclipse.emf.cdo", "org.eclipse.emf.diffmerge", "org.eclipse.emf.ecp", "org.eclipse.emf.edapt", "org.eclipse.emf.emfstore", + "org.eclipse.emf.facet", "org.eclipse.emf.query", "org.eclipse.emf.rap", "org.eclipse.emfforms", "org.eclipse.fx", "org.eclipse.gmt.modisco", + "org.eclipse.graphiti", "org.eclipse.gyrex", "org.eclipse.jpt", "org.eclipse.jsf", "org.eclipse.jst", "org.eclipse.jubula", "org.eclipse.jwt", + "org.eclipse.launchbar", "org.eclipse.ldt", "org.eclipse.libra", "org.eclipse.linuxtools", "org.eclipse.m2m", "org.eclipse.mat", "org.eclipse.modisco", + "org.eclipse.net4j", "org.eclipse.objectteams", "org.eclipse.papyrus", "org.eclipse.persistence", "org.eclipse.photran", "org.eclipse.php", + "org.eclipse.ptp", "org.eclipse.rap", "org.eclipse.rcptt", "org.eclipse.remote", "org.eclipse.riena", "org.eclipse.rse", "org.eclipse.scout", + "org.eclipse.sphinx", "org.eclipse.stardust", "org.eclipse.tcf", "org.eclipse.thym", "org.eclipse.tm", "org.eclipse.tracecompass", "org.eclipse.wb", + "org.eclipse.wtp", "org.eclipse.xwt", "org.eclipse.datatools", "org.eclipse.gef4", "org.eclipse.sapphire", "org.eclipse.uml2", "org.eclipse.xpand" }; + + try + { + URI uri = new File("C:/develop/develop/p2/releases/mars/201510021000").toURI(); + Agent agent = P2Util.getAgentManager().getCurrentAgent(); + + List<IInstallableUnit> iusToRemove = new ArrayList<IInstallableUnit>(); + + IMetadataRepositoryManager metadataRepositoryManager = agent.getMetadataRepositoryManager(); + IMetadataRepository metadataRepository = metadataRepositoryManager.loadRepository(uri, null); + for (IInstallableUnit iu : metadataRepository.query(QueryUtil.createIUAnyQuery(), null)) + { + String id = iu.getId(); + if (matches(id, trainPrefixes)) + { + iusToRemove.add(iu); + } + } + + metadataRepository.removeInstallableUnits(iusToRemove); + metadataRepositoryManager.removeRepository(uri); + + List<IArtifactKey> keysToRemove = new ArrayList<IArtifactKey>(); + IArtifactRepositoryManager artifactRepositoryManager = agent.getArtifactRepositoryManager(); + IArtifactRepository artifactRepository = artifactRepositoryManager.loadRepository(uri, null); + for (IArtifactKey key : artifactRepository.query(ArtifactKeyQuery.ALL_KEYS, null)) + { + String id = key.getId(); + if (matches(id, trainPrefixes)) + { + keysToRemove.add(key); + } + } + + artifactRepository.removeDescriptors(keysToRemove.toArray(new IArtifactKey[keysToRemove.size()]), null); + artifactRepositoryManager.removeRepository(uri); + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } + + private void stripOrbit() + { + String[] prefixes = { "javax.xml" }; + + try + { + URI uri = new File("C:/develop/develop/p2/tools/orbit/downloads/drops/R20150519210750/repository").toURI(); + Agent agent = P2Util.getAgentManager().getCurrentAgent(); + + List<IInstallableUnit> iusToRemove = new ArrayList<IInstallableUnit>(); + + IMetadataRepositoryManager metadataRepositoryManager = agent.getMetadataRepositoryManager(); + IMetadataRepository metadataRepository = metadataRepositoryManager.loadRepository(uri, null); + for (IInstallableUnit iu : metadataRepository.query(QueryUtil.createIUAnyQuery(), null)) + { + String id = iu.getId(); + if (!matches(id, prefixes)) + { + iusToRemove.add(iu); + } + } + + metadataRepository.removeInstallableUnits(iusToRemove); + metadataRepositoryManager.removeRepository(uri); + + List<IArtifactKey> keysToRemove = new ArrayList<IArtifactKey>(); + IArtifactRepositoryManager artifactRepositoryManager = agent.getArtifactRepositoryManager(); + IArtifactRepository artifactRepository = artifactRepositoryManager.loadRepository(uri, null); + for (IArtifactKey key : artifactRepository.query(ArtifactKeyQuery.ALL_KEYS, null)) + { + String id = key.getId(); + if (!matches(id, prefixes)) + { + keysToRemove.add(key); + } + } + + artifactRepository.removeDescriptors(keysToRemove.toArray(new IArtifactKey[keysToRemove.size()]), null); + artifactRepositoryManager.removeRepository(uri); + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } + + private static boolean matches(String id, String[] prefixes) + { + for (int i = 0; i < prefixes.length; i++) + { + String prefix = prefixes[i] + "."; + if (id.startsWith(prefix)) + { + return true; + } + } + + return false; + } +}
diff --git "a/plugins/org.eclipse.oomph.setup.installer/SetupArchiver \050Local\051.launch" "b/plugins/org.eclipse.oomph.setup.installer/SetupArchiver \050Local\051.launch" new file mode 100644 index 0000000..9d57120 --- /dev/null +++ "b/plugins/org.eclipse.oomph.setup.installer/SetupArchiver \050Local\051.launch"
@@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench"> +<setAttribute key="additional_plugins"/> +<booleanAttribute key="append.args" value="true"/> +<stringAttribute key="application" value="org.eclipse.oomph.setup.installer.SetupArchiver"/> +<booleanAttribute key="askclear" value="false"/> +<booleanAttribute key="automaticAdd" value="false"/> +<booleanAttribute key="automaticValidate" value="true"/> +<stringAttribute key="bad_container_name" value="\org.eclipse.oomph.setup.insta"/> +<stringAttribute key="bootstrap" value=""/> +<stringAttribute key="checked" value="[NONE]"/> +<booleanAttribute key="clearConfig" value="true"/> +<booleanAttribute key="clearws" value="false"/> +<booleanAttribute key="clearwslog" value="false"/> +<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/SetupArchiver (Local)"/> +<booleanAttribute key="default" value="false"/> +<stringAttribute key="featureDefaultLocation" value="workspace"/> +<stringAttribute key="featurePluginResolution" value="workspace"/> +<booleanAttribute key="includeOptional" value="false"/> +<stringAttribute key="location" value="@none"/> +<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/> +<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/> +<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -target C:\develop\develop\setups\setups.zip"/> +<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dheadless.startup=true -Doomph.redirection.mirror.nothing=true -Doomph.redirection.local=http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/->${file_uri:${resource_loc:/setups}}/"/> +<stringAttribute key="pde.version" value="3.3"/> +<stringAttribute key="product" value="org.eclipse.sdk.ide"/> +<setAttribute key="selected_features"> +<setEntry value="org.eclipse.oomph.p2:default"/> +<setEntry value="org.eclipse.oomph.setup.installer:default"/> +</setAttribute> +<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,com.jcraft.jsch@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,org.apache.batik.css*1.6.0.v201011041432@default:default,org.apache.batik.css*1.7.0.v201011041433@default:default,org.apache.batik.util*1.6.0.v201011041432@default:default,org.apache.batik.util*1.7.0.v201011041433@default:default,org.apache.batik.util.gui*1.6.0.v201011041432@default:default,org.apache.batik.util.gui*1.7.0.v200903091627@default:default,org.apache.commons.codec@default:default,org.apache.commons.logging@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86_64@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.debug.core@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer.httpclient4.ssl@default:false,org.eclipse.ecf.provider.filetransfer.httpclient4@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ecf@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.concurrent@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.equinox.p2.publisher.eclipse@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.p2.transport.ecf@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.util@default:default,org.eclipse.help@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.jdt.core@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.jsch.core@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.pde.build@default:default,org.eclipse.pde.core@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.net@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.sat4j.core@default:default,org.sat4j.pb@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/> +<stringAttribute key="selected_workspace_plugins" value="org.eclipse.oomph.base.edit@default:default,org.eclipse.oomph.base@default:default,org.eclipse.oomph.extractor.lib@default:default,org.eclipse.oomph.jreinfo.ui@default:default,org.eclipse.oomph.jreinfo.win32.x86_64@default:false,org.eclipse.oomph.jreinfo@default:default,org.eclipse.oomph.p2.core@default:default,org.eclipse.oomph.p2.edit@default:default,org.eclipse.oomph.p2.ui@default:default,org.eclipse.oomph.p2@default:default,org.eclipse.oomph.predicates@default:default,org.eclipse.oomph.preferences@default:default,org.eclipse.oomph.resources@default:default,org.eclipse.oomph.setup.core@default:default,org.eclipse.oomph.setup.edit@default:default,org.eclipse.oomph.setup.installer@default:default,org.eclipse.oomph.setup.p2.edit@default:default,org.eclipse.oomph.setup.p2@default:default,org.eclipse.oomph.setup.tests@default:default,org.eclipse.oomph.setup.ui@default:default,org.eclipse.oomph.setup@default:default,org.eclipse.oomph.targlets.core@default:default,org.eclipse.oomph.targlets@default:default,org.eclipse.oomph.ui@default:default,org.eclipse.oomph.util.pde@default:default,org.eclipse.oomph.util@default:default"/> +<booleanAttribute key="show_selected_only" value="false"/> +<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/> +<booleanAttribute key="tracing" value="false"/> +<booleanAttribute key="useCustomFeatures" value="true"/> +<booleanAttribute key="useDefaultConfig" value="true"/> +<booleanAttribute key="useDefaultConfigArea" value="true"/> +<booleanAttribute key="useProduct" value="false"/> +</launchConfiguration>
diff --git a/releng/org.eclipse.oomph.releng/Build All Platforms.launch b/releng/org.eclipse.oomph.releng/Build All Platforms.launch new file mode 100644 index 0000000..76209dd --- /dev/null +++ b/releng/org.eclipse.oomph.releng/Build All Platforms.launch
@@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${maven.root}\bin\mvn.bat"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-Dbuild.id=Unknown -Dgit.commit=Unknown -Dgit.branch=Unknown -DskipTests=true -DDtycho.debug.resolver=true -DX clean verify"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${git.clone.oomph}"/> +</launchConfiguration>
diff --git a/setups/Oomph.setup b/setups/Oomph.setup index ea72e5e..c8fa24c 100644 --- a/setups/Oomph.setup +++ b/setups/Oomph.setup
@@ -47,8 +47,6 @@ <requirement name="org.eclipse.oomph.projectcopy.feature.group"/> <requirement - name="org.eclipse.oomph.version.feature.group"/> - <requirement name="org.eclipse.emf.ecoretools.sdk.feature.group"/> <requirement name="org.eclipse.swtbot.ide.feature.group"/> @@ -114,12 +112,6 @@ </setupTask> <setupTask xsi:type="setup:EclipseIniTask" - option="-Doomph.redirection.setups" - value="=http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/->${git.clone.oomph.location|uri}/setups/" - vm="true" - documentation="Redirect to the development version of the releng setup model."/> - <setupTask - xsi:type="setup:EclipseIniTask" option="-Xmx" value="2048m" vm="true"/> @@ -162,24 +154,9 @@ <setupTask xsi:type="git:GitCloneTask" id="git.clone.oomph" - remoteURI="oomph/org.eclipse.oomph" + remoteURI="https://git.eclipse.org/r/oomph/org.eclipse.oomph" checkoutBranch="master" userID=""> - <annotation - source="http://www.eclipse.org/oomph/setup/InducedChoices"> - <detail - key="inherit"> - <value>eclipse.git.gerrit.remoteURIs</value> - </detail> - <detail - key="label"> - <value>Oomph Git or Gerrit Repository</value> - </detail> - <detail - key="target"> - <value>remoteURI</value> - </detail> - </annotation> <description>Oomph</description> </setupTask> <setupTask
diff --git a/setups/OomphTutorial.setup b/setups/OomphTutorial.setup new file mode 100644 index 0000000..95cb5ab --- /dev/null +++ b/setups/OomphTutorial.setup
@@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> +<setup:Project + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:projects="http://www.eclipse.org/oomph/setup/projects/1.0" + xmlns:setup="http://www.eclipse.org/oomph/setup/1.0" + xmlns:setup.p2="http://www.eclipse.org/oomph/setup/p2/1.0" + xsi:schemaLocation="http://www.eclipse.org/oomph/setup/projects/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Projects.ecore" + name="oomph-tutorial" + label="Oomph Tutorial"> + <setupTask + xsi:type="setup:EclipseIniTask" + option="-Xmx" + value="1024m" + vm="true"> + <description>Set the heap space needed to work with the projects of ${scope.project.label}</description> + </setupTask> + <setupTask + xsi:type="setup:PreferenceTask" + key="/instance/org.eclipse.ui.ide/WORKSPACE_NAME" + value="Oomph Tutorial"/> + <setupTask + xsi:type="setup:StringSubstitutionTask" + name="oomph.tutorial.location" + value="${oomph.tutorial.location|file}"/> + <setupTask + xsi:type="setup:VariableTask" + name="eclipse.target.platform" + value="None" + defaultValue="Mars" + storageURI="scope://Workspace"/> + <setupTask + xsi:type="setup.p2:P2Task"> + <requirement + name="org.eclipse.oomph.setup.sdk.feature.group"/> + <requirement + name="org.eclipse.oomph.workingsets.feature.group"/> + <requirement + name="org.eclipse.oomph.targlets.feature.group"/> + <requirement + name="org.eclipse.oomph.ostools.feature.group" + optional="true"/> + <description>Install the tools needed in the IDE to work with the source code for ${scope.project.label}</description> + </setupTask> + <setupTask + xsi:type="setup:ResourceCreationTask" + excludedTriggers="STARTUP MANUAL" + content="<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
 <section name="RepositoryManager">
 <list key="repositories">
 <item value="${oomph.tutorial.location}/p2/cbi/updates/license"/>
 <item value="${oomph.tutorial.location}/p2/oomph/products/repository"/>
 <item value="${oomph.tutorial.location}/p2/oomph/updates/milestone/latest"/>
 <item value="${oomph.tutorial.location}/p2/releases/mars/201510021000"/>
 <item value="${oomph.tutorial.location}/p2/technology/epp/packages/mars"/>
 <item value="${oomph.tutorial.location}/p2/tools/orbit/downloads/drops/R20150519210750/repository"/>
 </list>
 </section>
</section>" + targetURL="${workspace.location|uri}/.metadata/.plugins/org.eclipse.oomph.p2.ui/dialog_settings.xml" + encoding="UTF-8"> + <description>Initialize the Repository Explorer history list with the local p2 mirrors of the tutorial</description> + </setupTask> + <setupTask + xsi:type="projects:ProjectsImportTask"> + <sourceLocator + rootFolder="${oomph.tutorial.location|file/oomph-tutorial}"/> + <description>Import the oomph-tutorial project into the Oomph tutorial workspace</description> + </setupTask> + <stream name="master" + label="Master"/> + <logicalProjectContainer + xsi:type="setup:ProjectCatalog" + href="index:/org.eclipse.setup#//@projectCatalogs[name='org.eclipse']"/> + <description>Oomph Tutorial provides a development environment for developing project setups</description> +</setup:Project>
diff --git a/setups/org.eclipse.products.setup b/setups/org.eclipse.products.setup index 5c2b087..79723c9 100644 --- a/setups/org.eclipse.products.setup +++ b/setups/org.eclipse.products.setup
@@ -31,6 +31,95 @@ <repository url="${oomph.update.url}"/> </setupTask> + <setupTask + xsi:type="setup:CompoundTask" + name="Offline Redirections"> + <setupTask + xsi:type="setup:VariableTask" + name="oomph.tutorial.location" + defaultValue="${eclipse.home.root.location|basepath|basepath}" + label="Oomph Tutorial Location"> + <description>The root folder for the Oomph tutorial distribution</description> + </setupTask> + <setupTask + xsi:type="setup:EclipseIniTask" + excludedTriggers="STARTUP MANUAL" + option="-Doomph.redirection.archive=" + value="http://www.eclipse.org/setups/setups.zip->${oomph.tutorial.location}/setups/setups.zip" + vm="true"/> + <setupTask + xsi:type="setup:EclipseIniTask" + excludedTriggers="STARTUP MANUAL" + option="-Doomph.tutorial.location=" + value="${oomph.tutorial.location}" + vm="true"/> + <setupTask + xsi:type="setup:RedirectionTask" + sourceURL="http://download.eclipse.org/" + targetURL="${oomph.tutorial.location}/p2/"> + <description>Redirect all of download.eclipse.org to the tutorial's local mirrors</description> + </setupTask> + <setupTask + xsi:type="setup:RedirectionTask" + sourceURL="git://git.eclipse.org/gitroot/" + targetURL="${oomph.tutorial.location}/git/"> + <description>Redirect all git access to git.eclipse.org to the tutorial's local clones</description> + </setupTask> + <setupTask + xsi:type="setup:RedirectionTask" + sourceURL="http://git.eclipse.org/gitroot/" + targetURL="${oomph.tutorial.location}/git/"> + <description>Redirect all http access to git.eclipse.org to the tutorial's local clones</description> + </setupTask> + <setupTask + xsi:type="setup:RedirectionTask" + sourceURL="https://git.eclipse.org/r/" + targetURL="${oomph.tutorial.location}/git/"> + <description>Redirect all http access to git.eclipse.org to the tutorial's local clones</description> + </setupTask> + <setupTask + xsi:type="setup:RedirectionTask" + sourceURL="http://download.eclipse.org/egit/updates" + targetURL="http://download.eclipse.org/releases/mars/201510021000"> + <description>Redirect egit updates to update from the Mars release</description> + </setupTask> + <setupTask + xsi:type="setup:RedirectionTask" + sourceURL="http://download.eclipse.org/releases/mars" + targetURL="http://download.eclipse.org/releases/mars/201510021000"> + <description>Redirect the Mars composite to the release child of that composite</description> + </setupTask> + <setupTask + xsi:type="setup:RedirectionTask" + sourceURL="http://download.eclipse.org/eclipse/updates/4.5" + targetURL="http://download.eclipse.org/releases/mars/201510021000"> + <description>Redirect the Platform's 4.5 updates to the Mars release</description> + </setupTask> + <setupTask + xsi:type="setup:RedirectionTask" + sourceURL="http://download.eclipse.org/egit/updates-stable-nightly" + targetURL="http://download.eclipse.org/releases/mars/201510021000"> + <description>Redirect the Platform's 4.5 milestone updates to the Mars release</description> + </setupTask> + <setupTask + xsi:type="setup:RedirectionTask" + sourceURL="http://download.eclipse.org/modeling/emf/emf/updates/nightly/core" + targetURL="http://download.eclipse.org/releases/mars/201510021000"> + <description>Redirect the Platform's 4.5 milestone updates to the Mars release</description> + </setupTask> + <setupTask + xsi:type="setup:RedirectionTask" + sourceURL="http://download.eclipse.org/modeling/emf/cdo/orbit/latest-R" + targetURL="http://download.eclipse.org/tools/orbit/downloads/drops/R20150519210750/repository"> + <description>Redirect the Platform's 4.5 milestone updates to the Mars release</description> + </setupTask> + <setupTask + xsi:type="setup:RedirectionTask" + sourceURL="http://download.eclipse.org/mylyn/snapshots/weekly" + targetURL="http://download.eclipse.org/releases/mars/201510021000"> + <description>Redirect the Platform's 4.5 milestone updates to the Mars release</description> + </setupTask> + </setupTask> <product name="epp.package.java" label="Eclipse IDE for Java Developers"> <annotation
diff --git a/setups/org.eclipse.projects.setup b/setups/org.eclipse.projects.setup index 68ff283..d4333c6 100644 --- a/setups/org.eclipse.projects.setup +++ b/setups/org.eclipse.projects.setup
@@ -361,6 +361,7 @@ </targlet> </setupTask> <project href="user:/org.eclipse.projects.setup?name='user.project',label='<User>',description='A container project for local user projects that are virtual members of the Eclipse.org project catalog'#/"/> + <project href="OomphTutorial.setup#/"/> <project href="https://git.eclipse.org/c/acceleo/org.eclipse.acceleo.git/plain/releng/org.eclipse.acceleo.releng/Acceleo.setup#/"/> <project href="https://git.eclipse.org/c/amalgam/org.eclipse.amalgam.git/plain/releng/org.eclipse.amalgam.releng/Amalgam.setup#/"/> <project href="https://raw.githubusercontent.com/eclipse/buildship/master/buildship.setup#/"/>