<?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"
    xmlns:workingsets="http://www.eclipse.org/oomph/workingsets/1.0"
    xsi:schemaLocation="http://www.eclipse.org/oomph/setup/git/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/Git.ecore http://www.eclipse.org/oomph/setup/jdt/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/JDT.ecore http://www.eclipse.org/oomph/predicates/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/Predicates.ecore http://www.eclipse.org/oomph/setup/targlets/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/SetupTarglets.ecore http://www.eclipse.org/oomph/setup/workingsets/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/SetupWorkingSets.ecore http://www.eclipse.org/oomph/workingsets/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/WorkingSets.ecore"
    name="datatools"
    label="DataTools">
  <annotation
      source="http://www.eclipse.org/oomph/setup/ConfigurationReference">
    <reference
        href="DataToolsConfiguration.setup#/"/>
  </annotation>
  <setupTask
      xsi:type="setup:CompoundTask"
      name="User Preferences">
    <annotation
        source="http://www.eclipse.org/oomph/setup/UserPreferences">
      <detail
          key="/instance/org.eclipse.core.resources/missingEncodingMarkerSeverity">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.pde/compilers.p.exec-env-too-low">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.pde/compilers.p.deprecated">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.oomph.setup.ui/showToolBarContributions">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.source">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.codegen.targetPlatform">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.compliance">
        <value>record</value>
      </detail>
      <detail
          key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures">
        <value>record</value>
      </detail>
    </annotation>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.eclipse.core.resources">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.core.resources/missingEncodingMarkerSeverity"
          value="-1"/>
    </setupTask>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.eclipse.jdt.core">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.codegen.targetPlatform"
          value="1.8"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.compliance"
          value="1.8"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures"
          value="disabled"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures"
          value="warning"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.source"
          value="1.8"/>
    </setupTask>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.eclipse.oomph.setup.ui">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.oomph.setup.ui/showToolBarContributions"
          value="true"/>
    </setupTask>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.eclipse.oomph.version">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.oomph.version///org.eclipse.datatools.sdk/release.xml"
          value="PARTIAL"/>
    </setupTask>
    <setupTask
        xsi:type="setup:CompoundTask"
        name="org.eclipse.pde">
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.pde/compilers.p.deprecated"
          value="2"/>
      <setupTask
          xsi:type="setup:PreferenceTask"
          key="/instance/org.eclipse.pde/compilers.p.exec-env-too-low"
          value="2"/>
    </setupTask>
  </setupTask>
  <setupTask
      xsi:type="jdt:JRETask"
      version="JavaSE-21"
      location="${jre.location-21}">
    <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"
      label="Oomph-Version">
    <requirement
        name="org.eclipse.oomph.version.feature.group"/>
  </setupTask>
  <setupTask
      xsi:type="git:GitCloneTask"
      id="git.clone.datatools.github"
      locationQualifier="datatools"
      remoteURI="eclipse-datatools/.github"
      checkoutBranch="main">
    <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>
    <description>The Data Tools Platform .github repository.</description>
  </setupTask>
  <setupTask
      xsi:type="git:GitCloneTask"
      id="git.clone.datatools"
      remoteURI="eclipse-datatools/datatools">
    <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>
    <description>The main Data Tools Platform repository.</description>
  </setupTask>
  <setupTask
      xsi:type="setup:VariableTask"
      name="eclipse.api.baseline.target.platform"
      value="${eclipse.target.platform.latest.released}"
      storageURI="scope://Workspace"
      label="API Baseline Target Platform">
    <description>Choose the compatibility level of the target platform for the modular API baseline</description>
  </setupTask>
  <setupTask
      xsi:type="setup.targlets:TargletTask"
      targetName="Modular API Baseline Target"
      activateTarget="false">
    <targlet
        name="DTP"
        includeSources="false"
        includeAllRequirements="false">
      <requirement
          name="org.eclipse.datatools.common.doc.user.feature.group"/>
      <requirement
          name="org.eclipse.datatools.connectivity.doc.user.feature.group"/>
      <requirement
          name="org.eclipse.datatools.connectivity.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.connectivity.oda.designer.core.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.connectivity.oda.designer.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.connectivity.oda.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.doc.user.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.apache.derby.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.hsqldb.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.ibm.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.ingres.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.jdbc.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.jdt.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.msft.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.mysql.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.oda.designer.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.oda.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.oracle.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.postgresql.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.sap.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.sdk.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.sqlite.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.enablement.sybase.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.intro.feature.group"/>
      <requirement
          name="org.eclipse.datatools.modelbase.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.sdk.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.sqldevtools.data.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.sqldevtools.ddl.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.sqldevtools.ddlgen.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.sqldevtools.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.sqldevtools.parsers.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.sqldevtools.results.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.sqldevtools.schemaobjecteditor.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.sqldevtools.sqlbuilder.feature.feature.group"/>
      <requirement
          name="org.eclipse.datatools.sqltools.doc.user.feature.group"/>
      <repositoryList>
        <repository
            url="https://download.eclipse.org/datatools/updates/release/latest"/>
      </repositoryList>
    </targlet>
  </setupTask>
  <setupTask
      xsi:type="setup.targlets:TargletTask">
    <targlet
        name="DTP">
      <annotation
          source="http:/www.eclipse.org/oomph/targlets/TargetDefinitionGenerator">
        <detail
            key="location">
          <value>${git.clone.datatools.location/tp/org.eclipse.datatools.tp.target}</value>
        </detail>
        <detail
            key="singleLocation">
          <value>true</value>
        </detail>
        <detail
            key="sortLocations">
          <value>false</value>
        </detail>
        <detail
            key="includeAllPlatforms">
          <value>false</value>
        </detail>
        <detail
            key="includeSource">
          <value>true</value>
        </detail>
        <detail
            key="ignoreJavaRequirements">
          <value>false</value>
        </detail>
        <detail
            key="generateVersions">
          <value>false</value>
        </detail>
        <detail
            key="minimizeImplicitUnits">
          <value>true</value>
        </detail>
        <detail
            key="generateImplicitUnits">
          <value>true</value>
        </detail>
      </annotation>
      <requirement
          name="org.eclipse.sdk.feature.group"/>
      <requirement
          name="org.eclipse.license.feature.group"/>
      <requirement
          name="*"/>
      <sourceLocator
          rootFolder="${git.clone.datatools.location}"
          locateNestedProjects="true"/>
      <sourceLocator
          rootFolder="${git.clone.datatools.github.location}"
          locateNestedProjects="true"/>
      <repositoryList>
        <repository
            url="https://download.eclipse.org/cbi/updates/license"/>
        <repository
            url="https://download.eclipse.org/modeling/emf/emf/builds/milestone/latest"/>
        <repository
            url="https://download.eclipse.org/modeling/emf/query/updates/releases"/>
        <repository
            url="https://download.eclipse.org/modeling/mdt/ocl/updates/releases/latest"/>
        <repository
            url="https://download.eclipse.org/tools/gef/classic/releases/latest"/>
        <repository
            url="https://download.eclipse.org/tools/orbit/simrel/orbit-aggregation/milestone/latest"/>
        <repository
            url="https://download.eclipse.org/cbi/updates/license"/>
      </repositoryList>
    </targlet>
  </setupTask>
  <setupTask
      xsi:type="setup.workingsets:WorkingSetTask"
      id="dtp.workingsets"
      prefix="org.eclipse.datatools-">
    <workingSet
        name="DTP Bundles">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.datatools.build"
            relativePathPattern="plugins/.*"/>
        <operand
            xsi:type="workingsets:ExclusionPredicate"
            excludedWorkingSet="//'dtp.workingsets'/@workingSets[name='DTP%20Docs']"/>
      </predicate>
    </workingSet>
    <workingSet
        name="DTP Docs">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.datatools.build"
            relativePathPattern="plugins/docs/.*"/>
      </predicate>
    </workingSet>
    <workingSet
        name="DTP Tests">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.datatools.build"
            relativePathPattern="tests/.*"/>
      </predicate>
    </workingSet>
    <workingSet
        name="DTP Examples">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.datatools.build"
            relativePathPattern="examples/.*"/>
      </predicate>
    </workingSet>
    <workingSet
        name="DTP Features">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.datatools.build"
            relativePathPattern="features/.*"/>
      </predicate>
    </workingSet>
    <workingSet
        name="DTP Misc">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.datatools.build"/>
        <operand
            xsi:type="workingsets:ExclusionPredicate"
            excludedWorkingSet="//'dtp.workingsets'/@workingSets[name='DTP%20Bundles'] //'dtp.workingsets'/@workingSets[name='DTP%20Features'] //'dtp.workingsets'/@workingSets[name='DTP%20Examples'] //'dtp.workingsets'/@workingSets[name='DTP%20Tests'] //'dtp.workingsets'/@workingSets[name='DTP%20Docs']"/>
      </predicate>
    </workingSet>
    <workingSet
        name="DTP GitHub">
      <predicate
          xsi:type="predicates:AndPredicate">
        <operand
            xsi:type="predicates:RepositoryPredicate"
            project="org.eclipse.datatools.github"/>
      </predicate>
    </workingSet>
    <description>The dynamic working sets for ${scope.project.label}</description>
  </setupTask>
  <setupTask
      xsi:type="setup:CompoundTask"
      name="maven">
    <setupTask
        xsi:type="setup:StringSubstitutionTask"
        name="maven.build.java.home"
        value="${jre.location-21}">
      <description>The location used to specify JAVA_HOME in the External Tools Configurations.</description>
    </setupTask>
    <setupTask
        xsi:type="setup:VariableTask"
        filter="(osgi.os=win32)"
        type="FILE"
        name="maven.build.command"
        defaultValue="mvn.cmd"
        label="Maven Command">
      <description>The absolute path location of the mvn command that will execute mvn on your operating system; it is used in the External Tools Configurations. You may leave the default if you don't intend to do Maven builds.</description>
    </setupTask>
    <setupTask
        xsi:type="setup:VariableTask"
        filter="(!(osgi.os=win32))"
        type="FILE"
        name="maven.build.command"
        defaultValue="mvn"
        label="Maven Command">
      <description>The absolute path location of the mvn command that will execute mvn on your operating system; it is used in the External Tools Configurations. You may leave the default if you don't intend to do Maven builds.</description>
    </setupTask>
    <setupTask
        xsi:type="setup:StringSubstitutionTask"
        name="maven.build.command"
        value="${maven.build.command}">
      <description>The location of the mvn command that will execute mvn on your operating system; it is used in the External Tools Configurations.</description>
    </setupTask>
    <setupTask
        xsi:type="setup:VariableTask"
        filter="(osgi.os=win32)"
        type="FILE"
        name="maven.bash.home"
        defaultValue="C:/Program Files/Git/bin"
        label="Maven bash Home">
      <description>The absolute path location of the folder containing the bash.exe on your operating system; it is used in the External Tools Configurations. You may leave the default if you don't intend to do Maven builds.</description>
    </setupTask>
    <setupTask
        xsi:type="setup:VariableTask"
        filter="(!(osgi.os=win32))"
        type="FILE"
        name="maven.bash.home"
        defaultValue="/bin"
        label="Maven bash Home">
      <description>The absolute path location of the folder containing the bash executable on your operating system; it is used in the External Tools Configurations. You may leave the default if you don't intend to do Maven builds.</description>
    </setupTask>
    <setupTask
        xsi:type="setup:StringSubstitutionTask"
        name="maven.bash.home"
        value="${maven.bash.home}">
      <description>The location of the mvn command that will execute mvn on your operating system; it is used in the External Tools Configurations.</description>
    </setupTask>
  </setupTask>
  <stream name="master"
      label="Master">
    <setupTask
        xsi:type="setup:EclipseIniTask"
        option="-Doomph.redirection.datatools"
        value="=https://raw.githubusercontent.com/eclipse-datatools/datatools/master/releng/->${git.clone.datatools.location|uri}/releng/"
        vm="true">
      <description>Set an Oomph redirection system property to redirect the logical location of this setup to its physical location in the Git clone.</description>
    </setupTask>
  </stream>
  <logicalProjectContainer
      xsi:type="setup:ProjectCatalog"
      href="index:/org.eclipse.setup#//@projectCatalogs[name='org.eclipse']"/>
  <description>Data Tools provides a development environment for working on the Data Tools Platform projects.</description>
</setup:Project>
