| <?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:git="http://www.eclipse.org/oomph/setup/git/1.0" |
| xmlns:jdt="http://www.eclipse.org/oomph/setup/jdt/1.0" |
| xmlns:predicates="http://www.eclipse.org/oomph/predicates/1.0" |
| xmlns:setup="http://www.eclipse.org/oomph/setup/1.0" |
| xmlns:setup.p2="http://www.eclipse.org/oomph/setup/p2/1.0" |
| xmlns:setup.targlets="http://www.eclipse.org/oomph/setup/targlets/1.0" |
| xmlns:setup.workingsets="http://www.eclipse.org/oomph/setup/workingsets/1.0" |
| xsi:schemaLocation="http://www.eclipse.org/oomph/setup/git/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Git.ecore http://www.eclipse.org/oomph/setup/jdt/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/JDT.ecore http://www.eclipse.org/oomph/predicates/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Predicates.ecore http://www.eclipse.org/oomph/setup/targlets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupTarglets.ecore http://www.eclipse.org/oomph/setup/workingsets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupWorkingSets.ecore" |
| name="${project.name}" |
| label="${project.label}"> |
| <setupTask |
| xsi:type="setup:CompoundTask" |
| id="template.variables" |
| name="@TemplateVariables@"> |
| <setupTask |
| xsi:type="setup:VariableTask" |
| name="project.label" |
| value="Cool Stuff" |
| label="Label"> |
| <description> |
| The title case name of the project, including spaces. |
| This will be displayed in any tree view of this project. |
| </description> |
| </setupTask> |
| <setupTask |
| xsi:type="setup:VariableTask" |
| name="project.name" |
| value="${project.label|qualifiedName}" |
| label="Name"> |
| <description> |
| The lower case name of the project. |
| The project's qualified name will be prefixed by "com.github.'. |
| |
| </description> |
| </setupTask> |
| <setupTask |
| xsi:type="setup:VariableTask" |
| type="TEXT" |
| name="project.description" |
| value="${project.label} provides cool stuff." |
| label="Description"> |
| <description> |
| An informative multi-line description of what the project does. |
| It will be displayed in the installer's hover for this project. |
| </description> |
| </setupTask> |
| <setupTask |
| xsi:type="setup:VariableTask" |
| name="project.git.path" |
| value="johndoe/${project.label|camel}" |
| label="Git path"> |
| <description> |
| The Git path of the project's Eclipse repository. |
| It will be expanded depending on the repository URI choice, e.g., 'https://github.com/<git.path>.git. |
| </description> |
| </setupTask> |
| <setupTask |
| xsi:type="setup:VariableTask" |
| name="project.jre" |
| value="${jre.location-1.8}" |
| label="JRE"> |
| <choice |
| value="${jre.location-1.4}" |
| label="J2SE-1.4"/> |
| <choice |
| value="${jre.location-1.5}" |
| label="J2SE-1.5"/> |
| <choice |
| value="${jre.location-1.6}" |
| label="JavaSE-1.6"/> |
| <choice |
| value="${jre.location-1.7}" |
| label="JavaSE-1.7"/> |
| <choice |
| value="${jre.location-1.8}" |
| label="JavaSE-1.8"/> |
| <description>The JRE needed to build the project and to run the project's tools and tests.</description> |
| </setupTask> |
| <setupTask |
| xsi:type="setup:VariableTask" |
| type="CONTAINER" |
| name="setup.location" |
| label="Folder"> |
| <description>The workspace folder of the new project setup model.</description> |
| </setupTask> |
| <setupTask |
| xsi:type="setup:VariableTask" |
| name="setup.filename" |
| value="${project.label|camel}.setup" |
| label="Filename"> |
| <description>The camel case filename of the new project setup model.</description> |
| </setupTask> |
| </setupTask> |
| <setupTask |
| xsi:type="jdt:JRETask" |
| version="${project.jre|label}" |
| location="${project.jre}"> |
| <description>Define the JRE needed to compile and run the Java projects of ${scope.project.label}</description> |
| </setupTask> |
| <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:ResourceCreationTask" |
| excludedTriggers="STARTUP MANUAL" |
| content="<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
	<section name="org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart">
		<item value="true" key="group_libraries"/>
		<item value="false" key="linkWithEditor"/>
		<item value="2" key="layout"/>
		<item value="2" key="rootMode"/>
		<item value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#x0D;&#x0A;&lt;packageExplorer configured=&quot;true&quot; group_libraries=&quot;1&quot; layout=&quot;2&quot; linkWithEditor=&quot;0&quot; rootMode=&quot;2&quot; sortWorkingSets=&quot;false&quot; workingSetName=&quot;&quot;&gt;&#x0D;&#x0A;&lt;localWorkingSetManager&gt;&#x0D;&#x0A;&lt;workingSet editPageId=&quot;org.eclipse.jdt.internal.ui.OthersWorkingSet&quot; factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1382792884467_1&quot; label=&quot;Other Projects&quot; name=&quot;Other Projects&quot;/&gt;&#x0D;&#x0A;&lt;/localWorkingSetManager&gt;&#x0D;&#x0A;&lt;activeWorkingSet workingSetName=&quot;Other Projects&quot;/&gt;&#x0D;&#x0A;&lt;allWorkingSets workingSetName=&quot;Other Projects&quot;/&gt;&#x0D;&#x0A;&lt;/packageExplorer&gt;" key="memento"/>
	</section>
