blob: 7986f84ee88145073f9f04cdbe17e5be9d495f89 [file] [log] [blame]
<?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 &quot;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/&lt;git.path>.git.
</description>
</setupTask>
<setupTask
xsi:type="setup:VariableTask"
name="project.git.branch"
value="master"
label="Git Default Branch">
<description>
The default branch to check of of the Git repository.
</description>
</setupTask>
<setupTask
xsi:type="setup:VariableTask"
name="project.jre"
value="${jre.location-17}"
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"/>
<choice
value="${jre.location-9}"
label="JavaSE-9"/>
<choice
value="${jre.location-10}"
label="JavaSE-10"/>
<choice
value="${jre.location-11}"
label="JavaSE-11"/>
<choice
value="${jre.location-12}"
label="JavaSE-12"/>
<choice
value="${jre.location-13}"
label="JavaSE-13"/>
<choice
value="${jre.location-14}"
label="JavaSE-14"/>
<choice
value="${jre.location-15}"
label="JavaSE-15"/>
<choice
value="${jre.location-16}"
label="JavaSE-16"/>
<choice
value="${jre.location-17}"
label="JavaSE-17"/>
<choice
value="${jre.location-18}"
label="JavaSE-18"/>
<choice
value="${jre.location-19}"
label="JavaSE-19"/>
<choice
value="${jre.location-20}"
label="JavaSE-20"/>
<choice
value="${jre.location-21}"
label="JavaSE-21"/>
<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="2048m"
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"
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>
<content>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
&lt;section name=&quot;Workbench&quot;>
&lt;section name=&quot;org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart&quot;>
&lt;item value=&quot;true&quot; key=&quot;group_libraries&quot;/>
&lt;item value=&quot;false&quot; key=&quot;linkWithEditor&quot;/>
&lt;item value=&quot;2&quot; key=&quot;layout&quot;/>
&lt;item value=&quot;2&quot; key=&quot;rootMode&quot;/>
&lt;item value=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;packageExplorer configured=&amp;quot;true&amp;quot; group_libraries=&amp;quot;1&amp;quot; layout=&amp;quot;2&amp;quot; linkWithEditor=&amp;quot;0&amp;quot; rootMode=&amp;quot;2&amp;quot; sortWorkingSets=&amp;quot;false&amp;quot; workingSetName=&amp;quot;&amp;quot;&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;localWorkingSetManager&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;workingSet editPageId=&amp;quot;org.eclipse.jdt.internal.ui.OthersWorkingSet&amp;quot; factoryID=&amp;quot;org.eclipse.ui.internal.WorkingSetFactory&amp;quot; id=&amp;quot;1382792884467_1&amp;quot; label=&amp;quot;Other Projects&amp;quot; name=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;/localWorkingSetManager&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;activeWorkingSet workingSetName=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;allWorkingSets workingSetName=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;/packageExplorer&amp;gt;&quot; key=&quot;memento&quot;/>
&lt;/section>
&lt;/section>
</content>
</setupTask>
<setupTask
xsi:type="setup:VariableTask"
name="eclipse.target.platform"
defaultValue="${eclipse.target.platform.latest}"
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}">
<requirement
name="org.eclipse.sdk.feature.group"/>
<requirement
name="*"/>
<sourceLocator
rootFolder="$${git.clone.${project.name}.location}"
locateNestedProjects="true"/>
<repositoryList>
<repository
url="https://download.eclipse.org/releases/${eclipse.target.platform}"/>
</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="${project.git.branch}"
label="${project.git.branch|camel}">
<setupTask
xsi:type="setup:EclipseIniTask"
option="-Doomph.redirection.${project.name}"
value="=https://raw.githubusercontent.com/${project.git.path}/${project.git.branch}/${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>