</section>
" |
| targetURL="${workspace.location|uri}/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml" |
| encoding="UTF-8"> |
| <description>Initialize JDT's package explorer to show working sets as its root objects</description> |
| </setupTask> |
| <setupTask |
| xsi:type="setup:VariableTask" |
| name="eclipse.target.platform" |
| defaultValue="Neon" |
| storageURI="scope://Workspace"/> |
| <setupTask |
| xsi:type="setup.p2:P2Task"> |
| <description>Install the tools needed in the IDE to work with the source code for ${scope.project.label}</description> |
| </setupTask> |
| <setupTask |
| xsi:type="git:GitCloneTask" |
| id="git.clone" |
| remoteURI="${project.git.path}"> |
| <annotation |
| source="http://www.eclipse.org/oomph/setup/InducedChoices"> |
| <detail |
| key="inherit"> |
| <value>github.remoteURIs</value> |
| </detail> |
| <detail |
| key="label"> |
| <value>${scope.project.label} Github repository</value> |
| </detail> |
| <detail |
| key="target"> |
| <value>remoteURI</value> |
| </detail> |
| </annotation> |
| <annotation |
| source="http://www.eclipse.org/oomph/setup/FeatureSubstitution"> |
| <detail |
| key="iD"> |
| <value>git.clone.${project.name}</value> |
| </detail> |
| </annotation> |
| <description>${scope.project.label}</description> |
| </setupTask> |
| <setupTask |
| xsi:type="setup.targlets:TargletTask"> |
| <targlet |
| name="${scope.project.label}" |
| activeRepositoryList="${eclipse.target.platform}"> |
| <requirement |
| name="org.eclipse.sdk.feature.group"/> |
| <requirement |
| name="*"/> |
| <sourceLocator |
| rootFolder="$${git.clone.${project.name}.location}" |
| locateNestedProjects="true"/> |
| <repositoryList |
| name="Photon"> |
| <repository |
| url="http://download.eclipse.org/releases/photon"/> |
| </repositoryList> |
| <repositoryList |
| name="Oxygen"> |
| <repository |
| url="http://download.eclipse.org/releases/oxygen"/> |
| </repositoryList> |
| <repositoryList |
| name="Neon"> |
| <repository |
| url="http://download.eclipse.org/releases/neon"/> |
| </repositoryList> |
| <repositoryList |
| name="Mars"> |
| <repository |
| url="http://download.eclipse.org/releases/mars"/> |
| </repositoryList> |
| <repositoryList |
| name="Luna"> |
| <repository |
| url="http://download.eclipse.org/releases/luna"/> |
| </repositoryList> |
| <repositoryList |
| name="Kepler"> |
| <repository |
| url="http://download.eclipse.org/releases/kepler"/> |
| </repositoryList> |
| <repositoryList |
| name="Juno"> |
| <repository |
| url="http://download.eclipse.org/releases/juno"/> |
| </repositoryList> |
| </targlet> |
| </setupTask> |
| <setupTask |
| xsi:type="setup.workingsets:WorkingSetTask"> |
| <workingSet |
| name="${scope.project.name}"> |
| <predicate |
| xsi:type="predicates:AndPredicate"> |
| <operand |
| xsi:type="predicates:RepositoryPredicate" |
| project="${project.requirement.name}"> |
| <annotation |
| source="http://www.eclipse.org/oomph/setup/FeatureSubstitution"> |
| <detail |
| key="project"> |
| <value>${setup.location|firstSegment}</value> |
| </detail> |
| </annotation> |
| </operand> |
| </predicate> |
| </workingSet> |
| <description>The dynamic working sets for ${scope.project.label}</description> |
| </setupTask> |
| <stream name="master" |
| label="Master"> |
| <setupTask |
| xsi:type="setup:EclipseIniTask" |
| option="-Doomph.redirection.${project.name}" |
| value="=https://raw.githubusercontent.com/${project.git.path}/master/${setup.location|clonePath}/${setup.filename}->$${git.clone.${project.name}.location|uri}/${setup.location|clonePath}/${setup.filename}" |
| vm="true"> |
| <annotation |
| source="http://www.eclipse.org/oomph/setup/FeatureSubstitution"> |
| <detail |
| key="disabled"> |
| <value>${setup.location|isClonePath|not}</value> |
| </detail> |
| </annotation> |
| <description>Set an Oomph redirection system property to redirect the logical location of this setup to its physical location in the Git clone.${setup.location|clonePath|description}</description> |
| </setupTask> |
| </stream> |
| <logicalProjectContainer |
| xsi:type="setup:ProjectCatalog" |
| href="index:/org.eclipse.setup#//@projectCatalogs[name='com.github']"/> |
| <description>${project.description}</description> |
| </setup:Project> |