Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2013-08-30 03:48:57 -0400
committerEike Stepper2013-08-30 03:48:57 -0400
commitf524e405776a64fb70a62280c6afb2a3d510adc7 (patch)
tree61ce6787deca4eadc831e360ad4e54403117c505
parent7505bb1c906db5bb33e8f18010ffc2adf442dec5 (diff)
downloadcdo-committers/estepper/setup.tar.gz
cdo-committers/estepper/setup.tar.xz
cdo-committers/estepper/setup.zip
Make the setup model more flexiblecommitters/estepper/setup
-rw-r--r--features/org.eclipse.emf.cdo.releng.setup.product-feature/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/META-INF/MANIFEST.MF8
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/ApiBaselineTask.gif (renamed from plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/ApiBaseline.gif)bin588 -> 588 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/BuckminsterImportTask.gifbin0 -> 945 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/CompoundSetupTask.gifbin0 -> 596 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/DirectorCall.gifbin361 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/EclipseIniTask.gifbin0 -> 576 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/EclipsePreferenceTask.gifbin0 -> 369 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/GitCloneTask.gif (renamed from plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/GitClone.gif)bin569 -> 569 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/InstallableUnit.gifbin585 -> 327 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/LinkLocation.gifbin215 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/LinkLocationTask.gifbin0 -> 350 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/P2Repository.gifbin325 -> 353 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/P2Task.gifbin0 -> 585 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/StringVariableTask.gif (renamed from plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/ToolPreference.gif)bin108 -> 108 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/ToolInstallation.gifbin608 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/WorkingSetTask.gifbin0 -> 366 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/Workspace.gifbin578 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/plugin.properties128
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ApiBaselineTaskItemProvider.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ApiBaselineItemProvider.java)81
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/BranchItemProvider.java95
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/BuckminsterImportTaskItemProvider.java177
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/CompoundSetupTaskItemProvider.java204
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ConfigurableItemItemProvider.java93
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ConfigurationItemProvider.java3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/EclipseIniTaskItemProvider.java175
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/EclipsePreferenceTaskItemProvider.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ToolPreferenceItemProvider.java)73
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/EclipseVersionItemProvider.java17
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/GitCloneTaskItemProvider.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/GitCloneItemProvider.java)100
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/InstallTaskItemProvider.java99
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/InstallableUnitItemProvider.java3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/LinkLocationTaskItemProvider.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/LinkLocationItemProvider.java)71
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/OneTimeSetupTaskItemProvider.java127
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/P2RepositoryItemProvider.java3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/P2TaskItemProvider.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ToolInstallationItemProvider.java)71
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/PreferencesItemProvider.java45
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ProjectItemProvider.java13
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupEditPlugin.java1
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupItemProvider.java8
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupItemProviderAdapterFactory.java298
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupTaskContainerItemProvider.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/DirectorCallItemProvider.java)114
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupTaskItemProvider.java239
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/StringVariableTaskItemProvider.java188
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/WorkingSetTaskItemProvider.java156
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.editor/META-INF/MANIFEST.MF1
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditor.java29
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditorPlugin.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Activator.java71
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Buckminster.java638
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/GitClones.java402
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/P2.java48
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Prefs.java149
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/SetupContext.java8
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/SetupIDE.java267
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Variables.java53
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/WorkingSets.java108
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/actions/BuckyAction.java43
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.product/src/org/eclipse/emf/cdo/releng/setup/product/Director.java188
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.product/src/org/eclipse/emf/cdo/releng/setup/product/SetupDialog.java385
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.product/src/org/eclipse/wb/swt/SWTResourceManager.java901
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/emf/cdo/releng/setup/ui/ProgressLogDialog.java22
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/wb/swt/ResourceManager.java854
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/wb/swt/SWTResourceManager.java913
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/.classpath12
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/.refactorings/2013/8/33/refactorings.history3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/.refactorings/2013/8/33/refactorings.index16
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/.settings/org.eclipse.core.resources.prefs1
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/META-INF/MANIFEST.MF49
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/model/My.setup24
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/model/setup.ecore168
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/model/setup.ecorediag730
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/model/setup.genmodel147
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/internal/setup/Activator.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/helper/Activator.java)40
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/internal/setup/SetupTaskPerformer.java433
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ApiBaseline.java115
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ApiBaselineTask.java76
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Branch.java121
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/BuckminsterImportTask.java103
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/CompoundSetupTask.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ConfigurableItem.java17
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Configuration.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/EclipseIniTask.java103
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/EclipsePreferenceTask.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ToolPreference.java)22
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/EclipseVersion.java30
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/GitCloneTask.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/GitClone.java)83
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/InstallTask.java17
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/InstallableUnit.java26
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/LinkLocationTask.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/LinkLocation.java)22
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/OneTimeSetupTask.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/P2Repository.java26
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/P2Task.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/DirectorCall.java)39
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Preferences.java20
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Project.java51
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Setup.java23
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/SetupFactory.java81
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/SetupPackage.java1778
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/SetupTask.java93
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/SetupTaskContainer.java42
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/SetupTaskContext.java52
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/SetupTaskScope.java302
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/StringVariableTask.java103
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ToolInstallation.java67
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/WorkingSetTask.java51
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/helper/Progress.java47
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/ApiBaselineImpl.java355
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/ApiBaselineTaskImpl.java329
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/BranchImpl.java292
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/BuckminsterImportTaskImpl.java364
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/CompoundSetupTaskImpl.java306
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/ConfigurableItemImpl.java42
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/ConfigurationImpl.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/DirectorCallImpl.java231
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/EclipseIniTaskImpl.java363
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/EclipsePreferenceTaskImpl.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/ToolPreferenceImpl.java)108
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/EclipseVersionImpl.java119
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/GitCloneImpl.java411
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/GitCloneTaskImpl.java607
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/InstallTaskImpl.java51
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/InstallableUnitImpl.java77
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/LinkLocationTaskImpl.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/LinkLocationImpl.java)70
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/OneTimeSetupTaskImpl.java215
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/P2RepositoryImpl.java76
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/P2TaskImpl.java330
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/PreferencesImpl.java64
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/ProjectImpl.java150
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/SetupFactoryImpl.java207
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/SetupImpl.java144
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/SetupPackageImpl.java864
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/SetupTaskContainerImpl.java164
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/SetupTaskImpl.java371
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/StringVariableTaskImpl.java343
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/ToolInstallationImpl.java212
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/impl/WorkingSetTaskImpl.java280
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/util/DownloadUtil.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/helper/Downloads.java)14
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/util/FileUtil.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/helper/Files.java)18
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/util/OS.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/helper/OS.java)24
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/util/ServiceUtil.java58
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/util/SetupAdapterFactory.java296
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/util/SetupSwitch.java415
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/util/StringExpander.java19
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/util/TargetPlatformUtil.java115
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/util/log/ProgressLog.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/helper/ProgressLog.java)4
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/util/log/ProgressLogMonitor.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/helper/ProgressLogMonitor.java)8
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/util/log/ProgressLogProvider.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/helper/ProgressLogProvider.java)2
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/util/log/ProgressLogRunnable.java (renamed from plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/helper/ProgressLogRunnable.java)2
145 files changed, 14005 insertions, 7030 deletions
diff --git a/features/org.eclipse.emf.cdo.releng.setup.product-feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.emf.cdo.releng.setup.product-feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..ea8ba69565
--- /dev/null
+++ b/features/org.eclipse.emf.cdo.releng.setup.product-feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/Setup.product=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.releng.setup.edit/META-INF/MANIFEST.MF
index 67953d3baa..39be9d76ce 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/META-INF/MANIFEST.MF
@@ -10,8 +10,8 @@ Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.eclipse.emf.cdo.releng.setup.provider;version="1.0.0"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.cdo.releng.setup;bundle-version="[1.0.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
- org.eclipse.emf.cdo.releng.workingsets;bundle-version="[1.0.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.cdo.releng.workingsets.edit;bundle-version="[1.0.0,2.0.0)";visibility:=reexport
+ org.eclipse.emf.cdo.releng.setup;visibility:=reexport;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.edit;visibility:=reexport;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.emf.cdo.releng.workingsets;visibility:=reexport;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.cdo.releng.workingsets.edit;visibility:=reexport;bundle-version="[1.0.0,2.0.0)"
Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/ApiBaseline.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/ApiBaselineTask.gif
index 311b0df582..311b0df582 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/ApiBaseline.gif
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/ApiBaselineTask.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/BuckminsterImportTask.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/BuckminsterImportTask.gif
new file mode 100644
index 0000000000..ca58d41c7b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/BuckminsterImportTask.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/CompoundSetupTask.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/CompoundSetupTask.gif
new file mode 100644
index 0000000000..e7c4e9a23f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/CompoundSetupTask.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/DirectorCall.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/DirectorCall.gif
deleted file mode 100644
index b394107797..0000000000
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/DirectorCall.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/EclipseIniTask.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/EclipseIniTask.gif
new file mode 100644
index 0000000000..ace52f0e93
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/EclipseIniTask.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/EclipsePreferenceTask.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/EclipsePreferenceTask.gif
new file mode 100644
index 0000000000..e8cb49fb5f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/EclipsePreferenceTask.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/GitClone.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/GitCloneTask.gif
index aae8cca858..aae8cca858 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/GitClone.gif
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/GitCloneTask.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/InstallableUnit.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/InstallableUnit.gif
index 8706680c79..b4cc50fc45 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/InstallableUnit.gif
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/InstallableUnit.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/LinkLocation.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/LinkLocation.gif
deleted file mode 100644
index d0b5c15991..0000000000
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/LinkLocation.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/LinkLocationTask.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/LinkLocationTask.gif
new file mode 100644
index 0000000000..b99741d766
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/LinkLocationTask.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/P2Repository.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/P2Repository.gif
index ae982990dc..b8568f4f81 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/P2Repository.gif
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/P2Repository.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/P2Task.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/P2Task.gif
new file mode 100644
index 0000000000..8706680c79
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/P2Task.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/ToolPreference.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/StringVariableTask.gif
index e35f594d88..e35f594d88 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/ToolPreference.gif
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/StringVariableTask.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/ToolInstallation.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/ToolInstallation.gif
deleted file mode 100644
index d8735b8930..0000000000
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/ToolInstallation.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/WorkingSetTask.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/WorkingSetTask.gif
new file mode 100644
index 0000000000..f878001bdd
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/WorkingSetTask.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/Workspace.gif b/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/Workspace.gif
deleted file mode 100644
index ca14cfca4e..0000000000
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/icons/full/obj16/Workspace.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/plugin.properties b/plugins/org.eclipse.emf.cdo.releng.setup.edit/plugin.properties
index 3226421baa..441de2ecb8 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/plugin.properties
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/plugin.properties
@@ -19,81 +19,85 @@ _UI_CreateSibling_description = Create a new sibling of type {0} for the selecte
_UI_PropertyDescriptor_description = The {0} of the {1}
+_UI_EclipseVersion_type = Eclipse Version
_UI_Configuration_type = Configuration
+_UI_ConfigurableItem_type = Configurable Item
_UI_Project_type = Project
_UI_Branch_type = Branch
-_UI_ToolInstallation_type = Tool Installation
-_UI_EclipseVersion_type = Eclipse Version
-_UI_DirectorCall_type = Director Call
-_UI_InstallableUnit_type = Installable Unit
-_UI_P2Repository_type = P2 Repository
-_UI_ApiBaseline_type = Api Baseline
-_UI_GitClone_type = Git Clone
_UI_Preferences_type = Preferences
-_UI_Workspace_type = Workspace
+_UI_Setup_type = Setup
+_UI_SetupTask_type = Setup Task
+_UI_SetupTaskContainer_type = Setup Task Container
+_UI_CompoundSetupTask_type = Compound Setup Task
+_UI_OneTimeSetupTask_type = One-Time Setup Task
+_UI_InstallTask_type = Install Task
+_UI_EclipseIniTask_type = Eclipse.ini
+_UI_LinkLocationTask_type = Link Location
+_UI_P2Task_type = p2 Director
+_UI_InstallableUnit_type = Installable Unit
+_UI_P2Repository_type = Repository
+_UI_BuckminsterImportTask_type = Buckminster Import
+_UI_ApiBaselineTask_type = API Baseline
+_UI_GitCloneTask_type = Git Clone
+_UI_EclipsePreferenceTask_type = Eclipse Preference
+_UI_StringVariableTask_type = String Variable
+_UI_WorkingSetTask_type = Working Sets Configuration
_UI_Unknown_type = Object
-
-_UI_Unknown_datatype= Value
-
+ _UI_Unknown_datatype= Value
+
+_UI_EclipseVersion_configuration_feature = Configuration
+_UI_EclipseVersion_version_feature = Version
+_UI_EclipseVersion_installTasks_feature = Install Tasks
_UI_Configuration_projects_feature = Projects
_UI_Configuration_eclipseVersions_feature = Eclipse Versions
+_UI_Project_configuration_feature = Configuration
_UI_Project_branches_feature = Branches
_UI_Project_name_feature = Name
-_UI_Project_apiBaselines_feature = Api Baselines
+_UI_Branch_project_feature = Project
_UI_Branch_name_feature = Name
-_UI_Branch_gitClones_feature = Git Clones
-_UI_Branch_apiBaseline_feature = Api Baseline
-_UI_Branch_mspecFilePath_feature = Mspec File Path
-_UI_Branch_targetFilePath_feature = Target File Path
-_UI_ToolInstallation_directorCalls_feature = Director Calls
-_UI_EclipseVersion_version_feature = Version
-_UI_EclipseVersion_directorCall_feature = Director Call
-_UI_DirectorCall_installableUnits_feature = Installable Units
-_UI_DirectorCall_p2Repositories_feature = P2 Repositories
-_UI_InstallableUnit_id_feature = Id
-_UI_P2Repository_url_feature = Url
-_UI_ApiBaseline_name_feature = Name
-_UI_ApiBaseline_zipLocation_feature = Zip Location
-_UI_GitClone_name_feature = Name
-_UI_GitClone_remoteURI_feature = Remote URI
-_UI_GitClone_checkoutBranch_feature = Checkout Branch
_UI_Preferences_userName_feature = User Name
-_UI_Preferences_bundlePool_feature = Bundle Pool
_UI_Preferences_installFolder_feature = Install Folder
-_UI_Workspace_branch_feature = Branch
-_UI_Unknown_feature = Unspecified
-
-_UI_Workspace_eclipseVersion_feature = Eclipse Version
-_UI_Workspace_preferences_feature = Preferences
-_UI_Branch_cloneVariableName_feature = Clone Variable Name
_UI_Preferences_gitPrefix_feature = Git Prefix
-_UI_Setup_type = Setup
_UI_Setup_branch_feature = Branch
_UI_Setup_eclipseVersion_feature = Eclipse Version
_UI_Setup_preferences_feature = Preferences
-_UI_ApiBaseline_version_feature = Version
-_UI_EclipseVersion_configuration_feature = Configuration
-_UI_InstallableUnit_directorCall_feature = Director Call
-_UI_P2Repository_directorCall_feature = Director Call
-_UI_Project_configuration_feature = Configuration
-_UI_Branch_project_feature = Project
-_UI_ApiBaseline_project_feature = Project
-_UI_GitClone_branch_feature = Branch
-_UI_ToolPreference_type = Tool Preference
-_UI_ToolInstallation_toolPreferences_feature = Tool Preferences
-_UI_ToolPreference_key_feature = Key
-_UI_ToolPreference_value_feature = Value
-_UI_P2Repository_disableUpdates_feature = Disable Updates
-_UI_Branch_javaVersion_feature = Java Version
-_UI_JRE_JRE_13_literal = JRE_13
-_UI_JRE_JRE_14_literal = JRE_14
-_UI_JRE_JRE_15_literal = JRE_15
-_UI_JRE_JRE_16_literal = JRE_16
-_UI_JRE_JRE_17_literal = JRE_17
-_UI_JRE_JRE_18_literal = JRE_18
-_UI_Setup_updateLocations_feature = Update Locations
-_UI_LinkLocation_type = Link Location
-_UI_Preferences_linkLocations_feature = Link Locations
-_UI_LinkLocation_path_feature = Path
-_UI_LinkLocation_name_feature = Name
-_UI_Project_workingSetGroup_feature = Working Set Group
+_UI_SetupTask_requirements_feature = Requirements
+_UI_SetupTask_restrictions_feature = Restrictions
+_UI_SetupTask_scope_feature = Scope
+_UI_SetupTaskContainer_setupTasks_feature = Setup Tasks
+_UI_CompoundSetupTask_name_feature = Name
+_UI_OneTimeSetupTask_id_feature = ID
+_UI_EclipseIniTask_option_feature = Option
+_UI_EclipseIniTask_value_feature = Value
+_UI_EclipseIniTask_vm_feature = VM
+_UI_LinkLocationTask_path_feature = Path
+_UI_LinkLocationTask_name_feature = Name
+_UI_P2Task_p2Repositories_feature = Repositories
+_UI_P2Task_installableUnits_feature = Installable Units
+_UI_InstallableUnit_p2Task_feature = p2 Director
+_UI_InstallableUnit_id_feature = ID
+_UI_P2Repository_p2Task_feature = p2 Director
+_UI_P2Repository_url_feature = URL
+_UI_BuckminsterImportTask_mspec_feature = MSpec
+_UI_BuckminsterImportTask_targetPlatform_feature = Target Platform
+_UI_BuckminsterImportTask_bundlePool_feature = Bundle Pool
+_UI_ApiBaselineTask_version_feature = Version
+_UI_ApiBaselineTask_zipLocation_feature = Zip URL
+_UI_GitCloneTask_name_feature = Name
+_UI_GitCloneTask_remoteName_feature = Remote Name
+_UI_GitCloneTask_remoteURI_feature = Remote URI
+_UI_GitCloneTask_checkoutBranch_feature = Checkout Branch
+_UI_EclipsePreferenceTask_key_feature = Key
+_UI_EclipsePreferenceTask_value_feature = Value
+_UI_StringVariableTask_name_feature = Name
+_UI_StringVariableTask_value_feature = Value
+_UI_StringVariableTask_description_feature = Description
+_UI_WorkingSetTask_workingSetGroup_feature = Working Sets _UI_Unknown_feature = Unspecified
+
+_UI_SetupTaskScope_None_literal = None
+_UI_SetupTaskScope_Configuration_literal = Configuration
+_UI_SetupTaskScope_Project_literal = Project
+_UI_SetupTaskScope_Branch_literal = Branch
+_UI_SetupTaskScope_User_literal = User
+_UI_Unknown_feature = Unspecified
+
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ApiBaselineItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ApiBaselineTaskItemProvider.java
index ac2f7cf9cc..749cabcc57 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ApiBaselineItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ApiBaselineTaskItemProvider.java
@@ -1,21 +1,11 @@
-/*
- * Copyright (c) 2013 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
+/**
*/
package org.eclipse.emf.cdo.releng.setup.provider;
-import org.eclipse.emf.cdo.releng.setup.ApiBaseline;
+import org.eclipse.emf.cdo.releng.setup.ApiBaselineTask;
import org.eclipse.emf.cdo.releng.setup.SetupPackage;
-
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -24,19 +14,17 @@ import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
-
import java.util.Collection;
import java.util.List;
/**
- * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.ApiBaseline} object.
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.ApiBaselineTask} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
-public class ApiBaselineItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+public class ApiBaselineTaskItemProvider extends SetupTaskItemProvider implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
{
/**
@@ -45,7 +33,7 @@ public class ApiBaselineItemProvider extends ItemProviderAdapter implements IEdi
* <!-- end-user-doc -->
* @generated
*/
- public ApiBaselineItemProvider(AdapterFactory adapterFactory)
+ public ApiBaselineTaskItemProvider(AdapterFactory adapterFactory)
{
super(adapterFactory);
}
@@ -78,11 +66,12 @@ public class ApiBaselineItemProvider extends ItemProviderAdapter implements IEdi
protected void addVersionPropertyDescriptor(Object object)
{
itemPropertyDescriptors.add(createItemPropertyDescriptor(
- ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_ApiBaseline_version_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_ApiBaseline_version_feature", "_UI_ApiBaseline_type"),
- SetupPackage.Literals.API_BASELINE__VERSION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null, null));
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ApiBaselineTask_version_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ApiBaselineTask_version_feature",
+ "_UI_ApiBaselineTask_type"), SetupPackage.Literals.API_BASELINE_TASK__VERSION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
@@ -94,26 +83,16 @@ public class ApiBaselineItemProvider extends ItemProviderAdapter implements IEdi
protected void addZipLocationPropertyDescriptor(Object object)
{
itemPropertyDescriptors.add(createItemPropertyDescriptor(
- ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_ApiBaseline_zipLocation_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_ApiBaseline_zipLocation_feature", "_UI_ApiBaseline_type"),
- SetupPackage.Literals.API_BASELINE__ZIP_LOCATION, true, false, false,
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ApiBaselineTask_zipLocation_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ApiBaselineTask_zipLocation_feature",
+ "_UI_ApiBaselineTask_type"), SetupPackage.Literals.API_BASELINE_TASK__ZIP_LOCATION, true, false, false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean hasChildren(Object object)
- {
- return hasChildren(object, true);
- }
-
- /**
- * This returns ApiBaseline.gif.
+ * This returns ApiBaselineTask.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -121,7 +100,7 @@ public class ApiBaselineItemProvider extends ItemProviderAdapter implements IEdi
@Override
public Object getImage(Object object)
{
- return overlayImage(object, getResourceLocator().getImage("full/obj16/ApiBaseline"));
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ApiBaselineTask"));
}
/**
@@ -133,9 +112,9 @@ public class ApiBaselineItemProvider extends ItemProviderAdapter implements IEdi
@Override
public String getText(Object object)
{
- String label = ((ApiBaseline)object).getVersion();
- return label == null || label.length() == 0 ? getString("_UI_ApiBaseline_type") : getString("_UI_ApiBaseline_type")
- + " " + label;
+ String label = ((ApiBaselineTask)object).getVersion();
+ return label == null || label.length() == 0 ? getString("_UI_ApiBaselineTask_type")
+ : getString("_UI_ApiBaselineTask_type") + " " + label;
}
/**
@@ -150,10 +129,10 @@ public class ApiBaselineItemProvider extends ItemProviderAdapter implements IEdi
{
updateChildren(notification);
- switch (notification.getFeatureID(ApiBaseline.class))
+ switch (notification.getFeatureID(ApiBaselineTask.class))
{
- case SetupPackage.API_BASELINE__VERSION:
- case SetupPackage.API_BASELINE__ZIP_LOCATION:
+ case SetupPackage.API_BASELINE_TASK__VERSION:
+ case SetupPackage.API_BASELINE_TASK__ZIP_LOCATION:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
@@ -173,16 +152,4 @@ public class ApiBaselineItemProvider extends ItemProviderAdapter implements IEdi
super.collectNewChildDescriptors(newChildDescriptors, object);
}
- /**
- * Return the resource locator for this item provider's resources.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator()
- {
- return SetupEditPlugin.INSTANCE;
- }
-
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/BranchItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/BranchItemProvider.java
index 9693c1bb7c..84c51dcbb6 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/BranchItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/BranchItemProvider.java
@@ -11,12 +11,10 @@
package org.eclipse.emf.cdo.releng.setup.provider;
import org.eclipse.emf.cdo.releng.setup.Branch;
-import org.eclipse.emf.cdo.releng.setup.SetupFactory;
import org.eclipse.emf.cdo.releng.setup.SetupPackage;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -36,7 +34,7 @@ import java.util.List;
* <!-- end-user-doc -->
* @generated
*/
-public class BranchItemProvider extends ToolInstallationItemProvider implements IEditingDomainItemProvider,
+public class BranchItemProvider extends ConfigurableItemItemProvider implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
{
/**
@@ -64,9 +62,6 @@ public class BranchItemProvider extends ToolInstallationItemProvider implements
super.getPropertyDescriptors(object);
addNamePropertyDescriptor(object);
- addApiBaselinePropertyDescriptor(object);
- addMspecFilePathPropertyDescriptor(object);
- addCloneVariableNamePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
@@ -88,86 +83,6 @@ public class BranchItemProvider extends ToolInstallationItemProvider implements
}
/**
- * This adds a property descriptor for the Api Baseline feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected void addApiBaselinePropertyDescriptor(Object object)
- {
- itemPropertyDescriptors.add(createItemPropertyDescriptor(
- ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_Branch_apiBaseline_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Branch_apiBaseline_feature", "_UI_Branch_type"),
- SetupPackage.Literals.BRANCH__API_BASELINE, true, false, true, null, null, null));
- }
-
- /**
- * This adds a property descriptor for the Mspec File Path feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected void addMspecFilePathPropertyDescriptor(Object object)
- {
- itemPropertyDescriptors.add(createItemPropertyDescriptor(
- ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_Branch_mspecFilePath_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Branch_mspecFilePath_feature", "_UI_Branch_type"),
- SetupPackage.Literals.BRANCH__MSPEC_FILE_PATH, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null, null));
- }
-
- /**
- * This adds a property descriptor for the Clone Variable Name feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected void addCloneVariableNamePropertyDescriptor(Object object)
- {
- itemPropertyDescriptors.add(createItemPropertyDescriptor(
- ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_Branch_cloneVariableName_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Branch_cloneVariableName_feature", "_UI_Branch_type"),
- SetupPackage.Literals.BRANCH__CLONE_VARIABLE_NAME, true, false, false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
- }
-
- /**
- * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
- * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
- * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
- {
- if (childrenFeatures == null)
- {
- super.getChildrenFeatures(object);
- childrenFeatures.add(SetupPackage.Literals.BRANCH__GIT_CLONES);
- }
- return childrenFeatures;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EStructuralFeature getChildFeature(Object object, Object child)
- {
- // Check the type of the specified child object and return the proper feature to use for
- // adding (see {@link AddCommand}) it as a child.
-
- return super.getChildFeature(object, child);
- }
-
- /**
* This returns Branch.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -207,13 +122,8 @@ public class BranchItemProvider extends ToolInstallationItemProvider implements
switch (notification.getFeatureID(Branch.class))
{
case SetupPackage.BRANCH__NAME:
- case SetupPackage.BRANCH__MSPEC_FILE_PATH:
- case SetupPackage.BRANCH__CLONE_VARIABLE_NAME:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
- case SetupPackage.BRANCH__GIT_CLONES:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
- return;
}
super.notifyChanged(notification);
}
@@ -229,9 +139,6 @@ public class BranchItemProvider extends ToolInstallationItemProvider implements
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
{
super.collectNewChildDescriptors(newChildDescriptors, object);
-
- newChildDescriptors.add(createChildParameter(SetupPackage.Literals.BRANCH__GIT_CLONES,
- SetupFactory.eINSTANCE.createGitClone()));
}
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/BuckminsterImportTaskItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/BuckminsterImportTaskItemProvider.java
new file mode 100644
index 0000000000..385b48d9ce
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/BuckminsterImportTaskItemProvider.java
@@ -0,0 +1,177 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup.provider;
+
+import org.eclipse.emf.cdo.releng.setup.BuckminsterImportTask;
+import org.eclipse.emf.cdo.releng.setup.SetupPackage;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.BuckminsterImportTask} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BuckminsterImportTaskItemProvider extends OneTimeSetupTaskItemProvider implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider,
+ IItemPropertySource
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BuckminsterImportTaskItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addMspecPropertyDescriptor(object);
+ addTargetPlatformPropertyDescriptor(object);
+ addBundlePoolPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Mspec feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMspecPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BuckminsterImportTask_mspec_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_BuckminsterImportTask_mspec_feature",
+ "_UI_BuckminsterImportTask_type"), SetupPackage.Literals.BUCKMINSTER_IMPORT_TASK__MSPEC, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Target Platform feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTargetPlatformPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BuckminsterImportTask_targetPlatform_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_BuckminsterImportTask_targetPlatform_feature",
+ "_UI_BuckminsterImportTask_type"), SetupPackage.Literals.BUCKMINSTER_IMPORT_TASK__TARGET_PLATFORM, true,
+ false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Bundle Pool feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBundlePoolPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BuckminsterImportTask_bundlePool_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_BuckminsterImportTask_bundlePool_feature",
+ "_UI_BuckminsterImportTask_type"), SetupPackage.Literals.BUCKMINSTER_IMPORT_TASK__BUNDLE_POOL, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns BuckminsterImportTask.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/BuckminsterImportTask"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ String label = ((BuckminsterImportTask)object).getMspec();
+ return label == null || label.length() == 0 ? getString("_UI_BuckminsterImportTask_type")
+ : getString("_UI_BuckminsterImportTask_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(BuckminsterImportTask.class))
+ {
+ case SetupPackage.BUCKMINSTER_IMPORT_TASK__MSPEC:
+ case SetupPackage.BUCKMINSTER_IMPORT_TASK__TARGET_PLATFORM:
+ case SetupPackage.BUCKMINSTER_IMPORT_TASK__BUNDLE_POOL:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/CompoundSetupTaskItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/CompoundSetupTaskItemProvider.java
new file mode 100644
index 0000000000..3ba5734f6b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/CompoundSetupTaskItemProvider.java
@@ -0,0 +1,204 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup.provider;
+
+import org.eclipse.emf.cdo.releng.setup.CompoundSetupTask;
+import org.eclipse.emf.cdo.releng.setup.SetupFactory;
+import org.eclipse.emf.cdo.releng.setup.SetupPackage;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.CompoundSetupTask} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CompoundSetupTaskItemProvider extends SetupTaskItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CompoundSetupTaskItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CompoundSetupTask_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_CompoundSetupTask_name_feature",
+ "_UI_CompoundSetupTask_type"), SetupPackage.Literals.COMPOUND_SETUP_TASK__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
+ {
+ if (childrenFeatures == null)
+ {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child)
+ {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns CompoundSetupTask.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/CompoundSetupTask"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ String label = ((CompoundSetupTask)object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_CompoundSetupTask_type")
+ : getString("_UI_CompoundSetupTask_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(CompoundSetupTask.class))
+ {
+ case SetupPackage.COMPOUND_SETUP_TASK__NAME:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case SetupPackage.COMPOUND_SETUP_TASK__SETUP_TASKS:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createCompoundSetupTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createEclipseIniTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createLinkLocationTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createP2Task()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createBuckminsterImportTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createApiBaselineTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createGitCloneTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createEclipsePreferenceTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createStringVariableTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createWorkingSetTask()));
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ConfigurableItemItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ConfigurableItemItemProvider.java
new file mode 100644
index 0000000000..8c88c25374
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ConfigurableItemItemProvider.java
@@ -0,0 +1,93 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup.provider;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.ConfigurableItem} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConfigurableItemItemProvider extends SetupTaskContainerItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurableItemItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ return getString("_UI_ConfigurableItem_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ConfigurationItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ConfigurationItemProvider.java
index 3bce868991..305272219b 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ConfigurationItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ConfigurationItemProvider.java
@@ -18,6 +18,7 @@ import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -186,7 +187,7 @@ public class ConfigurationItemProvider extends ItemProviderAdapter implements IE
@Override
public ResourceLocator getResourceLocator()
{
- return SetupEditPlugin.INSTANCE;
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
}
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/EclipseIniTaskItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/EclipseIniTaskItemProvider.java
new file mode 100644
index 0000000000..e2f4cab3a9
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/EclipseIniTaskItemProvider.java
@@ -0,0 +1,175 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup.provider;
+
+import org.eclipse.emf.cdo.releng.setup.EclipseIniTask;
+import org.eclipse.emf.cdo.releng.setup.SetupPackage;
+import org.eclipse.emf.cdo.releng.setup.impl.EclipseIniTaskImpl;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.EclipseIniTask} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EclipseIniTaskItemProvider extends InstallTaskItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EclipseIniTaskItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addOptionPropertyDescriptor(object);
+ addValuePropertyDescriptor(object);
+ addVmPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Option feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOptionPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_EclipseIniTask_option_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_EclipseIniTask_option_feature",
+ "_UI_EclipseIniTask_type"), SetupPackage.Literals.ECLIPSE_INI_TASK__OPTION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_EclipseIniTask_value_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_EclipseIniTask_value_feature", "_UI_EclipseIniTask_type"),
+ SetupPackage.Literals.ECLIPSE_INI_TASK__VALUE, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Vm feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addVmPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_EclipseIniTask_vm_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_EclipseIniTask_vm_feature", "_UI_EclipseIniTask_type"),
+ SetupPackage.Literals.ECLIPSE_INI_TASK__VM, true, false, false, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This returns EclipseIniTask.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/EclipseIniTask"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public String getText(Object object)
+ {
+ EclipseIniTaskImpl task = (EclipseIniTaskImpl)object;
+ String label = task.getLabel(task.getValue());
+ return label == null || label.length() == 0 ? getString("_UI_EclipseIniTask_type")
+ : getString("_UI_EclipseIniTask_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(EclipseIniTask.class))
+ {
+ case SetupPackage.ECLIPSE_INI_TASK__OPTION:
+ case SetupPackage.ECLIPSE_INI_TASK__VALUE:
+ case SetupPackage.ECLIPSE_INI_TASK__VM:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ToolPreferenceItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/EclipsePreferenceTaskItemProvider.java
index f3873de108..c05f2f4fe1 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ToolPreferenceItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/EclipsePreferenceTaskItemProvider.java
@@ -2,12 +2,11 @@
*/
package org.eclipse.emf.cdo.releng.setup.provider;
+import org.eclipse.emf.cdo.releng.setup.EclipsePreferenceTask;
import org.eclipse.emf.cdo.releng.setup.SetupPackage;
-import org.eclipse.emf.cdo.releng.setup.ToolPreference;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -16,7 +15,6 @@ import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
import org.eclipse.core.runtime.Path;
@@ -25,12 +23,12 @@ import java.util.Collection;
import java.util.List;
/**
- * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.ToolPreference} object.
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.EclipsePreferenceTask} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
-public class ToolPreferenceItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+public class EclipsePreferenceTaskItemProvider extends SetupTaskItemProvider implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
{
/**
@@ -39,7 +37,7 @@ public class ToolPreferenceItemProvider extends ItemProviderAdapter implements I
* <!-- end-user-doc -->
* @generated
*/
- public ToolPreferenceItemProvider(AdapterFactory adapterFactory)
+ public EclipsePreferenceTaskItemProvider(AdapterFactory adapterFactory)
{
super(adapterFactory);
}
@@ -72,11 +70,12 @@ public class ToolPreferenceItemProvider extends ItemProviderAdapter implements I
protected void addKeyPropertyDescriptor(Object object)
{
itemPropertyDescriptors.add(createItemPropertyDescriptor(
- ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_ToolPreference_key_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_ToolPreference_key_feature", "_UI_ToolPreference_type"),
- SetupPackage.Literals.TOOL_PREFERENCE__KEY, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null, null));
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_EclipsePreferenceTask_key_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_EclipsePreferenceTask_key_feature",
+ "_UI_EclipsePreferenceTask_type"), SetupPackage.Literals.ECLIPSE_PREFERENCE_TASK__KEY, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
@@ -88,26 +87,16 @@ public class ToolPreferenceItemProvider extends ItemProviderAdapter implements I
protected void addValuePropertyDescriptor(Object object)
{
itemPropertyDescriptors.add(createItemPropertyDescriptor(
- ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_ToolPreference_value_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_ToolPreference_value_feature", "_UI_ToolPreference_type"),
- SetupPackage.Literals.TOOL_PREFERENCE__VALUE, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null, null));
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_EclipsePreferenceTask_value_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_EclipsePreferenceTask_value_feature",
+ "_UI_EclipsePreferenceTask_type"), SetupPackage.Literals.ECLIPSE_PREFERENCE_TASK__VALUE, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean hasChildren(Object object)
- {
- return hasChildren(object, true);
- }
-
- /**
- * This returns ToolPreference.gif.
+ * This returns EclipsePreferenceTask.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -115,7 +104,7 @@ public class ToolPreferenceItemProvider extends ItemProviderAdapter implements I
@Override
public Object getImage(Object object)
{
- return overlayImage(object, getResourceLocator().getImage("full/obj16/ToolPreference"));
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/EclipsePreferenceTask"));
}
/**
@@ -127,16 +116,16 @@ public class ToolPreferenceItemProvider extends ItemProviderAdapter implements I
@Override
public String getText(Object object)
{
- String key = ((ToolPreference)object).getKey();
- String value = ((ToolPreference)object).getValue();
+ String key = ((EclipsePreferenceTask)object).getKey();
+ String value = ((EclipsePreferenceTask)object).getValue();
if (key != null && key.length() != 0)
{
- key = new Path(key).lastSegment();
+ key = new Path(key).removeFirstSegments(1).toString();
}
else if (value == null || value.length() == 0)
{
- return getString("_UI_ToolPreference_type");
+ return getString("_UI_EclipsePreferenceTask_type");
}
return "" + key + " = " + value;
@@ -154,10 +143,10 @@ public class ToolPreferenceItemProvider extends ItemProviderAdapter implements I
{
updateChildren(notification);
- switch (notification.getFeatureID(ToolPreference.class))
+ switch (notification.getFeatureID(EclipsePreferenceTask.class))
{
- case SetupPackage.TOOL_PREFERENCE__KEY:
- case SetupPackage.TOOL_PREFERENCE__VALUE:
+ case SetupPackage.ECLIPSE_PREFERENCE_TASK__KEY:
+ case SetupPackage.ECLIPSE_PREFERENCE_TASK__VALUE:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
@@ -177,16 +166,4 @@ public class ToolPreferenceItemProvider extends ItemProviderAdapter implements I
super.collectNewChildDescriptors(newChildDescriptors, object);
}
- /**
- * Return the resource locator for this item provider's resources.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator()
- {
- return SetupEditPlugin.INSTANCE;
- }
-
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/EclipseVersionItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/EclipseVersionItemProvider.java
index c729eb3506..24e53824e6 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/EclipseVersionItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/EclipseVersionItemProvider.java
@@ -19,6 +19,7 @@ import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -102,7 +103,7 @@ public class EclipseVersionItemProvider extends ItemProviderAdapter implements I
if (childrenFeatures == null)
{
super.getChildrenFeatures(object);
- childrenFeatures.add(SetupPackage.Literals.ECLIPSE_VERSION__DIRECTOR_CALL);
+ childrenFeatures.add(SetupPackage.Literals.ECLIPSE_VERSION__INSTALL_TASKS);
}
return childrenFeatures;
}
@@ -175,7 +176,7 @@ public class EclipseVersionItemProvider extends ItemProviderAdapter implements I
case SetupPackage.ECLIPSE_VERSION__VERSION:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
- case SetupPackage.ECLIPSE_VERSION__DIRECTOR_CALL:
+ case SetupPackage.ECLIPSE_VERSION__INSTALL_TASKS:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
}
@@ -194,8 +195,14 @@ public class EclipseVersionItemProvider extends ItemProviderAdapter implements I
{
super.collectNewChildDescriptors(newChildDescriptors, object);
- newChildDescriptors.add(createChildParameter(SetupPackage.Literals.ECLIPSE_VERSION__DIRECTOR_CALL,
- SetupFactory.eINSTANCE.createDirectorCall()));
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.ECLIPSE_VERSION__INSTALL_TASKS,
+ SetupFactory.eINSTANCE.createEclipseIniTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.ECLIPSE_VERSION__INSTALL_TASKS,
+ SetupFactory.eINSTANCE.createLinkLocationTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.ECLIPSE_VERSION__INSTALL_TASKS,
+ SetupFactory.eINSTANCE.createP2Task()));
}
/**
@@ -207,7 +214,7 @@ public class EclipseVersionItemProvider extends ItemProviderAdapter implements I
@Override
public ResourceLocator getResourceLocator()
{
- return SetupEditPlugin.INSTANCE;
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
}
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/GitCloneItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/GitCloneTaskItemProvider.java
index 1502c52e00..e08efe55b4 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/GitCloneItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/GitCloneTaskItemProvider.java
@@ -1,21 +1,12 @@
-/*
- * Copyright (c) 2013 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
+/**
*/
package org.eclipse.emf.cdo.releng.setup.provider;
-import org.eclipse.emf.cdo.releng.setup.GitClone;
+import org.eclipse.emf.cdo.releng.setup.GitCloneTask;
import org.eclipse.emf.cdo.releng.setup.SetupPackage;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -24,19 +15,18 @@ import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
import java.util.Collection;
import java.util.List;
/**
- * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.GitClone} object.
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.GitCloneTask} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
-public class GitCloneItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+public class GitCloneTaskItemProvider extends SetupTaskItemProvider implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
{
/**
@@ -45,7 +35,7 @@ public class GitCloneItemProvider extends ItemProviderAdapter implements IEditin
* <!-- end-user-doc -->
* @generated
*/
- public GitCloneItemProvider(AdapterFactory adapterFactory)
+ public GitCloneTaskItemProvider(AdapterFactory adapterFactory)
{
super(adapterFactory);
}
@@ -64,6 +54,7 @@ public class GitCloneItemProvider extends ItemProviderAdapter implements IEditin
super.getPropertyDescriptors(object);
addNamePropertyDescriptor(object);
+ addRemoteNamePropertyDescriptor(object);
addRemoteURIPropertyDescriptor(object);
addCheckoutBranchPropertyDescriptor(object);
}
@@ -80,57 +71,65 @@ public class GitCloneItemProvider extends ItemProviderAdapter implements IEditin
{
itemPropertyDescriptors.add(createItemPropertyDescriptor(
((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_GitClone_name_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_GitClone_name_feature", "_UI_GitClone_type"),
- SetupPackage.Literals.GIT_CLONE__NAME, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null,
- null));
+ getString("_UI_GitCloneTask_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_GitCloneTask_name_feature", "_UI_GitCloneTask_type"),
+ SetupPackage.Literals.GIT_CLONE_TASK__NAME, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
}
/**
- * This adds a property descriptor for the Remote URI feature.
+ * This adds a property descriptor for the Remote Name feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected void addRemoteURIPropertyDescriptor(Object object)
+ protected void addRemoteNamePropertyDescriptor(Object object)
{
- itemPropertyDescriptors.add(createItemPropertyDescriptor(
- ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_GitClone_remoteURI_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_GitClone_remoteURI_feature", "_UI_GitClone_type"),
- SetupPackage.Literals.GIT_CLONE__REMOTE_URI, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null, null));
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GitCloneTask_remoteName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_GitCloneTask_remoteName_feature",
+ "_UI_GitCloneTask_type"), SetupPackage.Literals.GIT_CLONE_TASK__REMOTE_NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
- * This adds a property descriptor for the Checkout Branch feature.
+ * This adds a property descriptor for the Remote URI feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected void addCheckoutBranchPropertyDescriptor(Object object)
+ protected void addRemoteURIPropertyDescriptor(Object object)
{
itemPropertyDescriptors.add(createItemPropertyDescriptor(
((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_GitClone_checkoutBranch_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_GitClone_checkoutBranch_feature", "_UI_GitClone_type"),
- SetupPackage.Literals.GIT_CLONE__CHECKOUT_BRANCH, true, false, false,
+ getString("_UI_GitCloneTask_remoteURI_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_GitCloneTask_remoteURI_feature", "_UI_GitCloneTask_type"),
+ SetupPackage.Literals.GIT_CLONE_TASK__REMOTE_URI, true, false, false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
+ * This adds a property descriptor for the Checkout Branch feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- @Override
- public boolean hasChildren(Object object)
+ protected void addCheckoutBranchPropertyDescriptor(Object object)
{
- return hasChildren(object, true);
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GitCloneTask_checkoutBranch_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_GitCloneTask_checkoutBranch_feature",
+ "_UI_GitCloneTask_type"), SetupPackage.Literals.GIT_CLONE_TASK__CHECKOUT_BRANCH, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
- * This returns GitClone.gif.
+ * This returns GitCloneTask.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -138,7 +137,7 @@ public class GitCloneItemProvider extends ItemProviderAdapter implements IEditin
@Override
public Object getImage(Object object)
{
- return overlayImage(object, getResourceLocator().getImage("full/obj16/GitClone"));
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/GitCloneTask"));
}
/**
@@ -150,11 +149,11 @@ public class GitCloneItemProvider extends ItemProviderAdapter implements IEditin
@Override
public String getText(Object object)
{
- String uri = ((GitClone)object).getRemoteURI();
- String branch = ((GitClone)object).getCheckoutBranch();
+ String uri = ((GitCloneTask)object).getRemoteURI();
+ String branch = ((GitCloneTask)object).getCheckoutBranch();
if ((uri == null || uri.length() == 0) && (branch == null || branch.length() == 0))
{
- return getString("_UI_GitClone_type");
+ return getString("_UI_GitCloneTask_type");
}
return "" + uri + " (" + branch + ")";
@@ -172,11 +171,12 @@ public class GitCloneItemProvider extends ItemProviderAdapter implements IEditin
{
updateChildren(notification);
- switch (notification.getFeatureID(GitClone.class))
+ switch (notification.getFeatureID(GitCloneTask.class))
{
- case SetupPackage.GIT_CLONE__NAME:
- case SetupPackage.GIT_CLONE__REMOTE_URI:
- case SetupPackage.GIT_CLONE__CHECKOUT_BRANCH:
+ case SetupPackage.GIT_CLONE_TASK__NAME:
+ case SetupPackage.GIT_CLONE_TASK__REMOTE_NAME:
+ case SetupPackage.GIT_CLONE_TASK__REMOTE_URI:
+ case SetupPackage.GIT_CLONE_TASK__CHECKOUT_BRANCH:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
@@ -196,16 +196,4 @@ public class GitCloneItemProvider extends ItemProviderAdapter implements IEditin
super.collectNewChildDescriptors(newChildDescriptors, object);
}
- /**
- * Return the resource locator for this item provider's resources.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator()
- {
- return SetupEditPlugin.INSTANCE;
- }
-
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/InstallTaskItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/InstallTaskItemProvider.java
new file mode 100644
index 0000000000..08ab5b715f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/InstallTaskItemProvider.java
@@ -0,0 +1,99 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup.provider;
+
+import org.eclipse.emf.cdo.releng.setup.InstallTask;
+import org.eclipse.emf.cdo.releng.setup.SetupTaskScope;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.InstallTask} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InstallTaskItemProvider extends SetupTaskItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstallTaskItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ SetupTaskScope labelValue = ((InstallTask)object).getScope();
+ String label = labelValue == null ? null : labelValue.toString();
+ return label == null || label.length() == 0 ? getString("_UI_InstallTask_type") : getString("_UI_InstallTask_type")
+ + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/InstallableUnitItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/InstallableUnitItemProvider.java
index 626906c9f8..7113ea59d9 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/InstallableUnitItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/InstallableUnitItemProvider.java
@@ -17,6 +17,7 @@ import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -168,7 +169,7 @@ public class InstallableUnitItemProvider extends ItemProviderAdapter implements
@Override
public ResourceLocator getResourceLocator()
{
- return SetupEditPlugin.INSTANCE;
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
}
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/LinkLocationItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/LinkLocationTaskItemProvider.java
index 2570210119..5d97a0c673 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/LinkLocationItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/LinkLocationTaskItemProvider.java
@@ -2,12 +2,11 @@
*/
package org.eclipse.emf.cdo.releng.setup.provider;
-import org.eclipse.emf.cdo.releng.setup.LinkLocation;
+import org.eclipse.emf.cdo.releng.setup.LinkLocationTask;
import org.eclipse.emf.cdo.releng.setup.SetupPackage;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -16,19 +15,18 @@ import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
import java.util.Collection;
import java.util.List;
/**
- * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.LinkLocation} object.
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.LinkLocationTask} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
-public class LinkLocationItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+public class LinkLocationTaskItemProvider extends InstallTaskItemProvider implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
{
/**
@@ -37,7 +35,7 @@ public class LinkLocationItemProvider extends ItemProviderAdapter implements IEd
* <!-- end-user-doc -->
* @generated
*/
- public LinkLocationItemProvider(AdapterFactory adapterFactory)
+ public LinkLocationTaskItemProvider(AdapterFactory adapterFactory)
{
super(adapterFactory);
}
@@ -70,11 +68,12 @@ public class LinkLocationItemProvider extends ItemProviderAdapter implements IEd
protected void addPathPropertyDescriptor(Object object)
{
itemPropertyDescriptors.add(createItemPropertyDescriptor(
- ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_LinkLocation_path_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_LinkLocation_path_feature", "_UI_LinkLocation_type"),
- SetupPackage.Literals.LINK_LOCATION__PATH, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null, null));
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LinkLocationTask_path_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_LinkLocationTask_path_feature",
+ "_UI_LinkLocationTask_type"), SetupPackage.Literals.LINK_LOCATION_TASK__PATH, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
@@ -86,26 +85,16 @@ public class LinkLocationItemProvider extends ItemProviderAdapter implements IEd
protected void addNamePropertyDescriptor(Object object)
{
itemPropertyDescriptors.add(createItemPropertyDescriptor(
- ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_LinkLocation_name_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_LinkLocation_name_feature", "_UI_LinkLocation_type"),
- SetupPackage.Literals.LINK_LOCATION__NAME, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
- null, null));
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LinkLocationTask_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_LinkLocationTask_name_feature",
+ "_UI_LinkLocationTask_type"), SetupPackage.Literals.LINK_LOCATION_TASK__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean hasChildren(Object object)
- {
- return hasChildren(object, true);
- }
-
- /**
- * This returns LinkLocation.gif.
+ * This returns LinkLocationTask.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -113,7 +102,7 @@ public class LinkLocationItemProvider extends ItemProviderAdapter implements IEd
@Override
public Object getImage(Object object)
{
- return overlayImage(object, getResourceLocator().getImage("full/obj16/LinkLocation"));
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/LinkLocationTask"));
}
/**
@@ -125,9 +114,9 @@ public class LinkLocationItemProvider extends ItemProviderAdapter implements IEd
@Override
public String getText(Object object)
{
- String label = ((LinkLocation)object).getPath();
- return label == null || label.length() == 0 ? getString("_UI_LinkLocation_type")
- : getString("_UI_LinkLocation_type") + " " + label;
+ String label = ((LinkLocationTask)object).getPath();
+ return label == null || label.length() == 0 ? getString("_UI_LinkLocationTask_type")
+ : getString("_UI_LinkLocationTask_type") + " " + label;
}
/**
@@ -142,10 +131,10 @@ public class LinkLocationItemProvider extends ItemProviderAdapter implements IEd
{
updateChildren(notification);
- switch (notification.getFeatureID(LinkLocation.class))
+ switch (notification.getFeatureID(LinkLocationTask.class))
{
- case SetupPackage.LINK_LOCATION__PATH:
- case SetupPackage.LINK_LOCATION__NAME:
+ case SetupPackage.LINK_LOCATION_TASK__PATH:
+ case SetupPackage.LINK_LOCATION_TASK__NAME:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
@@ -165,16 +154,4 @@ public class LinkLocationItemProvider extends ItemProviderAdapter implements IEd
super.collectNewChildDescriptors(newChildDescriptors, object);
}
- /**
- * Return the resource locator for this item provider's resources.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator()
- {
- return SetupEditPlugin.INSTANCE;
- }
-
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/OneTimeSetupTaskItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/OneTimeSetupTaskItemProvider.java
new file mode 100644
index 0000000000..d0a42aa51d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/OneTimeSetupTaskItemProvider.java
@@ -0,0 +1,127 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup.provider;
+
+import org.eclipse.emf.cdo.releng.setup.OneTimeSetupTask;
+import org.eclipse.emf.cdo.releng.setup.SetupPackage;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.OneTimeSetupTask} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OneTimeSetupTaskItemProvider extends SetupTaskItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OneTimeSetupTaskItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addIdPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIdPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_OneTimeSetupTask_id_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_OneTimeSetupTask_id_feature",
+ "_UI_OneTimeSetupTask_type"), SetupPackage.Literals.ONE_TIME_SETUP_TASK__ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ String label = ((OneTimeSetupTask)object).getId();
+ return label == null || label.length() == 0 ? getString("_UI_OneTimeSetupTask_type")
+ : getString("_UI_OneTimeSetupTask_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(OneTimeSetupTask.class))
+ {
+ case SetupPackage.ONE_TIME_SETUP_TASK__ID:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/P2RepositoryItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/P2RepositoryItemProvider.java
index 2fe20cbadc..1bd27fc50a 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/P2RepositoryItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/P2RepositoryItemProvider.java
@@ -17,6 +17,7 @@ import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -163,7 +164,7 @@ public class P2RepositoryItemProvider extends ItemProviderAdapter implements IEd
@Override
public ResourceLocator getResourceLocator()
{
- return SetupEditPlugin.INSTANCE;
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
}
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ToolInstallationItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/P2TaskItemProvider.java
index 1eb56f1298..a8a89a601f 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ToolInstallationItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/P2TaskItemProvider.java
@@ -1,22 +1,12 @@
-/*
- * Copyright (c) 2013 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
+/**
*/
package org.eclipse.emf.cdo.releng.setup.provider;
+import org.eclipse.emf.cdo.releng.setup.P2Task;
import org.eclipse.emf.cdo.releng.setup.SetupFactory;
import org.eclipse.emf.cdo.releng.setup.SetupPackage;
-import org.eclipse.emf.cdo.releng.setup.ToolInstallation;
-
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -24,19 +14,17 @@ import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
-
import java.util.Collection;
import java.util.List;
/**
- * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.ToolInstallation} object.
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.P2Task} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
-public class ToolInstallationItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+public class P2TaskItemProvider extends InstallTaskItemProvider implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
{
/**
@@ -45,7 +33,7 @@ public class ToolInstallationItemProvider extends ItemProviderAdapter implements
* <!-- end-user-doc -->
* @generated
*/
- public ToolInstallationItemProvider(AdapterFactory adapterFactory)
+ public P2TaskItemProvider(AdapterFactory adapterFactory)
{
super(adapterFactory);
}
@@ -81,8 +69,8 @@ public class ToolInstallationItemProvider extends ItemProviderAdapter implements
if (childrenFeatures == null)
{
super.getChildrenFeatures(object);
- childrenFeatures.add(SetupPackage.Literals.TOOL_INSTALLATION__DIRECTOR_CALLS);
- childrenFeatures.add(SetupPackage.Literals.TOOL_INSTALLATION__TOOL_PREFERENCES);
+ childrenFeatures.add(SetupPackage.Literals.P2_TASK__P2_REPOSITORIES);
+ childrenFeatures.add(SetupPackage.Literals.P2_TASK__INSTALLABLE_UNITS);
}
return childrenFeatures;
}
@@ -102,18 +90,7 @@ public class ToolInstallationItemProvider extends ItemProviderAdapter implements
}
/**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean hasChildren(Object object)
- {
- return hasChildren(object, true);
- }
-
- /**
- * This returns ToolInstallation.gif.
+ * This returns P2Task.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -121,19 +98,19 @@ public class ToolInstallationItemProvider extends ItemProviderAdapter implements
@Override
public Object getImage(Object object)
{
- return overlayImage(object, getResourceLocator().getImage("full/obj16/ToolInstallation"));
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/P2Task"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @generated
+ * @generated NOT
*/
@Override
public String getText(Object object)
{
- return getString("_UI_ToolInstallation_type");
+ return getString("_UI_P2Task_type");
}
/**
@@ -148,10 +125,10 @@ public class ToolInstallationItemProvider extends ItemProviderAdapter implements
{
updateChildren(notification);
- switch (notification.getFeatureID(ToolInstallation.class))
+ switch (notification.getFeatureID(P2Task.class))
{
- case SetupPackage.TOOL_INSTALLATION__DIRECTOR_CALLS:
- case SetupPackage.TOOL_INSTALLATION__TOOL_PREFERENCES:
+ case SetupPackage.P2_TASK__P2_REPOSITORIES:
+ case SetupPackage.P2_TASK__INSTALLABLE_UNITS:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
}
@@ -170,23 +147,11 @@ public class ToolInstallationItemProvider extends ItemProviderAdapter implements
{
super.collectNewChildDescriptors(newChildDescriptors, object);
- newChildDescriptors.add(createChildParameter(SetupPackage.Literals.TOOL_INSTALLATION__DIRECTOR_CALLS,
- SetupFactory.eINSTANCE.createDirectorCall()));
-
- newChildDescriptors.add(createChildParameter(SetupPackage.Literals.TOOL_INSTALLATION__TOOL_PREFERENCES,
- SetupFactory.eINSTANCE.createToolPreference()));
- }
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.P2_TASK__P2_REPOSITORIES,
+ SetupFactory.eINSTANCE.createP2Repository()));
- /**
- * Return the resource locator for this item provider's resources.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator()
- {
- return SetupEditPlugin.INSTANCE;
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.P2_TASK__INSTALLABLE_UNITS,
+ SetupFactory.eINSTANCE.createInstallableUnit()));
}
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/PreferencesItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/PreferencesItemProvider.java
index 729cc60242..bf04c2f0a3 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/PreferencesItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/PreferencesItemProvider.java
@@ -11,11 +11,10 @@
package org.eclipse.emf.cdo.releng.setup.provider;
import org.eclipse.emf.cdo.releng.setup.Preferences;
-import org.eclipse.emf.cdo.releng.setup.SetupFactory;
import org.eclipse.emf.cdo.releng.setup.SetupPackage;
+
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -25,6 +24,7 @@ import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ViewerNotification;
+
import java.util.Collection;
import java.util.List;
@@ -34,7 +34,7 @@ import java.util.List;
* <!-- end-user-doc -->
* @generated
*/
-public class PreferencesItemProvider extends ToolInstallationItemProvider implements IEditingDomainItemProvider,
+public class PreferencesItemProvider extends SetupTaskContainerItemProvider implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
{
/**
@@ -119,39 +119,6 @@ public class PreferencesItemProvider extends ToolInstallationItemProvider implem
}
/**
- * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
- * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
- * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
- {
- if (childrenFeatures == null)
- {
- super.getChildrenFeatures(object);
- childrenFeatures.add(SetupPackage.Literals.PREFERENCES__LINK_LOCATIONS);
- }
- return childrenFeatures;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EStructuralFeature getChildFeature(Object object, Object child)
- {
- // Check the type of the specified child object and return the proper feature to use for
- // adding (see {@link AddCommand}) it as a child.
-
- return super.getChildFeature(object, child);
- }
-
- /**
* This returns Preferences.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -196,9 +163,6 @@ public class PreferencesItemProvider extends ToolInstallationItemProvider implem
case SetupPackage.PREFERENCES__GIT_PREFIX:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
- case SetupPackage.PREFERENCES__LINK_LOCATIONS:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
- return;
}
super.notifyChanged(notification);
}
@@ -214,9 +178,6 @@ public class PreferencesItemProvider extends ToolInstallationItemProvider implem
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
{
super.collectNewChildDescriptors(newChildDescriptors, object);
-
- newChildDescriptors.add(createChildParameter(SetupPackage.Literals.PREFERENCES__LINK_LOCATIONS,
- SetupFactory.eINSTANCE.createLinkLocation()));
}
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ProjectItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ProjectItemProvider.java
index f68b2d32fb..88e402947f 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ProjectItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/ProjectItemProvider.java
@@ -14,7 +14,6 @@ import org.eclipse.emf.cdo.releng.setup.Project;
import org.eclipse.emf.cdo.releng.setup.SetupFactory;
import org.eclipse.emf.cdo.releng.setup.SetupPackage;
-import org.eclipse.emf.cdo.releng.workingsets.WorkingSetsFactory;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EStructuralFeature;
@@ -37,7 +36,7 @@ import java.util.List;
* <!-- end-user-doc -->
* @generated
*/
-public class ProjectItemProvider extends ToolInstallationItemProvider implements IEditingDomainItemProvider,
+public class ProjectItemProvider extends ConfigurableItemItemProvider implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
{
/**
@@ -100,8 +99,6 @@ public class ProjectItemProvider extends ToolInstallationItemProvider implements
{
super.getChildrenFeatures(object);
childrenFeatures.add(SetupPackage.Literals.PROJECT__BRANCHES);
- childrenFeatures.add(SetupPackage.Literals.PROJECT__API_BASELINES);
- childrenFeatures.add(SetupPackage.Literals.PROJECT__WORKING_SET_GROUP);
}
return childrenFeatures;
}
@@ -163,8 +160,6 @@ public class ProjectItemProvider extends ToolInstallationItemProvider implements
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
case SetupPackage.PROJECT__BRANCHES:
- case SetupPackage.PROJECT__API_BASELINES:
- case SetupPackage.PROJECT__WORKING_SET_GROUP:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
}
@@ -185,12 +180,6 @@ public class ProjectItemProvider extends ToolInstallationItemProvider implements
newChildDescriptors.add(createChildParameter(SetupPackage.Literals.PROJECT__BRANCHES,
SetupFactory.eINSTANCE.createBranch()));
-
- newChildDescriptors.add(createChildParameter(SetupPackage.Literals.PROJECT__API_BASELINES,
- SetupFactory.eINSTANCE.createApiBaseline()));
-
- newChildDescriptors.add(createChildParameter(SetupPackage.Literals.PROJECT__WORKING_SET_GROUP,
- WorkingSetsFactory.eINSTANCE.createWorkingSetGroup()));
}
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupEditPlugin.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupEditPlugin.java
index 304ee79e5b..7ebfc5d7e9 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupEditPlugin.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupEditPlugin.java
@@ -11,6 +11,7 @@
package org.eclipse.emf.cdo.releng.setup.provider;
import org.eclipse.emf.cdo.releng.workingsets.provider.WorkingSetsEditPlugin;
+
import org.eclipse.emf.common.EMFPlugin;
import org.eclipse.emf.common.util.ResourceLocator;
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupItemProvider.java
index 24fa6c1389..fc4dfcf618 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupItemProvider.java
@@ -19,6 +19,7 @@ import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -117,7 +118,6 @@ public class SetupItemProvider extends ItemProviderAdapter implements IEditingDo
childrenFeatures.add(SetupPackage.Literals.SETUP__BRANCH);
childrenFeatures.add(SetupPackage.Literals.SETUP__ECLIPSE_VERSION);
childrenFeatures.add(SetupPackage.Literals.SETUP__PREFERENCES);
- childrenFeatures.add(SetupPackage.Literals.SETUP__UPDATE_LOCATIONS);
}
return childrenFeatures;
}
@@ -186,7 +186,6 @@ public class SetupItemProvider extends ItemProviderAdapter implements IEditingDo
switch (notification.getFeatureID(Setup.class))
{
case SetupPackage.SETUP__PREFERENCES:
- case SetupPackage.SETUP__UPDATE_LOCATIONS:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
}
@@ -207,9 +206,6 @@ public class SetupItemProvider extends ItemProviderAdapter implements IEditingDo
newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP__PREFERENCES,
SetupFactory.eINSTANCE.createPreferences()));
-
- newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP__UPDATE_LOCATIONS,
- SetupFactory.eINSTANCE.createP2Repository()));
}
/**
@@ -221,7 +217,7 @@ public class SetupItemProvider extends ItemProviderAdapter implements IEditingDo
@Override
public ResourceLocator getResourceLocator()
{
- return SetupEditPlugin.INSTANCE;
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
}
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupItemProviderAdapterFactory.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupItemProviderAdapterFactory.java
index d2d21a513e..c6780e34d6 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupItemProviderAdapterFactory.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupItemProviderAdapterFactory.java
@@ -10,15 +10,20 @@
*/
package org.eclipse.emf.cdo.releng.setup.provider;
+import org.eclipse.emf.cdo.releng.setup.SetupPackage;
import org.eclipse.emf.cdo.releng.setup.util.SetupAdapterFactory;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ChildCreationExtenderManager;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
import org.eclipse.emf.edit.provider.IDisposable;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -29,6 +34,7 @@ import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.List;
/**
* This is the factory that is used to provide the interfaces needed to support Viewers.
@@ -40,7 +46,7 @@ import java.util.Collection;
* @generated
*/
public class SetupItemProviderAdapterFactory extends SetupAdapterFactory implements ComposeableAdapterFactory,
- IChangeNotifier, IDisposable
+ IChangeNotifier, IDisposable, IChildCreationExtender
{
/**
* This keeps track of the root adapter factory that delegates to this adapter factory.
@@ -59,6 +65,15 @@ public class SetupItemProviderAdapterFactory extends SetupAdapterFactory impleme
protected IChangeNotifier changeNotifier = new ChangeNotifier();
/**
+ * This helps manage the child creation extenders.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ChildCreationExtenderManager childCreationExtenderManager = new ChildCreationExtenderManager(
+ SetupEditPlugin.INSTANCE, SetupPackage.eNS_URI);
+
+ /**
* This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -157,6 +172,56 @@ public class SetupItemProviderAdapterFactory extends SetupAdapterFactory impleme
}
/**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.ApiBaselineTask} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ApiBaselineTaskItemProvider apiBaselineTaskItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.ApiBaselineTask}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createApiBaselineTaskAdapter()
+ {
+ if (apiBaselineTaskItemProvider == null)
+ {
+ apiBaselineTaskItemProvider = new ApiBaselineTaskItemProvider(this);
+ }
+
+ return apiBaselineTaskItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.GitCloneTask} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GitCloneTaskItemProvider gitCloneTaskItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.GitCloneTask}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createGitCloneTaskAdapter()
+ {
+ if (gitCloneTaskItemProvider == null)
+ {
+ gitCloneTaskItemProvider = new GitCloneTaskItemProvider(this);
+ }
+
+ return gitCloneTaskItemProvider;
+ }
+
+ /**
* This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.EclipseVersion} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -182,28 +247,28 @@ public class SetupItemProviderAdapterFactory extends SetupAdapterFactory impleme
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.DirectorCall} instances.
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.P2Task} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected DirectorCallItemProvider directorCallItemProvider;
+ protected P2TaskItemProvider p2TaskItemProvider;
/**
- * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.DirectorCall}.
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.P2Task}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
- public Adapter createDirectorCallAdapter()
+ public Adapter createP2TaskAdapter()
{
- if (directorCallItemProvider == null)
+ if (p2TaskItemProvider == null)
{
- directorCallItemProvider = new DirectorCallItemProvider(this);
+ p2TaskItemProvider = new P2TaskItemProvider(this);
}
- return directorCallItemProvider;
+ return p2TaskItemProvider;
}
/**
@@ -257,128 +322,153 @@ public class SetupItemProviderAdapterFactory extends SetupAdapterFactory impleme
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.ApiBaseline} instances.
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.Setup} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected ApiBaselineItemProvider apiBaselineItemProvider;
+ protected SetupItemProvider setupItemProvider;
/**
- * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.ApiBaseline}.
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.Setup}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
- public Adapter createApiBaselineAdapter()
+ public Adapter createSetupAdapter()
{
- if (apiBaselineItemProvider == null)
+ if (setupItemProvider == null)
{
- apiBaselineItemProvider = new ApiBaselineItemProvider(this);
+ setupItemProvider = new SetupItemProvider(this);
}
- return apiBaselineItemProvider;
+ return setupItemProvider;
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.GitClone} instances.
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.WorkingSetTask} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected GitCloneItemProvider gitCloneItemProvider;
+ protected WorkingSetTaskItemProvider workingSetTaskItemProvider;
/**
- * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.GitClone}.
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.WorkingSetTask}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
- public Adapter createGitCloneAdapter()
+ public Adapter createWorkingSetTaskAdapter()
{
- if (gitCloneItemProvider == null)
+ if (workingSetTaskItemProvider == null)
{
- gitCloneItemProvider = new GitCloneItemProvider(this);
+ workingSetTaskItemProvider = new WorkingSetTaskItemProvider(this);
}
- return gitCloneItemProvider;
+ return workingSetTaskItemProvider;
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.Setup} instances.
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.EclipseIniTask} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected SetupItemProvider setupItemProvider;
+ protected EclipseIniTaskItemProvider eclipseIniTaskItemProvider;
/**
- * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.Setup}.
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.EclipseIniTask}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
- public Adapter createSetupAdapter()
+ public Adapter createEclipseIniTaskAdapter()
{
- if (setupItemProvider == null)
+ if (eclipseIniTaskItemProvider == null)
{
- setupItemProvider = new SetupItemProvider(this);
+ eclipseIniTaskItemProvider = new EclipseIniTaskItemProvider(this);
}
- return setupItemProvider;
+ return eclipseIniTaskItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.CompoundSetupTask} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CompoundSetupTaskItemProvider compoundSetupTaskItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.CompoundSetupTask}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createCompoundSetupTaskAdapter()
+ {
+ if (compoundSetupTaskItemProvider == null)
+ {
+ compoundSetupTaskItemProvider = new CompoundSetupTaskItemProvider(this);
+ }
+
+ return compoundSetupTaskItemProvider;
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.ToolPreference} instances.
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.BuckminsterImportTask} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected ToolPreferenceItemProvider toolPreferenceItemProvider;
+ protected BuckminsterImportTaskItemProvider buckminsterImportTaskItemProvider;
/**
- * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.ToolPreference}.
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.BuckminsterImportTask}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
- public Adapter createToolPreferenceAdapter()
+ public Adapter createBuckminsterImportTaskAdapter()
{
- if (toolPreferenceItemProvider == null)
+ if (buckminsterImportTaskItemProvider == null)
{
- toolPreferenceItemProvider = new ToolPreferenceItemProvider(this);
+ buckminsterImportTaskItemProvider = new BuckminsterImportTaskItemProvider(this);
}
- return toolPreferenceItemProvider;
+ return buckminsterImportTaskItemProvider;
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.LinkLocation} instances.
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.StringVariableTask} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected LinkLocationItemProvider linkLocationItemProvider;
+ protected StringVariableTaskItemProvider stringVariableTaskItemProvider;
/**
- * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.LinkLocation}.
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.StringVariableTask}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
- public Adapter createLinkLocationAdapter()
+ public Adapter createStringVariableTaskAdapter()
{
- if (linkLocationItemProvider == null)
+ if (stringVariableTaskItemProvider == null)
{
- linkLocationItemProvider = new LinkLocationItemProvider(this);
+ stringVariableTaskItemProvider = new StringVariableTaskItemProvider(this);
}
- return linkLocationItemProvider;
+ return stringVariableTaskItemProvider;
}
/**
@@ -407,6 +497,56 @@ public class SetupItemProviderAdapterFactory extends SetupAdapterFactory impleme
}
/**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.LinkLocationTask} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkLocationTaskItemProvider linkLocationTaskItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.LinkLocationTask}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createLinkLocationTaskAdapter()
+ {
+ if (linkLocationTaskItemProvider == null)
+ {
+ linkLocationTaskItemProvider = new LinkLocationTaskItemProvider(this);
+ }
+
+ return linkLocationTaskItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.releng.setup.EclipsePreferenceTask} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EclipsePreferenceTaskItemProvider eclipsePreferenceTaskItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.releng.setup.EclipsePreferenceTask}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createEclipsePreferenceTaskAdapter()
+ {
+ if (eclipsePreferenceTaskItemProvider == null)
+ {
+ eclipsePreferenceTaskItemProvider = new EclipsePreferenceTaskItemProvider(this);
+ }
+
+ return eclipsePreferenceTaskItemProvider;
+ }
+
+ /**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -472,6 +612,36 @@ public class SetupItemProviderAdapterFactory extends SetupAdapterFactory impleme
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List<IChildCreationExtender> getChildCreationExtenders()
+ {
+ return childCreationExtenderManager.getChildCreationExtenders();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection<?> getNewChildDescriptors(Object object, EditingDomain editingDomain)
+ {
+ return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator()
+ {
+ return childCreationExtenderManager;
+ }
+
+ /**
* This adds a listener.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -517,32 +687,42 @@ public class SetupItemProviderAdapterFactory extends SetupAdapterFactory impleme
*/
public void dispose()
{
- if (preferencesItemProvider != null)
- preferencesItemProvider.dispose();
- if (linkLocationItemProvider != null)
- linkLocationItemProvider.dispose();
- if (toolPreferenceItemProvider != null)
- toolPreferenceItemProvider.dispose();
if (eclipseVersionItemProvider != null)
eclipseVersionItemProvider.dispose();
- if (directorCallItemProvider != null)
- directorCallItemProvider.dispose();
- if (installableUnitItemProvider != null)
- installableUnitItemProvider.dispose();
- if (p2RepositoryItemProvider != null)
- p2RepositoryItemProvider.dispose();
if (configurationItemProvider != null)
configurationItemProvider.dispose();
if (projectItemProvider != null)
projectItemProvider.dispose();
if (branchItemProvider != null)
branchItemProvider.dispose();
- if (apiBaselineItemProvider != null)
- apiBaselineItemProvider.dispose();
- if (gitCloneItemProvider != null)
- gitCloneItemProvider.dispose();
+ if (preferencesItemProvider != null)
+ preferencesItemProvider.dispose();
if (setupItemProvider != null)
setupItemProvider.dispose();
+ if (compoundSetupTaskItemProvider != null)
+ compoundSetupTaskItemProvider.dispose();
+ if (eclipseIniTaskItemProvider != null)
+ eclipseIniTaskItemProvider.dispose();
+ if (linkLocationTaskItemProvider != null)
+ linkLocationTaskItemProvider.dispose();
+ if (p2TaskItemProvider != null)
+ p2TaskItemProvider.dispose();
+ if (installableUnitItemProvider != null)
+ installableUnitItemProvider.dispose();
+ if (p2RepositoryItemProvider != null)
+ p2RepositoryItemProvider.dispose();
+ if (buckminsterImportTaskItemProvider != null)
+ buckminsterImportTaskItemProvider.dispose();
+ if (apiBaselineTaskItemProvider != null)
+ apiBaselineTaskItemProvider.dispose();
+ if (gitCloneTaskItemProvider != null)
+ gitCloneTaskItemProvider.dispose();
+ if (eclipsePreferenceTaskItemProvider != null)
+ eclipsePreferenceTaskItemProvider.dispose();
+ if (stringVariableTaskItemProvider != null)
+ stringVariableTaskItemProvider.dispose();
+ if (workingSetTaskItemProvider != null)
+ workingSetTaskItemProvider.dispose();
}
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/DirectorCallItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupTaskContainerItemProvider.java
index 889cb6a6ee..7476232ab6 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/DirectorCallItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupTaskContainerItemProvider.java
@@ -1,25 +1,15 @@
-/*
- * Copyright (c) 2013 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
+/**
*/
package org.eclipse.emf.cdo.releng.setup.provider;
-import org.eclipse.emf.cdo.releng.setup.DirectorCall;
-import org.eclipse.emf.cdo.releng.setup.InstallableUnit;
import org.eclipse.emf.cdo.releng.setup.SetupFactory;
import org.eclipse.emf.cdo.releng.setup.SetupPackage;
-
+import org.eclipse.emf.cdo.releng.setup.SetupTaskContainer;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -28,30 +18,25 @@ import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
-
import java.util.Collection;
import java.util.List;
/**
- * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.DirectorCall} object.
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.SetupTaskContainer} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
-public class DirectorCallItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+public class SetupTaskContainerItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
{
- private static final String PREFIX = "org.eclipse.";
-
- private static final String SUFFIX = ".feature.group";
-
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public DirectorCallItemProvider(AdapterFactory adapterFactory)
+ public SetupTaskContainerItemProvider(AdapterFactory adapterFactory)
{
super(adapterFactory);
}
@@ -87,8 +72,7 @@ public class DirectorCallItemProvider extends ItemProviderAdapter implements IEd
if (childrenFeatures == null)
{
super.getChildrenFeatures(object);
- childrenFeatures.add(SetupPackage.Literals.DIRECTOR_CALL__INSTALLABLE_UNITS);
- childrenFeatures.add(SetupPackage.Literals.DIRECTOR_CALL__P2_REPOSITORIES);
+ childrenFeatures.add(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS);
}
return childrenFeatures;
}
@@ -119,56 +103,15 @@ public class DirectorCallItemProvider extends ItemProviderAdapter implements IEd
}
/**
- * This returns DirectorCall.gif.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object getImage(Object object)
- {
- return overlayImage(object, getResourceLocator().getImage("full/obj16/DirectorCall"));
- }
-
- /**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @generated NOT
+ * @generated
*/
@Override
public String getText(Object object)
{
- DirectorCall directorCall = (DirectorCall)object;
- EList<InstallableUnit> installableUnits = directorCall.getInstallableUnits();
- if (!installableUnits.isEmpty())
- {
- StringBuilder builder = new StringBuilder();
- for (InstallableUnit installableUnit : installableUnits)
- {
- if (builder.length() > 0)
- {
- builder.append(", ");
- }
-
- String id = installableUnit.getId();
- if (id.startsWith(PREFIX))
- {
- id = id.substring(PREFIX.length());
- }
-
- if (id.endsWith(SUFFIX))
- {
- id = id.substring(0, id.length() - SUFFIX.length());
- }
-
- builder.append(id);
- }
-
- return getString("_UI_DirectorCall_type") + " (" + builder + ")";
- }
-
- return getString("_UI_DirectorCall_type");
+ return getString("_UI_SetupTaskContainer_type");
}
/**
@@ -183,10 +126,9 @@ public class DirectorCallItemProvider extends ItemProviderAdapter implements IEd
{
updateChildren(notification);
- switch (notification.getFeatureID(DirectorCall.class))
+ switch (notification.getFeatureID(SetupTaskContainer.class))
{
- case SetupPackage.DIRECTOR_CALL__INSTALLABLE_UNITS:
- case SetupPackage.DIRECTOR_CALL__P2_REPOSITORIES:
+ case SetupPackage.SETUP_TASK_CONTAINER__SETUP_TASKS:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
}
@@ -205,11 +147,35 @@ public class DirectorCallItemProvider extends ItemProviderAdapter implements IEd
{
super.collectNewChildDescriptors(newChildDescriptors, object);
- newChildDescriptors.add(createChildParameter(SetupPackage.Literals.DIRECTOR_CALL__INSTALLABLE_UNITS,
- SetupFactory.eINSTANCE.createInstallableUnit()));
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createCompoundSetupTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createEclipseIniTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createLinkLocationTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createP2Task()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createBuckminsterImportTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createApiBaselineTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createGitCloneTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createEclipsePreferenceTask()));
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createStringVariableTask()));
- newChildDescriptors.add(createChildParameter(SetupPackage.Literals.DIRECTOR_CALL__P2_REPOSITORIES,
- SetupFactory.eINSTANCE.createP2Repository()));
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.SETUP_TASK_CONTAINER__SETUP_TASKS,
+ SetupFactory.eINSTANCE.createWorkingSetTask()));
}
/**
@@ -221,7 +187,7 @@ public class DirectorCallItemProvider extends ItemProviderAdapter implements IEd
@Override
public ResourceLocator getResourceLocator()
{
- return SetupEditPlugin.INSTANCE;
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
}
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupTaskItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupTaskItemProvider.java
new file mode 100644
index 0000000000..9fdd347108
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/SetupTaskItemProvider.java
@@ -0,0 +1,239 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup.provider;
+
+import org.eclipse.emf.cdo.releng.setup.Configuration;
+import org.eclipse.emf.cdo.releng.setup.SetupPackage;
+import org.eclipse.emf.cdo.releng.setup.SetupTask;
+import org.eclipse.emf.cdo.releng.setup.SetupTaskScope;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.SetupTask} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SetupTaskItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SetupTaskItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addRequirementsPropertyDescriptor(object);
+ addRestrictionsPropertyDescriptor(object);
+ addScopePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Requirements feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ protected void addRequirementsPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(new ItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(), getString("_UI_SetupTask_requirements_feature"), getString(
+ "_UI_PropertyDescriptor_description", "_UI_SetupTask_requirements_feature", "_UI_SetupTask_type"),
+ SetupPackage.Literals.SETUP_TASK__REQUIREMENTS, true, false, true, null, null, null)
+ {
+ private IItemLabelProvider labelProvider = new HierarchicalItemLabelProvider(itemDelegator);
+
+ @Override
+ public IItemLabelProvider getLabelProvider(Object object)
+ {
+ return labelProvider;
+ }
+ });
+ }
+
+ /**
+ * This adds a property descriptor for the Restrictions feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ protected void addRestrictionsPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(new ItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(), getString("_UI_SetupTask_restrictions_feature"), getString(
+ "_UI_PropertyDescriptor_description", "_UI_SetupTask_restrictions_feature", "_UI_SetupTask_type"),
+ SetupPackage.Literals.SETUP_TASK__RESTRICTIONS, true, false, true, null, null, null)
+ {
+ private IItemLabelProvider labelProvider = new HierarchicalItemLabelProvider(itemDelegator);
+
+ @Override
+ public IItemLabelProvider getLabelProvider(Object object)
+ {
+ return labelProvider;
+ }
+ });
+ }
+
+ /**
+ * This adds a property descriptor for the Scope feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addScopePropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_SetupTask_scope_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_SetupTask_scope_feature", "_UI_SetupTask_type"),
+ SetupPackage.Literals.SETUP_TASK__SCOPE, false, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null,
+ null));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object)
+ {
+ return hasChildren(object, true);
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ SetupTaskScope labelValue = ((SetupTask)object).getScope();
+ String label = labelValue == null ? null : labelValue.toString();
+ return label == null || label.length() == 0 ? getString("_UI_SetupTask_type") : getString("_UI_SetupTask_type")
+ + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(SetupTask.class))
+ {
+ case SetupPackage.SETUP_TASK__SCOPE:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ private static class HierarchicalItemLabelProvider implements IItemLabelProvider
+ {
+ private AdapterFactoryItemDelegator itemDelegator;
+
+ public HierarchicalItemLabelProvider(AdapterFactoryItemDelegator itemDelegator)
+ {
+ this.itemDelegator = itemDelegator;
+ }
+
+ public String getText(Object object)
+ {
+ StringBuilder builder = new StringBuilder();
+ while (object != null && !(object instanceof Configuration))
+ {
+ if (builder.length() != 0)
+ {
+ builder.insert(0, " - ");
+ }
+
+ String text = itemDelegator.getText(object);
+ builder.insert(0, text);
+
+ object = itemDelegator.getParent(object);
+ }
+
+ return builder.toString();
+ }
+
+ public Object getImage(Object object)
+ {
+ return itemDelegator.getImage(object);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/StringVariableTaskItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/StringVariableTaskItemProvider.java
new file mode 100644
index 0000000000..6607cd115c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/StringVariableTaskItemProvider.java
@@ -0,0 +1,188 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup.provider;
+
+import org.eclipse.emf.cdo.releng.setup.SetupPackage;
+import org.eclipse.emf.cdo.releng.setup.StringVariableTask;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.core.runtime.Path;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.StringVariableTask} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StringVariableTaskItemProvider extends SetupTaskItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringVariableTaskItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ addValuePropertyDescriptor(object);
+ addDescriptionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StringVariableTask_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_StringVariableTask_name_feature",
+ "_UI_StringVariableTask_type"), SetupPackage.Literals.STRING_VARIABLE_TASK__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StringVariableTask_value_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_StringVariableTask_value_feature",
+ "_UI_StringVariableTask_type"), SetupPackage.Literals.STRING_VARIABLE_TASK__VALUE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Description feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDescriptionPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_StringVariableTask_description_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_StringVariableTask_description_feature",
+ "_UI_StringVariableTask_type"), SetupPackage.Literals.STRING_VARIABLE_TASK__DESCRIPTION, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns StringVariableTask.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/StringVariableTask"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public String getText(Object object)
+ {
+ String name = ((StringVariableTask)object).getName();
+ String value = ((StringVariableTask)object).getValue();
+
+ if (name != null && name.length() != 0)
+ {
+ name = new Path(name).lastSegment();
+ }
+ else if (value == null || value.length() == 0)
+ {
+ return getString("_UI_StringVariableTask_type");
+ }
+
+ return "" + name + " = " + value;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(StringVariableTask.class))
+ {
+ case SetupPackage.STRING_VARIABLE_TASK__NAME:
+ case SetupPackage.STRING_VARIABLE_TASK__VALUE:
+ case SetupPackage.STRING_VARIABLE_TASK__DESCRIPTION:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/WorkingSetTaskItemProvider.java b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/WorkingSetTaskItemProvider.java
new file mode 100644
index 0000000000..8ee21dcebe
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.edit/src/org/eclipse/emf/cdo/releng/setup/provider/WorkingSetTaskItemProvider.java
@@ -0,0 +1,156 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup.provider;
+
+import org.eclipse.emf.cdo.releng.setup.SetupPackage;
+import org.eclipse.emf.cdo.releng.setup.WorkingSetTask;
+import org.eclipse.emf.cdo.releng.workingsets.WorkingSetsFactory;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.releng.setup.WorkingSetTask} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class WorkingSetTaskItemProvider extends OneTimeSetupTaskItemProvider implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WorkingSetTaskItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
+ {
+ if (childrenFeatures == null)
+ {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(SetupPackage.Literals.WORKING_SET_TASK__WORKING_SET_GROUP);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child)
+ {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns WorkingSetTask.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkingSetTask"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ String label = ((WorkingSetTask)object).getId();
+ return label == null || label.length() == 0 ? getString("_UI_WorkingSetTask_type")
+ : getString("_UI_WorkingSetTask_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(WorkingSetTask.class))
+ {
+ case SetupPackage.WORKING_SET_TASK__WORKING_SET_GROUP:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(SetupPackage.Literals.WORKING_SET_TASK__WORKING_SET_GROUP,
+ WorkingSetsFactory.eINSTANCE.createWorkingSetGroup()));
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.editor/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.releng.setup.editor/META-INF/MANIFEST.MF
index ab3800c7f5..6e411d7315 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.editor/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.editor/META-INF/MANIFEST.MF
@@ -12,6 +12,7 @@ Export-Package: org.eclipse.emf.cdo.releng.setup.presentation;x-friends:=org.ecl
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.core.resources;visibility:=reexport;bundle-version="[3.5.0,4.0.0)",
org.eclipse.emf.cdo.releng.setup.edit;visibility:=reexport;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.cdo.releng.workingsets.edit;visibility:=reexport;bundle-version="[1.0.0,2.0.0)",
org.eclipse.emf.ecore.xmi;visibility:=reexport;bundle-version="[2.5.0,3.0.0)",
org.eclipse.emf.edit.ui;visibility:=reexport;bundle-version="[2.5.0,3.0.0)",
org.eclipse.ui.ide;visibility:=reexport;bundle-version="[3.5.0,4.0.0)"
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditor.java b/plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditor.java
index e370a9b3d3..63e29022f6 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditor.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditor.java
@@ -12,6 +12,7 @@ package org.eclipse.emf.cdo.releng.setup.presentation;
import org.eclipse.emf.cdo.releng.setup.Preferences;
import org.eclipse.emf.cdo.releng.setup.provider.SetupItemProviderAdapterFactory;
+import org.eclipse.emf.cdo.releng.workingsets.provider.WorkingSetsItemProviderAdapterFactory;
import org.eclipse.emf.common.command.BasicCommandStack;
import org.eclipse.emf.common.command.Command;
@@ -84,6 +85,8 @@ import org.eclipse.swt.dnd.DND;
import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.events.ControlAdapter;
import org.eclipse.swt.events.ControlEvent;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
@@ -689,6 +692,7 @@ public class SetupEditor extends MultiPageEditorPart implements IEditingDomainPr
adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
adapterFactory.addAdapterFactory(new SetupItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new WorkingSetsItemProviderAdapterFactory());
adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
// Create the command stack that will notify this editor as commands are executed.
@@ -1068,6 +1072,31 @@ public class SetupEditor extends MultiPageEditorPart implements IEditingDomainPr
updateProblemIndication();
}
});
+
+ getViewer().getControl().addMouseListener(new MouseListener()
+ {
+ public void mouseDoubleClick(MouseEvent e)
+ {
+ try
+ {
+ getSite().getPage().showView("org.eclipse.ui.views.PropertySheet"); //$NON-NLS-1$
+ }
+ catch (PartInitException ex)
+ {
+ SetupEditorPlugin.INSTANCE.log(ex);
+ }
+ }
+
+ public void mouseDown(MouseEvent e)
+ {
+ // do nothing
+ }
+
+ public void mouseUp(MouseEvent e)
+ {
+ // do nothing
+ }
+ });
}
/**
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditorPlugin.java b/plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditorPlugin.java
index 96cbf6d2bc..fd674009a1 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditorPlugin.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.editor/src/org/eclipse/emf/cdo/releng/setup/presentation/SetupEditorPlugin.java
@@ -10,6 +10,8 @@
*/
package org.eclipse.emf.cdo.releng.setup.presentation;
+import org.eclipse.emf.cdo.releng.workingsets.provider.WorkingSetsEditPlugin;
+
import org.eclipse.emf.common.EMFPlugin;
import org.eclipse.emf.common.ui.EclipseUIPlugin;
import org.eclipse.emf.common.util.ResourceLocator;
@@ -50,7 +52,7 @@ public final class SetupEditorPlugin extends EMFPlugin
*/
public SetupEditorPlugin()
{
- super(new ResourceLocator[] {});
+ super(new ResourceLocator[] { WorkingSetsEditPlugin.INSTANCE, });
}
/**
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Activator.java b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Activator.java
index 224059588f..3a6d3558d6 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Activator.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Activator.java
@@ -10,18 +10,9 @@
*/
package org.eclipse.emf.cdo.releng.setup.ide;
-import org.eclipse.emf.cdo.releng.setup.GitClone;
import org.eclipse.emf.cdo.releng.setup.Setup;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-
-import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.resource.ImageDescriptor;
@@ -35,7 +26,7 @@ import java.io.File;
/**
* @author Eike Stepper
*/
-public class Activator extends AbstractUIPlugin implements SetupContext
+public class Activator extends AbstractUIPlugin // implements SetupContext
{
public static final String PLUGIN_ID = "org.eclipse.emf.cdo.releng.setup.ide";
@@ -76,15 +67,15 @@ public class Activator extends AbstractUIPlugin implements SetupContext
return new File(branchDir, "eclipse");
}
- public File getGitDir()
- {
- return new File(branchDir, "git");
- }
-
- public File getWorkDir(GitClone clone)
- {
- return new File(getGitDir(), clone.getName());
- }
+ // public File getGitDir()
+ // {
+ // return new File(branchDir, "git");
+ // }
+ //
+ // public File getWorkDir(GitClone clone)
+ // {
+ // return new File(getGitDir(), clone.getName());
+ // }
public File getWorkspaceDir()
{
@@ -108,27 +99,27 @@ public class Activator extends AbstractUIPlugin implements SetupContext
bundleContext = context;
plugin = this;
- try
- {
- if ("true".equals(System.getProperty("org.eclipse.emf.cdo.releng.setup.ide", "false")))
- {
- ResourceSet resourceSet = new ResourceSetImpl();
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", new XMIResourceFactoryImpl());
-
- IPath branchDirPath = ResourcesPlugin.getWorkspace().getRoot().getLocation().removeLastSegments(1);
- branchDir = new File(branchDirPath.toOSString());
-
- URI uri = URI.createFileURI(branchDirPath.append("setup.xmi").toOSString());
- Resource resource = resourceSet.getResource(uri, true);
-
- setup = (Setup)resource.getContents().get(0);
- SetupIDE.run();
- }
- }
- catch (Exception ex)
- {
- log(ex);
- }
+ // try
+ // {
+ // if ("true".equalsIgnoreCase(System.getProperty("org.eclipse.emf.cdo.releng.setup.ide", "false")))
+ // {
+ // ResourceSet resourceSet = new ResourceSetImpl();
+ // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("xmi", new XMIResourceFactoryImpl());
+ //
+ // IPath branchDirPath = ResourcesPlugin.getWorkspace().getRoot().getLocation().removeLastSegments(1);
+ // branchDir = new File(branchDirPath.toOSString());
+ //
+ // URI uri = URI.createFileURI(branchDirPath.append("setup.xmi").toOSString());
+ // Resource resource = resourceSet.getResource(uri, true);
+ //
+ // setup = (Setup)resource.getContents().get(0);
+ // SetupIDE.run();
+ // }
+ // }
+ // catch (Exception ex)
+ // {
+ // log(ex);
+ // }
}
@Override
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Buckminster.java b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Buckminster.java
index c1ec16af4c..0100176102 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Buckminster.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Buckminster.java
@@ -10,345 +10,313 @@
*/
package org.eclipse.emf.cdo.releng.setup.ide;
-import org.eclipse.emf.cdo.releng.setup.ApiBaseline;
-import org.eclipse.emf.cdo.releng.setup.Branch;
-import org.eclipse.emf.cdo.releng.setup.GitClone;
-import org.eclipse.emf.cdo.releng.setup.Project;
-import org.eclipse.emf.cdo.releng.setup.Setup;
-import org.eclipse.emf.cdo.releng.setup.helper.Downloads;
-import org.eclipse.emf.cdo.releng.setup.helper.Files;
-import org.eclipse.emf.cdo.releng.setup.helper.OS;
-import org.eclipse.emf.cdo.releng.setup.helper.Progress;
-import org.eclipse.emf.cdo.releng.setup.helper.ProgressLogProvider;
-
-import org.eclipse.net4j.util.io.FileLock;
-import org.eclipse.net4j.util.io.ZIPUtil;
-import org.eclipse.net4j.util.io.ZIPUtil.FileSystemUnzipHandler;
-
-import org.eclipse.buckminster.cmdline.Headless;
-import org.eclipse.buckminster.core.commands.Import;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.ProgressProvider;
-import org.eclipse.equinox.p2.publisher.AbstractPublisherApplication;
-import org.eclipse.equinox.p2.publisher.eclipse.FeaturesAndBundlesPublisherApplication;
-import org.eclipse.ui.internal.progress.ProgressManager;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
/**
* @author Eike Stepper
*/
+@Deprecated
public final class Buckminster
{
- private static final SetupContext CONTEXT = Activator.getDefault();
-
- // TODO Don't use Headless because if cancels important jobs! Use e.g. ImportAction code instead...
- public static void run(String... args) throws Exception
- {
- Activator.log("Buckminster command: " + Arrays.asList(args));
-
- try
- {
- Headless buckminster = new Headless();
- buckminster.run(args);
- }
- finally
- {
- Job.getJobManager().setProgressProvider(ProgressManager.getInstance());
- }
- }
-
- public static void importBaseline() throws Exception
- {
- Branch branch = CONTEXT.getSetup().getBranch();
- ApiBaseline apiBaseline = branch.getApiBaseline();
- if (apiBaseline == null)
- {
- return;
- }
-
- boolean autoBuilding = disableAutoBuilding();
-
- try
- {
- String version = apiBaseline.getVersion();
- Progress.log().addLine("Setting baseline " + version);
-
- final File baselineDir = CONTEXT.getBaselineDir();
- File target = new File(baselineDir, version);
- if (!target.exists())
- {
- String url = apiBaseline.getZipLocation();
- File file = Downloads.downloadURL(url);
- baselineDir.mkdirs();
-
- final File[] rootDir = { null };
- ZIPUtil.unzip(file, new FileSystemUnzipHandler(baselineDir, ZIPUtil.DEFALULT_BUFFER_SIZE)
- {
- @Override
- public void unzipFile(String name, InputStream zipStream)
- {
- if (rootDir[0] == null)
- {
- rootDir[0] = new File(baselineDir, new Path(name).segment(0));
- }
-
- Progress.log().addLine("Unzipping " + name);
- super.unzipFile(name, zipStream);
- }
- });
-
- rootDir[0].renameTo(target);
- }
-
- String name = apiBaseline.getProject().getName() + " Baseline";
- importTarget(target, name, false);
-
- Progress.log().addLine("Setting baseline: " + name);
- run("addbaseline", "-A", name);
- }
- finally
- {
- restoreAutoBuilding(autoBuilding);
- }
- }
-
- private static String getTargetName()
- {
- Setup setup = CONTEXT.getSetup();
- Branch branch = setup.getBranch();
- Project project = branch.getProject();
- return project.getName() + " Target";
- }
-
- private static String createTargetDefinition(File folder, String name) throws IOException
- {
- File xml = getTargetXML(folder);
- String xmlPath = xml.getAbsolutePath();
- Progress.log().addLine("Creating target definition: " + xmlPath);
-
- List<String> lines = new ArrayList<String>();
- lines.add("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>");
- lines.add("<?pde version=\"3.8\"?>");
- lines.add("<target name=\"" + name + "\" sequenceNumber=\"0\">");
- lines.add(" <locations>");
- lines.add(" <location path=\"" + folder.getCanonicalPath().replace('\\', '/') + "\" type=\"Directory\"/>");
- lines.add(" </locations>");
- lines.add("</target>");
-
- folder.mkdirs();
- OS.INSTANCE.writeText(xml, lines);
- return xmlPath;
- }
-
- private static void importTarget(File folder, String name, boolean activate) throws Exception
- {
- String xmlPath = createTargetDefinition(folder, name);
- Progress.log().addLine("Loading target definition: " + xmlPath);
-
- if (activate)
- {
- run("importtarget", "--active", xmlPath);
- }
- else
- {
- run("importtarget", xmlPath);
- }
- }
-
- public static void importTarget() throws Exception
- {
- File targetPlatformDir = CONTEXT.getTargetPlatformDir();
- String name = getTargetName();
-
- boolean autoBuilding = disableAutoBuilding();
-
- try
- {
- importTarget(targetPlatformDir, name, true);
- }
- finally
- {
- restoreAutoBuilding(autoBuilding);
- }
- }
-
- public static void importMSpec() throws Exception
- {
- initVars();
-
- File tpOld = null;
- File tp = CONTEXT.getTargetPlatformDir();
- if (tp.exists())
- {
- tpOld = new File(tp.getParentFile(), tp.getName() + "." + System.currentTimeMillis());
- Files.rename(tp, tpOld);
- }
-
- FileLock tpPoolLock = null;
- boolean autoBuilding = disableAutoBuilding();
-
- try
- {
- File tpPool = updateTargetPlatformPool();
- tpPoolLock = FileLock.forWrite(tpPool);
-
- File gitDir = CONTEXT.getGitDir();
- Setup setup = CONTEXT.getSetup();
-
- Progress.log().addLine("Creating new target platform folder");
- createTargetDefinition(tp, getTargetName());
-
- String bomPath = new File(CONTEXT.getBranchDir(), "bom.xml").getAbsolutePath();
- String mspecPath = new File(gitDir, setup.getBranch().getMspecFilePath()).getAbsolutePath();
- Progress.log().addLine("Importing MSpec " + mspecPath);
-
- run("--displaystacktrace", "import2", "-B", bomPath, mspecPath);
-
- if (tpPoolLock != null)
- {
- updateBundlePool(tp.getAbsolutePath(), tpPool.getAbsolutePath());
- }
-
- if (Progress.log().isCancelled())
- {
- throw new InterruptedException();
- }
- }
- catch (Exception ex)
- {
- File tpBroken = new File(tp.getParentFile(), tp.getName() + "." + System.currentTimeMillis());
- Files.rename(tp, tpBroken);
- if (tpOld != null)
- {
- Files.rename(tpOld, tp);
- }
-
- Files.deleteAsync(tpBroken);
- throw ex;
- }
- finally
- {
- try
- {
- if (tpPoolLock != null)
- {
- tpPoolLock.release();
- }
- }
- finally
- {
- restoreAutoBuilding(autoBuilding);
- }
- }
-
- if (tpOld != null)
- {
- Files.deleteAsync(tpOld);
- }
- }
-
- private static File updateTargetPlatformPool() throws Exception
- {
- File installFolder = new File(CONTEXT.getSetup().getPreferences().getInstallFolder());
-
- File idePool = new File(installFolder, ".p2pool-ide");
- idePool.mkdirs();
-
- File tpPool = new File(installFolder, ".p2pool-tp");
- tpPool.mkdirs();
-
- FileLock idePoolLock = FileLock.forWrite(idePool);
-
- try
- {
- updateBundlePool(idePool.getAbsolutePath(), tpPool.getAbsolutePath());
- }
- finally
- {
- idePoolLock.release();
- }
-
- return tpPool;
- }
-
- private static File getTargetXML(File folder)
- {
- return new File(folder, "target.xml");
- }
-
- private static void initVars() throws Exception
- {
- Setup setup = CONTEXT.getSetup();
- Branch branch = setup.getBranch();
-
- for (GitClone gitClone : branch.getGitClones())
- {
- File workDir = CONTEXT.getWorkDir(gitClone);
- String cloneName = workDir.getName();
- String variableName = branch.getCloneVariableName();
- if (variableName == null)
- {
- variableName = "git.clone." + cloneName;
- }
-
- String description = "Location of " + cloneName + " git clone";
- Variables.set(variableName, description, workDir.getAbsolutePath().replace('\\', '/'));
- }
- }
-
- private static void updateBundlePool(String source, String bundlePool) throws Exception
- {
- Progress.log().addLine("Updating bundle pool: " + bundlePool);
-
- String bundlePoolURL = "file:/" + bundlePool.replace('\\', '/');
- String[] args = { "-source", source, "-metadataRepository", bundlePoolURL, "-artifactRepository", bundlePoolURL,
- "-append", "-publishArtifacts" };
-
- AbstractPublisherApplication publisher = new FeaturesAndBundlesPublisherApplication();
- publisher.run(args);
- }
-
- public static boolean disableAutoBuilding() throws CoreException
- {
- boolean autoBuilding = ResourcesPlugin.getWorkspace().isAutoBuilding();
- if (autoBuilding)
- {
- restoreAutoBuilding(false);
- }
-
- return autoBuilding;
- }
-
- public static void restoreAutoBuilding(boolean autoBuilding) throws CoreException
- {
- if (autoBuilding != ResourcesPlugin.getWorkspace().isAutoBuilding())
- {
- IWorkspaceDescription description = ResourcesPlugin.getWorkspace().getDescription();
- description.setAutoBuilding(autoBuilding);
-
- ResourcesPlugin.getWorkspace().setDescription(description);
- }
- }
-
- /**
- * @author Eike Stepper
- */
- public static class ImportCommand extends Import
- {
- @Override
- public ProgressProvider getProgressProvider()
- {
- return new ProgressLogProvider(Progress.log(), ProgressManager.getInstance());
- }
- }
+ // private static final SetupContext CONTEXT = Activator.getDefault();
+ //
+ // // TODO Don't use Headless because if cancels important jobs! Use e.g. ImportAction code instead...
+ // public static void run(String... args) throws Exception
+ // {
+ // Activator.log("Buckminster command: " + Arrays.asList(args));
+ //
+ // try
+ // {
+ // Headless buckminster = new Headless();
+ // buckminster.run(args);
+ // }
+ // finally
+ // {
+ // Job.getJobManager().setProgressProvider(ProgressManager.getInstance());
+ // }
+ // }
+ //
+ // public static void importBaseline() throws Exception
+ // {
+ // Branch branch = CONTEXT.getSetup().getBranch();
+ // ApiBaseline apiBaseline = branch.getApiBaseline();
+ // if (apiBaseline == null)
+ // {
+ // return;
+ // }
+ //
+ // boolean autoBuilding = disableAutoBuilding();
+ //
+ // try
+ // {
+ // String version = apiBaseline.getVersion();
+ // Progress.log().addLine("Setting baseline " + version);
+ //
+ // final File baselineDir = CONTEXT.getBaselineDir();
+ // File target = new File(baselineDir, version);
+ // if (!target.exists())
+ // {
+ // String url = apiBaseline.getZipLocation();
+ // File file = DownloadUtil.downloadURL(url);
+ // baselineDir.mkdirs();
+ //
+ // final File[] rootDir = { null };
+ // ZIPUtil.unzip(file, new FileSystemUnzipHandler(baselineDir, ZIPUtil.DEFAULT_BUFFER_SIZE)
+ // {
+ // @Override
+ // public void unzipFile(String name, InputStream zipStream)
+ // {
+ // if (rootDir[0] == null)
+ // {
+ // rootDir[0] = new File(baselineDir, new Path(name).segment(0));
+ // }
+ //
+ // Progress.log().addLine("Unzipping " + name);
+ // super.unzipFile(name, zipStream);
+ // }
+ // });
+ //
+ // rootDir[0].renameTo(target);
+ // }
+ //
+ // String name = apiBaseline.getProject().getName() + " Baseline";
+ // importTarget(target, name, false);
+ //
+ // Progress.log().addLine("Setting baseline: " + name);
+ // run("addbaseline", "-A", name);
+ // }
+ // finally
+ // {
+ // restoreAutoBuilding(autoBuilding);
+ // }
+ // }
+ //
+ // private static String getTargetName()
+ // {
+ // Setup setup = CONTEXT.getSetup();
+ // Branch branch = setup.getBranch();
+ // Project project = branch.getProject();
+ // return project.getName() + " Target";
+ // }
+ //
+ // private static String createTargetDefinition(File folder, String name) throws IOException
+ // {
+ // File xml = getTargetXML(folder);
+ // String xmlPath = xml.getAbsolutePath();
+ // Progress.log().addLine("Creating target definition: " + xmlPath);
+ //
+ // List<String> lines = new ArrayList<String>();
+ // lines.add("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>");
+ // lines.add("<?pde version=\"3.8\"?>");
+ // lines.add("<target name=\"" + name + "\" sequenceNumber=\"0\">");
+ // lines.add(" <locations>");
+ // lines.add(" <location path=\"" + folder.getCanonicalPath().replace('\\', '/') + "\" type=\"Directory\"/>");
+ // lines.add(" </locations>");
+ // lines.add("</target>");
+ //
+ // folder.mkdirs();
+ // OS.INSTANCE.writeText(xml, lines);
+ // return xmlPath;
+ // }
+ //
+ // private static void importTarget(File folder, String name, boolean activate) throws Exception
+ // {
+ // String xmlPath = createTargetDefinition(folder, name);
+ // Progress.log().addLine("Loading target definition: " + xmlPath);
+ //
+ // if (activate)
+ // {
+ // run("importtarget", "--active", xmlPath);
+ // }
+ // else
+ // {
+ // run("importtarget", xmlPath);
+ // }
+ // }
+ //
+ // public static void importTarget() throws Exception
+ // {
+ // File targetPlatformDir = CONTEXT.getTargetPlatformDir();
+ // String name = getTargetName();
+ //
+ // boolean autoBuilding = disableAutoBuilding();
+ //
+ // try
+ // {
+ // importTarget(targetPlatformDir, name, true);
+ // }
+ // finally
+ // {
+ // restoreAutoBuilding(autoBuilding);
+ // }
+ // }
+ //
+ // public static void importMSpec() throws Exception
+ // {
+ // initVars();
+ //
+ // File tpOld = null;
+ // File tp = CONTEXT.getTargetPlatformDir();
+ // if (tp.exists())
+ // {
+ // tpOld = new File(tp.getParentFile(), tp.getName() + "." + System.currentTimeMillis());
+ // Files.rename(tp, tpOld);
+ // }
+ //
+ // FileLock tpPoolLock = null;
+ // boolean autoBuilding = disableAutoBuilding();
+ //
+ // try
+ // {
+ // File tpPool = updateTargetPlatformPool();
+ // tpPoolLock = FileLock.forWrite(tpPool);
+ //
+ // File gitDir = CONTEXT.getGitDir();
+ // Setup setup = CONTEXT.getSetup();
+ //
+ // Progress.log().addLine("Creating new target platform folder");
+ // createTargetDefinition(tp, getTargetName());
+ //
+ // String bomPath = new File(CONTEXT.getBranchDir(), "bom.xml").getAbsolutePath();
+ // String mspecPath = new File(gitDir, setup.getBranch().getMspecFilePath()).getAbsolutePath();
+ // Progress.log().addLine("Importing MSpec " + mspecPath);
+ //
+ // run("--displaystacktrace", "import2", "-B", bomPath, mspecPath);
+ //
+ // if (tpPoolLock != null)
+ // {
+ // updateBundlePool(tp.getAbsolutePath(), tpPool.getAbsolutePath());
+ // }
+ //
+ // if (Progress.log().isCancelled())
+ // {
+ // throw new InterruptedException();
+ // }
+ // }
+ // catch (Exception ex)
+ // {
+ // File tpBroken = new File(tp.getParentFile(), tp.getName() + "." + System.currentTimeMillis());
+ // Files.rename(tp, tpBroken);
+ // if (tpOld != null)
+ // {
+ // Files.rename(tpOld, tp);
+ // }
+ //
+ // Files.deleteAsync(tpBroken);
+ // throw ex;
+ // }
+ // finally
+ // {
+ // try
+ // {
+ // if (tpPoolLock != null)
+ // {
+ // tpPoolLock.release();
+ // }
+ // }
+ // finally
+ // {
+ // restoreAutoBuilding(autoBuilding);
+ // }
+ // }
+ //
+ // if (tpOld != null)
+ // {
+ // Files.deleteAsync(tpOld);
+ // }
+ // }
+ //
+ // private static File updateTargetPlatformPool() throws Exception
+ // {
+ // File installFolder = new File(CONTEXT.getSetup().getPreferences().getInstallFolder());
+ //
+ // File idePool = new File(installFolder, ".p2pool-ide");
+ // idePool.mkdirs();
+ //
+ // File tpPool = new File(installFolder, ".p2pool-tp");
+ // tpPool.mkdirs();
+ //
+ // FileLock idePoolLock = FileLock.forWrite(idePool);
+ //
+ // try
+ // {
+ // updateBundlePool(idePool.getAbsolutePath(), tpPool.getAbsolutePath());
+ // }
+ // finally
+ // {
+ // idePoolLock.release();
+ // }
+ //
+ // return tpPool;
+ // }
+ //
+ // private static File getTargetXML(File folder)
+ // {
+ // return new File(folder, "target.xml");
+ // }
+ //
+ // private static void initVars() throws Exception
+ // {
+ // Setup setup = CONTEXT.getSetup();
+ // Branch branch = setup.getBranch();
+ //
+ // for (GitClone gitClone : branch.getGitClones())
+ // {
+ // File workDir = CONTEXT.getWorkDir(gitClone);
+ // String cloneName = workDir.getName();
+ // String variableName = branch.getCloneVariableName();
+ // if (variableName == null)
+ // {
+ // variableName = "git.clone." + cloneName;
+ // }
+ //
+ // String description = "Location of " + cloneName + " git clone";
+ // Variables.set(variableName, description, workDir.getAbsolutePath().replace('\\', '/'));
+ // }
+ // }
+ //
+ // private static void updateBundlePool(String source, String bundlePool) throws Exception
+ // {
+ // Progress.log().addLine("Updating bundle pool: " + bundlePool);
+ //
+ // String bundlePoolURL = "file:/" + bundlePool.replace('\\', '/');
+ // String[] args = { "-source", source, "-metadataRepository", bundlePoolURL, "-artifactRepository", bundlePoolURL,
+ // "-append", "-publishArtifacts" };
+ //
+ // AbstractPublisherApplication publisher = new FeaturesAndBundlesPublisherApplication();
+ // publisher.run(args);
+ // }
+ //
+ // public static boolean disableAutoBuilding() throws CoreException
+ // {
+ // boolean autoBuilding = ResourcesPlugin.getWorkspace().isAutoBuilding();
+ // if (autoBuilding)
+ // {
+ // restoreAutoBuilding(false);
+ // }
+ //
+ // return autoBuilding;
+ // }
+ //
+ // public static void restoreAutoBuilding(boolean autoBuilding) throws CoreException
+ // {
+ // if (autoBuilding != ResourcesPlugin.getWorkspace().isAutoBuilding())
+ // {
+ // IWorkspaceDescription description = ResourcesPlugin.getWorkspace().getDescription();
+ // description.setAutoBuilding(autoBuilding);
+ //
+ // ResourcesPlugin.getWorkspace().setDescription(description);
+ // }
+ // }
+ //
+ // /**
+ // * @author Eike Stepper
+ // */
+ // public static class ImportCommand extends Import
+ // {
+ // @Override
+ // public ProgressProvider getProgressProvider()
+ // {
+ // return new ProgressLogProvider(Progress.log(), ProgressManager.getInstance());
+ // }
+ // }
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/GitClones.java b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/GitClones.java
index 8c0953ba84..1a68d4f7d3 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/GitClones.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/GitClones.java
@@ -10,226 +10,194 @@
*/
package org.eclipse.emf.cdo.releng.setup.ide;
-import org.eclipse.emf.cdo.releng.setup.Branch;
-import org.eclipse.emf.cdo.releng.setup.GitClone;
-import org.eclipse.emf.cdo.releng.setup.Setup;
-import org.eclipse.emf.cdo.releng.setup.helper.Files;
-import org.eclipse.emf.cdo.releng.setup.helper.OS;
-import org.eclipse.emf.cdo.releng.setup.helper.Progress;
-
-import org.eclipse.emf.common.util.URI;
-
-import org.eclipse.jgit.api.CheckoutCommand;
-import org.eclipse.jgit.api.CloneCommand;
-import org.eclipse.jgit.api.CreateBranchCommand;
-import org.eclipse.jgit.api.CreateBranchCommand.SetupUpstreamMode;
-import org.eclipse.jgit.api.Git;
-import org.eclipse.jgit.api.ResetCommand;
-import org.eclipse.jgit.api.ResetCommand.ResetType;
-import org.eclipse.jgit.api.StatusCommand;
-import org.eclipse.jgit.api.errors.GitAPIException;
-import org.eclipse.jgit.errors.NoWorkTreeException;
-import org.eclipse.jgit.lib.ConfigConstants;
-import org.eclipse.jgit.lib.CoreConfig.AutoCRLF;
-import org.eclipse.jgit.lib.ProgressMonitor;
-import org.eclipse.jgit.lib.Ref;
-import org.eclipse.jgit.lib.Repository;
-import org.eclipse.jgit.lib.StoredConfig;
-import org.eclipse.jgit.transport.RefSpec;
-import org.eclipse.jgit.transport.RemoteConfig;
-
-import java.io.File;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
/**
* @author Eike Stepper
*/
+@Deprecated
public final class GitClones
{
- private static final SetupContext CONTEXT = Activator.getDefault();
-
- public static void init() throws Exception
- {
- Setup setup = CONTEXT.getSetup();
- Branch branch = setup.getBranch();
- String userName = setup.getPreferences().getUserName();
-
- for (GitClone gitClone : branch.getGitClones())
- {
- File workDir = CONTEXT.getWorkDir(gitClone);
-
- Repository repository = null;
- Git git = null;
-
- try
- {
- boolean needsClone = true;
- if (workDir.isDirectory())
- {
- Progress.log().addLine("Opening Git clone " + workDir);
- git = Git.open(workDir);
- if (hasWorkingDirectory(git))
- {
- needsClone = false;
- }
- else
- {
- Files.rename(workDir);
- }
- }
-
- String checkoutBranch = gitClone.getCheckoutBranch();
- if (needsClone)
- {
- URI baseURI = URI.createURI(gitClone.getRemoteURI());
- String remote = URI.createHierarchicalURI(baseURI.scheme(), userName + "@" + baseURI.authority(),
- baseURI.device(), baseURI.segments(), baseURI.query(), baseURI.fragment()).toString();
- Progress.log().addLine("Cloning Git repo " + remote + " to " + workDir);
-
- CloneCommand command = Git.cloneRepository();
- command.setNoCheckout(true);
- command.setURI(remote);
- command.setRemote("origin");
- command.setBranchesToClone(Collections.singleton(checkoutBranch));
- command.setDirectory(workDir);
- command.setTimeout(10);
- command.setProgressMonitor(new ProgressLogWrapper());
-
- git = command.call();
- }
-
- repository = git.getRepository();
- StoredConfig config = repository.getConfig();
-
- boolean changed = false;
- if (OS.INSTANCE.isLineEndingConversionNeeded())
- {
- changed = true;
- config.setEnum(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_AUTOCRLF, AutoCRLF.TRUE);
- }
-
- String gerritQueue = "refs/for/" + checkoutBranch;
-
- List<RemoteConfig> remoteConfigs = RemoteConfig.getAllRemoteConfigs(config);
- for (RemoteConfig remoteConfig : remoteConfigs)
- {
- if ("origin".equals(remoteConfig.getName()))
- {
- List<RefSpec> pushRefSpecs = remoteConfig.getPushRefSpecs();
- if (!hasGerritPushRefSpec(pushRefSpecs, gerritQueue))
- {
- RefSpec refSpec = new RefSpec("HEAD:" + gerritQueue);
- Progress.log().addLine("Adding push ref spec: " + refSpec);
-
- remoteConfig.addPushRefSpec(refSpec);
- remoteConfig.update(config);
- changed = true;
- }
-
- break;
- }
- }
-
- if (changed)
- {
- config.save();
- }
-
- Map<String, Ref> allRefs = repository.getAllRefs();
- if (!allRefs.containsKey("refs/heads/" + checkoutBranch))
- {
- {
- CreateBranchCommand command = git.branchCreate();
- command.setUpstreamMode(SetupUpstreamMode.SET_UPSTREAM);
- command.setName(checkoutBranch);
- command.setStartPoint("refs/remotes/origin/" + checkoutBranch);
-
- command.call();
- }
-
- {
- CheckoutCommand command = git.checkout();
- command.setName(checkoutBranch);
-
- command.call();
- }
-
- {
- ResetCommand command = git.reset();
- command.setMode(ResetType.HARD);
-
- command.call();
- }
- }
- }
- finally
- {
- if (repository != null)
- {
- repository.close();
- }
- }
- }
- }
-
- private static boolean hasWorkingDirectory(Git git) throws GitAPIException
- {
- try
- {
- StatusCommand statusCommand = git.status();
- statusCommand.call();
- return true;
- }
- catch (NoWorkTreeException ex)
- {
- return false;
- }
- catch (GitAPIException ex)
- {
- throw ex;
- }
- }
-
- private static boolean hasGerritPushRefSpec(List<RefSpec> pushRefSpecs, String gerritQueue)
- {
- for (RefSpec refSpec : pushRefSpecs)
- {
- if (refSpec.getDestination().equals(gerritQueue))
- {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * @author Eike Stepper
- */
- private static final class ProgressLogWrapper implements ProgressMonitor
- {
- public void update(int completed)
- {
- }
-
- public void start(int totalTasks)
- {
- }
-
- public boolean isCancelled()
- {
- return Progress.log().isCancelled();
- }
-
- public void endTask()
- {
- }
-
- public void beginTask(String title, int totalWork)
- {
- Progress.log().addLine(title);
- }
- }
+ // private static final SetupContext CONTEXT = Activator.getDefault();
+ //
+ // public static void init() throws Exception
+ // {
+ // Setup setup = CONTEXT.getSetup();
+ // Branch branch = setup.getBranch();
+ // String userName = setup.getPreferences().getUserName();
+ //
+ // for (GitClone gitClone : branch.getGitClones())
+ // {
+ // File workDir = CONTEXT.getWorkDir(gitClone);
+ //
+ // Repository repository = null;
+ // Git git = null;
+ //
+ // try
+ // {
+ // boolean needsClone = true;
+ // if (workDir.isDirectory())
+ // {
+ // Progress.log().addLine("Opening Git clone " + workDir);
+ // git = Git.open(workDir);
+ // if (hasWorkingDirectory(git))
+ // {
+ // needsClone = false;
+ // }
+ // else
+ // {
+ // Files.rename(workDir);
+ // }
+ // }
+ //
+ // String checkoutBranch = gitClone.getCheckoutBranch();
+ // if (needsClone)
+ // {
+ // URI baseURI = URI.createURI(gitClone.getRemoteURI());
+ // String remote = URI.createHierarchicalURI(baseURI.scheme(), userName + "@" + baseURI.authority(),
+ // baseURI.device(), baseURI.segments(), baseURI.query(), baseURI.fragment()).toString();
+ // Progress.log().addLine("Cloning Git repo " + remote + " to " + workDir);
+ //
+ // CloneCommand command = Git.cloneRepository();
+ // command.setNoCheckout(true);
+ // command.setURI(remote);
+ // command.setRemote("origin");
+ // command.setBranchesToClone(Collections.singleton(checkoutBranch));
+ // command.setDirectory(workDir);
+ // command.setTimeout(10);
+ // command.setProgressMonitor(new ProgressLogWrapper());
+ //
+ // git = command.call();
+ // }
+ //
+ // repository = git.getRepository();
+ // StoredConfig config = repository.getConfig();
+ //
+ // boolean changed = false;
+ // if (OS.INSTANCE.isLineEndingConversionNeeded())
+ // {
+ // changed = true;
+ // config.setEnum(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_AUTOCRLF, AutoCRLF.TRUE);
+ // }
+ //
+ // String gerritQueue = "refs/for/" + checkoutBranch;
+ //
+ // List<RemoteConfig> remoteConfigs = RemoteConfig.getAllRemoteConfigs(config);
+ // for (RemoteConfig remoteConfig : remoteConfigs)
+ // {
+ // if ("origin".equals(remoteConfig.getName()))
+ // {
+ // List<RefSpec> pushRefSpecs = remoteConfig.getPushRefSpecs();
+ // if (!hasGerritPushRefSpec(pushRefSpecs, gerritQueue))
+ // {
+ // RefSpec refSpec = new RefSpec("HEAD:" + gerritQueue);
+ // Progress.log().addLine("Adding push ref spec: " + refSpec);
+ //
+ // remoteConfig.addPushRefSpec(refSpec);
+ // remoteConfig.update(config);
+ // changed = true;
+ // }
+ //
+ // break;
+ // }
+ // }
+ //
+ // if (changed)
+ // {
+ // config.save();
+ // }
+ //
+ // Map<String, Ref> allRefs = repository.getAllRefs();
+ // if (!allRefs.containsKey("refs/heads/" + checkoutBranch))
+ // {
+ // {
+ // CreateBranchCommand command = git.branchCreate();
+ // command.setUpstreamMode(SetupUpstreamMode.SET_UPSTREAM);
+ // command.setName(checkoutBranch);
+ // command.setStartPoint("refs/remotes/origin/" + checkoutBranch);
+ //
+ // command.call();
+ // }
+ //
+ // {
+ // CheckoutCommand command = git.checkout();
+ // command.setName(checkoutBranch);
+ //
+ // command.call();
+ // }
+ //
+ // {
+ // ResetCommand command = git.reset();
+ // command.setMode(ResetType.HARD);
+ //
+ // command.call();
+ // }
+ // }
+ // }
+ // finally
+ // {
+ // if (repository != null)
+ // {
+ // repository.close();
+ // }
+ // }
+ // }
+ // }
+ //
+ // private static boolean hasWorkingDirectory(Git git) throws GitAPIException
+ // {
+ // try
+ // {
+ // StatusCommand statusCommand = git.status();
+ // statusCommand.call();
+ // return true;
+ // }
+ // catch (NoWorkTreeException ex)
+ // {
+ // return false;
+ // }
+ // catch (GitAPIException ex)
+ // {
+ // throw ex;
+ // }
+ // }
+ //
+ // private static boolean hasGerritPushRefSpec(List<RefSpec> pushRefSpecs, String gerritQueue)
+ // {
+ // for (RefSpec refSpec : pushRefSpecs)
+ // {
+ // if (refSpec.getDestination().equals(gerritQueue))
+ // {
+ // return true;
+ // }
+ // }
+ //
+ // return false;
+ // }
+ //
+ // /**
+ // * @author Eike Stepper
+ // */
+ // private static final class ProgressLogWrapper implements ProgressMonitor
+ // {
+ // public void update(int completed)
+ // {
+ // }
+ //
+ // public void start(int totalTasks)
+ // {
+ // }
+ //
+ // public boolean isCancelled()
+ // {
+ // return Progress.log().isCancelled();
+ // }
+ //
+ // public void endTask()
+ // {
+ // }
+ //
+ // public void beginTask(String title, int totalWork)
+ // {
+ // Progress.log().addLine(title);
+ // }
+ // }
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/P2.java b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/P2.java
index 5d28d0f1ab..71bf67be1d 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/P2.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/P2.java
@@ -10,37 +10,29 @@
*/
package org.eclipse.emf.cdo.releng.setup.ide;
-import org.eclipse.emf.cdo.releng.setup.P2Repository;
-import org.eclipse.emf.cdo.releng.setup.Setup;
-import org.eclipse.emf.cdo.releng.setup.helper.Progress;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.equinox.p2.ui.ProvisioningUI;
-
-import java.net.URI;
-
/**
* @author Eike Stepper
*/
+@Deprecated
public class P2
{
- private static final SetupContext CONTEXT = Activator.getDefault();
-
- public static void registerUpdateLocations() throws Exception
- {
- Setup setup = CONTEXT.getSetup();
- for (P2Repository p2Repository : setup.getUpdateLocations())
- {
- URI location = new URI(p2Repository.getUrl());
- Progress.log().addLine("Registering update location: " + location);
- addRepository(location);
- }
- }
-
- private static void addRepository(URI location) throws Exception
- {
- ProvisioningUI provisioningUI = ProvisioningUI.getDefaultUI();
- provisioningUI.loadMetadataRepository(location, false, new NullProgressMonitor());
- provisioningUI.loadArtifactRepository(location, false, new NullProgressMonitor());
- }
+ // private static final SetupContext CONTEXT = Activator.getDefault();
+ //
+ // public static void registerUpdateLocations() throws Exception
+ // {
+ // Setup setup = CONTEXT.getSetup();
+ // for (P2Repository p2Repository : setup.getUpdateLocations())
+ // {
+ // URI location = new URI(p2Repository.getUrl());
+ // Progress.log().log("Registering update location: " + location);
+ // addRepository(location);
+ // }
+ // }
+ //
+ // private static void addRepository(URI location) throws Exception
+ // {
+ // ProvisioningUI provisioningUI = ProvisioningUI.getDefaultUI();
+ // provisioningUI.loadMetadataRepository(location, false, new NullProgressMonitor());
+ // provisioningUI.loadArtifactRepository(location, false, new NullProgressMonitor());
+ // }
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Prefs.java b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Prefs.java
index 1dcb39bce7..1c6e90dc25 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Prefs.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Prefs.java
@@ -10,89 +10,78 @@
*/
package org.eclipse.emf.cdo.releng.setup.ide;
-import org.eclipse.emf.cdo.releng.setup.Branch;
-import org.eclipse.emf.cdo.releng.setup.Preferences;
-import org.eclipse.emf.cdo.releng.setup.Project;
-import org.eclipse.emf.cdo.releng.setup.Setup;
-import org.eclipse.emf.cdo.releng.setup.ToolInstallation;
-import org.eclipse.emf.cdo.releng.setup.ToolPreference;
-import org.eclipse.emf.cdo.releng.setup.helper.Progress;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.ui.PlatformUI;
-
/**
* @author Eike Stepper
*/
+@Deprecated
public final class Prefs
{
- private static final SetupContext CONTEXT = Activator.getDefault();
-
- private static final IEclipsePreferences ROOT = Platform.getPreferencesService().getRootNode();
-
- public static void initEarly() throws Exception
- {
- Setup setup = CONTEXT.getSetup();
- Branch branch = setup.getBranch();
- Project project = branch.getProject();
-
- final String name = project.getName() + ("master".equals(branch.getName()) ? "" : " " + branch.getName());
- PlatformUI.getWorkbench().getWorkbenchWindows()[0].getShell().getDisplay().syncExec(new Runnable()
- {
- public void run()
- {
- set("instance/org.eclipse.ui.ide/WORKSPACE_NAME", name);
- }
- });
-
- set("instance/org.eclipse.ui.workbench/RUN_IN_BACKGROUND", "true");
- }
-
- public static void initLate() throws Exception
- {
- Setup setup = CONTEXT.getSetup();
- Branch branch = setup.getBranch();
- Project project = branch.getProject();
-
- Preferences preferences = setup.getPreferences();
- init(preferences);
- init(branch);
- init(project);
- }
-
- private static void init(ToolInstallation preferenceHolder)
- {
- for (ToolPreference toolPreference : preferenceHolder.getToolPreferences())
- {
- init(toolPreference);
- }
- }
-
- private static void init(ToolPreference toolPreference)
- {
- String key = toolPreference.getKey();
- if (key.startsWith("/"))
- {
- key = key.substring(1);
- }
-
- String value = toolPreference.getValue();
- set(key, value);
- }
-
- public static void set(String key, String value)
- {
- org.osgi.service.prefs.Preferences node = ROOT;
-
- String[] segments = key.split("/");
- for (int i = 0; i < segments.length - 1; i++)
- {
- String segment = segments[i];
- node = node.node(segment);
- }
-
- Progress.log().addLine("Setting preference " + key + " = " + value);
- node.put(segments[segments.length - 1], value);
- }
+ // private static final SetupContext CONTEXT = Activator.getDefault();
+ //
+ // private static final org.osgi.service.prefs.Preferences ROOT = Platform.getPreferencesService().getRootNode();
+ //
+ // public static void initEarly() throws Exception
+ // {
+ // Setup setup = CONTEXT.getSetup();
+ // Branch branch = setup.getBranch();
+ // Project project = branch.getProject();
+ //
+ // final String name = project.getName() + ("master".equals(branch.getName()) ? "" : " " + branch.getName());
+ // PlatformUI.getWorkbench().getWorkbenchWindows()[0].getShell().getDisplay().syncExec(new Runnable()
+ // {
+ // public void run()
+ // {
+ // set("instance/org.eclipse.ui.ide/WORKSPACE_NAME", name);
+ // }
+ // });
+ //
+ // set("instance/org.eclipse.ui.workbench/RUN_IN_BACKGROUND", "true");
+ // }
+ //
+ // public static void initLate() throws Exception
+ // {
+ // Setup setup = CONTEXT.getSetup();
+ // Branch branch = setup.getBranch();
+ // Project project = branch.getProject();
+ //
+ // Preferences preferences = setup.getPreferences();
+ // init(project);
+ // init(branch);
+ // init(preferences);
+ // }
+ //
+ // private static void init(ToolInstallation preferenceHolder)
+ // {
+ // for (ToolPreference toolPreference : preferenceHolder.getToolPreferences())
+ // {
+ // init(toolPreference);
+ // }
+ // }
+ //
+ // private static void init(ToolPreference toolPreference)
+ // {
+ // String key = toolPreference.getKey();
+ // if (key.startsWith("/"))
+ // {
+ // key = key.substring(1);
+ // }
+ //
+ // String value = toolPreference.getValue();
+ // set(key, value);
+ // }
+ //
+ // public static void set(String key, String value)
+ // {
+ // org.osgi.service.prefs.Preferences node = ROOT;
+ //
+ // String[] segments = key.split("/");
+ // for (int i = 0; i < segments.length - 1; i++)
+ // {
+ // String segment = segments[i];
+ // node = node.node(segment);
+ // }
+ //
+ // Progress.log().addLine("Setting preference " + key + " = " + value);
+ // node.put(segments[segments.length - 1], value);
+ // }
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/SetupContext.java b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/SetupContext.java
index f51bb86438..4dff5ff73b 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/SetupContext.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/SetupContext.java
@@ -10,7 +10,6 @@
*/
package org.eclipse.emf.cdo.releng.setup.ide;
-import org.eclipse.emf.cdo.releng.setup.GitClone;
import org.eclipse.emf.cdo.releng.setup.Setup;
import java.io.File;
@@ -18,6 +17,7 @@ import java.io.File;
/**
* @author Eike Stepper
*/
+@Deprecated
public interface SetupContext
{
public File getLogFile();
@@ -30,9 +30,9 @@ public interface SetupContext
public File getEclipseDir();
- public File getGitDir();
-
- public File getWorkDir(GitClone clone);
+ // public File getGitDir();
+ //
+ // public File getWorkDir(GitClone clone);
public File getWorkspaceDir();
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/SetupIDE.java b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/SetupIDE.java
index 8cff533693..a90c3a4034 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/SetupIDE.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/SetupIDE.java
@@ -10,149 +10,136 @@
*/
package org.eclipse.emf.cdo.releng.setup.ide;
-import org.eclipse.emf.cdo.releng.setup.helper.OS;
-import org.eclipse.emf.cdo.releng.setup.helper.ProgressLog;
-import org.eclipse.emf.cdo.releng.setup.helper.ProgressLogRunnable;
-import org.eclipse.emf.cdo.releng.setup.ui.ProgressLogDialog;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-import java.io.File;
-import java.util.Collections;
-import java.util.List;
-
/**
* @author Eike Stepper
*/
+@Deprecated
public final class SetupIDE
{
- private static final SetupContext CONTEXT = Activator.getDefault();
-
- private static final IWorkbench WORKBENCH = PlatformUI.getWorkbench();
-
- private static final int INITIAL = 0;
-
- private static final int DONE = 100;
-
- private static int state;
-
- public static void run() throws Exception
- {
- state = readState();
- if (state == DONE)
- {
- return;
- }
-
- IWorkbenchWindow window = WORKBENCH.getWorkbenchWindows()[0];
- run(window);
- }
-
- private static void run(IWorkbenchWindow window)
- {
- final Shell shell = window.getShell();
- shell.getDisplay().asyncExec(new Runnable()
- {
- public void run()
- {
- ProgressLogDialog.run(shell, CONTEXT.getLogFile(), "Setting up IDE", new ProgressLogRunnable()
- {
- public boolean run(ProgressLog log) throws Exception
- {
- boolean autoBuilding = Buckminster.disableAutoBuilding();
-
- try
- {
- return SetupIDE.run(log);
- }
- finally
- {
- Buckminster.restoreAutoBuilding(autoBuilding);
- }
- }
- });
- }
- });
- }
-
- private static boolean run(ProgressLog log) throws Exception
- {
- boolean restart = false;
- if (state < 1)
- {
- P2.registerUpdateLocations();
- saveState(1);
- }
-
- if (state < 2)
- {
- Prefs.initEarly();
- saveState(2);
- }
-
- if (state < 3)
- {
- GitClones.init();
- saveState(3);
- }
-
- if (state < 4)
- {
- Buckminster.importBaseline();
- saveState(4);
- }
-
- if (state < 5)
- {
- Buckminster.importTarget();
- saveState(5);
- }
-
- if (state < 6)
- {
- Buckminster.importMSpec();
- saveState(6);
- restart = true;
- }
-
- if (state < 7)
- {
- WorkingSets.init();
- saveState(7);
- }
-
- if (state < DONE)
- {
- Prefs.initLate();
- saveState(DONE);
- }
-
- Buckminster.restoreAutoBuilding(true);
- return restart;
- }
-
- private static void saveState(int state)
- {
- File stateFile = new File(Activator.getDefault().getStateLocation().toOSString(), "state.txt");
- OS.INSTANCE.writeText(stateFile, Collections.singletonList(Integer.toString(state)));
- }
-
- private static int readState()
- {
- File stateFile = new File(Activator.getDefault().getStateLocation().toOSString(), "state.txt");
- if (stateFile.exists())
- {
- List<String> lines = OS.INSTANCE.readText(stateFile);
- if (!lines.isEmpty())
- {
- String line = lines.get(0);
- return Integer.parseInt(line);
- }
- }
-
- return INITIAL;
- }
+ // private static final SetupContext CONTEXT = Activator.getDefault();
+ //
+ // private static final IWorkbench WORKBENCH = PlatformUI.getWorkbench();
+ //
+ // private static final int INITIAL = 0;
+ //
+ // private static final int DONE = 100;
+ //
+ // private static int state;
+ //
+ // public static void run() throws Exception
+ // {
+ // state = readState();
+ // if (state == DONE)
+ // {
+ // return;
+ // }
+ //
+ // IWorkbenchWindow window = WORKBENCH.getWorkbenchWindows()[0];
+ // run(window);
+ // }
+ //
+ // private static void run(IWorkbenchWindow window)
+ // {
+ // final Shell shell = window.getShell();
+ // shell.getDisplay().asyncExec(new Runnable()
+ // {
+ // public void run()
+ // {
+ // ProgressLogDialog.run(shell, CONTEXT.getLogFile(), "Setting up IDE", new ProgressLogRunnable()
+ // {
+ // public boolean run(ProgressLog log) throws Exception
+ // {
+ // boolean autoBuilding = Buckminster.disableAutoBuilding();
+ //
+ // try
+ // {
+ // return SetupIDE.run(log);
+ // }
+ // finally
+ // {
+ // Buckminster.restoreAutoBuilding(autoBuilding);
+ // }
+ // }
+ // });
+ // }
+ // });
+ // }
+ //
+ // private static boolean run(ProgressLog log) throws Exception
+ // {
+ // boolean restart = false;
+ // if (state < 1)
+ // {
+ // P2.registerUpdateLocations();
+ // saveState(1);
+ // }
+ //
+ // if (state < 2)
+ // {
+ // Prefs.initEarly();
+ // saveState(2);
+ // }
+ //
+ // if (state < 3)
+ // {
+ // GitClones.init();
+ // saveState(3);
+ // }
+ //
+ // if (state < 4)
+ // {
+ // Buckminster.importBaseline();
+ // saveState(4);
+ // }
+ //
+ // if (state < 5)
+ // {
+ // Buckminster.importTarget();
+ // saveState(5);
+ // }
+ //
+ // if (state < 6)
+ // {
+ // Buckminster.importMSpec();
+ // saveState(6);
+ // restart = true;
+ // }
+ //
+ // if (state < 7)
+ // {
+ // WorkingSets.init();
+ // saveState(7);
+ // }
+ //
+ // if (state < DONE)
+ // {
+ // Prefs.initLate();
+ // saveState(DONE);
+ // }
+ //
+ // Buckminster.restoreAutoBuilding(true);
+ // return restart;
+ // }
+ //
+ // private static void saveState(int state)
+ // {
+ // File stateFile = new File(Activator.getDefault().getStateLocation().toOSString(), "state.txt");
+ // OS.INSTANCE.writeText(stateFile, Collections.singletonList(Integer.toString(state)));
+ // }
+ //
+ // private static int readState()
+ // {
+ // File stateFile = new File(Activator.getDefault().getStateLocation().toOSString(), "state.txt");
+ // if (stateFile.exists())
+ // {
+ // List<String> lines = OS.INSTANCE.readText(stateFile);
+ // if (!lines.isEmpty())
+ // {
+ // String line = lines.get(0);
+ // return Integer.parseInt(line);
+ // }
+ // }
+ //
+ // return INITIAL;
+ // }
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Variables.java b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Variables.java
index 97d2078d21..08d4f985a7 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Variables.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/Variables.java
@@ -10,38 +10,33 @@
*/
package org.eclipse.emf.cdo.releng.setup.ide;
-import org.eclipse.emf.cdo.releng.setup.helper.Progress;
-
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.VariablesPlugin;
-
/**
* @author Eike Stepper
*/
+@Deprecated
public final class Variables
{
- public static void set(String name, String description, String value) throws Exception
- {
- IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
- IValueVariable variable = manager.getValueVariable(name);
- if (variable == null)
- {
- variable = manager.newValueVariable(name, description);
- manager.addVariables(new IValueVariable[] { variable });
- }
-
- String oldDescription = variable.getDescription();
- if (!description.equals(oldDescription))
- {
- variable.setDescription(description);
- }
-
- String oldValue = variable.getValue();
- if (!value.equals(oldValue))
- {
- Progress.log().addLine("Setting string substitution variable " + name + " = " + value);
- variable.setValue(value);
- }
- }
+ // public static void set(String name, String description, String value) throws Exception
+ // {
+ // IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
+ // IValueVariable variable = manager.getValueVariable(name);
+ // if (variable == null)
+ // {
+ // variable = manager.newValueVariable(name, description);
+ // manager.addVariables(new IValueVariable[] { variable });
+ // }
+ //
+ // String oldDescription = variable.getDescription();
+ // if (!description.equals(oldDescription))
+ // {
+ // variable.setDescription(description);
+ // }
+ //
+ // String oldValue = variable.getValue();
+ // if (!value.equals(oldValue))
+ // {
+ // Progress.log().addLine("Setting string substitution variable " + name + " = " + value);
+ // variable.setValue(value);
+ // }
+ // }
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/WorkingSets.java b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/WorkingSets.java
index e78ef47111..73c2068a08 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/WorkingSets.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/WorkingSets.java
@@ -10,72 +10,54 @@
*/
package org.eclipse.emf.cdo.releng.setup.ide;
-import org.eclipse.emf.cdo.releng.workingsets.WorkingSetGroup;
-import org.eclipse.emf.cdo.releng.workingsets.util.WorkingSetsUtil;
-
-import org.eclipse.emf.ecore.resource.Resource;
-
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-
/**
* @author Eike Stepper
*/
+@Deprecated
public final class WorkingSets
{
- private static final SetupContext CONTEXT = Activator.getDefault();
-
- private static final IWorkbench WORKBENCH = PlatformUI.getWorkbench();
-
- private static final String JAVA_PACKAGE_EXPLORER_VIEW_ID = "org.eclipse.jdt.ui.PackageExplorer";
-
- public static void init() throws IOException
- {
- WorkingSetGroup workingSetGroup = CONTEXT.getSetup().getBranch().getProject().getWorkingSetGroup();
- if (workingSetGroup != null)
- {
- initPackageExplorer();
-
- WorkingSetGroup defaultWorkingSetGroup = WorkingSetsUtil.getWorkingSetGroup();
- Resource resource = defaultWorkingSetGroup.eResource();
- resource.getContents().set(0, workingSetGroup);
- resource.save(null);
- }
- }
-
- private static void initPackageExplorer()
- {
- IWorkbenchWindow workbenchWindow = WORKBENCH.getWorkbenchWindows()[0];
- for (final IViewReference viewReference : workbenchWindow.getActivePage().getViewReferences())
- {
- if (JAVA_PACKAGE_EXPLORER_VIEW_ID.equals(viewReference.getId()))
- {
- workbenchWindow.getShell().getDisplay().asyncExec(new Runnable()
- {
- public void run()
- {
- IViewPart view = viewReference.getView(false);
- if (view != null)
- {
- try
- {
- Method method = view.getClass().getMethod("rootModeChanged", int.class);
- method.invoke(view, 2);
- }
- catch (Exception ex)
- {
- Activator.log(ex);
- }
- }
- }
- });
- }
- }
- }
+ // private static final SetupContext CONTEXT = Activator.getDefault();
+ //
+ // private static final IWorkbench WORKBENCH = PlatformUI.getWorkbench();
+ //
+ // private static final String PACKAGE_EXPLORER_ID = "org.eclipse.jdt.ui.PackageExplorer";
+ //
+ // public static void init() throws IOException
+ // {
+ // WorkingSetGroup workingSetGroup = CONTEXT.getSetup().getBranch().getProject().getWorkingSetGroup();
+ // if (workingSetGroup != null)
+ // {
+ // initPackageExplorer();
+ //
+ // WorkingSetGroup defaultWorkingSetGroup = WorkingSetsUtil.getWorkingSetGroup();
+ // Resource resource = defaultWorkingSetGroup.eResource();
+ // resource.getContents().set(0, workingSetGroup);
+ // resource.save(null);
+ // }
+ // }
+ //
+ // private static void initPackageExplorer()
+ // {
+ // final IWorkbenchWindow workbenchWindow = WORKBENCH.getWorkbenchWindows()[0];
+ // workbenchWindow.getShell().getDisplay().asyncExec(new Runnable()
+ // {
+ // public void run()
+ // {
+ // try
+ // {
+ // IViewPart view = workbenchWindow.getActivePage().showView(PACKAGE_EXPLORER_ID, null,
+ // IWorkbenchPage.VIEW_CREATE);
+ // if (view != null)
+ // {
+ // Method method = view.getClass().getMethod("rootModeChanged", int.class);
+ // method.invoke(view, 2);
+ // }
+ // }
+ // catch (Exception ex)
+ // {
+ // Activator.log(ex);
+ // }
+ // }
+ // });
+ // }
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/actions/BuckyAction.java b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/actions/BuckyAction.java
index d0b0858b01..0f756dbf5e 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/actions/BuckyAction.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.ide/src/org/eclipse/emf/cdo/releng/setup/ide/actions/BuckyAction.java
@@ -10,13 +10,6 @@
*/
package org.eclipse.emf.cdo.releng.setup.ide.actions;
-import org.eclipse.emf.cdo.releng.setup.helper.ProgressLog;
-import org.eclipse.emf.cdo.releng.setup.helper.ProgressLogRunnable;
-import org.eclipse.emf.cdo.releng.setup.ide.Activator;
-import org.eclipse.emf.cdo.releng.setup.ide.Buckminster;
-import org.eclipse.emf.cdo.releng.setup.ide.SetupContext;
-import org.eclipse.emf.cdo.releng.setup.ui.ProgressLogDialog;
-
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IWorkbenchWindow;
@@ -27,8 +20,6 @@ import org.eclipse.ui.IWorkbenchWindowActionDelegate;
*/
public class BuckyAction implements IWorkbenchWindowActionDelegate
{
- private static final SetupContext CONTEXT = Activator.getDefault();
-
private IWorkbenchWindow window;
public BuckyAction()
@@ -50,22 +41,22 @@ public class BuckyAction implements IWorkbenchWindowActionDelegate
public void run(IAction action)
{
- ProgressLogDialog.run(window.getShell(), CONTEXT.getLogFile(), "Importing mspec", new ProgressLogRunnable()
- {
- public boolean run(ProgressLog log) throws Exception
- {
- boolean autoBuilding = Buckminster.disableAutoBuilding();
-
- try
- {
- Buckminster.importMSpec();
- return true;
- }
- finally
- {
- Buckminster.restoreAutoBuilding(autoBuilding);
- }
- }
- });
+ // ProgressLogDialog.run(window.getShell(), CONTEXT.getLogFile(), "Importing mspec", new ProgressLogRunnable()
+ // {
+ // public boolean run(ProgressLog log) throws Exception
+ // {
+ // boolean autoBuilding = Buckminster.disableAutoBuilding();
+ //
+ // try
+ // {
+ // Buckminster.importMSpec();
+ // return true;
+ // }
+ // finally
+ // {
+ // Buckminster.restoreAutoBuilding(autoBuilding);
+ // }
+ // }
+ // });
}
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.product/src/org/eclipse/emf/cdo/releng/setup/product/Director.java b/plugins/org.eclipse.emf.cdo.releng.setup.product/src/org/eclipse/emf/cdo/releng/setup/product/Director.java
deleted file mode 100644
index 7fbf725783..0000000000
--- a/plugins/org.eclipse.emf.cdo.releng.setup.product/src/org/eclipse/emf/cdo/releng/setup/product/Director.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (c) 2004-2013 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.releng.setup.product;
-
-import org.eclipse.emf.cdo.releng.setup.DirectorCall;
-import org.eclipse.emf.cdo.releng.setup.InstallableUnit;
-import org.eclipse.emf.cdo.releng.setup.P2Repository;
-import org.eclipse.emf.cdo.releng.setup.SetupFactory;
-import org.eclipse.emf.cdo.releng.setup.SetupPackage;
-import org.eclipse.emf.cdo.releng.setup.helper.Files;
-import org.eclipse.emf.cdo.releng.setup.helper.Progress;
-import org.eclipse.emf.cdo.releng.setup.helper.ProgressLog;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.internal.p2.director.app.DirectorApplication;
-import org.eclipse.equinox.internal.p2.director.app.ILog;
-
-import java.io.File;
-
-/**
- * @author Eike Stepper
- */
-public final class Director
-{
- private DirectorCall directorCall;
-
- private String bundlePool;
-
- private boolean resetProfile;
-
- private Director(DirectorCall directorCall, String bundlePool)
- {
- this.directorCall = directorCall;
- this.bundlePool = bundlePool;
- }
-
- private Director(String bundlePool)
- {
- this(SetupFactory.eINSTANCE.createDirectorCall(), bundlePool);
- }
-
- private Director iu(String id)
- {
- InstallableUnit installableUnit = SetupFactory.eINSTANCE.createInstallableUnit();
- installableUnit.setId(id);
- directorCall.getInstallableUnits().add(installableUnit);
- return this;
- }
-
- public Director bundle(String id)
- {
- return iu(id);
- }
-
- public Director feature(String id)
- {
- return iu(id + ".feature.group");
- }
-
- public Director resetProfile()
- {
- resetProfile = true;
- return this;
- }
-
- public Director repository(String url)
- {
- P2Repository p2Repository = SetupFactory.eINSTANCE.createP2Repository();
- p2Repository.setUrl(url);
- directorCall.getP2Repositories().add(p2Repository);
- return this;
- }
-
- public void install(String destination) throws Exception
- {
- File eclipseFolder = new File(destination);
- eclipseFolder.mkdirs();
-
- File branchFolder = eclipseFolder.getParentFile();
- File projectFolder = branchFolder.getParentFile();
- String profileName = projectFolder.getName() + "_" + branchFolder.getName();
- profileName = profileName.replace('.', '_');
- profileName = profileName.replace('-', '_');
- profileName = profileName.replace('/', '_');
- profileName = profileName.replace('\\', '_');
-
- EList<P2Repository> p2Repositories = directorCall.getP2Repositories();
- EList<InstallableUnit> installableUnits = directorCall.getInstallableUnits();
-
- Progress.log().addLine(
- "Calling director to install " + installableUnits.size() + (installableUnits.size() == 1 ? " unit" : " units")
- + " from " + p2Repositories.size() + (p2Repositories.size() == 1 ? " repository" : " repositories")
- + " to " + destination);
-
- String repositories = makeList(p2Repositories, SetupPackage.Literals.P2_REPOSITORY__URL);
- String ius = makeList(installableUnits, SetupPackage.Literals.INSTALLABLE_UNIT__ID);
-
- String os = Platform.getOS();
- String ws = Platform.getWS();
- String arch = Platform.getOSArch();
-
- String bundleAgent = new File(bundlePool, "p2").getAbsolutePath();
- if (resetProfile)
- {
- Files.delete(new File(bundleAgent, "org.eclipse.equinox.p2.engine/profileRegistry/" + profileName + ".profile"),
- new NullProgressMonitor());
- }
-
- String[] args = { "-destination", destination, "-repository", repositories, "-installIU", ius, "-profile",
- profileName, "-profileProperties", "org.eclipse.update.install.features=true", "-bundlepool", bundlePool,
- "-shared", bundleAgent, "-p2.os", os, "-p2.ws", ws, "-p2.arch", arch };
-
- DirectorApplication app = new DirectorApplication();
- app.setLog(new ILog()
- {
- public void log(String message)
- {
- ProgressLog log = Progress.log();
- if (log.isCancelled())
- {
- throw new OperationCanceledException();
- }
-
- log.addLine(message);
- }
-
- public void log(IStatus status)
- {
- log(status.getMessage());
- }
-
- public void close()
- {
- }
- });
-
- app.run(args);
- }
-
- private String makeList(EList<? extends EObject> objects, EAttribute attribute)
- {
- StringBuilder builder = new StringBuilder();
- for (EObject object : objects)
- {
- if (builder.length() > 0)
- {
- builder.append(',');
- }
-
- Object value = object.eGet(attribute);
- builder.append(value);
- }
-
- return builder.toString();
- }
-
- public static Director from(String bundlePool)
- {
- return new Director(bundlePool);
- }
-
- public static void install(String bundlePool, DirectorCall directorCall, String destination, boolean resetProfile)
- throws Exception
- {
- Director director = new Director(directorCall, bundlePool);
- if (resetProfile)
- {
- director.resetProfile();
- }
-
- director.install(destination);
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.product/src/org/eclipse/emf/cdo/releng/setup/product/SetupDialog.java b/plugins/org.eclipse.emf.cdo.releng.setup.product/src/org/eclipse/emf/cdo/releng/setup/product/SetupDialog.java
index b06a2f66e1..75c93d5d86 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.product/src/org/eclipse/emf/cdo/releng/setup/product/SetupDialog.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.product/src/org/eclipse/emf/cdo/releng/setup/product/SetupDialog.java
@@ -10,37 +10,33 @@
*/
package org.eclipse.emf.cdo.releng.setup.product;
+import org.eclipse.emf.cdo.releng.internal.setup.SetupTaskPerformer;
import org.eclipse.emf.cdo.releng.setup.Branch;
import org.eclipse.emf.cdo.releng.setup.Configuration;
-import org.eclipse.emf.cdo.releng.setup.DirectorCall;
import org.eclipse.emf.cdo.releng.setup.EclipseVersion;
-import org.eclipse.emf.cdo.releng.setup.LinkLocation;
-import org.eclipse.emf.cdo.releng.setup.P2Repository;
import org.eclipse.emf.cdo.releng.setup.Preferences;
import org.eclipse.emf.cdo.releng.setup.Project;
import org.eclipse.emf.cdo.releng.setup.Setup;
import org.eclipse.emf.cdo.releng.setup.SetupFactory;
import org.eclipse.emf.cdo.releng.setup.SetupPackage;
-import org.eclipse.emf.cdo.releng.setup.ToolInstallation;
-import org.eclipse.emf.cdo.releng.setup.helper.OS;
-import org.eclipse.emf.cdo.releng.setup.helper.Progress;
-import org.eclipse.emf.cdo.releng.setup.helper.ProgressLog;
-import org.eclipse.emf.cdo.releng.setup.helper.ProgressLogRunnable;
import org.eclipse.emf.cdo.releng.setup.provider.BranchItemProvider;
import org.eclipse.emf.cdo.releng.setup.provider.ConfigurationItemProvider;
import org.eclipse.emf.cdo.releng.setup.provider.ProjectItemProvider;
import org.eclipse.emf.cdo.releng.setup.provider.SetupItemProviderAdapterFactory;
import org.eclipse.emf.cdo.releng.setup.ui.ProgressLogDialog;
+import org.eclipse.emf.cdo.releng.setup.util.OS;
+import org.eclipse.emf.cdo.releng.setup.util.log.ProgressLog;
+import org.eclipse.emf.cdo.releng.setup.util.log.ProgressLogRunnable;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.xmi.XMIResource;
import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
@@ -91,11 +87,8 @@ import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.Map;
/**
* @author Eike Stepper
@@ -105,15 +98,16 @@ public class SetupDialog extends TitleAreaDialog
private static final String SETUP_URI = System.getProperty("setup.uri",
"http://git.eclipse.org/c/cdo/cdo.git/plain/plugins/org.eclipse.emf.cdo.releng.setup/model/Configuration.xmi");
- private static final String EGIT_URI = System.getProperty("egit.uri", "http://download.eclipse.org/releases/kepler");
+ // private static final String EGIT_URI = System.getProperty("egit.uri",
+ // "http://download.eclipse.org/releases/kepler");
+ //
+ // private static final String BUCKY_URI = System.getProperty("bucky.uri",
+ // "http://download.eclipse.org/tools/buckminster/updates-4.3");
+ //
+ // private static final String RELENG_URI = System.getProperty("releng.uri",
+ // "http://download.eclipse.org/modeling/emf/cdo/updates/integration");
- private static final String BUCKY_URI = System.getProperty("bucky.uri",
- "http://download.eclipse.org/tools/buckminster/updates-4.3");
-
- private static final String RELENG_URI = System.getProperty("releng.uri",
- "http://download.eclipse.org/modeling/emf/cdo/updates/integration");
-
- private HashMap<Branch, Setup> setups;
+ private Map<Branch, Setup> setups;
private AdapterFactory adapterFactory;
@@ -150,7 +144,7 @@ public class SetupDialog extends TitleAreaDialog
@Override
public boolean close()
{
- savePreferences();
+ saveEObject(preferences);
return super.close();
}
@@ -292,16 +286,6 @@ public class SetupDialog extends TitleAreaDialog
{
Branch branch = (Branch)element;
Setup setup = setups.get(branch);
- if (setup == null)
- {
- setup = SetupFactory.eINSTANCE.createSetup();
- setup.setBranch(branch);
- setup.setEclipseVersion(getDefaultEclipseVersion());
-
- Resource resource = resourceSet.createResource(getSetupURI(branch));
- resource.getContents().add(setup);
- }
-
EclipseVersion eclipseVersion = setup.getEclipseVersion();
return labelProvider.getText(eclipseVersion);
}
@@ -363,6 +347,12 @@ public class SetupDialog extends TitleAreaDialog
public void modifyText(ModifyEvent e)
{
preferences.setInstallFolder(installFolderText.getText());
+ for (Setup setup : setups.values())
+ {
+ URI uri = getSetupURI(setup.getBranch());
+ setup.eResource().setURI(uri);
+ }
+
validate();
}
});
@@ -486,14 +476,15 @@ public class SetupDialog extends TitleAreaDialog
gitPrefixText.setText(safe(getAbsolutePath(new File(OS.INSTANCE.getGitPrefix()))));
}
- initWorkspaces();
+ setups = initSetups();
+
viewer.setInput(configuration);
viewer.expandAll();
}
- private void initWorkspaces()
+ private Map<Branch, Setup> initSetups()
{
- setups = new HashMap<Branch, Setup>();
+ Map<Branch, Setup> setups = new HashMap<Branch, Setup>();
for (Project project : configuration.getProjects())
{
for (Branch branch : project.getBranches())
@@ -508,8 +499,9 @@ public class SetupDialog extends TitleAreaDialog
else
{
setup = SetupFactory.eINSTANCE.createSetup();
- setup.setBranch(branch);
setup.setEclipseVersion(getDefaultEclipseVersion());
+ setup.setBranch(branch);
+ setup.setPreferences(preferences);
Resource resource = resourceSet.createResource(uri);
resource.getContents().add(setup);
@@ -518,6 +510,8 @@ public class SetupDialog extends TitleAreaDialog
setups.put(branch, setup);
}
}
+
+ return setups;
}
private EclipseVersion getDefaultEclipseVersion()
@@ -625,7 +619,9 @@ public class SetupDialog extends TitleAreaDialog
if (object instanceof Branch)
{
Branch branch = (Branch)object;
- return branch.isInstalled(installFolderText.getText());
+ Setup setup = setups.get(branch);
+ URI uri = setup.eResource().getURI();
+ return resourceSet.getURIConverter().exists(uri, null);
}
return false;
@@ -672,218 +668,41 @@ public class SetupDialog extends TitleAreaDialog
private void install(Setup setup, String installFolder, String gitPrefix) throws Exception
{
- Branch branch = setup.getBranch();
- Progress.log().addLine("Setting up " + branch.getProject().getName() + " " + branch.getName());
-
- URI branchURI = branch.getURI(installFolder).trimSegments(1);
- String destination = branchURI.appendSegment("eclipse").toFileString();
-
- Set<String> updateLocations = new HashSet<String>();
- updateLocations.add(EGIT_URI);
- updateLocations.add(BUCKY_URI);
- updateLocations.add(RELENG_URI);
-
- String bundlePool = new File(installFolder, ".p2pool-ide").getAbsolutePath();
-
- install(bundlePool, destination, updateLocations, setup.getEclipseVersion().getDirectorCall(), true);
-
- Director.from(bundlePool) //
- .feature("org.eclipse.egit") //
- .repository(EGIT_URI) //
- //
- .feature("org.eclipse.buckminster.core.feature") //
- .feature("org.eclipse.buckminster.git.feature") //
- .feature("org.eclipse.buckminster.pde.feature") //
- .repository(BUCKY_URI) //
- //
- .feature("org.eclipse.emf.cdo.releng.setup.ide") //
- .repository(RELENG_URI) //
- //
- .install(destination);
-
- install(bundlePool, destination, updateLocations, branch.getProject());
- install(bundlePool, destination, updateLocations, branch);
- install(bundlePool, destination, updateLocations, preferences);
-
- install(preferences.getLinkLocations(), destination);
-
- File branchFolder = new File(branchURI.toFileString());
- mangleEclipseIni(destination, branchFolder, gitPrefix);
-
- setup.setPreferences(EcoreUtil.copy(preferences));
- for (String updateLocation : updateLocations)
- {
- P2Repository p2Repository = SetupFactory.eINSTANCE.createP2Repository();
- p2Repository.setUrl(updateLocation);
-
- setup.getUpdateLocations().add(p2Repository);
- }
-
- Resource setupResource = setup.eResource();
- setupResource.setURI(getSetupURI(branch, installFolder));
- setupResource.save(null);
-
- new File(branchFolder, "ws").mkdirs();
- launchIDE(setup, branchFolder);
- }
-
- private void install(String bundlePool, String destination, Set<String> updateLocations, ToolInstallation installation)
- throws Exception
- {
- for (DirectorCall directorCall : installation.getDirectorCalls())
- {
- install(bundlePool, destination, updateLocations, directorCall, false);
- }
- }
-
- private void install(String bundlePool, String destination, Set<String> updateLocations, DirectorCall directorCall,
- boolean resetProfile) throws Exception
- {
- Director.install(bundlePool, directorCall, destination, resetProfile);
- for (P2Repository p2Repository : directorCall.getP2Repositories())
- {
- updateLocations.add(p2Repository.getUrl());
- }
- }
-
- private void install(EList<LinkLocation> linkLocations, String destination) throws Exception
- {
- if (!linkLocations.isEmpty())
- {
- File links = new File(destination, "links");
- links.mkdirs();
-
- for (LinkLocation linkLocation : linkLocations)
- {
- File path = new File(linkLocation.getPath()).getCanonicalFile();
-
- String name = linkLocation.getName();
- if (name == null || name.length() == 0)
- {
- name = path.getName();
- }
-
- File link = new File(links, name + ".link");
-
- List<String> lines = Collections.singletonList("path=" + path.toString().replace("\\", "\\\\"));
- OS.INSTANCE.writeText(link, lines);
- }
- }
- }
-
- private void mangleEclipseIni(String destination, File branchFolder, String gitPrefix)
- {
- File eclipseIni = new File(destination, "eclipse.ini");
-
- List<String> oldLines = OS.INSTANCE.readText(eclipseIni);
- List<String> newLines = new ArrayList<String>(oldLines);
- mangleEclipseIni(newLines, branchFolder, gitPrefix);
-
- if (!newLines.equals(oldLines))
- {
- Progress.log().addLine("Adjusting eclipse.ini");
- OS.INSTANCE.writeText(eclipseIni, newLines);
- }
- }
-
- private void mangleEclipseIni(List<String> lines, File branchFolder, String gitPrefix)
- {
- String maxHeap = Platform.getOSArch().endsWith("_64") ? "-Xmx4g" : "-Xmx1g";
-
- int xmx = findLine(lines, "-Xmx");
- if (xmx == -1)
- {
- lines.add(maxHeap);
- }
- else
- {
- lines.set(xmx, maxHeap);
- }
-
- int maxperm = findLine(lines, "--launcher.XXMaxPermSize");
- if (maxperm == -1)
- {
- maxperm = findLine(lines, "-vmargs");
- lines.add(maxperm, "--launcher.XXMaxPermSize");
- lines.add(maxperm + 1, "512m");
- }
- else
- {
- lines.set(maxperm + 1, "512m");
- }
-
- String ws = new File(branchFolder, "ws").getAbsolutePath();
-
- int data = findLine(lines, "-data");
- if (data == -1)
- {
- data = findLine(lines, "-vmargs");
- lines.add(data, "-data");
- lines.add(data + 1, ws);
- }
- else
- {
- lines.set(data + 1, ws);
- }
-
- if (gitPrefix.length() != 0)
- {
- gitPrefix = "-Djgit.gitprefix=" + gitPrefix;
- if (!lines.contains(gitPrefix))
- {
- lines.add(gitPrefix);
- }
- }
-
- String setupIDE = "-Dorg.eclipse.emf.cdo.releng.setup.ide=true";
- if (!lines.contains(setupIDE))
- {
- lines.add(setupIDE);
- }
-
- File projectFolder = branchFolder.getParentFile();
- String poolPath = new File(projectFolder.getParentFile(), ".p2pool-tp").getAbsolutePath();
- String bundlePool = "-Dorg.eclipse.buckminster.core.bundle.pool=" + poolPath;
- if (!lines.contains(bundlePool))
- {
- lines.add(bundlePool);
- }
- }
-
- private int findLine(List<String> lines, String search)
- {
- int index = 0;
- for (String line : lines)
- {
- if (line.contains(search))
- {
- return index;
- }
-
- ++index;
- }
-
- return -1;
- }
-
- private void launchIDE(Setup setup, File branchFolder) throws IOException
- {
- Progress.log().addLine("Launching IDE");
-
- String eclipseExecutable = OS.INSTANCE.getEclipseExecutable();
- String eclipsePath = new File(branchFolder, "eclipse/" + eclipseExecutable).getAbsolutePath();
- File ws = new File(branchFolder, "ws");
+ saveEObject(setup);
+
+ SetupTaskPerformer performer = new SetupTaskPerformer(true);
+ performer.getWorkspaceDir().mkdirs();
+ performer.perform();
+
+ // Director.from(bundlePool) //
+ // .feature("org.eclipse.egit") //
+ // .repository(EGIT_URI) //
+ // //
+ // .feature("org.eclipse.buckminster.core.feature") //
+ // .feature("org.eclipse.buckminster.git.feature") //
+ // .feature("org.eclipse.buckminster.pde.feature") //
+ // .repository(BUCKY_URI) //
+ // //
+ // .feature("org.eclipse.emf.cdo.releng.setup.ide") //
+ // .repository(RELENG_URI) //
+ // //
+ // .install(destination);
+
+ performer.log("Launching IDE");
+ String eclipseExecutable = performer.getOS().getEclipseExecutable();
+ String eclipsePath = new File(performer.getBranchDir(), "eclipse/" + eclipseExecutable).getAbsolutePath();
+ File ws = new File(performer.getBranchDir(), "ws");
ProcessBuilder builder = new ProcessBuilder(eclipsePath);
builder.directory(ws);
builder.start();
}
- private void savePreferences()
+ private void saveEObject(EObject eObject)
{
try
{
- XMLResource xmlResource = (XMLResource)preferences.eResource();
+ XMLResource xmlResource = (XMLResource)eObject.eResource();
xmlResource.getEObjectToExtensionMap().clear();
xmlResource.save(null);
}
@@ -893,6 +712,86 @@ public class SetupDialog extends TitleAreaDialog
}
}
+ // private void mangleEclipseIni(List<String> lines, File branchFolder, String gitPrefix)
+ // {
+ // String maxHeap = Platform.getOSArch().endsWith("_64") ? "-Xmx4g" : "-Xmx1g";
+ //
+ // int xmx = findLine(lines, "-Xmx");
+ // if (xmx == -1)
+ // {
+ // lines.add(maxHeap);
+ // }
+ // else
+ // {
+ // lines.set(xmx, maxHeap);
+ // }
+ //
+ // int maxperm = findLine(lines, "--launcher.XXMaxPermSize");
+ // if (maxperm == -1)
+ // {
+ // maxperm = findLine(lines, "-vmargs");
+ // lines.add(maxperm, "--launcher.XXMaxPermSize");
+ // lines.add(maxperm + 1, "512m");
+ // }
+ // else
+ // {
+ // lines.set(maxperm + 1, "512m");
+ // }
+ //
+ // String ws = new File(branchFolder, "ws").getAbsolutePath();
+ //
+ // int data = findLine(lines, "-data");
+ // if (data == -1)
+ // {
+ // data = findLine(lines, "-vmargs");
+ // lines.add(data, "-data");
+ // lines.add(data + 1, ws);
+ // }
+ // else
+ // {
+ // lines.set(data + 1, ws);
+ // }
+ //
+ // if (gitPrefix.length() != 0)
+ // {
+ // gitPrefix = "-Djgit.gitprefix=" + gitPrefix;
+ // if (!lines.contains(gitPrefix))
+ // {
+ // lines.add(gitPrefix);
+ // }
+ // }
+ //
+ // String setupIDE = "-Dorg.eclipse.emf.cdo.releng.setup.ide=true";
+ // if (!lines.contains(setupIDE))
+ // {
+ // lines.add(setupIDE);
+ // }
+ //
+ // File projectFolder = branchFolder.getParentFile();
+ // String poolPath = new File(projectFolder.getParentFile(), ".p2pool-tp").getAbsolutePath();
+ // String bundlePool = "-Dorg.eclipse.buckminster.core.bundle.pool=" + poolPath;
+ // if (!lines.contains(bundlePool))
+ // {
+ // lines.add(bundlePool);
+ // }
+ // }
+ //
+ // private int findLine(List<String> lines, String search)
+ // {
+ // int index = 0;
+ // for (String line : lines)
+ // {
+ // if (line.contains(search))
+ // {
+ // return index;
+ // }
+ //
+ // ++index;
+ // }
+ //
+ // return -1;
+ // }
+
/**
* @author Eike Stepper
*/
@@ -913,6 +812,7 @@ public class SetupDialog extends TitleAreaDialog
childrenFeatures = new ArrayList<EStructuralFeature>();
childrenFeatures.add(SetupPackage.Literals.CONFIGURATION__PROJECTS);
}
+
return childrenFeatures;
}
};
@@ -928,7 +828,6 @@ public class SetupDialog extends TitleAreaDialog
{
projectItemProvider = new ProjectItemProvider(this)
{
-
@Override
public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
{
@@ -937,6 +836,7 @@ public class SetupDialog extends TitleAreaDialog
childrenFeatures = new ArrayList<EStructuralFeature>();
childrenFeatures.add(SetupPackage.Literals.PROJECT__BRANCHES);
}
+
return childrenFeatures;
}
};
@@ -959,6 +859,7 @@ public class SetupDialog extends TitleAreaDialog
{
childrenFeatures = new ArrayList<EStructuralFeature>();
}
+
return childrenFeatures;
}
};
@@ -999,7 +900,7 @@ public class SetupDialog extends TitleAreaDialog
{
if (isInstalled(object))
{
- return getShell().getDisplay().getSystemColor(SWT.COLOR_GRAY);
+ return getShell().getDisplay().getSystemColor(SWT.COLOR_BLUE);
}
return super.getBackground(object);
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.product/src/org/eclipse/wb/swt/SWTResourceManager.java b/plugins/org.eclipse.emf.cdo.releng.setup.product/src/org/eclipse/wb/swt/SWTResourceManager.java
index 3e217255d8..3bcc1029a6 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.product/src/org/eclipse/wb/swt/SWTResourceManager.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.product/src/org/eclipse/wb/swt/SWTResourceManager.java
@@ -40,408 +40,499 @@ import java.util.Map;
* @author scheglov_ke
* @author Dan Rubel
*/
-public class SWTResourceManager {
- ////////////////////////////////////////////////////////////////////////////
- //
- // Color
- //
- ////////////////////////////////////////////////////////////////////////////
- private static Map<RGB, Color> m_colorMap = new HashMap<RGB, Color>();
- /**
- * Returns the system {@link Color} matching the specific ID.
- *
- * @param systemColorID
- * the ID value for the color
- * @return the system {@link Color} matching the specific ID
- */
- public static Color getColor(int systemColorID) {
- Display display = Display.getCurrent();
- return display.getSystemColor(systemColorID);
- }
- /**
- * Returns a {@link Color} given its red, green and blue component values.
- *
- * @param r
- * the red component of the color
- * @param g
- * the green component of the color
- * @param b
- * the blue component of the color
- * @return the {@link Color} matching the given red, green and blue component values
- */
- public static Color getColor(int r, int g, int b) {
- return getColor(new RGB(r, g, b));
- }
- /**
- * Returns a {@link Color} given its RGB value.
- *
- * @param rgb
- * the {@link RGB} value of the color
- * @return the {@link Color} matching the RGB value
- */
- public static Color getColor(RGB rgb) {
- Color color = m_colorMap.get(rgb);
- if (color == null) {
- Display display = Display.getCurrent();
- color = new Color(display, rgb);
- m_colorMap.put(rgb, color);
- }
- return color;
- }
- /**
- * Dispose of all the cached {@link Color}'s.
- */
- public static void disposeColors() {
- for (Color color : m_colorMap.values()) {
- color.dispose();
- }
- m_colorMap.clear();
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // Image
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Maps image paths to images.
- */
- private static Map<String, Image> m_imageMap = new HashMap<String, Image>();
- /**
- * Returns an {@link Image} encoded by the specified {@link InputStream}.
- *
- * @param stream
- * the {@link InputStream} encoding the image data
- * @return the {@link Image} encoded by the specified input stream
- */
- protected static Image getImage(InputStream stream) throws IOException {
- try {
- Display display = Display.getCurrent();
- ImageData data = new ImageData(stream);
- if (data.transparentPixel > 0) {
- return new Image(display, data, data.getTransparencyMask());
- }
- return new Image(display, data);
- } finally {
- stream.close();
- }
- }
- /**
- * Returns an {@link Image} stored in the file at the specified path.
- *
- * @param path
- * the path to the image file
- * @return the {@link Image} stored in the file at the specified path
- */
- public static Image getImage(String path) {
- Image image = m_imageMap.get(path);
- if (image == null) {
- try {
- image = getImage(new FileInputStream(path));
- m_imageMap.put(path, image);
- } catch (Exception e) {
- image = getMissingImage();
- m_imageMap.put(path, image);
- }
- }
- return image;
- }
- /**
- * Returns an {@link Image} stored in the file at the specified path relative to the specified class.
- *
- * @param clazz
- * the {@link Class} relative to which to find the image
- * @param path
- * the path to the image file, if starts with <code>'/'</code>
- * @return the {@link Image} stored in the file at the specified path
- */
- public static Image getImage(Class<?> clazz, String path) {
- String key = clazz.getName() + '|' + path;
- Image image = m_imageMap.get(key);
- if (image == null) {
- try {
- image = getImage(clazz.getResourceAsStream(path));
- m_imageMap.put(key, image);
- } catch (Exception e) {
- image = getMissingImage();
- m_imageMap.put(key, image);
- }
- }
- return image;
- }
- private static final int MISSING_IMAGE_SIZE = 10;
- /**
- * @return the small {@link Image} that can be used as placeholder for missing image.
- */
- private static Image getMissingImage() {
- Image image = new Image(Display.getCurrent(), MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
- //
- GC gc = new GC(image);
- gc.setBackground(getColor(SWT.COLOR_RED));
- gc.fillRectangle(0, 0, MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
- gc.dispose();
- //
- return image;
- }
- /**
- * Style constant for placing decorator image in top left corner of base image.
- */
- public static final int TOP_LEFT = 1;
- /**
- * Style constant for placing decorator image in top right corner of base image.
- */
- public static final int TOP_RIGHT = 2;
- /**
- * Style constant for placing decorator image in bottom left corner of base image.
- */
- public static final int BOTTOM_LEFT = 3;
- /**
- * Style constant for placing decorator image in bottom right corner of base image.
- */
- public static final int BOTTOM_RIGHT = 4;
- /**
- * Internal value.
- */
- protected static final int LAST_CORNER_KEY = 5;
- /**
- * Maps images to decorated images.
- */
- @SuppressWarnings("unchecked")
- private static Map<Image, Map<Image, Image>>[] m_decoratedImageMap = new Map[LAST_CORNER_KEY];
- /**
- * Returns an {@link Image} composed of a base image decorated by another image.
- *
- * @param baseImage
- * the base {@link Image} that should be decorated
- * @param decorator
- * the {@link Image} to decorate the base image
- * @return {@link Image} The resulting decorated image
- */
- public static Image decorateImage(Image baseImage, Image decorator) {
- return decorateImage(baseImage, decorator, BOTTOM_RIGHT);
- }
- /**
- * Returns an {@link Image} composed of a base image decorated by another image.
- *
- * @param baseImage
- * the base {@link Image} that should be decorated
- * @param decorator
- * the {@link Image} to decorate the base image
- * @param corner
- * the corner to place decorator image
- * @return the resulting decorated {@link Image}
- */
- public static Image decorateImage(final Image baseImage, final Image decorator, final int corner) {
- if (corner <= 0 || corner >= LAST_CORNER_KEY) {
- throw new IllegalArgumentException("Wrong decorate corner");
- }
- Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[corner];
- if (cornerDecoratedImageMap == null) {
- cornerDecoratedImageMap = new HashMap<Image, Map<Image, Image>>();
- m_decoratedImageMap[corner] = cornerDecoratedImageMap;
- }
- Map<Image, Image> decoratedMap = cornerDecoratedImageMap.get(baseImage);
- if (decoratedMap == null) {
- decoratedMap = new HashMap<Image, Image>();
- cornerDecoratedImageMap.put(baseImage, decoratedMap);
- }
- //
- Image result = decoratedMap.get(decorator);
- if (result == null) {
- Rectangle bib = baseImage.getBounds();
- Rectangle dib = decorator.getBounds();
- //
- result = new Image(Display.getCurrent(), bib.width, bib.height);
- //
- GC gc = new GC(result);
- gc.drawImage(baseImage, 0, 0);
- if (corner == TOP_LEFT) {
- gc.drawImage(decorator, 0, 0);
- } else if (corner == TOP_RIGHT) {
- gc.drawImage(decorator, bib.width - dib.width, 0);
- } else if (corner == BOTTOM_LEFT) {
- gc.drawImage(decorator, 0, bib.height - dib.height);
- } else if (corner == BOTTOM_RIGHT) {
- gc.drawImage(decorator, bib.width - dib.width, bib.height - dib.height);
- }
- gc.dispose();
- //
- decoratedMap.put(decorator, result);
- }
- return result;
- }
- /**
- * Dispose all of the cached {@link Image}'s.
- */
- public static void disposeImages() {
- // dispose loaded images
- {
- for (Image image : m_imageMap.values()) {
- image.dispose();
- }
- m_imageMap.clear();
- }
- // dispose decorated images
- for (int i = 0; i < m_decoratedImageMap.length; i++) {
- Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[i];
- if (cornerDecoratedImageMap != null) {
- for (Map<Image, Image> decoratedMap : cornerDecoratedImageMap.values()) {
- for (Image image : decoratedMap.values()) {
- image.dispose();
- }
- decoratedMap.clear();
- }
- cornerDecoratedImageMap.clear();
- }
- }
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // Font
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Maps font names to fonts.
- */
- private static Map<String, Font> m_fontMap = new HashMap<String, Font>();
- /**
- * Maps fonts to their bold versions.
- */
- private static Map<Font, Font> m_fontToBoldFontMap = new HashMap<Font, Font>();
- /**
- * Returns a {@link Font} based on its name, height and style.
- *
- * @param name
- * the name of the font
- * @param height
- * the height of the font
- * @param style
- * the style of the font
- * @return {@link Font} The font matching the name, height and style
- */
- public static Font getFont(String name, int height, int style) {
- return getFont(name, height, style, false, false);
- }
- /**
- * Returns a {@link Font} based on its name, height and style. Windows-specific strikeout and underline
- * flags are also supported.
- *
- * @param name
- * the name of the font
- * @param size
- * the size of the font
- * @param style
- * the style of the font
- * @param strikeout
- * the strikeout flag (warning: Windows only)
- * @param underline
- * the underline flag (warning: Windows only)
- * @return {@link Font} The font matching the name, height, style, strikeout and underline
- */
- public static Font getFont(String name, int size, int style, boolean strikeout, boolean underline) {
- String fontName = name + '|' + size + '|' + style + '|' + strikeout + '|' + underline;
- Font font = m_fontMap.get(fontName);
- if (font == null) {
- FontData fontData = new FontData(name, size, style);
- if (strikeout || underline) {
- try {
- Class<?> logFontClass = Class.forName("org.eclipse.swt.internal.win32.LOGFONT"); //$NON-NLS-1$
- Object logFont = FontData.class.getField("data").get(fontData); //$NON-NLS-1$
- if (logFont != null && logFontClass != null) {
- if (strikeout) {
- logFontClass.getField("lfStrikeOut").set(logFont, Byte.valueOf((byte) 1)); //$NON-NLS-1$
- }
- if (underline) {
- logFontClass.getField("lfUnderline").set(logFont, Byte.valueOf((byte) 1)); //$NON-NLS-1$
- }
- }
- } catch (Throwable e) {
- System.err.println("Unable to set underline or strikeout" + " (probably on a non-Windows platform). " + e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- font = new Font(Display.getCurrent(), fontData);
- m_fontMap.put(fontName, font);
- }
- return font;
- }
- /**
- * Returns a bold version of the given {@link Font}.
- *
- * @param baseFont
- * the {@link Font} for which a bold version is desired
- * @return the bold version of the given {@link Font}
- */
- public static Font getBoldFont(Font baseFont) {
- Font font = m_fontToBoldFontMap.get(baseFont);
- if (font == null) {
- FontData fontDatas[] = baseFont.getFontData();
- FontData data = fontDatas[0];
- font = new Font(Display.getCurrent(), data.getName(), data.getHeight(), SWT.BOLD);
- m_fontToBoldFontMap.put(baseFont, font);
- }
- return font;
- }
- /**
- * Dispose all of the cached {@link Font}'s.
- */
- public static void disposeFonts() {
- // clear fonts
- for (Font font : m_fontMap.values()) {
- font.dispose();
- }
- m_fontMap.clear();
- // clear bold fonts
- for (Font font : m_fontToBoldFontMap.values()) {
- font.dispose();
- }
- m_fontToBoldFontMap.clear();
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // Cursor
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Maps IDs to cursors.
- */
- private static Map<Integer, Cursor> m_idToCursorMap = new HashMap<Integer, Cursor>();
- /**
- * Returns the system cursor matching the specific ID.
- *
- * @param id
- * int The ID value for the cursor
- * @return Cursor The system cursor matching the specific ID
- */
- public static Cursor getCursor(int id) {
- Integer key = Integer.valueOf(id);
- Cursor cursor = m_idToCursorMap.get(key);
- if (cursor == null) {
- cursor = new Cursor(Display.getDefault(), id);
- m_idToCursorMap.put(key, cursor);
- }
- return cursor;
- }
- /**
- * Dispose all of the cached cursors.
- */
- public static void disposeCursors() {
- for (Cursor cursor : m_idToCursorMap.values()) {
- cursor.dispose();
- }
- m_idToCursorMap.clear();
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // General
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Dispose of cached objects and their underlying OS resources. This should only be called when the cached
- * objects are no longer needed (e.g. on application shutdown).
- */
- public static void dispose() {
- disposeColors();
- disposeImages();
- disposeFonts();
- disposeCursors();
- }
-} \ No newline at end of file
+public class SWTResourceManager
+{
+ // //////////////////////////////////////////////////////////////////////////
+ //
+ // Color
+ //
+ // //////////////////////////////////////////////////////////////////////////
+ private static Map<RGB, Color> m_colorMap = new HashMap<RGB, Color>();
+
+ /**
+ * Returns the system {@link Color} matching the specific ID.
+ *
+ * @param systemColorID
+ * the ID value for the color
+ * @return the system {@link Color} matching the specific ID
+ */
+ public static Color getColor(int systemColorID)
+ {
+ Display display = Display.getCurrent();
+ return display.getSystemColor(systemColorID);
+ }
+
+ /**
+ * Returns a {@link Color} given its red, green and blue component values.
+ *
+ * @param r
+ * the red component of the color
+ * @param g
+ * the green component of the color
+ * @param b
+ * the blue component of the color
+ * @return the {@link Color} matching the given red, green and blue component values
+ */
+ public static Color getColor(int r, int g, int b)
+ {
+ return getColor(new RGB(r, g, b));
+ }
+
+ /**
+ * Returns a {@link Color} given its RGB value.
+ *
+ * @param rgb
+ * the {@link RGB} value of the color
+ * @return the {@link Color} matching the RGB value
+ */
+ public static Color getColor(RGB rgb)
+ {
+ Color color = m_colorMap.get(rgb);
+ if (color == null)
+ {
+ Display display = Display.getCurrent();
+ color = new Color(display, rgb);
+ m_colorMap.put(rgb, color);
+ }
+ return color;
+ }
+
+ /**
+ * Dispose of all the cached {@link Color}'s.
+ */
+ public static void disposeColors()
+ {
+ for (Color color : m_colorMap.values())
+ {
+ color.dispose();
+ }
+ m_colorMap.clear();
+ }
+
+ // //////////////////////////////////////////////////////////////////////////
+ //
+ // Image
+ //
+ // //////////////////////////////////////////////////////////////////////////
+ /**
+ * Maps image paths to images.
+ */
+ private static Map<String, Image> m_imageMap = new HashMap<String, Image>();
+
+ /**
+ * Returns an {@link Image} encoded by the specified {@link InputStream}.
+ *
+ * @param stream
+ * the {@link InputStream} encoding the image data
+ * @return the {@link Image} encoded by the specified input stream
+ */
+ protected static Image getImage(InputStream stream) throws IOException
+ {
+ try
+ {
+ Display display = Display.getCurrent();
+ ImageData data = new ImageData(stream);
+ if (data.transparentPixel > 0)
+ {
+ return new Image(display, data, data.getTransparencyMask());
+ }
+ return new Image(display, data);
+ }
+ finally
+ {
+ stream.close();
+ }
+ }
+
+ /**
+ * Returns an {@link Image} stored in the file at the specified path.
+ *
+ * @param path
+ * the path to the image file
+ * @return the {@link Image} stored in the file at the specified path
+ */
+ public static Image getImage(String path)
+ {
+ Image image = m_imageMap.get(path);
+ if (image == null)
+ {
+ try
+ {
+ image = getImage(new FileInputStream(path));
+ m_imageMap.put(path, image);
+ }
+ catch (Exception e)
+ {
+ image = getMissingImage();
+ m_imageMap.put(path, image);
+ }
+ }
+ return image;
+ }
+
+ /**
+ * Returns an {@link Image} stored in the file at the specified path relative to the specified class.
+ *
+ * @param clazz
+ * the {@link Class} relative to which to find the image
+ * @param path
+ * the path to the image file, if starts with <code>'/'</code>
+ * @return the {@link Image} stored in the file at the specified path
+ */
+ public static Image getImage(Class<?> clazz, String path)
+ {
+ String key = clazz.getName() + '|' + path;
+ Image image = m_imageMap.get(key);
+ if (image == null)
+ {
+ try
+ {
+ image = getImage(clazz.getResourceAsStream(path));
+ m_imageMap.put(key, image);
+ }
+ catch (Exception e)
+ {
+ image = getMissingImage();
+ m_imageMap.put(key, image);
+ }
+ }
+ return image;
+ }
+
+ private static final int MISSING_IMAGE_SIZE = 10;
+
+ /**
+ * @return the small {@link Image} that can be used as placeholder for missing image.
+ */
+ private static Image getMissingImage()
+ {
+ Image image = new Image(Display.getCurrent(), MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
+ //
+ GC gc = new GC(image);
+ gc.setBackground(getColor(SWT.COLOR_RED));
+ gc.fillRectangle(0, 0, MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
+ gc.dispose();
+ //
+ return image;
+ }
+
+ /**
+ * Style constant for placing decorator image in top left corner of base image.
+ */
+ public static final int TOP_LEFT = 1;
+
+ /**
+ * Style constant for placing decorator image in top right corner of base image.
+ */
+ public static final int TOP_RIGHT = 2;
+
+ /**
+ * Style constant for placing decorator image in bottom left corner of base image.
+ */
+ public static final int BOTTOM_LEFT = 3;
+
+ /**
+ * Style constant for placing decorator image in bottom right corner of base image.
+ */
+ public static final int BOTTOM_RIGHT = 4;
+
+ /**
+ * Internal value.
+ */
+ protected static final int LAST_CORNER_KEY = 5;
+
+ /**
+ * Maps images to decorated images.
+ */
+ @SuppressWarnings("unchecked")
+ private static Map<Image, Map<Image, Image>>[] m_decoratedImageMap = new Map[LAST_CORNER_KEY];
+
+ /**
+ * Returns an {@link Image} composed of a base image decorated by another image.
+ *
+ * @param baseImage
+ * the base {@link Image} that should be decorated
+ * @param decorator
+ * the {@link Image} to decorate the base image
+ * @return {@link Image} The resulting decorated image
+ */
+ public static Image decorateImage(Image baseImage, Image decorator)
+ {
+ return decorateImage(baseImage, decorator, BOTTOM_RIGHT);
+ }
+
+ /**
+ * Returns an {@link Image} composed of a base image decorated by another image.
+ *
+ * @param baseImage
+ * the base {@link Image} that should be decorated
+ * @param decorator
+ * the {@link Image} to decorate the base image
+ * @param corner
+ * the corner to place decorator image
+ * @return the resulting decorated {@link Image}
+ */
+ public static Image decorateImage(final Image baseImage, final Image decorator, final int corner)
+ {
+ if (corner <= 0 || corner >= LAST_CORNER_KEY)
+ {
+ throw new IllegalArgumentException("Wrong decorate corner");
+ }
+ Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[corner];
+ if (cornerDecoratedImageMap == null)
+ {
+ cornerDecoratedImageMap = new HashMap<Image, Map<Image, Image>>();
+ m_decoratedImageMap[corner] = cornerDecoratedImageMap;
+ }
+ Map<Image, Image> decoratedMap = cornerDecoratedImageMap.get(baseImage);
+ if (decoratedMap == null)
+ {
+ decoratedMap = new HashMap<Image, Image>();
+ cornerDecoratedImageMap.put(baseImage, decoratedMap);
+ }
+ //
+ Image result = decoratedMap.get(decorator);
+ if (result == null)
+ {
+ Rectangle bib = baseImage.getBounds();
+ Rectangle dib = decorator.getBounds();
+ //
+ result = new Image(Display.getCurrent(), bib.width, bib.height);
+ //
+ GC gc = new GC(result);
+ gc.drawImage(baseImage, 0, 0);
+ if (corner == TOP_LEFT)
+ {
+ gc.drawImage(decorator, 0, 0);
+ }
+ else if (corner == TOP_RIGHT)
+ {
+ gc.drawImage(decorator, bib.width - dib.width, 0);
+ }
+ else if (corner == BOTTOM_LEFT)
+ {
+ gc.drawImage(decorator, 0, bib.height - dib.height);
+ }
+ else if (corner == BOTTOM_RIGHT)
+ {
+ gc.drawImage(decorator, bib.width - dib.width, bib.height - dib.height);
+ }
+ gc.dispose();
+ //
+ decoratedMap.put(decorator, result);
+ }
+ return result;
+ }
+
+ /**
+ * Dispose all of the cached {@link Image}'s.
+ */
+ public static void disposeImages()
+ {
+ // dispose loaded images
+ {
+ for (Image image : m_imageMap.values())
+ {
+ image.dispose();
+ }
+ m_imageMap.clear();
+ }
+ // dispose decorated images
+ for (int i = 0; i < m_decoratedImageMap.length; i++)
+ {
+ Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[i];
+ if (cornerDecoratedImageMap != null)
+ {
+ for (Map<Image, Image> decoratedMap : cornerDecoratedImageMap.values())
+ {
+ for (Image image : decoratedMap.values())
+ {
+ image.dispose();
+ }
+ decoratedMap.clear();
+ }
+ cornerDecoratedImageMap.clear();
+ }
+ }
+ }
+
+ // //////////////////////////////////////////////////////////////////////////
+ //
+ // Font
+ //
+ // //////////////////////////////////////////////////////////////////////////
+ /**
+ * Maps font names to fonts.
+ */
+ private static Map<String, Font> m_fontMap = new HashMap<String, Font>();
+
+ /**
+ * Maps fonts to their bold versions.
+ */
+ private static Map<Font, Font> m_fontToBoldFontMap = new HashMap<Font, Font>();
+
+ /**
+ * Returns a {@link Font} based on its name, height and style.
+ *
+ * @param name
+ * the name of the font
+ * @param height
+ * the height of the font
+ * @param style
+ * the style of the font
+ * @return {@link Font} The font matching the name, height and style
+ */
+ public static Font getFont(String name, int height, int style)
+ {
+ return getFont(name, height, style, false, false);
+ }
+
+ /**
+ * Returns a {@link Font} based on its name, height and style. Windows-specific strikeout and underline
+ * flags are also supported.
+ *
+ * @param name
+ * the name of the font
+ * @param size
+ * the size of the font
+ * @param style
+ * the style of the font
+ * @param strikeout
+ * the strikeout flag (warning: Windows only)
+ * @param underline
+ * the underline flag (warning: Windows only)
+ * @return {@link Font} The font matching the name, height, style, strikeout and underline
+ */
+ public static Font getFont(String name, int size, int style, boolean strikeout, boolean underline)
+ {
+ String fontName = name + '|' + size + '|' + style + '|' + strikeout + '|' + underline;
+ Font font = m_fontMap.get(fontName);
+ if (font == null)
+ {
+ FontData fontData = new FontData(name, size, style);
+ if (strikeout || underline)
+ {
+ try
+ {
+ Class<?> logFontClass = Class.forName("org.eclipse.swt.internal.win32.LOGFONT"); //$NON-NLS-1$
+ Object logFont = FontData.class.getField("data").get(fontData); //$NON-NLS-1$
+ if (logFont != null && logFontClass != null)
+ {
+ if (strikeout)
+ {
+ logFontClass.getField("lfStrikeOut").set(logFont, Byte.valueOf((byte)1)); //$NON-NLS-1$
+ }
+ if (underline)
+ {
+ logFontClass.getField("lfUnderline").set(logFont, Byte.valueOf((byte)1)); //$NON-NLS-1$
+ }
+ }
+ }
+ catch (Throwable e)
+ {
+ System.err.println("Unable to set underline or strikeout" + " (probably on a non-Windows platform). " + e); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+ font = new Font(Display.getCurrent(), fontData);
+ m_fontMap.put(fontName, font);
+ }
+ return font;
+ }
+
+ /**
+ * Returns a bold version of the given {@link Font}.
+ *
+ * @param baseFont
+ * the {@link Font} for which a bold version is desired
+ * @return the bold version of the given {@link Font}
+ */
+ public static Font getBoldFont(Font baseFont)
+ {
+ Font font = m_fontToBoldFontMap.get(baseFont);
+ if (font == null)
+ {
+ FontData fontDatas[] = baseFont.getFontData();
+ FontData data = fontDatas[0];
+ font = new Font(Display.getCurrent(), data.getName(), data.getHeight(), SWT.BOLD);
+ m_fontToBoldFontMap.put(baseFont, font);
+ }
+ return font;
+ }
+
+ /**
+ * Dispose all of the cached {@link Font}'s.
+ */
+ public static void disposeFonts()
+ {
+ // clear fonts
+ for (Font font : m_fontMap.values())
+ {
+ font.dispose();
+ }
+ m_fontMap.clear();
+ // clear bold fonts
+ for (Font font : m_fontToBoldFontMap.values())
+ {
+ font.dispose();
+ }
+ m_fontToBoldFontMap.clear();
+ }
+
+ // //////////////////////////////////////////////////////////////////////////
+ //
+ // Cursor
+ //
+ // //////////////////////////////////////////////////////////////////////////
+ /**
+ * Maps IDs to cursors.
+ */
+ private static Map<Integer, Cursor> m_idToCursorMap = new HashMap<Integer, Cursor>();
+
+ /**
+ * Returns the system cursor matching the specific ID.
+ *
+ * @param id
+ * int The ID value for the cursor
+ * @return Cursor The system cursor matching the specific ID
+ */
+ public static Cursor getCursor(int id)
+ {
+ Integer key = Integer.valueOf(id);
+ Cursor cursor = m_idToCursorMap.get(key);
+ if (cursor == null)
+ {
+ cursor = new Cursor(Display.getDefault(), id);
+ m_idToCursorMap.put(key, cursor);
+ }
+ return cursor;
+ }
+
+ /**
+ * Dispose all of the cached cursors.
+ */
+ public static void disposeCursors()
+ {
+ for (Cursor cursor : m_idToCursorMap.values())
+ {
+ cursor.dispose();
+ }
+ m_idToCursorMap.clear();
+ }
+
+ // //////////////////////////////////////////////////////////////////////////
+ //
+ // General
+ //
+ // //////////////////////////////////////////////////////////////////////////
+ /**
+ * Dispose of cached objects and their underlying OS resources. This should only be called when the cached
+ * objects are no longer needed (e.g. on application shutdown).
+ */
+ public static void dispose()
+ {
+ disposeColors();
+ disposeImages();
+ disposeFonts();
+ disposeCursors();
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/emf/cdo/releng/setup/ui/ProgressLogDialog.java b/plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/emf/cdo/releng/setup/ui/ProgressLogDialog.java
index 5afc52299b..ba13de2bfd 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/emf/cdo/releng/setup/ui/ProgressLogDialog.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/emf/cdo/releng/setup/ui/ProgressLogDialog.java
@@ -10,9 +10,9 @@
*/
package org.eclipse.emf.cdo.releng.setup.ui;
-import org.eclipse.emf.cdo.releng.setup.helper.Progress;
-import org.eclipse.emf.cdo.releng.setup.helper.ProgressLog;
-import org.eclipse.emf.cdo.releng.setup.helper.ProgressLogRunnable;
+import org.eclipse.emf.cdo.releng.internal.setup.SetupTaskPerformer;
+import org.eclipse.emf.cdo.releng.setup.util.log.ProgressLog;
+import org.eclipse.emf.cdo.releng.setup.util.log.ProgressLogRunnable;
import org.eclipse.net4j.util.io.IOUtil;
@@ -133,13 +133,13 @@ public class ProgressLogDialog extends TitleAreaDialog implements ProgressLog
public synchronized void create()
{
super.create();
- Progress.set(this);
+ SetupTaskPerformer.setProgress(this);
}
@Override
public boolean close()
{
- Progress.set(null);
+ SetupTaskPerformer.setProgress(null);
if (logStream != null)
{
@@ -167,7 +167,7 @@ public class ProgressLogDialog extends TitleAreaDialog implements ProgressLog
return cancelled;
}
- public void addLine(String line)
+ public void log(String line)
{
if (isCancelled())
{
@@ -294,20 +294,20 @@ public class ProgressLogDialog extends TitleAreaDialog implements ProgressLog
try
{
- dialog.addLine(jobName);
+ dialog.log(jobName);
restart[0] = runnable.run(dialog);
}
catch (Exception ex)
{
Activator.log(ex);
- dialog.addLine("An error occured: " + ex.getMessage());
- dialog.addLine("The Error Log contains more infos...");
+ dialog.log("An error occured: " + ex.getMessage());
+ dialog.log("The Error Log contains more infos...");
}
finally
{
long seconds = (System.currentTimeMillis() - start) / 1000;
- dialog.addLine("Took " + seconds + " seconds.");
- dialog.addLine("Press OK to close the dialog" + (restart[0] ? " and restart Eclipse" : "") + "...");
+ dialog.log("Took " + seconds + " seconds.");
+ dialog.log("Press OK to close the dialog" + (restart[0] ? " and restart Eclipse" : "") + "...");
dialog.setFinished();
}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/wb/swt/ResourceManager.java b/plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/wb/swt/ResourceManager.java
index c1bfc8b578..42b9dc18f4 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/wb/swt/ResourceManager.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/wb/swt/ResourceManager.java
@@ -10,6 +10,15 @@
*******************************************************************************/
package org.eclipse.wb.swt;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.resource.CompositeImageDescriptor;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
+
+import org.osgi.framework.Bundle;
+
import java.io.File;
import java.io.InputStream;
import java.lang.reflect.Constructor;
@@ -20,14 +29,6 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.osgi.framework.Bundle;
-
/**
* Utility class for managing OS resources associated with SWT/JFace controls such as colors, fonts, images,
* etc.
@@ -42,374 +43,469 @@ import org.osgi.framework.Bundle;
* @author scheglov_ke
* @author Dan Rubel
*/
-public class ResourceManager extends SWTResourceManager {
- ////////////////////////////////////////////////////////////////////////////
- //
- // Image
- //
- ////////////////////////////////////////////////////////////////////////////
- private static Map<ImageDescriptor, Image> m_descriptorImageMap = new HashMap<ImageDescriptor, Image>();
- /**
- * Returns an {@link ImageDescriptor} stored in the file at the specified path relative to the specified
- * class.
- *
- * @param clazz
- * the {@link Class} relative to which to find the image descriptor.
- * @param path
- * the path to the image file.
- * @return the {@link ImageDescriptor} stored in the file at the specified path.
- */
- public static ImageDescriptor getImageDescriptor(Class<?> clazz, String path) {
- return ImageDescriptor.createFromFile(clazz, path);
- }
- /**
- * Returns an {@link ImageDescriptor} stored in the file at the specified path.
- *
- * @param path
- * the path to the image file.
- * @return the {@link ImageDescriptor} stored in the file at the specified path.
- */
- public static ImageDescriptor getImageDescriptor(String path) {
- try {
- return ImageDescriptor.createFromURL(new File(path).toURI().toURL());
- } catch (MalformedURLException e) {
- return null;
- }
- }
- /**
- * Returns an {@link Image} based on the specified {@link ImageDescriptor}.
- *
- * @param descriptor
- * the {@link ImageDescriptor} for the {@link Image}.
- * @return the {@link Image} based on the specified {@link ImageDescriptor}.
- */
- public static Image getImage(ImageDescriptor descriptor) {
- if (descriptor == null) {
- return null;
- }
- Image image = m_descriptorImageMap.get(descriptor);
- if (image == null) {
- image = descriptor.createImage();
- m_descriptorImageMap.put(descriptor, image);
- }
- return image;
- }
- /**
- * Maps images to decorated images.
- */
- @SuppressWarnings("unchecked")
- private static Map<Image, Map<Image, Image>>[] m_decoratedImageMap = new Map[LAST_CORNER_KEY];
- /**
- * Returns an {@link Image} composed of a base image decorated by another image.
- *
- * @param baseImage
- * the base {@link Image} that should be decorated.
- * @param decorator
- * the {@link Image} to decorate the base image.
- * @return {@link Image} The resulting decorated image.
- */
- public static Image decorateImage(Image baseImage, Image decorator) {
- return decorateImage(baseImage, decorator, BOTTOM_RIGHT);
- }
- /**
- * Returns an {@link Image} composed of a base image decorated by another image.
- *
- * @param baseImage
- * the base {@link Image} that should be decorated.
- * @param decorator
- * the {@link Image} to decorate the base image.
- * @param corner
- * the corner to place decorator image.
- * @return the resulting decorated {@link Image}.
- */
- public static Image decorateImage(final Image baseImage, final Image decorator, final int corner) {
- if (corner <= 0 || corner >= LAST_CORNER_KEY) {
- throw new IllegalArgumentException("Wrong decorate corner");
- }
- Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[corner];
- if (cornerDecoratedImageMap == null) {
- cornerDecoratedImageMap = new HashMap<Image, Map<Image, Image>>();
- m_decoratedImageMap[corner] = cornerDecoratedImageMap;
- }
- Map<Image, Image> decoratedMap = cornerDecoratedImageMap.get(baseImage);
- if (decoratedMap == null) {
- decoratedMap = new HashMap<Image, Image>();
- cornerDecoratedImageMap.put(baseImage, decoratedMap);
- }
- //
- Image result = decoratedMap.get(decorator);
- if (result == null) {
- final Rectangle bib = baseImage.getBounds();
- final Rectangle dib = decorator.getBounds();
- final Point baseImageSize = new Point(bib.width, bib.height);
- CompositeImageDescriptor compositImageDesc = new CompositeImageDescriptor() {
- @Override
- protected void drawCompositeImage(int width, int height) {
- drawImage(baseImage.getImageData(), 0, 0);
- if (corner == TOP_LEFT) {
- drawImage(decorator.getImageData(), 0, 0);
- } else if (corner == TOP_RIGHT) {
- drawImage(decorator.getImageData(), bib.width - dib.width, 0);
- } else if (corner == BOTTOM_LEFT) {
- drawImage(decorator.getImageData(), 0, bib.height - dib.height);
- } else if (corner == BOTTOM_RIGHT) {
- drawImage(decorator.getImageData(), bib.width - dib.width, bib.height - dib.height);
- }
- }
- @Override
- protected Point getSize() {
- return baseImageSize;
- }
- };
- //
- result = compositImageDesc.createImage();
- decoratedMap.put(decorator, result);
- }
- return result;
- }
- /**
- * Dispose all of the cached images.
- */
- public static void disposeImages() {
- SWTResourceManager.disposeImages();
- // dispose ImageDescriptor images
- {
- for (Iterator<Image> I = m_descriptorImageMap.values().iterator(); I.hasNext();) {
- I.next().dispose();
- }
- m_descriptorImageMap.clear();
- }
- // dispose decorated images
- for (int i = 0; i < m_decoratedImageMap.length; i++) {
- Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[i];
- if (cornerDecoratedImageMap != null) {
- for (Map<Image, Image> decoratedMap : cornerDecoratedImageMap.values()) {
- for (Image image : decoratedMap.values()) {
- image.dispose();
- }
- decoratedMap.clear();
- }
- cornerDecoratedImageMap.clear();
- }
- }
- // dispose plugin images
- {
- for (Iterator<Image> I = m_URLImageMap.values().iterator(); I.hasNext();) {
- I.next().dispose();
- }
- m_URLImageMap.clear();
- }
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // Plugin images support
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Maps URL to images.
- */
- private static Map<String, Image> m_URLImageMap = new HashMap<String, Image>();
- /**
- * Provider for plugin resources, used by WindowBuilder at design time.
- */
- public interface PluginResourceProvider {
- URL getEntry(String symbolicName, String path);
- }
- /**
- * Instance of {@link PluginResourceProvider}, used by WindowBuilder at design time.
- */
- private static PluginResourceProvider m_designTimePluginResourceProvider = null;
- /**
- * Returns an {@link Image} based on a plugin and file path.
- *
- * @param plugin
- * the plugin {@link Object} containing the image
- * @param name
- * the path to the image within the plugin
- * @return the {@link Image} stored in the file at the specified path
- *
- * @deprecated Use {@link #getPluginImage(String, String)} instead.
- */
- @Deprecated
- public static Image getPluginImage(Object plugin, String name) {
- try {
- URL url = getPluginImageURL(plugin, name);
- if (url != null) {
- return getPluginImageFromUrl(url);
- }
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- return null;
- }
- /**
- * Returns an {@link Image} based on a {@link Bundle} and resource entry path.
- *
- * @param symbolicName
- * the symbolic name of the {@link Bundle}.
- * @param path
- * the path of the resource entry.
- * @return the {@link Image} stored in the file at the specified path.
- */
- public static Image getPluginImage(String symbolicName, String path) {
- try {
- URL url = getPluginImageURL(symbolicName, path);
- if (url != null) {
- return getPluginImageFromUrl(url);
- }
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- return null;
- }
- /**
- * Returns an {@link Image} based on given {@link URL}.
- */
- private static Image getPluginImageFromUrl(URL url) {
- try {
- try {
- String key = url.toExternalForm();
- Image image = m_URLImageMap.get(key);
- if (image == null) {
- InputStream stream = url.openStream();
- try {
- image = getImage(stream);
- m_URLImageMap.put(key, image);
- } finally {
- stream.close();
- }
- }
- return image;
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- return null;
- }
- /**
- * Returns an {@link ImageDescriptor} based on a plugin and file path.
- *
- * @param plugin
- * the plugin {@link Object} containing the image.
- * @param name
- * the path to th eimage within the plugin.
- * @return the {@link ImageDescriptor} stored in the file at the specified path.
- *
- * @deprecated Use {@link #getPluginImageDescriptor(String, String)} instead.
- */
- @Deprecated
- public static ImageDescriptor getPluginImageDescriptor(Object plugin, String name) {
- try {
- try {
- URL url = getPluginImageURL(plugin, name);
- return ImageDescriptor.createFromURL(url);
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- return null;
- }
- /**
- * Returns an {@link ImageDescriptor} based on a {@link Bundle} and resource entry path.
- *
- * @param symbolicName
- * the symbolic name of the {@link Bundle}.
- * @param path
- * the path of the resource entry.
- * @return the {@link ImageDescriptor} based on a {@link Bundle} and resource entry path.
- */
- public static ImageDescriptor getPluginImageDescriptor(String symbolicName, String path) {
- try {
- URL url = getPluginImageURL(symbolicName, path);
- if (url != null) {
- return ImageDescriptor.createFromURL(url);
- }
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- return null;
- }
- /**
- * Returns an {@link URL} based on a {@link Bundle} and resource entry path.
- */
- private static URL getPluginImageURL(String symbolicName, String path) {
- // try runtime plugins
- {
- Bundle bundle = Platform.getBundle(symbolicName);
- if (bundle != null) {
- return bundle.getEntry(path);
- }
- }
- // try design time provider
- if (m_designTimePluginResourceProvider != null) {
- return m_designTimePluginResourceProvider.getEntry(symbolicName, path);
- }
- // no such resource
- return null;
- }
- /**
- * Returns an {@link URL} based on a plugin and file path.
- *
- * @param plugin
- * the plugin {@link Object} containing the file path.
- * @param name
- * the file path.
- * @return the {@link URL} representing the file at the specified path.
- * @throws Exception
- */
- private static URL getPluginImageURL(Object plugin, String name) throws Exception {
- // try to work with 'plugin' as with OSGI BundleContext
- try {
- Class<?> BundleClass = Class.forName("org.osgi.framework.Bundle"); //$NON-NLS-1$
- Class<?> BundleContextClass = Class.forName("org.osgi.framework.BundleContext"); //$NON-NLS-1$
- if (BundleContextClass.isAssignableFrom(plugin.getClass())) {
- Method getBundleMethod = BundleContextClass.getMethod("getBundle", new Class[0]); //$NON-NLS-1$
- Object bundle = getBundleMethod.invoke(plugin, new Object[0]);
- //
- Class<?> PathClass = Class.forName("org.eclipse.core.runtime.Path"); //$NON-NLS-1$
- Constructor<?> pathConstructor = PathClass.getConstructor(new Class[]{String.class});
- Object path = pathConstructor.newInstance(new Object[]{name});
- //
- Class<?> IPathClass = Class.forName("org.eclipse.core.runtime.IPath"); //$NON-NLS-1$
- Class<?> PlatformClass = Class.forName("org.eclipse.core.runtime.Platform"); //$NON-NLS-1$
- Method findMethod = PlatformClass.getMethod("find", new Class[]{BundleClass, IPathClass}); //$NON-NLS-1$
- return (URL) findMethod.invoke(null, new Object[]{bundle, path});
- }
- } catch (Throwable e) {
- // Ignore any exceptions
- }
- // else work with 'plugin' as with usual Eclipse plugin
- {
- Class<?> PluginClass = Class.forName("org.eclipse.core.runtime.Plugin"); //$NON-NLS-1$
- if (PluginClass.isAssignableFrom(plugin.getClass())) {
- //
- Class<?> PathClass = Class.forName("org.eclipse.core.runtime.Path"); //$NON-NLS-1$
- Constructor<?> pathConstructor = PathClass.getConstructor(new Class[]{String.class});
- Object path = pathConstructor.newInstance(new Object[]{name});
- //
- Class<?> IPathClass = Class.forName("org.eclipse.core.runtime.IPath"); //$NON-NLS-1$
- Method findMethod = PluginClass.getMethod("find", new Class[]{IPathClass}); //$NON-NLS-1$
- return (URL) findMethod.invoke(plugin, new Object[]{path});
- }
- }
- return null;
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // General
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Dispose of cached objects and their underlying OS resources. This should only be called when the cached
- * objects are no longer needed (e.g. on application shutdown).
- */
- public static void dispose() {
- disposeColors();
- disposeFonts();
- disposeImages();
- }
-} \ No newline at end of file
+public class ResourceManager extends SWTResourceManager
+{
+ // //////////////////////////////////////////////////////////////////////////
+ //
+ // Image
+ //
+ // //////////////////////////////////////////////////////////////////////////
+ private static Map<ImageDescriptor, Image> m_descriptorImageMap = new HashMap<ImageDescriptor, Image>();
+
+ /**
+ * Returns an {@link ImageDescriptor} stored in the file at the specified path relative to the specified
+ * class.
+ *
+ * @param clazz
+ * the {@link Class} relative to which to find the image descriptor.
+ * @param path
+ * the path to the image file.
+ * @return the {@link ImageDescriptor} stored in the file at the specified path.
+ */
+ public static ImageDescriptor getImageDescriptor(Class<?> clazz, String path)
+ {
+ return ImageDescriptor.createFromFile(clazz, path);
+ }
+
+ /**
+ * Returns an {@link ImageDescriptor} stored in the file at the specified path.
+ *
+ * @param path
+ * the path to the image file.
+ * @return the {@link ImageDescriptor} stored in the file at the specified path.
+ */
+ public static ImageDescriptor getImageDescriptor(String path)
+ {
+ try
+ {
+ return ImageDescriptor.createFromURL(new File(path).toURI().toURL());
+ }
+ catch (MalformedURLException e)
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Returns an {@link Image} based on the specified {@link ImageDescriptor}.
+ *
+ * @param descriptor
+ * the {@link ImageDescriptor} for the {@link Image}.
+ * @return the {@link Image} based on the specified {@link ImageDescriptor}.
+ */
+ public static Image getImage(ImageDescriptor descriptor)
+ {
+ if (descriptor == null)
+ {
+ return null;
+ }
+ Image image = m_descriptorImageMap.get(descriptor);
+ if (image == null)
+ {
+ image = descriptor.createImage();
+ m_descriptorImageMap.put(descriptor, image);
+ }
+ return image;
+ }
+
+ /**
+ * Maps images to decorated images.
+ */
+ @SuppressWarnings("unchecked")
+ private static Map<Image, Map<Image, Image>>[] m_decoratedImageMap = new Map[LAST_CORNER_KEY];
+
+ /**
+ * Returns an {@link Image} composed of a base image decorated by another image.
+ *
+ * @param baseImage
+ * the base {@link Image} that should be decorated.
+ * @param decorator
+ * the {@link Image} to decorate the base image.
+ * @return {@link Image} The resulting decorated image.
+ */
+ public static Image decorateImage(Image baseImage, Image decorator)
+ {
+ return decorateImage(baseImage, decorator, BOTTOM_RIGHT);
+ }
+
+ /**
+ * Returns an {@link Image} composed of a base image decorated by another image.
+ *
+ * @param baseImage
+ * the base {@link Image} that should be decorated.
+ * @param decorator
+ * the {@link Image} to decorate the base image.
+ * @param corner
+ * the corner to place decorator image.
+ * @return the resulting decorated {@link Image}.
+ */
+ public static Image decorateImage(final Image baseImage, final Image decorator, final int corner)
+ {
+ if (corner <= 0 || corner >= LAST_CORNER_KEY)
+ {
+ throw new IllegalArgumentException("Wrong decorate corner");
+ }
+ Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[corner];
+ if (cornerDecoratedImageMap == null)
+ {
+ cornerDecoratedImageMap = new HashMap<Image, Map<Image, Image>>();
+ m_decoratedImageMap[corner] = cornerDecoratedImageMap;
+ }
+ Map<Image, Image> decoratedMap = cornerDecoratedImageMap.get(baseImage);
+ if (decoratedMap == null)
+ {
+ decoratedMap = new HashMap<Image, Image>();
+ cornerDecoratedImageMap.put(baseImage, decoratedMap);
+ }
+ //
+ Image result = decoratedMap.get(decorator);
+ if (result == null)
+ {
+ final Rectangle bib = baseImage.getBounds();
+ final Rectangle dib = decorator.getBounds();
+ final Point baseImageSize = new Point(bib.width, bib.height);
+ CompositeImageDescriptor compositImageDesc = new CompositeImageDescriptor()
+ {
+ @Override
+ protected void drawCompositeImage(int width, int height)
+ {
+ drawImage(baseImage.getImageData(), 0, 0);
+ if (corner == TOP_LEFT)
+ {
+ drawImage(decorator.getImageData(), 0, 0);
+ }
+ else if (corner == TOP_RIGHT)
+ {
+ drawImage(decorator.getImageData(), bib.width - dib.width, 0);
+ }
+ else if (corner == BOTTOM_LEFT)
+ {
+ drawImage(decorator.getImageData(), 0, bib.height - dib.height);
+ }
+ else if (corner == BOTTOM_RIGHT)
+ {
+ drawImage(decorator.getImageData(), bib.width - dib.width, bib.height - dib.height);
+ }
+ }
+
+ @Override
+ protected Point getSize()
+ {
+ return baseImageSize;
+ }
+ };
+ //
+ result = compositImageDesc.createImage();
+ decoratedMap.put(decorator, result);
+ }
+ return result;
+ }
+
+ /**
+ * Dispose all of the cached images.
+ */
+ public static void disposeImages()
+ {
+ SWTResourceManager.disposeImages();
+ // dispose ImageDescriptor images
+ {
+ for (Iterator<Image> I = m_descriptorImageMap.values().iterator(); I.hasNext();)
+ {
+ I.next().dispose();
+ }
+ m_descriptorImageMap.clear();
+ }
+ // dispose decorated images
+ for (int i = 0; i < m_decoratedImageMap.length; i++)
+ {
+ Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[i];
+ if (cornerDecoratedImageMap != null)
+ {
+ for (Map<Image, Image> decoratedMap : cornerDecoratedImageMap.values())
+ {
+ for (Image image : decoratedMap.values())
+ {
+ image.dispose();
+ }
+ decoratedMap.clear();
+ }
+ cornerDecoratedImageMap.clear();
+ }
+ }
+ // dispose plugin images
+ {
+ for (Iterator<Image> I = m_URLImageMap.values().iterator(); I.hasNext();)
+ {
+ I.next().dispose();
+ }
+ m_URLImageMap.clear();
+ }
+ }
+
+ // //////////////////////////////////////////////////////////////////////////
+ //
+ // Plugin images support
+ //
+ // //////////////////////////////////////////////////////////////////////////
+ /**
+ * Maps URL to images.
+ */
+ private static Map<String, Image> m_URLImageMap = new HashMap<String, Image>();
+
+ /**
+ * Provider for plugin resources, used by WindowBuilder at design time.
+ */
+ public interface PluginResourceProvider
+ {
+ URL getEntry(String symbolicName, String path);
+ }
+
+ /**
+ * Instance of {@link PluginResourceProvider}, used by WindowBuilder at design time.
+ */
+ private static PluginResourceProvider m_designTimePluginResourceProvider = null;
+
+ /**
+ * Returns an {@link Image} based on a plugin and file path.
+ *
+ * @param plugin
+ * the plugin {@link Object} containing the image
+ * @param name
+ * the path to the image within the plugin
+ * @return the {@link Image} stored in the file at the specified path
+ *
+ * @deprecated Use {@link #getPluginImage(String, String)} instead.
+ */
+ @Deprecated
+ public static Image getPluginImage(Object plugin, String name)
+ {
+ try
+ {
+ URL url = getPluginImageURL(plugin, name);
+ if (url != null)
+ {
+ return getPluginImageFromUrl(url);
+ }
+ }
+ catch (Throwable e)
+ {
+ // Ignore any exceptions
+ }
+ return null;
+ }
+
+ /**
+ * Returns an {@link Image} based on a {@link Bundle} and resource entry path.
+ *
+ * @param symbolicName
+ * the symbolic name of the {@link Bundle}.
+ * @param path
+ * the path of the resource entry.
+ * @return the {@link Image} stored in the file at the specified path.
+ */
+ public static Image getPluginImage(String symbolicName, String path)
+ {
+ try
+ {
+ URL url = getPluginImageURL(symbolicName, path);
+ if (url != null)
+ {
+ return getPluginImageFromUrl(url);
+ }
+ }
+ catch (Throwable e)
+ {
+ // Ignore any exceptions
+ }
+ return null;
+ }
+
+ /**
+ * Returns an {@link Image} based on given {@link URL}.
+ */
+ private static Image getPluginImageFromUrl(URL url)
+ {
+ try
+ {
+ try
+ {
+ String key = url.toExternalForm();
+ Image image = m_URLImageMap.get(key);
+ if (image == null)
+ {
+ InputStream stream = url.openStream();
+ try
+ {
+ image = getImage(stream);
+ m_URLImageMap.put(key, image);
+ }
+ finally
+ {
+ stream.close();
+ }
+ }
+ return image;
+ }
+ catch (Throwable e)
+ {
+ // Ignore any exceptions
+ }
+ }
+ catch (Throwable e)
+ {
+ // Ignore any exceptions
+ }
+ return null;
+ }
+
+ /**
+ * Returns an {@link ImageDescriptor} based on a plugin and file path.
+ *
+ * @param plugin
+ * the plugin {@link Object} containing the image.
+ * @param name
+ * the path to th eimage within the plugin.
+ * @return the {@link ImageDescriptor} stored in the file at the specified path.
+ *
+ * @deprecated Use {@link #getPluginImageDescriptor(String, String)} instead.
+ */
+ @Deprecated
+ public static ImageDescriptor getPluginImageDescriptor(Object plugin, String name)
+ {
+ try
+ {
+ try
+ {
+ URL url = getPluginImageURL(plugin, name);
+ return ImageDescriptor.createFromURL(url);
+ }
+ catch (Throwable e)
+ {
+ // Ignore any exceptions
+ }
+ }
+ catch (Throwable e)
+ {
+ // Ignore any exceptions
+ }
+ return null;
+ }
+
+ /**
+ * Returns an {@link ImageDescriptor} based on a {@link Bundle} and resource entry path.
+ *
+ * @param symbolicName
+ * the symbolic name of the {@link Bundle}.
+ * @param path
+ * the path of the resource entry.
+ * @return the {@link ImageDescriptor} based on a {@link Bundle} and resource entry path.
+ */
+ public static ImageDescriptor getPluginImageDescriptor(String symbolicName, String path)
+ {
+ try
+ {
+ URL url = getPluginImageURL(symbolicName, path);
+ if (url != null)
+ {
+ return ImageDescriptor.createFromURL(url);
+ }
+ }
+ catch (Throwable e)
+ {
+ // Ignore any exceptions
+ }
+ return null;
+ }
+
+ /**
+ * Returns an {@link URL} based on a {@link Bundle} and resource entry path.
+ */
+ private static URL getPluginImageURL(String symbolicName, String path)
+ {
+ // try runtime plugins
+ {
+ Bundle bundle = Platform.getBundle(symbolicName);
+ if (bundle != null)
+ {
+ return bundle.getEntry(path);
+ }
+ }
+ // try design time provider
+ if (m_designTimePluginResourceProvider != null)
+ {
+ return m_designTimePluginResourceProvider.getEntry(symbolicName, path);
+ }
+ // no such resource
+ return null;
+ }
+
+ /**
+ * Returns an {@link URL} based on a plugin and file path.
+ *
+ * @param plugin
+ * the plugin {@link Object} containing the file path.
+ * @param name
+ * the file path.
+ * @return the {@link URL} representing the file at the specified path.
+ * @throws Exception
+ */
+ private static URL getPluginImageURL(Object plugin, String name) throws Exception
+ {
+ // try to work with 'plugin' as with OSGI BundleContext
+ try
+ {
+ Class<?> BundleClass = Class.forName("org.osgi.framework.Bundle"); //$NON-NLS-1$
+ Class<?> BundleContextClass = Class.forName("org.osgi.framework.BundleContext"); //$NON-NLS-1$
+ if (BundleContextClass.isAssignableFrom(plugin.getClass()))
+ {
+ Method getBundleMethod = BundleContextClass.getMethod("getBundle", new Class[0]); //$NON-NLS-1$
+ Object bundle = getBundleMethod.invoke(plugin, new Object[0]);
+ //
+ Class<?> PathClass = Class.forName("org.eclipse.core.runtime.Path"); //$NON-NLS-1$
+ Constructor<?> pathConstructor = PathClass.getConstructor(new Class[] { String.class });
+ Object path = pathConstructor.newInstance(new Object[] { name });
+ //
+ Class<?> IPathClass = Class.forName("org.eclipse.core.runtime.IPath"); //$NON-NLS-1$
+ Class<?> PlatformClass = Class.forName("org.eclipse.core.runtime.Platform"); //$NON-NLS-1$
+ Method findMethod = PlatformClass.getMethod("find", new Class[] { BundleClass, IPathClass }); //$NON-NLS-1$
+ return (URL)findMethod.invoke(null, new Object[] { bundle, path });
+ }
+ }
+ catch (Throwable e)
+ {
+ // Ignore any exceptions
+ }
+ // else work with 'plugin' as with usual Eclipse plugin
+ {
+ Class<?> PluginClass = Class.forName("org.eclipse.core.runtime.Plugin"); //$NON-NLS-1$
+ if (PluginClass.isAssignableFrom(plugin.getClass()))
+ {
+ //
+ Class<?> PathClass = Class.forName("org.eclipse.core.runtime.Path"); //$NON-NLS-1$
+ Constructor<?> pathConstructor = PathClass.getConstructor(new Class[] { String.class });
+ Object path = pathConstructor.newInstance(new Object[] { name });
+ //
+ Class<?> IPathClass = Class.forName("org.eclipse.core.runtime.IPath"); //$NON-NLS-1$
+ Method findMethod = PluginClass.getMethod("find", new Class[] { IPathClass }); //$NON-NLS-1$
+ return (URL)findMethod.invoke(plugin, new Object[] { path });
+ }
+ }
+ return null;
+ }
+
+ // //////////////////////////////////////////////////////////////////////////
+ //
+ // General
+ //
+ // //////////////////////////////////////////////////////////////////////////
+ /**
+ * Dispose of cached objects and their underlying OS resources. This should only be called when the cached
+ * objects are no longer needed (e.g. on application shutdown).
+ */
+ public static void dispose()
+ {
+ disposeColors();
+ disposeFonts();
+ disposeImages();
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/wb/swt/SWTResourceManager.java b/plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/wb/swt/SWTResourceManager.java
index d8a285807a..3bcc1029a6 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/wb/swt/SWTResourceManager.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup.ui/src/org/eclipse/wb/swt/SWTResourceManager.java
@@ -10,12 +10,6 @@
*******************************************************************************/
package org.eclipse.wb.swt;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Cursor;
@@ -28,6 +22,12 @@ import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Display;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Map;
+
/**
* Utility class for managing OS resources associated with SWT controls such as colors, fonts, images, etc.
* <p>
@@ -40,408 +40,499 @@ import org.eclipse.swt.widgets.Display;
* @author scheglov_ke
* @author Dan Rubel
*/
-public class SWTResourceManager {
- ////////////////////////////////////////////////////////////////////////////
- //
- // Color
- //
- ////////////////////////////////////////////////////////////////////////////
- private static Map<RGB, Color> m_colorMap = new HashMap<RGB, Color>();
- /**
- * Returns the system {@link Color} matching the specific ID.
- *
- * @param systemColorID
- * the ID value for the color
- * @return the system {@link Color} matching the specific ID
- */
- public static Color getColor(int systemColorID) {
- Display display = Display.getCurrent();
- return display.getSystemColor(systemColorID);
- }
- /**
- * Returns a {@link Color} given its red, green and blue component values.
- *
- * @param r
- * the red component of the color
- * @param g
- * the green component of the color
- * @param b
- * the blue component of the color
- * @return the {@link Color} matching the given red, green and blue component values
- */
- public static Color getColor(int r, int g, int b) {
- return getColor(new RGB(r, g, b));
- }
- /**
- * Returns a {@link Color} given its RGB value.
- *
- * @param rgb
- * the {@link RGB} value of the color
- * @return the {@link Color} matching the RGB value
- */
- public static Color getColor(RGB rgb) {
- Color color = m_colorMap.get(rgb);
- if (color == null) {
- Display display = Display.getCurrent();
- color = new Color(display, rgb);
- m_colorMap.put(rgb, color);
- }
- return color;
- }
- /**
- * Dispose of all the cached {@link Color}'s.
- */
- public static void disposeColors() {
- for (Color color : m_colorMap.values()) {
- color.dispose();
- }
- m_colorMap.clear();
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // Image
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Maps image paths to images.
- */
- private static Map<String, Image> m_imageMap = new HashMap<String, Image>();
- /**
- * Returns an {@link Image} encoded by the specified {@link InputStream}.
- *
- * @param stream
- * the {@link InputStream} encoding the image data
- * @return the {@link Image} encoded by the specified input stream
- */
- protected static Image getImage(InputStream stream) throws IOException {
- try {
- Display display = Display.getCurrent();
- ImageData data = new ImageData(stream);
- if (data.transparentPixel > 0) {
- return new Image(display, data, data.getTransparencyMask());
- }
- return new Image(display, data);
- } finally {
- stream.close();
- }
- }
- /**
- * Returns an {@link Image} stored in the file at the specified path.
- *
- * @param path
- * the path to the image file
- * @return the {@link Image} stored in the file at the specified path
- */
- public static Image getImage(String path) {
- Image image = m_imageMap.get(path);
- if (image == null) {
- try {
- image = getImage(new FileInputStream(path));
- m_imageMap.put(path, image);
- } catch (Exception e) {
- image = getMissingImage();
- m_imageMap.put(path, image);
- }
- }
- return image;
- }
- /**
- * Returns an {@link Image} stored in the file at the specified path relative to the specified class.
- *
- * @param clazz
- * the {@link Class} relative to which to find the image
- * @param path
- * the path to the image file, if starts with <code>'/'</code>
- * @return the {@link Image} stored in the file at the specified path
- */
- public static Image getImage(Class<?> clazz, String path) {
- String key = clazz.getName() + '|' + path;
- Image image = m_imageMap.get(key);
- if (image == null) {
- try {
- image = getImage(clazz.getResourceAsStream(path));
- m_imageMap.put(key, image);
- } catch (Exception e) {
- image = getMissingImage();
- m_imageMap.put(key, image);
- }
- }
- return image;
- }
- private static final int MISSING_IMAGE_SIZE = 10;
- /**
- * @return the small {@link Image} that can be used as placeholder for missing image.
- */
- private static Image getMissingImage() {
- Image image = new Image(Display.getCurrent(), MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
- //
- GC gc = new GC(image);
- gc.setBackground(getColor(SWT.COLOR_RED));
- gc.fillRectangle(0, 0, MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
- gc.dispose();
- //
- return image;
- }
- /**
- * Style constant for placing decorator image in top left corner of base image.
- */
- public static final int TOP_LEFT = 1;
- /**
- * Style constant for placing decorator image in top right corner of base image.
- */
- public static final int TOP_RIGHT = 2;
- /**
- * Style constant for placing decorator image in bottom left corner of base image.
- */
- public static final int BOTTOM_LEFT = 3;
- /**
- * Style constant for placing decorator image in bottom right corner of base image.
- */
- public static final int BOTTOM_RIGHT = 4;
- /**
- * Internal value.
- */
- protected static final int LAST_CORNER_KEY = 5;
- /**
- * Maps images to decorated images.
- */
- @SuppressWarnings("unchecked")
- private static Map<Image, Map<Image, Image>>[] m_decoratedImageMap = new Map[LAST_CORNER_KEY];
- /**
- * Returns an {@link Image} composed of a base image decorated by another image.
- *
- * @param baseImage
- * the base {@link Image} that should be decorated
- * @param decorator
- * the {@link Image} to decorate the base image
- * @return {@link Image} The resulting decorated image
- */
- public static Image decorateImage(Image baseImage, Image decorator) {
- return decorateImage(baseImage, decorator, BOTTOM_RIGHT);
- }
- /**
- * Returns an {@link Image} composed of a base image decorated by another image.
- *
- * @param baseImage
- * the base {@link Image} that should be decorated
- * @param decorator
- * the {@link Image} to decorate the base image
- * @param corner
- * the corner to place decorator image
- * @return the resulting decorated {@link Image}
- */
- public static Image decorateImage(final Image baseImage, final Image decorator, final int corner) {
- if (corner <= 0 || corner >= LAST_CORNER_KEY) {
- throw new IllegalArgumentException("Wrong decorate corner");
- }
- Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[corner];
- if (cornerDecoratedImageMap == null) {
- cornerDecoratedImageMap = new HashMap<Image, Map<Image, Image>>();
- m_decoratedImageMap[corner] = cornerDecoratedImageMap;
- }
- Map<Image, Image> decoratedMap = cornerDecoratedImageMap.get(baseImage);
- if (decoratedMap == null) {
- decoratedMap = new HashMap<Image, Image>();
- cornerDecoratedImageMap.put(baseImage, decoratedMap);
- }
- //
- Image result = decoratedMap.get(decorator);
- if (result == null) {
- Rectangle bib = baseImage.getBounds();
- Rectangle dib = decorator.getBounds();
- //
- result = new Image(Display.getCurrent(), bib.width, bib.height);
- //
- GC gc = new GC(result);
- gc.drawImage(baseImage, 0, 0);
- if (corner == TOP_LEFT) {
- gc.drawImage(decorator, 0, 0);
- } else if (corner == TOP_RIGHT) {
- gc.drawImage(decorator, bib.width - dib.width, 0);
- } else if (corner == BOTTOM_LEFT) {
- gc.drawImage(decorator, 0, bib.height - dib.height);
- } else if (corner == BOTTOM_RIGHT) {
- gc.drawImage(decorator, bib.width - dib.width, bib.height - dib.height);
- }
- gc.dispose();
- //
- decoratedMap.put(decorator, result);
- }
- return result;
- }
- /**
- * Dispose all of the cached {@link Image}'s.
- */
- public static void disposeImages() {
- // dispose loaded images
- {
- for (Image image : m_imageMap.values()) {
- image.dispose();
- }
- m_imageMap.clear();
- }
- // dispose decorated images
- for (int i = 0; i < m_decoratedImageMap.length; i++) {
- Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[i];
- if (cornerDecoratedImageMap != null) {
- for (Map<Image, Image> decoratedMap : cornerDecoratedImageMap.values()) {
- for (Image image : decoratedMap.values()) {
- image.dispose();
- }
- decoratedMap.clear();
- }
- cornerDecoratedImageMap.clear();
- }
- }
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // Font
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Maps font names to fonts.
- */
- private static Map<String, Font> m_fontMap = new HashMap<String, Font>();
- /**
- * Maps fonts to their bold versions.
- */
- private static Map<Font, Font> m_fontToBoldFontMap = new HashMap<Font, Font>();
- /**
- * Returns a {@link Font} based on its name, height and style.
- *
- * @param name
- * the name of the font
- * @param height
- * the height of the font
- * @param style
- * the style of the font
- * @return {@link Font} The font matching the name, height and style
- */
- public static Font getFont(String name, int height, int style) {
- return getFont(name, height, style, false, false);
- }
- /**
- * Returns a {@link Font} based on its name, height and style. Windows-specific strikeout and underline
- * flags are also supported.
- *
- * @param name
- * the name of the font
- * @param size
- * the size of the font
- * @param style
- * the style of the font
- * @param strikeout
- * the strikeout flag (warning: Windows only)
- * @param underline
- * the underline flag (warning: Windows only)
- * @return {@link Font} The font matching the name, height, style, strikeout and underline
- */
- public static Font getFont(String name, int size, int style, boolean strikeout, boolean underline) {
- String fontName = name + '|' + size + '|' + style + '|' + strikeout + '|' + underline;
- Font font = m_fontMap.get(fontName);
- if (font == null) {
- FontData fontData = new FontData(name, size, style);
- if (strikeout || underline) {
- try {
- Class<?> logFontClass = Class.forName("org.eclipse.swt.internal.win32.LOGFONT"); //$NON-NLS-1$
- Object logFont = FontData.class.getField("data").get(fontData); //$NON-NLS-1$
- if (logFont != null && logFontClass != null) {
- if (strikeout) {
- logFontClass.getField("lfStrikeOut").set(logFont, Byte.valueOf((byte) 1)); //$NON-NLS-1$
- }
- if (underline) {
- logFontClass.getField("lfUnderline").set(logFont, Byte.valueOf((byte) 1)); //$NON-NLS-1$
- }
- }
- } catch (Throwable e) {
- System.err.println("Unable to set underline or strikeout" + " (probably on a non-Windows platform). " + e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- font = new Font(Display.getCurrent(), fontData);
- m_fontMap.put(fontName, font);
- }
- return font;
- }
- /**
- * Returns a bold version of the given {@link Font}.
- *
- * @param baseFont
- * the {@link Font} for which a bold version is desired
- * @return the bold version of the given {@link Font}
- */
- public static Font getBoldFont(Font baseFont) {
- Font font = m_fontToBoldFontMap.get(baseFont);
- if (font == null) {
- FontData fontDatas[] = baseFont.getFontData();
- FontData data = fontDatas[0];
- font = new Font(Display.getCurrent(), data.getName(), data.getHeight(), SWT.BOLD);
- m_fontToBoldFontMap.put(baseFont, font);
- }
- return font;
- }
- /**
- * Dispose all of the cached {@link Font}'s.
- */
- public static void disposeFonts() {
- // clear fonts
- for (Font font : m_fontMap.values()) {
- font.dispose();
- }
- m_fontMap.clear();
- // clear bold fonts
- for (Font font : m_fontToBoldFontMap.values()) {
- font.dispose();
- }
- m_fontToBoldFontMap.clear();
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // Cursor
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Maps IDs to cursors.
- */
- private static Map<Integer, Cursor> m_idToCursorMap = new HashMap<Integer, Cursor>();
- /**
- * Returns the system cursor matching the specific ID.
- *
- * @param id
- * int The ID value for the cursor
- * @return Cursor The system cursor matching the specific ID
- */
- public static Cursor getCursor(int id) {
- Integer key = Integer.valueOf(id);
- Cursor cursor = m_idToCursorMap.get(key);
- if (cursor == null) {
- cursor = new Cursor(Display.getDefault(), id);
- m_idToCursorMap.put(key, cursor);
- }
- return cursor;
- }
- /**
- * Dispose all of the cached cursors.
- */
- public static void disposeCursors() {
- for (Cursor cursor : m_idToCursorMap.values()) {
- cursor.dispose();
- }
- m_idToCursorMap.clear();
- }
- ////////////////////////////////////////////////////////////////////////////
- //
- // General
- //
- ////////////////////////////////////////////////////////////////////////////
- /**
- * Dispose of cached objects and their underlying OS resources. This should only be called when the cached
- * objects are no longer needed (e.g. on application shutdown).
- */
- public static void dispose() {
- disposeColors();
- disposeImages();
- disposeFonts();
- disposeCursors();
- }
-} \ No newline at end of file
+public class SWTResourceManager
+{
+ // //////////////////////////////////////////////////////////////////////////
+ //
+ // Color
+ //
+ // //////////////////////////////////////////////////////////////////////////
+ private static Map<RGB, Color> m_colorMap = new HashMap<RGB, Color>();
+
+ /**
+ * Returns the system {@link Color} matching the specific ID.
+ *
+ * @param systemColorID
+ * the ID value for the color
+ * @return the system {@link Color} matching the specific ID
+ */
+ public static Color getColor(int systemColorID)
+ {
+ Display display = Display.getCurrent();
+ return display.getSystemColor(systemColorID);
+ }
+
+ /**
+ * Returns a {@link Color} given its red, green and blue component values.
+ *
+ * @param r
+ * the red component of the color
+ * @param g
+ * the green component of the color
+ * @param b
+ * the blue component of the color
+ * @return the {@link Color} matching the given red, green and blue component values
+ */
+ public static Color getColor(int r, int g, int b)
+ {
+ return getColor(new RGB(r, g, b));
+ }
+
+ /**
+ * Returns a {@link Color} given its RGB value.
+ *
+ * @param rgb
+ * the {@link RGB} value of the color
+ * @return the {@link Color} matching the RGB value
+ */
+ public static Color getColor(RGB rgb)
+ {
+ Color color = m_colorMap.get(rgb);
+ if (color == null)
+ {
+ Display display = Display.getCurrent();
+ color = new Color(display, rgb);
+ m_colorMap.put(rgb, color);
+ }
+ return color;
+ }
+
+ /**
+ * Dispose of all the cached {@link Color}'s.
+ */
+ public static void disposeColors()
+ {
+ for (Color color : m_colorMap.values())
+ {
+ color.dispose();
+ }
+ m_colorMap.clear();
+ }
+
+ // //////////////////////////////////////////////////////////////////////////
+ //
+ // Image
+ //
+ // //////////////////////////////////////////////////////////////////////////
+ /**
+ * Maps image paths to images.
+ */
+ private static Map<String, Image> m_imageMap = new HashMap<String, Image>();
+
+ /**
+ * Returns an {@link Image} encoded by the specified {@link InputStream}.
+ *
+ * @param stream
+ * the {@link InputStream} encoding the image data
+ * @return the {@link Image} encoded by the specified input stream
+ */
+ protected static Image getImage(InputStream stream) throws IOException
+ {
+ try
+ {
+ Display display = Display.getCurrent();
+ ImageData data = new ImageData(stream);
+ if (data.transparentPixel > 0)
+ {
+ return new Image(display, data, data.getTransparencyMask());
+ }
+ return new Image(display, data);
+ }
+ finally
+ {
+ stream.close();
+ }
+ }
+
+ /**
+ * Returns an {@link Image} stored in the file at the specified path.
+ *
+ * @param path
+ * the path to the image file
+ * @return the {@link Image} stored in the file at the specified path
+ */
+ public static Image getImage(String path)
+ {
+ Image image = m_imageMap.get(path);
+ if (image == null)
+ {
+ try
+ {
+ image = getImage(new FileInputStream(path));
+ m_imageMap.put(path, image);
+ }
+ catch (Exception e)
+ {
+ image = getMissingImage();
+ m_imageMap.put(path, image);
+ }
+ }
+ return image;
+ }
+
+ /**
+ * Returns an {@link Image} stored in the file at the specified path relative to the specified class.
+ *
+ * @param clazz
+ * the {@link Class} relative to which to find the image
+ * @param path
+ * the path to the image file, if starts with <code>'/'</code>
+ * @return the {@link Image} stored in the file at the specified path
+ */
+ public static Image getImage(Class<?> clazz, String path)
+ {
+ String key = clazz.getName() + '|' + path;
+ Image image = m_imageMap.get(key);
+ if (image == null)
+ {
+ try
+ {
+ image = getImage(clazz.getResourceAsStream(path));
+ m_imageMap.put(key, image);
+ }
+ catch (Exception e)
+ {
+ image = getMissingImage();
+ m_imageMap.put(key, image);
+ }
+ }
+ return image;
+ }
+
+ private static final int MISSING_IMAGE_SIZE = 10;
+
+ /**
+ * @return the small {@link Image} that can be used as placeholder for missing image.
+ */
+ private static Image getMissingImage()
+ {
+ Image image = new Image(Display.getCurrent(), MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
+ //
+ GC gc = new GC(image);
+ gc.setBackground(getColor(SWT.COLOR_RED));
+ gc.fillRectangle(0, 0, MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
+ gc.dispose();
+ //
+ return image;
+ }
+
+ /**
+ * Style constant for placing decorator image in top left corner of base image.
+ */
+ public static final int TOP_LEFT = 1;
+
+ /**
+ * Style constant for placing decorator image in top right corner of base image.
+ */
+ public static final int TOP_RIGHT = 2;
+
+ /**
+ * Style constant for placing decorator image in bottom left corner of base image.
+ */
+ public static final int BOTTOM_LEFT = 3;
+
+ /**
+ * Style constant for placing decorator image in bottom right corner of base image.
+ */
+ public static final int BOTTOM_RIGHT = 4;
+
+ /**
+ * Internal value.
+ */
+ protected static final int LAST_CORNER_KEY = 5;
+
+ /**
+ * Maps images to decorated images.
+ */
+ @SuppressWarnings("unchecked")
+ private static Map<Image, Map<Image, Image>>[] m_decoratedImageMap = new Map[LAST_CORNER_KEY];
+
+ /**
+ * Returns an {@link Image} composed of a base image decorated by another image.
+ *
+ * @param baseImage
+ * the base {@link Image} that should be decorated
+ * @param decorator
+ * the {@link Image} to decorate the base image
+ * @return {@link Image} The resulting decorated image
+ */
+ public static Image decorateImage(Image baseImage, Image decorator)
+ {
+ return decorateImage(baseImage, decorator, BOTTOM_RIGHT);
+ }
+
+ /**
+ * Returns an {@link Image} composed of a base image decorated by another image.
+ *
+ * @param baseImage
+ * the base {@link Image} that should be decorated
+ * @param decorator
+ * the {@link Image} to decorate the base image
+ * @param corner
+ * the corner to place decorator image
+ * @return the resulting decorated {@link Image}
+ */
+ public static Image decorateImage(final Image baseImage, final Image decorator, final int corner)
+ {
+ if (corner <= 0 || corner >= LAST_CORNER_KEY)
+ {
+ throw new IllegalArgumentException("Wrong decorate corner");
+ }
+ Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[corner];
+ if (cornerDecoratedImageMap == null)
+ {
+ cornerDecoratedImageMap = new HashMap<Image, Map<Image, Image>>();
+ m_decoratedImageMap[corner] = cornerDecoratedImageMap;
+ }
+ Map<Image, Image> decoratedMap = cornerDecoratedImageMap.get(baseImage);
+ if (decoratedMap == null)
+ {
+ decoratedMap = new HashMap<Image, Image>();
+ cornerDecoratedImageMap.put(baseImage, decoratedMap);
+ }
+ //
+ Image result = decoratedMap.get(decorator);
+ if (result == null)
+ {
+ Rectangle bib = baseImage.getBounds();
+ Rectangle dib = decorator.getBounds();
+ //
+ result = new Image(Display.getCurrent(), bib.width, bib.height);
+ //
+ GC gc = new GC(result);
+ gc.drawImage(baseImage, 0, 0);
+ if (corner == TOP_LEFT)
+ {
+ gc.drawImage(decorator, 0, 0);
+ }
+ else if (corner == TOP_RIGHT)
+ {
+ gc.drawImage(decorator, bib.width - dib.width, 0);
+ }
+ else if (corner == BOTTOM_LEFT)
+ {
+ gc.drawImage(decorator, 0, bib.height - dib.height);
+ }
+ else if (corner == BOTTOM_RIGHT)
+ {
+ gc.drawImage(decorator, bib.width - dib.width, bib.height - dib.height);
+ }
+ gc.dispose();
+ //
+ decoratedMap.put(decorator, result);
+ }
+ return result;
+ }
+
+ /**
+ * Dispose all of the cached {@link Image}'s.
+ */
+ public static void disposeImages()
+ {
+ // dispose loaded images
+ {
+ for (Image image : m_imageMap.values())
+ {
+ image.dispose();
+ }
+ m_imageMap.clear();
+ }
+ // dispose decorated images
+ for (int i = 0; i < m_decoratedImageMap.length; i++)
+ {
+ Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[i];
+ if (cornerDecoratedImageMap != null)
+ {
+ for (Map<Image, Image> decoratedMap : cornerDecoratedImageMap.values())
+ {
+ for (Image image : decoratedMap.values())
+ {
+ image.dispose();
+ }
+ decoratedMap.clear();
+ }
+ cornerDecoratedImageMap.clear();
+ }
+ }
+ }
+
+ // //////////////////////////////////////////////////////////////////////////
+ //
+ // Font
+ //
+ // //////////////////////////////////////////////////////////////////////////
+ /**
+ * Maps font names to fonts.
+ */
+ private static Map<String, Font> m_fontMap = new HashMap<String, Font>();
+
+ /**
+ * Maps fonts to their bold versions.
+ */
+ private static Map<Font, Font> m_fontToBoldFontMap = new HashMap<Font, Font>();
+
+ /**
+ * Returns a {@link Font} based on its name, height and style.
+ *
+ * @param name
+ * the name of the font
+ * @param height
+ * the height of the font
+ * @param style
+ * the style of the font
+ * @return {@link Font} The font matching the name, height and style
+ */
+ public static Font getFont(String name, int height, int style)
+ {
+ return getFont(name, height, style, false, false);
+ }
+
+ /**
+ * Returns a {@link Font} based on its name, height and style. Windows-specific strikeout and underline
+ * flags are also supported.
+ *
+ * @param name
+ * the name of the font
+ * @param size
+ * the size of the font
+ * @param style
+ * the style of the font
+ * @param strikeout
+ * the strikeout flag (warning: Windows only)
+ * @param underline
+ * the underline flag (warning: Windows only)
+ * @return {@link Font} The font matching the name, height, style, strikeout and underline
+ */
+ public static Font getFont(String name, int size, int style, boolean strikeout, boolean underline)
+ {
+ String fontName = name + '|' + size + '|' + style + '|' + strikeout + '|' + underline;
+ Font font = m_fontMap.get(fontName);
+ if (font == null)
+ {
+ FontData fontData = new FontData(name, size, style);
+ if (strikeout || underline)
+ {
+ try
+ {
+ Class<?> logFontClass = Class.forName("org.eclipse.swt.internal.win32.LOGFONT"); //$NON-NLS-1$
+ Object logFont = FontData.class.getField("data").get(fontData); //$NON-NLS-1$
+ if (logFont != null && logFontClass != null)
+ {
+ if (strikeout)
+ {
+ logFontClass.getField("lfStrikeOut").set(logFont, Byte.valueOf((byte)1)); //$NON-NLS-1$
+ }
+ if (underline)
+ {
+ logFontClass.getField("lfUnderline").set(logFont, Byte.valueOf((byte)1)); //$NON-NLS-1$
+ }
+ }
+ }
+ catch (Throwable e)
+ {
+ System.err.println("Unable to set underline or strikeout" + " (probably on a non-Windows platform). " + e); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+ font = new Font(Display.getCurrent(), fontData);
+ m_fontMap.put(fontName, font);
+ }
+ return font;
+ }
+
+ /**
+ * Returns a bold version of the given {@link Font}.
+ *
+ * @param baseFont
+ * the {@link Font} for which a bold version is desired
+ * @return the bold version of the given {@link Font}
+ */
+ public static Font getBoldFont(Font baseFont)
+ {
+ Font font = m_fontToBoldFontMap.get(baseFont);
+ if (font == null)
+ {
+ FontData fontDatas[] = baseFont.getFontData();
+ FontData data = fontDatas[0];
+ font = new Font(Display.getCurrent(), data.getName(), data.getHeight(), SWT.BOLD);
+ m_fontToBoldFontMap.put(baseFont, font);
+ }
+ return font;
+ }
+
+ /**
+ * Dispose all of the cached {@link Font}'s.
+ */
+ public static void disposeFonts()
+ {
+ // clear fonts
+ for (Font font : m_fontMap.values())
+ {
+ font.dispose();
+ }
+ m_fontMap.clear();
+ // clear bold fonts
+ for (Font font : m_fontToBoldFontMap.values())
+ {
+ font.dispose();
+ }
+ m_fontToBoldFontMap.clear();
+ }
+
+ // //////////////////////////////////////////////////////////////////////////
+ //
+ // Cursor
+ //
+ // //////////////////////////////////////////////////////////////////////////
+ /**
+ * Maps IDs to cursors.
+ */
+ private static Map<Integer, Cursor> m_idToCursorMap = new HashMap<Integer, Cursor>();
+
+ /**
+ * Returns the system cursor matching the specific ID.
+ *
+ * @param id
+ * int The ID value for the cursor
+ * @return Cursor The system cursor matching the specific ID
+ */
+ public static Cursor getCursor(int id)
+ {
+ Integer key = Integer.valueOf(id);
+ Cursor cursor = m_idToCursorMap.get(key);
+ if (cursor == null)
+ {
+ cursor = new Cursor(Display.getDefault(), id);
+ m_idToCursorMap.put(key, cursor);
+ }
+ return cursor;
+ }
+
+ /**
+ * Dispose all of the cached cursors.
+ */
+ public static void disposeCursors()
+ {
+ for (Cursor cursor : m_idToCursorMap.values())
+ {
+ cursor.dispose();
+ }
+ m_idToCursorMap.clear();
+ }
+
+ // //////////////////////////////////////////////////////////////////////////
+ //
+ // General
+ //
+ // //////////////////////////////////////////////////////////////////////////
+ /**
+ * Dispose of cached objects and their underlying OS resources. This should only be called when the cached
+ * objects are no longer needed (e.g. on application shutdown).
+ */
+ public static void dispose()
+ {
+ disposeColors();
+ disposeImages();
+ disposeFonts();
+ disposeCursors();
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/.classpath b/plugins/org.eclipse.emf.cdo.releng.setup/.classpath
index 64c5e31b7a..791d4f10ba 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/.classpath
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/.classpath
@@ -1,7 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
+ <accessrules>
+ <accessrule kind="accessible" pattern="org/eclipse/core/internal/resources/**"/>
+ <accessrule kind="accessible" pattern="org/eclipse/equinox/p2/publisher/**"/>
+ <accessrule kind="accessible" pattern="org/eclipse/equinox/internal/p2/**"/>
+ <accessrule kind="accessible" pattern="org/eclipse/pde/api/**"/>
+ <accessrule kind="accessible" pattern="org/eclipse/egit/core/**"/>
+ <accessrule kind="accessible" pattern="org/eclipse/jgit/**"/>
+ <accessrule kind="accessible" pattern="org/eclipse/ui/internal/progress/**"/>
+ </accessrules>
+ </classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/.refactorings/2013/8/33/refactorings.history b/plugins/org.eclipse.emf.cdo.releng.setup/.refactorings/2013/8/33/refactorings.history
new file mode 100644
index 0000000000..62b43ded3e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/.refactorings/2013/8/33/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring comment="Copy 2 elements to &apos;org.eclipse.emf.cdo.releng.workingsets.edit&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Destination element: &apos;org.eclipse.emf.cdo.releng.workingsets.edit&apos;&#x0D;&#x0A;- Original elements:&#x0D;&#x0A; about.html&#x0D;&#x0A; copyright.txt" description="Copy files" destination="=org.eclipse.emf.cdo.releng.workingsets.edit" element1="about.html" element2="copyright.txt" files="2" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1376496727544" units="0" version="1.0"/>&#x0A;<refactoring comment="Copy 2 elements to &apos;org.eclipse.emf.cdo.releng.workingsets.editor&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Destination element: &apos;org.eclipse.emf.cdo.releng.workingsets.editor&apos;&#x0D;&#x0A;- Original elements:&#x0D;&#x0A; about.html&#x0D;&#x0A; copyright.txt" description="Copy files" destination="=org.eclipse.emf.cdo.releng.workingsets.editor" element1="about.html" element2="copyright.txt" files="2" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1376496735447" units="0" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete 6 elements from project &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original elements:&#x0D;&#x0A; org.eclipse.emf.cdo.releng.setup.ApiBaseline.java&#x0D;&#x0A; org.eclipse.emf.cdo.releng.setup.DirectorCall.java&#x0D;&#x0A; org.eclipse.emf.cdo.releng.setup.GitClone.java&#x0D;&#x0A; org.eclipse.emf.cdo.releng.setup.LinkLocation.java&#x0D;&#x0A; org.eclipse.emf.cdo.releng.setup.ToolInstallation.java&#x0D;&#x0A; org.eclipse.emf.cdo.releng.setup.ToolPreference.java" description="Delete elements" element1="/src&lt;org.eclipse.emf.cdo.releng.setup{LinkLocation.java" element2="/src&lt;org.eclipse.emf.cdo.releng.setup{ApiBaseline.java" element3="/src&lt;org.eclipse.emf.cdo.releng.setup{GitClone.java" element4="/src&lt;org.eclipse.emf.cdo.releng.setup{DirectorCall.java" element5="/src&lt;org.eclipse.emf.cdo.releng.setup{ToolPreference.java" element6="/src&lt;org.eclipse.emf.cdo.releng.setup{ToolInstallation.java" elements="6" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1376557887953" subPackages="false" version="1.0"/>&#x0A;<refactoring comment="Move element &apos;PerformContext.java&apos; to &apos;org.eclipse.emf.cdo.releng.setup/src/org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Destination element: &apos;org.eclipse.emf.cdo.releng.setup/src/org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original element: &apos;org.eclipse.emf.cdo.releng.setup.impl.PerformContext.java&apos;&#x0D;&#x0A;- Update references to refactored element" description="Move compilation unit" destination="/src&lt;org.eclipse.emf.cdo.releng.setup" element1="/src&lt;org.eclipse.emf.cdo.releng.setup.impl{PerformContext.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.move" patterns="*" policy="org.eclipse.jdt.ui.moveResources" qualified="false" references="true" stamp="1376558106375" units="1" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original element: &apos;org.eclipse.emf.cdo.releng.setup.impl.ApiBaselineImpl.java&apos;" description="Delete element" element1="/src&lt;org.eclipse.emf.cdo.releng.setup.impl{ApiBaselineImpl.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1376558816163" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original element: &apos;org.eclipse.emf.cdo.releng.setup.impl.DirectorCallImpl.java&apos;" description="Delete element" element1="/src&lt;org.eclipse.emf.cdo.releng.setup.impl{DirectorCallImpl.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1376558819380" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original element: &apos;org.eclipse.emf.cdo.releng.setup.impl.GitCloneImpl.java&apos;" description="Delete element" element1="/src&lt;org.eclipse.emf.cdo.releng.setup.impl{GitCloneImpl.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1376558822308" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original element: &apos;org.eclipse.emf.cdo.releng.setup.impl.LinkLocationImpl.java&apos;" description="Delete element" element1="/src&lt;org.eclipse.emf.cdo.releng.setup.impl{LinkLocationImpl.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1376558833716" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original element: &apos;org.eclipse.emf.cdo.releng.setup.impl.ToolInstallationImpl.java&apos;" description="Delete element" element1="/src&lt;org.eclipse.emf.cdo.releng.setup.impl{ToolInstallationImpl.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1376558838623" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original element: &apos;org.eclipse.emf.cdo.releng.setup.impl.ToolPreferenceImpl.java&apos;" description="Delete element" element1="/src&lt;org.eclipse.emf.cdo.releng.setup.impl{ToolPreferenceImpl.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1376558841344" subPackages="false" version="1.0"/>&#x0A;<refactoring comment="Rename type &apos;org.eclipse.emf.cdo.releng.setup.SetWorkingTask&apos; to &apos;WorkingSetTask&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original element: &apos;org.eclipse.emf.cdo.releng.setup.SetWorkingTask&apos;&#x0D;&#x0A;- Renamed element: &apos;org.eclipse.emf.cdo.releng.setup.WorkingSetTask&apos;&#x0D;&#x0A;- Update references to refactored element&#x0D;&#x0A;- Update textual occurrences in comments and strings" description="Rename type &apos;SetWorkingTask&apos;" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src&lt;org.eclipse.emf.cdo.releng.setup{SetWorkingTask.java[SetWorkingTask" matchStrategy="1" name="WorkingSetTask" qualified="false" references="true" similarDeclarations="false" stamp="1376562248013" textual="false" version="1.0"/>&#x0A;<refactoring comment="Rename type &apos;org.eclipse.emf.cdo.releng.setup.impl.SetWorkingTaskImpl&apos; to &apos;WorkingSetTaskImpl&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original element: &apos;org.eclipse.emf.cdo.releng.setup.impl.SetWorkingTaskImpl&apos;&#x0D;&#x0A;- Renamed element: &apos;org.eclipse.emf.cdo.releng.setup.impl.WorkingSetTaskImpl&apos;&#x0D;&#x0A;- Update references to refactored element&#x0D;&#x0A;- Update textual occurrences in comments and strings" description="Rename type &apos;SetWorkingTaskImpl&apos;" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src&lt;org.eclipse.emf.cdo.releng.setup.impl{SetWorkingTaskImpl.java[SetWorkingTaskImpl" matchStrategy="1" name="WorkingSetTaskImpl" qualified="false" references="true" similarDeclarations="false" stamp="1376562258083" textual="false" version="1.0"/>&#x0A;<refactoring comment="Rename type &apos;org.eclipse.emf.cdo.releng.setup.impl.InstallTaskImpl&apos; to &apos;P2TaskImpl&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original element: &apos;org.eclipse.emf.cdo.releng.setup.impl.InstallTaskImpl&apos;&#x0D;&#x0A;- Renamed element: &apos;org.eclipse.emf.cdo.releng.setup.impl.P2TaskImpl&apos;&#x0D;&#x0A;- Update references to refactored element&#x0D;&#x0A;- Update textual occurrences in comments and strings" description="Rename type &apos;InstallTaskImpl&apos;" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src&lt;org.eclipse.emf.cdo.releng.setup.impl{InstallTaskImpl.java[InstallTaskImpl" matchStrategy="1" name="P2TaskImpl" qualified="false" references="true" similarDeclarations="false" stamp="1376563875710" textual="false" version="1.0"/>&#x0A;<refactoring comment="Rename type &apos;org.eclipse.emf.cdo.releng.setup.InstallTask&apos; to &apos;P2Task&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original element: &apos;org.eclipse.emf.cdo.releng.setup.InstallTask&apos;&#x0D;&#x0A;- Renamed element: &apos;org.eclipse.emf.cdo.releng.setup.P2Task&apos;&#x0D;&#x0A;- Update references to refactored element&#x0D;&#x0A;- Update textual occurrences in comments and strings" description="Rename type &apos;InstallTask&apos;" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src&lt;org.eclipse.emf.cdo.releng.setup{InstallTask.java[InstallTask" matchStrategy="1" name="P2Task" qualified="false" references="true" similarDeclarations="false" stamp="1376563884187" textual="false" version="1.0"/>&#x0A;<refactoring comment="Rename method &apos;org.eclipse.emf.cdo.releng.setup.PerformContext.log()&apos; to &apos;getLog&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original element: &apos;org.eclipse.emf.cdo.releng.setup.PerformContext.log()&apos;&#x0D;&#x0A;- Renamed element: &apos;org.eclipse.emf.cdo.releng.setup.PerformContext.getLog()&apos;&#x0D;&#x0A;- Update references to refactored element" delegate="false" deprecate="false" description="Rename method &apos;log&apos;" flags="589830" id="org.eclipse.jdt.ui.rename.method" input="/src&lt;org.eclipse.emf.cdo.releng.setup{PerformContext.java[PerformContext~log" name="getLog" references="true" stamp="1376568622664" version="1.0"/>&#x0A;<refactoring comment="Rename type &apos;org.eclipse.emf.cdo.releng.setup.PerformContext&apos; to &apos;SetupTaskContext&apos;&#x0D;&#x0A;- Original project: &apos;org.eclipse.emf.cdo.releng.setup&apos;&#x0D;&#x0A;- Original element: &apos;org.eclipse.emf.cdo.releng.setup.PerformContext&apos;&#x0D;&#x0A;- Renamed element: &apos;org.eclipse.emf.cdo.releng.setup.SetupTaskContext&apos;&#x0D;&#x0A;- Update references to refactored element&#x0D;&#x0A;- Update textual occurrences in comments and strings" description="Rename type &apos;PerformContext&apos;" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src&lt;org.eclipse.emf.cdo.releng.setup{PerformContext.java[PerformContext" matchStrategy="1" name="SetupTaskContext" qualified="false" references="true" similarDeclarations="false" stamp="1376568653538" textual="false" version="1.0"/>
+</session> \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/.refactorings/2013/8/33/refactorings.index b/plugins/org.eclipse.emf.cdo.releng.setup/.refactorings/2013/8/33/refactorings.index
new file mode 100644
index 0000000000..b069431147
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/.refactorings/2013/8/33/refactorings.index
@@ -0,0 +1,16 @@
+1376496727544 Copy files
+1376496735447 Copy files
+1376557887953 Delete elements
+1376558106375 Move compilation unit
+1376558816163 Delete element
+1376558819380 Delete element
+1376558822308 Delete element
+1376558833716 Delete element
+1376558838623 Delete element
+1376558841344 Delete element
+1376562248013 Rename type 'SetWorkingTask'
+1376562258083 Rename type 'SetWorkingTaskImpl'
+1376563875710 Rename type 'InstallTaskImpl'
+1376563884187 Rename type 'InstallTask'
+1376568622664 Rename method 'log'
+1376568653538 Rename type 'PerformContext'
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.releng.setup/.settings/org.eclipse.core.resources.prefs
index 45834dcf98..17a373de5d 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/.settings/org.eclipse.core.resources.prefs
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/.settings/org.eclipse.core.resources.prefs
@@ -1,5 +1,6 @@
eclipse.preferences.version=1
encoding/.project=UTF-8
encoding//model/Configuration.xmi=ASCII
+encoding//model/My.setup=UTF-8
encoding//model/setup.ecore=UTF-8
encoding//model/setup.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.releng.setup/META-INF/MANIFEST.MF
index e0540563db..43a5bcca65 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/META-INF/MANIFEST.MF
@@ -6,14 +6,47 @@ Bundle-ClassPath: .
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.cdo.releng.workingsets;bundle-version="[1.0.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)"
+Require-Bundle: org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.emf.cdo.releng.workingsets;visibility:=reexport;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.ecore;visibility:=reexport;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.core.resources;resolution:=optional;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.core.variables;resolution:=optional;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.pde.core;resolution:=optional;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.pde.api.tools;resolution:=optional;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.team.ui;resolution:=optional;bundle-version="[3.5.0,4.0.0)",
+ javaewah;resolution:=optional;bundle-version="[0.0.0,1.0.0)",
+ org.eclipse.jgit;resolution:=optional;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.egit;resolution:=optional;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.egit.core;resolution:=optional;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.egit.ui;resolution:=optional;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.emf.edit.ui;resolution:=optional;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.ecf.provider.filetransfer;resolution:=optional;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.ecf.filetransfer;resolution:=optional;bundle-version="[5.0.0,6.0.0)",
+ org.eclipse.ecf.identity;resolution:=optional;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.ecf;resolution:=optional;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.buckminster.sax;resolution:=optional;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.buckminster.cmdline;resolution:=optional;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.buckminster.download;resolution:=optional;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.buckminster.runtime;resolution:=optional;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.buckminster.core;resolution:=optional;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.buckminster.pde;resolution:=optional;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.equinox.p2.core;resolution:=optional;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.equinox.p2.ui;resolution:=optional;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.equinox.p2.metadata;resolution:=optional;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.equinox.p2.repository;resolution:=optional;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.equinox.p2.artifact.repository;resolution:=optional;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.equinox.p2.metadata.repository;resolution:=optional;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.equinox.p2.console;resolution:=optional;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.equinox.p2.publisher;resolution:=optional;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.equinox.p2.publisher.eclipse;resolution:=optional;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.equinox.p2.director.app;resolution:=optional;bundle-version="[1.0.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.cdo.releng.setup;version="1.0.0",
- org.eclipse.emf.cdo.releng.setup.helper;x-friends:="org.eclipse.emf.cdo.releng.setup.ide,org.eclipse.emf.cdo.releng.setup.product,org.eclipse.emf.cdo.releng.setup.ui";version="1.0.0",
+Export-Package: org.eclipse.emf.cdo.releng.internal.setup;x-friends:="org.eclipse.emf.cdo.releng.setup.product,org.eclipse.emf.cdo.releng.setup.ui";version="1.0.0",
+ org.eclipse.emf.cdo.releng.setup;version="1.0.0",
org.eclipse.emf.cdo.releng.setup.impl;version="1.0.0",
- org.eclipse.emf.cdo.releng.setup.util;version="1.0.0"
-Bundle-Activator: org.eclipse.emf.cdo.releng.setup.helper.Activator
+ org.eclipse.emf.cdo.releng.setup.util;version="1.0.0",
+ org.eclipse.emf.cdo.releng.setup.util.log;version="1.0.0"
+Bundle-Activator: org.eclipse.emf.cdo.releng.internal.setup.Activator
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/model/My.setup b/plugins/org.eclipse.emf.cdo.releng.setup/model/My.setup
new file mode 100644
index 0000000000..6d79db1971
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/model/My.setup
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<setup:Configuration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:setup="http://www.eclipse.org/CDO/releng/setup/1.0">
+ <projects href="../../org.eclipse.emf.cdo.releng/local.setup#/"/>
+ <eclipseVersions version="4.3">
+ <installTasks xsi:type="setup:P2Task">
+ <p2Repositories url="http://download.eclipse.org/releases/kepler"/>
+ <p2Repositories url="http://download.eclipse.org/modeling/emf/cdo/updates/integration"/>
+ <installableUnits id="org.eclipse.sdk.ide"/>
+ <installableUnits id="org.eclipse.emf.cdo.releng.setup.editor.feature.group"/>
+ </installTasks>
+ <installTasks xsi:type="setup:EclipseIniTask" option="--launcher.XXMaxPermSize" value="512m"/>
+ <installTasks xsi:type="setup:EclipseIniTask" option="-Dorg.eclipse.emf.cdo.releng.setup.ide" value="=true" vm="true"/>
+ </eclipseVersions>
+ <eclipseVersions version="3.8">
+ <installTasks xsi:type="setup:P2Task">
+ <p2Repositories url="http://download.eclipse.org/eclipse/updates/3.8"/>
+ <p2Repositories url="http://download.eclipse.org/modeling/emf/cdo/updates/integration"/>
+ <installableUnits id="org.eclipse.sdk.ide"/>
+ <installableUnits id="org.eclipse.emf.cdo.releng.setup.editor.feature.group"/>
+ </installTasks>
+ <installTasks xsi:type="setup:EclipseIniTask" option="--launcher.XXMaxPermSize" value="512m"/>
+ <installTasks xsi:type="setup:EclipseIniTask" option="-Dorg.eclipse.emf.cdo.releng.setup.ide" value="=true" vm="true"/>
+ </eclipseVersions>
+</setup:Configuration>
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/model/setup.ecore b/plugins/org.eclipse.emf.cdo.releng.setup/model/setup.ecore
index 2263c5de9e..8419e65c2c 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/model/setup.ecore
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/model/setup.ecore
@@ -1,49 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="setup" nsURI="http://www.eclipse.org/CDO/releng/setup/1.0" nsPrefix="setup">
- <eClassifiers xsi:type="ecore:EClass" name="Preferences" eSuperTypes="#//ToolInstallation">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="userName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="installFolder" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gitPrefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="linkLocations" upperBound="-1"
- eType="#//LinkLocation" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="LinkLocation">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ToolInstallation" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EReference" name="directorCalls" upperBound="-1"
- eType="#//DirectorCall" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="toolPreferences" upperBound="-1"
- eType="#//ToolPreference" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ToolPreference">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EclipseVersion">
<eStructuralFeatures xsi:type="ecore:EReference" name="configuration" eType="#//Configuration"
eOpposite="#//Configuration/eclipseVersions"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="directorCall" lowerBound="1"
- eType="#//DirectorCall" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="DirectorCall">
- <eStructuralFeatures xsi:type="ecore:EReference" name="installableUnits" lowerBound="1"
- upperBound="-1" eType="#//InstallableUnit" containment="true" eOpposite="#//InstallableUnit/directorCall"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="p2Repositories" lowerBound="1"
- upperBound="-1" eType="#//P2Repository" containment="true" eOpposite="#//P2Repository/directorCall"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="InstallableUnit">
- <eStructuralFeatures xsi:type="ecore:EReference" name="directorCall" eType="#//DirectorCall"
- eOpposite="#//DirectorCall/installableUnits"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="P2Repository">
- <eStructuralFeatures xsi:type="ecore:EReference" name="directorCall" eType="#//DirectorCall"
- eOpposite="#//DirectorCall/p2Repositories"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="url" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="installTasks" lowerBound="1"
+ upperBound="-1" eType="#//InstallTask" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Configuration">
<eStructuralFeatures xsi:type="ecore:EReference" name="projects" lowerBound="1"
@@ -51,55 +14,120 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="eclipseVersions" lowerBound="1"
upperBound="-1" eType="#//EclipseVersion" containment="true" eOpposite="#//EclipseVersion/configuration"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Project" eSuperTypes="#//ToolInstallation">
+ <eClassifiers xsi:type="ecore:EClass" name="ConfigurableItem" abstract="true" eSuperTypes="#//SetupTaskContainer"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Project" eSuperTypes="#//ConfigurableItem">
<eStructuralFeatures xsi:type="ecore:EReference" name="configuration" eType="#//Configuration"
eOpposite="#//Configuration/projects"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="branches" lowerBound="1"
upperBound="-1" eType="#//Branch" containment="true" eOpposite="#//Branch/project"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="apiBaselines" upperBound="-1"
- eType="#//ApiBaseline" containment="true" eOpposite="#//ApiBaseline/project"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="workingSetGroup" eType="ecore:EClass ../../org.eclipse.emf.cdo.releng.workingsets/model/workingsets.ecore#//WorkingSetGroup"
- containment="true"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Branch" eSuperTypes="#//ToolInstallation">
- <eOperations name="isInstalled" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eParameters name="installFolder" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eOperations>
- <eOperations name="getURI" eType="#//URI">
- <eParameters name="installFolder" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eOperations>
+ <eClassifiers xsi:type="ecore:EClass" name="Branch" eSuperTypes="#//ConfigurableItem">
<eStructuralFeatures xsi:type="ecore:EReference" name="project" eType="#//Project"
eOpposite="#//Project/branches"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="gitClones" lowerBound="1"
- upperBound="-1" eType="#//GitClone" containment="true" eOpposite="#//GitClone/branch"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="apiBaseline" eType="#//ApiBaseline"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="mspecFilePath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="cloneVariableName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ApiBaseline">
- <eStructuralFeatures xsi:type="ecore:EReference" name="project" eType="#//Project"
- eOpposite="#//Project/apiBaselines"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Preferences" eSuperTypes="#//SetupTaskContainer">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="userName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="installFolder" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="gitPrefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Setup">
+ <eOperations name="getSetupTasks" upperBound="-1" eType="#//SetupTask">
+ <eParameters name="filterRestrictions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters name="onlyInstall" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="branch" lowerBound="1"
+ eType="#//Branch"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="eclipseVersion" lowerBound="1"
+ eType="#//EclipseVersion"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preferences" lowerBound="1"
+ eType="#//Preferences"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SetupTask" abstract="true">
+ <eOperations name="requires" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="setupTask" eType="#//SetupTask"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="requirements" upperBound="-1"
+ eType="#//SetupTask"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="restrictions" upperBound="-1"
+ eType="#//ConfigurableItem"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="scope" eType="#//SetupTaskScope"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SetupTaskContainer" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="setupTasks" upperBound="-1"
+ eType="#//SetupTask" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CompoundSetupTask" eSuperTypes="#//SetupTask #//SetupTaskContainer">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OneTimeSetupTask" abstract="true" eSuperTypes="#//SetupTask">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InstallTask" abstract="true" eSuperTypes="#//SetupTask"/>
+ <eClassifiers xsi:type="ecore:EClass" name="EclipseIniTask" eSuperTypes="#//InstallTask">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="option" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="vm" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LinkLocationTask" eSuperTypes="#//InstallTask">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="P2Task" eSuperTypes="#//InstallTask">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="p2Repositories" lowerBound="1"
+ upperBound="-1" eType="#//P2Repository" containment="true" eOpposite="#//P2Repository/p2Task"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="installableUnits" lowerBound="1"
+ upperBound="-1" eType="#//InstallableUnit" containment="true" eOpposite="#//InstallableUnit/p2Task"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InstallableUnit">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="p2Task" eType="#//P2Task"
+ eOpposite="#//P2Task/installableUnits"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="P2Repository">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="p2Task" eType="#//P2Task"
+ eOpposite="#//P2Task/p2Repositories"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="url" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BuckminsterImportTask" eSuperTypes="#//OneTimeSetupTask">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mspec" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetPlatform" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="bundlePool" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ApiBaselineTask" eSuperTypes="#//SetupTask">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="zipLocation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="GitClone">
- <eStructuralFeatures xsi:type="ecore:EReference" name="branch" eType="#//Branch"
- eOpposite="#//Branch/gitClones"/>
+ <eClassifiers xsi:type="ecore:EClass" name="GitCloneTask" eSuperTypes="#//SetupTask">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="remoteName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="origin"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="remoteURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="checkoutBranch" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Setup">
- <eStructuralFeatures xsi:type="ecore:EReference" name="branch" lowerBound="1"
- eType="#//Branch"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="eclipseVersion" lowerBound="1"
- eType="#//EclipseVersion"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="preferences" eType="#//Preferences"
+ <eClassifiers xsi:type="ecore:EClass" name="EclipsePreferenceTask" eSuperTypes="#//SetupTask">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StringVariableTask" eSuperTypes="#//SetupTask">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="WorkingSetTask" eSuperTypes="#//OneTimeSetupTask">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="workingSetGroup" lowerBound="1"
+ eType="ecore:EClass ../../org.eclipse.emf.cdo.releng.workingsets/model/workingsets.ecore#//WorkingSetGroup"
containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="updateLocations" upperBound="-1"
- eType="#//P2Repository" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="SetupTaskScope">
+ <eLiterals name="None"/>
+ <eLiterals name="Configuration" value="1"/>
+ <eLiterals name="Project" value="2"/>
+ <eLiterals name="Branch" value="3"/>
+ <eLiterals name="User" value="4"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="URI" instanceClassName="org.eclipse.emf.common.util.URI"/>
+ <eClassifiers xsi:type="ecore:EDataType" name="Exception" instanceClassName="java.lang.Exception"/>
</ecore:EPackage>
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/model/setup.ecorediag b/plugins/org.eclipse.emf.cdo.releng.setup/model/setup.ecorediag
index e673ce5331..624345c0d0 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/model/setup.ecorediag
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/model/setup.ecorediag
@@ -12,9 +12,9 @@
<styles xmi:type="notation:SortingStyle" xmi:id="_zo6B4uoIEeKpRf481yfX-g"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_zo6B4-oIEeKpRf481yfX-g"/>
</children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_zoytIeoIEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_zoytIeoIEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13420443" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="setup.ecore#//Configuration"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zoytIuoIEeKpRf481yfX-g" x="145" y="205" width="127"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zoytIuoIEeKpRf481yfX-g" x="190" y="348" width="127"/>
</children>
<children xmi:type="notation:Node" xmi:id="_2Y42MOoIEeKpRf481yfX-g" type="1001">
<children xmi:type="notation:Node" xmi:id="_2Y5dQOoIEeKpRf481yfX-g" type="4001"/>
@@ -32,9 +32,9 @@
<styles xmi:type="notation:SortingStyle" xmi:id="_2Y6EUuoIEeKpRf481yfX-g"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_2Y6EU-oIEeKpRf481yfX-g"/>
</children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_2Y42MeoIEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_2Y42MeoIEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13420443" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="setup.ecore#//Project"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2Y42MuoIEeKpRf481yfX-g" x="355" y="201"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2Y42MuoIEeKpRf481yfX-g" x="458" y="344"/>
</children>
<children xmi:type="notation:Node" xmi:id="_3TdBAOoIEeKpRf481yfX-g" type="1001">
<children xmi:type="notation:Node" xmi:id="_3TdoEOoIEeKpRf481yfX-g" type="4001"/>
@@ -43,14 +43,6 @@
<element xmi:type="ecore:EAttribute" href="setup.ecore#//Branch/name"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_x9B5ceoJEeKpRf481yfX-g"/>
</children>
- <children xmi:type="notation:Node" xmi:id="_L1ERoOoOEeKpRf481yfX-g" type="2001">
- <element xmi:type="ecore:EAttribute" href="setup.ecore#//Branch/mspecFilePath"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_L1ERoeoOEeKpRf481yfX-g"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_8ekP8PUJEeK09qwveWBYrQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="setup.ecore#//Branch/cloneVariableName"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_8ekP8fUJEeK09qwveWBYrQ"/>
- </children>
<styles xmi:type="notation:DrawerStyle" xmi:id="_3TdoEuoIEeKpRf481yfX-g"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_3TdoE-oIEeKpRf481yfX-g"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_3TdoFOoIEeKpRf481yfX-g"/>
@@ -60,9 +52,9 @@
<styles xmi:type="notation:SortingStyle" xmi:id="_3TePIuoIEeKpRf481yfX-g"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_3TePI-oIEeKpRf481yfX-g"/>
</children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_3TdBAeoIEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_3TdBAeoIEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13420443" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="setup.ecore#//Branch"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3TdBAuoIEeKpRf481yfX-g" x="580" y="184"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3TdBAuoIEeKpRf481yfX-g" x="716" y="344"/>
</children>
<children xmi:type="notation:Node" xmi:id="_RhEkcOoJEeKpRf481yfX-g" type="1001">
<children xmi:type="notation:Node" xmi:id="_RhFLgeoJEeKpRf481yfX-g" type="4001"/>
@@ -76,9 +68,9 @@
<styles xmi:type="notation:SortingStyle" xmi:id="_RhFyluoJEeKpRf481yfX-g"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_RhFyl-oJEeKpRf481yfX-g"/>
</children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_RhEkceoJEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="setup.ecore#//ToolInstallation"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RhFLgOoJEeKpRf481yfX-g" x="475" y="35" width="122"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_RhEkceoJEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="8047085" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//SetupTaskContainer"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RhFLgOoJEeKpRf481yfX-g" x="595" y="30" width="158"/>
</children>
<children xmi:type="notation:Node" xmi:id="_678VMOoJEeKpRf481yfX-g" type="1001">
<children xmi:type="notation:Node" xmi:id="_6788QOoJEeKpRf481yfX-g" type="4001"/>
@@ -96,9 +88,9 @@
<styles xmi:type="notation:SortingStyle" xmi:id="_679jUuoJEeKpRf481yfX-g"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_679jU-oJEeKpRf481yfX-g"/>
</children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_678VMeoJEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_678VMeoJEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13420443" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="setup.ecore#//EclipseVersion"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_678VMuoJEeKpRf481yfX-g" x="120" y="345" width="178" height="68"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_678VMuoJEeKpRf481yfX-g" x="165" y="477" width="178" height="68"/>
</children>
<children xmi:type="notation:Node" xmi:id="_PhLMcOoNEeKpRf481yfX-g" type="1001">
<children xmi:type="notation:Node" xmi:id="_PhLzgOoNEeKpRf481yfX-g" type="4001"/>
@@ -112,9 +104,9 @@
<styles xmi:type="notation:SortingStyle" xmi:id="_PhMakuoNEeKpRf481yfX-g"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_PhMak-oNEeKpRf481yfX-g"/>
</children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_PhLMceoNEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="setup.ecore#//DirectorCall"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PhLMcuoNEeKpRf481yfX-g" x="120" y="485" width="118" height="61"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_PhLMceoNEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="15053796" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//P2Task"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PhLMcuoNEeKpRf481yfX-g" x="194" y="783" width="118" height="43"/>
</children>
<children xmi:type="notation:Node" xmi:id="_mgNekOoOEeKpRf481yfX-g" type="1001">
<children xmi:type="notation:Node" xmi:id="_mgOFoOoOEeKpRf481yfX-g" type="4001"/>
@@ -132,9 +124,9 @@
<styles xmi:type="notation:SortingStyle" xmi:id="_mgOstuoOEeKpRf481yfX-g"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_mgOst-oOEeKpRf481yfX-g"/>
</children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_mgNekeoOEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_mgNekeoOEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="8047085" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="setup.ecore#//InstallableUnit"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mgNekuoOEeKpRf481yfX-g" x="47" y="620" width="121"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mgNekuoOEeKpRf481yfX-g" x="60" y="895" width="121"/>
</children>
<children xmi:type="notation:Node" xmi:id="_q3yi0OoOEeKpRf481yfX-g" type="1001">
<children xmi:type="notation:Node" xmi:id="_q3zJ4OoOEeKpRf481yfX-g" type="4001"/>
@@ -152,19 +144,19 @@
<styles xmi:type="notation:SortingStyle" xmi:id="_q3zw8uoOEeKpRf481yfX-g"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_q3zw8-oOEeKpRf481yfX-g"/>
</children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_q3yi0eoOEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_q3yi0eoOEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="8047085" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="setup.ecore#//P2Repository"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q3yi0uoOEeKpRf481yfX-g" x="190" y="620"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q3yi0uoOEeKpRf481yfX-g" x="330" y="895"/>
</children>
<children xmi:type="notation:Node" xmi:id="_62v54OoOEeKpRf481yfX-g" type="1001">
<children xmi:type="notation:Node" xmi:id="_62wg8OoOEeKpRf481yfX-g" type="4001"/>
<children xmi:type="notation:Node" xmi:id="_62wg8eoOEeKpRf481yfX-g" type="5001">
<children xmi:type="notation:Node" xmi:id="_U2qjEOoQEeKpRf481yfX-g" type="2001">
- <element xmi:type="ecore:EAttribute" href="setup.ecore#//ApiBaseline/version"/>
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//ApiBaselineTask/version"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_U2qjEeoQEeKpRf481yfX-g"/>
</children>
<children xmi:type="notation:Node" xmi:id="_XnMJ8OoQEeKpRf481yfX-g" type="2001">
- <element xmi:type="ecore:EAttribute" href="setup.ecore#//ApiBaseline/zipLocation"/>
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//ApiBaselineTask/zipLocation"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_XnMJ8eoQEeKpRf481yfX-g"/>
</children>
<styles xmi:type="notation:DrawerStyle" xmi:id="_62wg8uoOEeKpRf481yfX-g"/>
@@ -176,37 +168,9 @@
<styles xmi:type="notation:SortingStyle" xmi:id="_62xIAuoOEeKpRf481yfX-g"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_62xIA-oOEeKpRf481yfX-g"/>
</children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_62v54eoOEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="setup.ecore#//ApiBaseline"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_62v54uoOEeKpRf481yfX-g" x="345" y="345"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_H-Oz4OoXEeKpRf481yfX-g" type="1001">
- <children xmi:type="notation:Node" xmi:id="_H-QCAOoXEeKpRf481yfX-g" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_H-QpEOoXEeKpRf481yfX-g" type="5001">
- <children xmi:type="notation:Node" xmi:id="_u68gIOoXEeKpRf481yfX-g" type="2001">
- <element xmi:type="ecore:EAttribute" href="setup.ecore#//GitClone/name"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_u68gIeoXEeKpRf481yfX-g"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_OYL_kOoXEeKpRf481yfX-g" type="2001">
- <element xmi:type="ecore:EAttribute" href="setup.ecore#//GitClone/remoteURI"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_OYMmoOoXEeKpRf481yfX-g"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_eH1IQOoXEeKpRf481yfX-g" type="2001">
- <element xmi:type="ecore:EAttribute" href="setup.ecore#//GitClone/checkoutBranch"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_eH1IQeoXEeKpRf481yfX-g"/>
- </children>
- <styles xmi:type="notation:DrawerStyle" xmi:id="_H-QpEeoXEeKpRf481yfX-g"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_H-QpEuoXEeKpRf481yfX-g"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_H-QpE-oXEeKpRf481yfX-g"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_H-QpFOoXEeKpRf481yfX-g" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="_H-QpFeoXEeKpRf481yfX-g"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="_H-QpFuoXEeKpRf481yfX-g"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_H-QpF-oXEeKpRf481yfX-g"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_H-Oz4eoXEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="setup.ecore#//GitClone"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H-Oz4uoXEeKpRf481yfX-g" x="650" y="375" width="190" height="93"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_62v54eoOEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="15053796" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//ApiBaselineTask"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_62v54uoOEeKpRf481yfX-g" x="914" y="887"/>
</children>
<children xmi:type="notation:Node" xmi:id="_bOTg8OoYEeKpRf481yfX-g" type="1001">
<children xmi:type="notation:Node" xmi:id="_bOUIAOoYEeKpRf481yfX-g" type="4001"/>
@@ -232,9 +196,9 @@
<styles xmi:type="notation:SortingStyle" xmi:id="_bOUIB-oYEeKpRf481yfX-g"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_bOUICOoYEeKpRf481yfX-g"/>
</children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_bOTg8eoYEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_bOTg8eoYEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13420443" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="setup.ecore#//Preferences"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bOTg8uoYEeKpRf481yfX-g" x="1055" y="188"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bOTg8uoYEeKpRf481yfX-g" x="984" y="213"/>
</children>
<children xmi:type="notation:Node" xmi:id="_tV-Q8OoYEeKpRf481yfX-g" type="1001">
<children xmi:type="notation:Node" xmi:id="_tV_fEOoYEeKpRf481yfX-g" type="4001"/>
@@ -244,23 +208,27 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_tV_fFOoYEeKpRf481yfX-g"/>
</children>
<children xmi:type="notation:Node" xmi:id="_tWAGIOoYEeKpRf481yfX-g" type="5002">
+ <children xmi:type="notation:Node" xmi:id="_T0QX4AW8EeOw6Pg8FrULkw" type="2002">
+ <element xmi:type="ecore:EOperation" href="setup.ecore#//Setup/getSetupTasks"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_T0QX4QW8EeOw6Pg8FrULkw"/>
+ </children>
<styles xmi:type="notation:DrawerStyle" xmi:id="_tWAGIeoYEeKpRf481yfX-g"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_tWAGIuoYEeKpRf481yfX-g"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_tWAGI-oYEeKpRf481yfX-g"/>
</children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_tV-4AOoYEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_tV-4AOoYEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13420443" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="setup.ecore#//Setup"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tV-4AeoYEeKpRf481yfX-g" x="837" y="205"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tV-4AeoYEeKpRf481yfX-g" x="621" y="485"/>
</children>
<children xmi:type="notation:Node" xmi:id="_LJQ64PTrEeKROP7mUifaFQ" type="1001">
<children xmi:type="notation:Node" xmi:id="_LJXBgPTrEeKROP7mUifaFQ" type="4001"/>
<children xmi:type="notation:Node" xmi:id="_LJXBgfTrEeKROP7mUifaFQ" type="5001">
<children xmi:type="notation:Node" xmi:id="_Ne7KsPTrEeKROP7mUifaFQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="setup.ecore#//ToolPreference/key"/>
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//EclipsePreferenceTask/key"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_Ne7KsfTrEeKROP7mUifaFQ"/>
</children>
<children xmi:type="notation:Node" xmi:id="_QdmiUPTrEeKROP7mUifaFQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="setup.ecore#//ToolPreference/value"/>
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//EclipsePreferenceTask/value"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_QdmiUfTrEeKROP7mUifaFQ"/>
</children>
<styles xmi:type="notation:DrawerStyle" xmi:id="_LJXBgvTrEeKROP7mUifaFQ"/>
@@ -272,19 +240,19 @@
<styles xmi:type="notation:SortingStyle" xmi:id="_LJXBh_TrEeKROP7mUifaFQ"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_LJXBiPTrEeKROP7mUifaFQ"/>
</children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_LJQ64fTrEeKROP7mUifaFQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="setup.ecore#//ToolPreference"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJQ64vTrEeKROP7mUifaFQ" x="735" y="23"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_LJQ64fTrEeKROP7mUifaFQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="15053796" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//EclipsePreferenceTask"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJQ64vTrEeKROP7mUifaFQ" x="719" y="887" width="164"/>
</children>
<children xmi:type="notation:Node" xmi:id="_iK-h0PdCEeKAgoQldAmgzQ" type="1001">
<children xmi:type="notation:Node" xmi:id="_iK-h0_dCEeKAgoQldAmgzQ" type="4001"/>
<children xmi:type="notation:Node" xmi:id="_iK-h1PdCEeKAgoQldAmgzQ" type="5001">
<children xmi:type="notation:Node" xmi:id="_k60zQPdCEeKAgoQldAmgzQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="setup.ecore#//LinkLocation/path"/>
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//LinkLocationTask/path"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_k60zQfdCEeKAgoQldAmgzQ"/>
</children>
<children xmi:type="notation:Node" xmi:id="_T7AxQPdEEeKAgoQldAmgzQ" type="2001">
- <element xmi:type="ecore:EAttribute" href="setup.ecore#//LinkLocation/name"/>
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//LinkLocationTask/name"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_T7AxQfdEEeKAgoQldAmgzQ"/>
</children>
<styles xmi:type="notation:DrawerStyle" xmi:id="_iK-h1fdCEeKAgoQldAmgzQ"/>
@@ -296,9 +264,9 @@
<styles xmi:type="notation:SortingStyle" xmi:id="_iLIS0vdCEeKAgoQldAmgzQ"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_iLIS0_dCEeKAgoQldAmgzQ"/>
</children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_iK-h0fdCEeKAgoQldAmgzQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="setup.ecore#//LinkLocation"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iK-h0vdCEeKAgoQldAmgzQ" x="1077" y="370"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_iK-h0fdCEeKAgoQldAmgzQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="15053796" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//LinkLocationTask"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iK-h0vdCEeKAgoQldAmgzQ" x="410" y="783" width="138"/>
</children>
<children xmi:type="notation:Node" xmi:id="_BvKIgASwEeOeiM9WAQqlaA" type="1001">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BvanMASwEeOeiM9WAQqlaA" source="Shortcut">
@@ -315,9 +283,248 @@
<styles xmi:type="notation:SortingStyle" xmi:id="_BvPoEgSwEeOeiM9WAQqlaA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_BvPoEwSwEeOeiM9WAQqlaA"/>
</children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_BvKIgQSwEeOeiM9WAQqlaA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_BvKIgQSwEeOeiM9WAQqlaA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="12632256" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.emf.cdo.releng.workingsets/model/workingsets.ecore#//WorkingSetGroup"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BvKIggSwEeOeiM9WAQqlaA" x="135" y="90" width="202" height="78"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BvKIggSwEeOeiM9WAQqlaA" x="908" y="786" width="162" height="64"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7oaMoAVzEeORNPhE9cWxTA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_7oco4AVzEeORNPhE9cWxTA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_7odP8AVzEeORNPhE9cWxTA" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_c5vIkAfTEeOppfhSm9mbUA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//SetupTask/scope"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_c5vIkQfTEeOppfhSm9mbUA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_7odP8QVzEeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7odP8gVzEeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7odP8wVzEeORNPhE9cWxTA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7od3AAVzEeORNPhE9cWxTA" type="5002">
+ <children xmi:type="notation:Node" xmi:id="_wRjnQAZyEeOppfhSm9mbUA" type="2002">
+ <element xmi:type="ecore:EOperation" href="setup.ecore#//SetupTask/requires"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_wRjnQQZyEeOppfhSm9mbUA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_7od3AQVzEeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7od3AgVzEeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7od3AwVzEeORNPhE9cWxTA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_7oaMoQVzEeORNPhE9cWxTA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="15053796" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//SetupTask"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7oaMogVzEeORNPhE9cWxTA" x="255" y="20" width="237" height="63"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_JIhT8AV6EeORNPhE9cWxTA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_JIiiEAV6EeORNPhE9cWxTA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_JIjJIAV6EeORNPhE9cWxTA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_JIjJIQV6EeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JIjJIgV6EeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JIjJIwV6EeORNPhE9cWxTA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_JIjwMAV6EeORNPhE9cWxTA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_JIjwMQV6EeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JIjwMgV6EeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JIjwMwV6EeORNPhE9cWxTA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_JIhT8QV6EeORNPhE9cWxTA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="15053796" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//WorkingSetTask"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JIhT8gV6EeORNPhE9cWxTA" x="925" y="701" width="127"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_-8kV8AV8EeORNPhE9cWxTA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_-8nZQAV8EeORNPhE9cWxTA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_-8nZQQV8EeORNPhE9cWxTA" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_cA3yoAV9EeORNPhE9cWxTA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//CompoundSetupTask/name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cA3yoQV9EeORNPhE9cWxTA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_-8nZQgV8EeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-8nZQwV8EeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-8nZRAV8EeORNPhE9cWxTA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_-8oAUAV8EeORNPhE9cWxTA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_-8oAUQV8EeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-8oAUgV8EeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-8oAUwV8EeORNPhE9cWxTA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_-8k9AAV8EeORNPhE9cWxTA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="15053796" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//CompoundSetupTask"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-8k9AQV8EeORNPhE9cWxTA" x="385" y="153" width="171"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__XTX4AWBEeORNPhE9cWxTA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="__XdI4AWBEeORNPhE9cWxTA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="__XdI4QWBEeORNPhE9cWxTA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__XdI4gWBEeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__XdI4wWBEeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__XdI5AWBEeORNPhE9cWxTA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__XdI5QWBEeORNPhE9cWxTA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="__XdI5gWBEeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__XdI5wWBEeORNPhE9cWxTA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__XdI6AWBEeORNPhE9cWxTA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="__XTX4QWBEeORNPhE9cWxTA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13420443" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//ConfigurableItem"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__XTX4gWBEeORNPhE9cWxTA" x="614" y="213"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_V2XO0AWWEeOw6Pg8FrULkw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_V2aSIAWWEeOw6Pg8FrULkw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_V2bgQAWWEeOw6Pg8FrULkw" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_L1ERoOoOEeKpRf481yfX-g" type="2001">
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//BuckminsterImportTask/mspec"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_L1ERoeoOEeKpRf481yfX-g"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_MVAjgAmrEeOuXPWwsMY9fA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//BuckminsterImportTask/targetPlatform"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MVAjgQmrEeOuXPWwsMY9fA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_One8cAmrEeOuXPWwsMY9fA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//BuckminsterImportTask/bundlePool"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_One8cQmrEeOuXPWwsMY9fA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_V2cHUAWWEeOw6Pg8FrULkw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_V2cHUQWWEeOw6Pg8FrULkw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_V2cHUgWWEeOw6Pg8FrULkw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_V2dVcAWWEeOw6Pg8FrULkw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_V2dVcQWWEeOw6Pg8FrULkw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_V2dVcgWWEeOw6Pg8FrULkw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_V2dVcwWWEeOw6Pg8FrULkw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_V2XO0QWWEeOw6Pg8FrULkw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="15053796" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//BuckminsterImportTask"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V2XO0gWWEeOw6Pg8FrULkw" x="713" y="680" width="173"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_B5dmEAWXEeOw6Pg8FrULkw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_B5eNIAWXEeOw6Pg8FrULkw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_B5eNIQWXEeOw6Pg8FrULkw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_B5eNIgWXEeOw6Pg8FrULkw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_B5eNIwWXEeOw6Pg8FrULkw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_B5eNJAWXEeOw6Pg8FrULkw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_B5e0MAWXEeOw6Pg8FrULkw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_B5e0MQWXEeOw6Pg8FrULkw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_B5e0MgWXEeOw6Pg8FrULkw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_B5e0MwWXEeOw6Pg8FrULkw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_B5dmEQWXEeOw6Pg8FrULkw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="15053796" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//InstallTask"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B5dmEgWXEeOw6Pg8FrULkw" x="203" y="673"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_QeGy0AZpEeO9d-kMVrgNew" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_QeJ2IAZpEeO9d-kMVrgNew" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_QeLrUAZpEeO9d-kMVrgNew" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_QeLrUQZpEeO9d-kMVrgNew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QeLrUgZpEeO9d-kMVrgNew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QeLrUwZpEeO9d-kMVrgNew"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_QeNggAZpEeO9d-kMVrgNew" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_QeNggQZpEeO9d-kMVrgNew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QeNgggZpEeO9d-kMVrgNew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QeNggwZpEeO9d-kMVrgNew"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_QeHZ4AZpEeO9d-kMVrgNew" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="15053796" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//GitCloneTask"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QeHZ4QZpEeO9d-kMVrgNew" x="527" y="895"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_epPbkAcIEeOppfhSm9mbUA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_epPbkwcIEeOppfhSm9mbUA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_epPblAcIEeOppfhSm9mbUA" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_hqN5QAcIEeOppfhSm9mbUA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//StringVariableTask/name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hqN5QQcIEeOppfhSm9mbUA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_kGu_AAcIEeOppfhSm9mbUA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//StringVariableTask/value"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kGu_AQcIEeOppfhSm9mbUA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lR808AcIEeOppfhSm9mbUA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//StringVariableTask/description"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lR808QcIEeOppfhSm9mbUA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_epPblQcIEeOppfhSm9mbUA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_epPblgcIEeOppfhSm9mbUA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_epPblwcIEeOppfhSm9mbUA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_epPbmAcIEeOppfhSm9mbUA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_epPbmQcIEeOppfhSm9mbUA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_epPbmgcIEeOppfhSm9mbUA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_epPbmwcIEeOppfhSm9mbUA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_epPbkQcIEeOppfhSm9mbUA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="15053796" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//StringVariableTask"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_epPbkgcIEeOppfhSm9mbUA" x="716" y="783" width="167"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_FOcX8AfTEeOppfhSm9mbUA" type="1005">
+ <children xmi:type="notation:Node" xmi:id="_FOcX8wfTEeOppfhSm9mbUA" type="4010"/>
+ <children xmi:type="notation:Node" xmi:id="_FOcX9AfTEeOppfhSm9mbUA" type="5008">
+ <children xmi:type="notation:Node" xmi:id="_JAPOkAfTEeOppfhSm9mbUA" type="2006">
+ <element xmi:type="ecore:EEnumLiteral" href="setup.ecore#//SetupTaskScope/None"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_JAPOkQfTEeOppfhSm9mbUA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_LFfD0AfTEeOppfhSm9mbUA" type="2006">
+ <element xmi:type="ecore:EEnumLiteral" href="setup.ecore#//SetupTaskScope/Configuration"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LFfD0QfTEeOppfhSm9mbUA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ND4qMAfTEeOppfhSm9mbUA" type="2006">
+ <element xmi:type="ecore:EEnumLiteral" href="setup.ecore#//SetupTaskScope/Project"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ND4qMQfTEeOppfhSm9mbUA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_N6uLkAfTEeOppfhSm9mbUA" type="2006">
+ <element xmi:type="ecore:EEnumLiteral" href="setup.ecore#//SetupTaskScope/Branch"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_N6uLkQfTEeOppfhSm9mbUA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_YMO3oAfTEeOppfhSm9mbUA" type="2006">
+ <element xmi:type="ecore:EEnumLiteral" href="setup.ecore#//SetupTaskScope/User"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YMO3oQfTEeOppfhSm9mbUA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_FOcX9QfTEeOppfhSm9mbUA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_FOcX9gfTEeOppfhSm9mbUA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_FOcX9wfTEeOppfhSm9mbUA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_FOcX8QfTEeOppfhSm9mbUA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="8047085" lineColor="8421504"/>
+ <element xmi:type="ecore:EEnum" href="setup.ecore#//SetupTaskScope"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FOcX8gfTEeOppfhSm9mbUA" x="20" y="20" width="126"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_s1eHUAflEeOppfhSm9mbUA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_s1eHUwflEeOppfhSm9mbUA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_s1eHVAflEeOppfhSm9mbUA" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_0MVKsAfmEeOppfhSm9mbUA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//EclipseIniTask/option"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0MVKsQfmEeOppfhSm9mbUA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_1ccuwAfmEeOppfhSm9mbUA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//EclipseIniTask/value"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1ccuwQfmEeOppfhSm9mbUA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_2SPuUAfmEeOppfhSm9mbUA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="setup.ecore#//EclipseIniTask/vm"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_2SPuUQfmEeOppfhSm9mbUA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_s1eHVQflEeOppfhSm9mbUA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_s1eHVgflEeOppfhSm9mbUA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_s1eHVwflEeOppfhSm9mbUA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_s1eHWAflEeOppfhSm9mbUA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_s1eHWQflEeOppfhSm9mbUA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_s1eHWgflEeOppfhSm9mbUA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_s1eHWwflEeOppfhSm9mbUA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_s1eHUQflEeOppfhSm9mbUA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="15053796" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//EclipseIniTask"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s1eHUgflEeOppfhSm9mbUA" x="570" y="783" width="130"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_aSLB8AmrEeOuXPWwsMY9fA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_aSMQEAmrEeOuXPWwsMY9fA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_aSM3IAmrEeOuXPWwsMY9fA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_aSM3IQmrEeOuXPWwsMY9fA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_aSM3IgmrEeOuXPWwsMY9fA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_aSM3IwmrEeOuXPWwsMY9fA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_aSNeMAmrEeOuXPWwsMY9fA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_aSNeMQmrEeOuXPWwsMY9fA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_aSNeMgmrEeOuXPWwsMY9fA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_aSNeMwmrEeOuXPWwsMY9fA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_aSLB8QmrEeOuXPWwsMY9fA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="15053796" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="setup.ecore#//OneTimeSetupTask"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aSLB8gmrEeOuXPWwsMY9fA" x="835" y="580"/>
</children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_u_e_seoIEeKpRf481yfX-g"/>
<element xmi:type="ecore:EPackage" href="setup.ecore#/"/>
@@ -337,144 +544,88 @@
</edges>
<edges xmi:type="notation:Edge" xmi:id="_6D5IUOoIEeKpRf481yfX-g" type="3002" source="_2Y42MOoIEeKpRf481yfX-g" target="_3TdBAOoIEeKpRf481yfX-g">
<children xmi:type="notation:Node" xmi:id="_6D5vYOoIEeKpRf481yfX-g" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_6D5vYeoIEeKpRf481yfX-g" x="-14" y="-12"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_6D5vYeoIEeKpRf481yfX-g" x="-14" y="-16"/>
</children>
<children xmi:type="notation:Node" xmi:id="_6D5vYuoIEeKpRf481yfX-g" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_6D5vY-oIEeKpRf481yfX-g" x="-4" y="17"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_6D5vY-oIEeKpRf481yfX-g" x="-4" y="12"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_6D5IUeoIEeKpRf481yfX-g" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_6D5IUuoIEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="setup.ecore#//Project/branches"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6D5IU-oIEeKpRf481yfX-g" points="[57, 0, -157, 8]$[169, 0, -45, 8]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q-NiIvUKEeK09qwveWBYrQ" id="(0.5,0.5)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q-NiI_UKEeK09qwveWBYrQ" id="(0.22660098522167488,0.3779527559055118)"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6D5IU-oIEeKpRf481yfX-g" points="[57, 0, -170, 6]$[202, 0, -25, 6]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q5SlwgfkEeOppfhSm9mbUA" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q5SlwwfkEeOppfhSm9mbUA" id="(0.22660098522167488,0.3779527559055118)"/>
</edges>
- <edges xmi:type="notation:Edge" xmi:id="_TwgQcOoJEeKpRf481yfX-g" type="3003" source="_2Y42MOoIEeKpRf481yfX-g" target="_RhEkcOoJEeKpRf481yfX-g">
+ <edges xmi:type="notation:Edge" xmi:id="_TwgQcOoJEeKpRf481yfX-g" type="3003" source="_2Y42MOoIEeKpRf481yfX-g" target="__XTX4AWBEeORNPhE9cWxTA">
<styles xmi:type="notation:ConnectorStyle" xmi:id="_TwgQceoJEeKpRf481yfX-g" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_TwgQcuoJEeKpRf481yfX-g" fontName="Segoe UI"/>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TwgQc-oJEeKpRf481yfX-g" points="[5, -24, -126, 162]$[5, -90, -126, 96]$[123, -90, -8, 96]$[123, -149, -8, 37]"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TwlwAOoJEeKpRf481yfX-g" id="(0.5590551181102362,0.11627906976744186)"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TwgQc-oJEeKpRf481yfX-g" points="[5, -24, -154, 111]$[5, -48, -154, 87]$[158, -48, -1, 87]$[158, -114, -1, 21]"/>
</edges>
- <edges xmi:type="notation:Edge" xmi:id="_U3twIOoJEeKpRf481yfX-g" type="3003" source="_3TdBAOoIEeKpRf481yfX-g" target="_RhEkcOoJEeKpRf481yfX-g">
+ <edges xmi:type="notation:Edge" xmi:id="_U3twIOoJEeKpRf481yfX-g" type="3003" source="_3TdBAOoIEeKpRf481yfX-g" target="__XTX4AWBEeORNPhE9cWxTA">
<styles xmi:type="notation:ConnectorStyle" xmi:id="_U3twIeoJEeKpRf481yfX-g" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_U3twIuoJEeKpRf481yfX-g" fontName="Segoe UI"/>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U3twI-oJEeKpRf481yfX-g" points="[1, -62, 146, 115]$[1, -97, 146, 80]$[-146, -97, -1, 80]$[-146, -156, -1, 21]"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_h9QtQOoNEeKpRf481yfX-g" type="3002" source="_RhEkcOoJEeKpRf481yfX-g" target="_PhLMcOoNEeKpRf481yfX-g">
- <children xmi:type="notation:Node" xmi:id="_h9RUUOoNEeKpRf481yfX-g" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_h9RUUeoNEeKpRf481yfX-g" x="111" y="-21"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_h9RUUuoNEeKpRf481yfX-g" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_h9RUU-oNEeKpRf481yfX-g" x="79" y="-44"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_h9QtQeoNEeKpRf481yfX-g" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_h9QtQuoNEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//ToolInstallation/directorCalls"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_h9QtQ-oNEeKpRf481yfX-g" points="[-60, 1, 339, -547]$[-480, 1, -81, -547]$[-480, 556, -81, 8]$[-415, 556, -16, 8]"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_h9TwkOoNEeKpRf481yfX-g" id="(0.14285714285714285,0.38461538461538464)"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U3twI-oJEeKpRf481yfX-g" points="[20, -24, 119, 111]$[20, -48, 119, 87]$[-100, -48, -1, 87]$[-100, -114, -1, 21]"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_s_VTkOoNEeKpRf481yfX-g" type="3002" source="_zoytIOoIEeKpRf481yfX-g" target="_678VMOoJEeKpRf481yfX-g">
<children xmi:type="notation:Node" xmi:id="_s_V6oOoNEeKpRf481yfX-g" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_s_V6oeoNEeKpRf481yfX-g" x="-38" y="-12"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_s_V6oeoNEeKpRf481yfX-g" x="2" y="49"/>
</children>
<children xmi:type="notation:Node" xmi:id="_s_V6ouoNEeKpRf481yfX-g" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_s_V6o-oNEeKpRf481yfX-g" x="-2" y="12"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_s_V6o-oNEeKpRf481yfX-g" x="3" y="-21"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_s_VTkeoNEeKpRf481yfX-g" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_s_VTkuoNEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="setup.ecore#//Configuration/eclipseVersions"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s_VTk-oNEeKpRf481yfX-g" points="[-62, 0, 197, -1]$[-171, 0, 88, -1]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vBlxoPKREeK108x_FqyAbw" id="(0.5,0.5)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vBlxofKREeK108x_FqyAbw" id="(0.5,0.5)"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s_VTk-oNEeKpRf481yfX-g" points="[7, 21, 6, -121]$[7, 109, 6, -33]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8U3-UAWlEeOw6Pg8FrULkw" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8U3-UQWlEeOw6Pg8FrULkw" id="(0.5,0.5)"/>
</edges>
- <edges xmi:type="notation:Edge" xmi:id="_0wNO4OoNEeKpRf481yfX-g" type="3002" source="_678VMOoJEeKpRf481yfX-g" target="_PhLMcOoNEeKpRf481yfX-g">
+ <edges xmi:type="notation:Edge" xmi:id="_0wNO4OoNEeKpRf481yfX-g" type="3002" source="_678VMOoJEeKpRf481yfX-g" target="_B5dmEAWXEeOw6Pg8FrULkw">
<children xmi:type="notation:Node" xmi:id="_0wNO5OoNEeKpRf481yfX-g" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_0wNO5eoNEeKpRf481yfX-g" x="-6" y="46"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0wNO5eoNEeKpRf481yfX-g" x="4" y="33"/>
</children>
<children xmi:type="notation:Node" xmi:id="_0wN18OoNEeKpRf481yfX-g" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_0wN18eoNEeKpRf481yfX-g" x="-1" y="-18"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0wN18eoNEeKpRf481yfX-g" x="4" y="-10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_0wNO4eoNEeKpRf481yfX-g" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_0wNO4uoNEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//EclipseVersion/directorCall"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0wNO4-oNEeKpRf481yfX-g" points="[-18, 56, 58, -101]$[-18, 130, 58, -27]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0wQSMOoNEeKpRf481yfX-g" id="(0.5056179775280899,0.16176470588235295)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0wQSMeoNEeKpRf481yfX-g" id="(0.10476190476190476,0.4725274725274725)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_RIhIQOoOEeKpRf481yfX-g" type="3002" source="_3TdBAOoIEeKpRf481yfX-g" target="_H-Oz4OoXEeKpRf481yfX-g">
- <children xmi:type="notation:Node" xmi:id="_RIhvUOoOEeKpRf481yfX-g" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_RIhvUeoOEeKpRf481yfX-g" y="-32"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_RIiWYOoOEeKpRf481yfX-g" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_RIiWYeoOEeKpRf481yfX-g" x="4" y="9"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_RIhIQeoOEeKpRf481yfX-g" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_RIhIQuoOEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//Branch/gitClones"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RIhIQ-oOEeKpRf481yfX-g" points="[55, 54, 44, -127]$[55, 137, 44, -44]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4XAQkvT8EeKyR41VsO_Bpw" id="(0.5,0.5)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4XAQk_T8EeKyR41VsO_Bpw" id="(0.22105263157894736,0.4838709677419355)"/>
+ <element xmi:type="ecore:EReference" href="setup.ecore#//EclipseVersion/installTasks"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0wNO4-oNEeKpRf481yfX-g" points="[7, 66, 7, -150]$[7, 196, 7, -20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0wQSMOoNEeKpRf481yfX-g" id="(0.5,0.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_xAgNgOoOEeKpRf481yfX-g" type="3002" source="_PhLMcOoNEeKpRf481yfX-g" target="_mgNekOoOEeKpRf481yfX-g">
<children xmi:type="notation:Node" xmi:id="_xAg0kOoOEeKpRf481yfX-g" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_xAg0keoOEeKpRf481yfX-g" x="4" y="52"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_xAg0keoOEeKpRf481yfX-g" x="6" y="-47"/>
</children>
<children xmi:type="notation:Node" xmi:id="_xAg0kuoOEeKpRf481yfX-g" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_xAg0k-oOEeKpRf481yfX-g" x="4" y="-9"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_xAg0k-oOEeKpRf481yfX-g" x="6" y="17"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_xAgNgeoOEeKpRf481yfX-g" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_xAgNguoOEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//DirectorCall/installableUnits"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xAgNg-oOEeKpRf481yfX-g" points="[-59, 30, 46, -101]$[-59, 107, 46, -24]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Sj8AvKREeK108x_FqyAbw" id="(0.5,0.5)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Sj8A_KREeK108x_FqyAbw" id="(0.5,0.5)"/>
+ <element xmi:type="ecore:EReference" href="setup.ecore#//P2Task/installableUnits"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xAgNg-oOEeKpRf481yfX-g" points="[-18, 20, 95, -141]$[-93, 20, 20, -141]$[-93, 112, 20, -49]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KC51YgfnEeOppfhSm9mbUA" id="(0.16101694915254236,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KC51YwfnEeOppfhSm9mbUA" id="(0.3305785123966942,1.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_zJWJUOoOEeKpRf481yfX-g" type="3002" source="_PhLMcOoNEeKpRf481yfX-g" target="_q3yi0OoOEeKpRf481yfX-g">
<children xmi:type="notation:Node" xmi:id="_zJWwYOoOEeKpRf481yfX-g" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_zJWwYeoOEeKpRf481yfX-g" x="4" y="-52"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_zJWwYeoOEeKpRf481yfX-g" x="9" y="46"/>
</children>
<children xmi:type="notation:Node" xmi:id="_zJWwYuoOEeKpRf481yfX-g" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_zJWwY-oOEeKpRf481yfX-g" x="4" y="8"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_zJWwY-oOEeKpRf481yfX-g" x="9" y="-13"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_zJWJUeoOEeKpRf481yfX-g" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_zJWJUuoOEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//DirectorCall/p2Repositories"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zJWJU-oOEeKpRf481yfX-g" points="[53, 30, -21, -101]$[53, 107, -21, -24]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xvDddPKREeK108x_FqyAbw" id="(0.5,0.5)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xvDddfKREeK108x_FqyAbw" id="(0.5,0.5)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_dN8MgOoPEeKpRf481yfX-g" type="3002" source="_2Y42MOoIEeKpRf481yfX-g" target="_62v54OoOEeKpRf481yfX-g">
- <children xmi:type="notation:Node" xmi:id="_dN8MhOoPEeKpRf481yfX-g" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_dN8MheoPEeKpRf481yfX-g" x="-4" y="-47"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_dN8MhuoPEeKpRf481yfX-g" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_dN8Mh-oPEeKpRf481yfX-g" x="-4" y="14"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_dN8MgeoPEeKpRf481yfX-g" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_dN8MguoPEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//Project/apiBaselines"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dN8Mg-oPEeKpRf481yfX-g" points="[7, 25, 0, -136]$[7, 128, 0, -33]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wnpJcPKREeK108x_FqyAbw" id="(0.5,0.5)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wnpJcfKREeK108x_FqyAbw" id="(0.5,0.5)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_ftwBYOoQEeKpRf481yfX-g" type="3002" source="_3TdBAOoIEeKpRf481yfX-g" target="_62v54OoOEeKpRf481yfX-g">
- <children xmi:type="notation:Node" xmi:id="_ftwocOoQEeKpRf481yfX-g" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_ftwoceoQEeKpRf481yfX-g" x="-22" y="-15"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_ftwocuoQEeKpRf481yfX-g" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_ftwoc-oQEeKpRf481yfX-g" y="9"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_ftwBYeoQEeKpRf481yfX-g" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_ftwBYuoQEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//Branch/apiBaseline"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ftwBY-oQEeKpRf481yfX-g" points="[23, 14, 202, -111]$[23, 124, 202, -1]$[-105, 124, 74, -1]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ftzrwOoQEeKpRf481yfX-g" id="(0.12195121951219512,0.8382352941176471)"/>
+ <element xmi:type="ecore:EReference" href="setup.ecore#//P2Task/p2Repositories"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zJWJU-oOEeKpRf481yfX-g" points="[58, 20, -38, -141]$[120, 20, 24, -141]$[120, 112, 24, -49]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FT36cgfnEeOppfhSm9mbUA" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FT36cwfnEeOppfhSm9mbUA" id="(0.5,1.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_0pBn0OoYEeKpRf481yfX-g" type="3002" source="_tV-Q8OoYEeKpRf481yfX-g" target="_3TdBAOoIEeKpRf481yfX-g">
<children xmi:type="notation:Node" xmi:id="_0pBn1OoYEeKpRf481yfX-g" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_0pBn1eoYEeKpRf481yfX-g" x="-21" y="12"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0pBn1eoYEeKpRf481yfX-g" x="-8" y="31"/>
</children>
<children xmi:type="notation:Node" xmi:id="_0pCO4OoYEeKpRf481yfX-g" type="4012">
<layoutConstraint xmi:type="notation:Location" xmi:id="_0pCO4eoYEeKpRf481yfX-g" x="-11" y="-15"/>
@@ -482,85 +633,57 @@
<styles xmi:type="notation:ConnectorStyle" xmi:id="_0pBn0eoYEeKpRf481yfX-g" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_0pBn0uoYEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="setup.ecore#//Setup/branch"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0pBn0-oYEeKpRf481yfX-g" points="[-40, 12, 206, 42]$[-144, 12, 102, 42]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0pBn0-oYEeKpRf481yfX-g" points="[38, -10, 9, 134]$[38, -77, 9, 67]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0pEEEOoYEeKpRf481yfX-g" id="(0.4019607843137255,0.20930232558139536)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0pEEEeoYEeKpRf481yfX-g" id="(0.4931506849315068,0.10588235294117647)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_uVxboOrJEeKpRf481yfX-g" type="3002" source="_tV-Q8OoYEeKpRf481yfX-g" target="_678VMOoJEeKpRf481yfX-g">
<children xmi:type="notation:Node" xmi:id="_uVz34OrJEeKpRf481yfX-g" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_uVz34erJEeKpRf481yfX-g" x="71" y="71"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uVz34erJEeKpRf481yfX-g" x="-5" y="18"/>
</children>
<children xmi:type="notation:Node" xmi:id="_uVz34urJEeKpRf481yfX-g" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_uVz34-rJEeKpRf481yfX-g" x="163" y="-15"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uVz34-rJEeKpRf481yfX-g" x="32" y="-13"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_uVxboerJEeKpRf481yfX-g" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_uVxbourJEeKpRf481yfX-g" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="setup.ecore#//Setup/eclipseVersion"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uVxbo-rJEeKpRf481yfX-g" points="[-12, 21, 675, -109]$[-12, 275, 675, 145]$[-618, 275, 69, 145]$[-618, 186, 69, 56]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uVxbo-rJEeKpRf481yfX-g" points="[-151, -6, 420, 16]$[-475, -6, 96, 16]"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uV5-gOrJEeKpRf481yfX-g" id="(0.4550561797752809,0.16176470588235295)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_rDKrIO0pEeKeBJzrXkhCcg" type="3002" source="_tV-Q8OoYEeKpRf481yfX-g" target="_bOTg8OoYEeKpRf481yfX-g">
<children xmi:type="notation:Node" xmi:id="_rDNucO0pEeKeBJzrXkhCcg" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_rDNuce0pEeKeBJzrXkhCcg" x="-25" y="-19"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rDNuce0pEeKeBJzrXkhCcg" x="30" y="41"/>
</children>
<children xmi:type="notation:Node" xmi:id="_rDOVgO0pEeKeBJzrXkhCcg" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_rDOVge0pEeKeBJzrXkhCcg" x="1" y="16"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rDOVge0pEeKeBJzrXkhCcg" x="30" y="-12"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_rDKrIe0pEeKeBJzrXkhCcg" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_rDKrIu0pEeKeBJzrXkhCcg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="setup.ecore#//Setup/preferences"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rDKrI-0pEeKeBJzrXkhCcg" points="[50, 0, -203, -1]$[178, 0, -75, -1]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rDKrI-0pEeKeBJzrXkhCcg" points="[152, 3, -91, 258]$[243, 3, 0, 258]$[243, -213, 0, 42]"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_ETHrAPKREeK108x_FqyAbw" type="3002" source="_3TdBAOoIEeKpRf481yfX-g" target="_2Y42MOoIEeKpRf481yfX-g">
<children xmi:type="notation:Node" xmi:id="_ETRcAPKREeK108x_FqyAbw" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_ETRcAfKREeK108x_FqyAbw" x="-10" y="-10"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ETRcAfKREeK108x_FqyAbw" x="-12" y="-12"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ETRcAvKREeK108x_FqyAbw" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_ETRcA_KREeK108x_FqyAbw" y="9"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ETRcA_KREeK108x_FqyAbw" x="-1" y="16"/>
</children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_ETHrAfKREeK108x_FqyAbw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ETHrAfKREeK108x_FqyAbw" routing="Rectilinear" closestDistance="true" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_ETHrAvKREeK108x_FqyAbw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="setup.ecore#//Branch/project"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ETHrA_KREeK108x_FqyAbw" points="[-45, 8, 169, 0]$[-157, 8, 57, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vZXnMvT8EeKyR41VsO_Bpw" id="(0.22660098522167488,0.3779527559055118)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vZXnM_T8EeKyR41VsO_Bpw" id="(0.5,0.5)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_JZ1GIPKREeK108x_FqyAbw" type="3002" source="_H-Oz4OoXEeKpRf481yfX-g" target="_3TdBAOoIEeKpRf481yfX-g">
- <children xmi:type="notation:Node" xmi:id="_JZ1GJPKREeK108x_FqyAbw" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_JZ1GJfKREeK108x_FqyAbw" x="-11" y="-25"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_JZ1GJvKREeK108x_FqyAbw" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_JZ1GJ_KREeK108x_FqyAbw" x="-11" y="15"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_JZ1GIfKREeK108x_FqyAbw" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_JZ1GIvKREeK108x_FqyAbw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//GitClone/branch"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JZ1GI_KREeK108x_FqyAbw" points="[44, -44, 55, 137]$[44, -127, 55, 54]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vxl58vT8EeKyR41VsO_Bpw" id="(0.22105263157894736,0.4838709677419355)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vxl58_T8EeKyR41VsO_Bpw" id="(0.5,0.5)"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="_LAx10PKREeK108x_FqyAbw" type="3002" source="_62v54OoOEeKpRf481yfX-g" target="_2Y42MOoIEeKpRf481yfX-g">
- <children xmi:type="notation:Node" xmi:id="_LAx11PKREeK108x_FqyAbw" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_LAx11fKREeK108x_FqyAbw" x="-10" y="-10"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_LAx11vKREeK108x_FqyAbw" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_LAx11_KREeK108x_FqyAbw" x="10" y="10"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_LAx10fKREeK108x_FqyAbw" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_LAx10vKREeK108x_FqyAbw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//ApiBaseline/project"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LAx10_KREeK108x_FqyAbw" points="[0, -33, 7, 128]$[0, -136, 7, 25]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w33WwvKREeK108x_FqyAbw" id="(0.5,0.5)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w33Ww_KREeK108x_FqyAbw" id="(0.5,0.5)"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ETHrA_KREeK108x_FqyAbw" points="[-25, 6, 202, 0]$[-170, 6, 57, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tTtqEAWWEeOw6Pg8FrULkw" id="(0.22660098522167488,0.3779527559055118)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tTtqEQWWEeOw6Pg8FrULkw" id="(0.5,0.5)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_MBMxAPKREeK108x_FqyAbw" type="3002" source="_2Y42MOoIEeKpRf481yfX-g" target="_zoytIOoIEeKpRf481yfX-g">
<children xmi:type="notation:Node" xmi:id="_MBMxBPKREeK108x_FqyAbw" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_MBMxBfKREeK108x_FqyAbw" x="-10" y="-10"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MBMxBfKREeK108x_FqyAbw" x="-22" y="-12"/>
</children>
<children xmi:type="notation:Node" xmi:id="_MBMxBvKREeK108x_FqyAbw" type="4012">
<layoutConstraint xmi:type="notation:Location" xmi:id="_MBMxB_KREeK108x_FqyAbw" x="10" y="10"/>
</children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_MBMxAfKREeK108x_FqyAbw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_MBMxAfKREeK108x_FqyAbw" routing="Rectilinear" closestDistance="true" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_MBMxAvKREeK108x_FqyAbw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="setup.ecore#//Project/configuration"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MBMxA_KREeK108x_FqyAbw" points="[-24, 2, 148, 0]$[-109, 2, 63, 0]"/>
@@ -569,102 +692,183 @@
</edges>
<edges xmi:type="notation:Edge" xmi:id="_Nhv9wPKREeK108x_FqyAbw" type="3002" source="_678VMOoJEeKpRf481yfX-g" target="_zoytIOoIEeKpRf481yfX-g">
<children xmi:type="notation:Node" xmi:id="_Nhv9xPKREeK108x_FqyAbw" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Nhv9xfKREeK108x_FqyAbw" x="-10" y="-10"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Nhv9xfKREeK108x_FqyAbw" x="-3" y="-44"/>
</children>
<children xmi:type="notation:Node" xmi:id="_Nhv9xvKREeK108x_FqyAbw" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Nhv9x_KREeK108x_FqyAbw" x="10" y="10"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Nhv9x_KREeK108x_FqyAbw" x="-3" y="17"/>
</children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_Nhv9wfKREeK108x_FqyAbw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Nhv9wfKREeK108x_FqyAbw" routing="Rectilinear" closestDistance="true" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_Nhv9wvKREeK108x_FqyAbw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="setup.ecore#//EclipseVersion/configuration"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Nhv9w_KREeK108x_FqyAbw" points="[88, -1, -171, 0]$[197, -1, -62, 0]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Nhv9w_KREeK108x_FqyAbw" points="[6, -33, 7, 109]$[6, -121, 7, 21]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vBlxpPKREeK108x_FqyAbw" id="(0.5,0.5)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vBlxpfKREeK108x_FqyAbw" id="(0.5,0.5)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_QQajcPKREeK108x_FqyAbw" type="3002" source="_mgNekOoOEeKpRf481yfX-g" target="_PhLMcOoNEeKpRf481yfX-g">
<children xmi:type="notation:Node" xmi:id="_QQajdPKREeK108x_FqyAbw" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_QQajdfKREeK108x_FqyAbw" x="-12" y="-36"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_QQajdfKREeK108x_FqyAbw" x="-10" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_QQajdvKREeK108x_FqyAbw" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_QQajd_KREeK108x_FqyAbw" x="-12" y="15"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_QQajd_KREeK108x_FqyAbw" x="10" y="10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_QQajcfKREeK108x_FqyAbw" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_QQajcvKREeK108x_FqyAbw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//InstallableUnit/directorCall"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QQajc_KREeK108x_FqyAbw" points="[46, -24, -59, 107]$[46, -101, -59, 30]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yox6wPKREeK108x_FqyAbw" id="(0.5,0.5)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yox6wfKREeK108x_FqyAbw" id="(0.5,0.5)"/>
+ <element xmi:type="ecore:EReference" href="setup.ecore#//InstallableUnit/p2Task"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QQajc_KREeK108x_FqyAbw" points="[20, -49, -93, 112]$[20, -141, -93, 20]$[95, -141, -18, 20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4OsUcAWXEeOw6Pg8FrULkw" id="(0.3305785123966942,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4Os7gAWXEeOw6Pg8FrULkw" id="(0.16101694915254236,0.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_RisDoPKREeK108x_FqyAbw" type="3002" source="_q3yi0OoOEeKpRf481yfX-g" target="_PhLMcOoNEeKpRf481yfX-g">
<children xmi:type="notation:Node" xmi:id="_RisDpPKREeK108x_FqyAbw" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_RisDpfKREeK108x_FqyAbw" x="-12" y="47"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_RisDpfKREeK108x_FqyAbw" x="-10" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_RisDpvKREeK108x_FqyAbw" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_RisDp_KREeK108x_FqyAbw" x="-7" y="-19"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_RisDp_KREeK108x_FqyAbw" x="10" y="10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_RisDofKREeK108x_FqyAbw" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_RisDovKREeK108x_FqyAbw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//P2Repository/directorCall"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RisDo_KREeK108x_FqyAbw" points="[-21, -24, 53, 107]$[-21, -101, 53, 30]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xvDdcPKREeK108x_FqyAbw" id="(0.5,0.5)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xvDdcfKREeK108x_FqyAbw" id="(0.5,0.5)"/>
+ <element xmi:type="ecore:EReference" href="setup.ecore#//P2Repository/p2Task"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RisDo_KREeK108x_FqyAbw" points="[24, -49, 120, 112]$[24, -141, 120, 20]$[-38, -141, 58, 20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iSgJ8AWXEeOw6Pg8FrULkw" id="(0.5,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iSgJ8QWXEeOw6Pg8FrULkw" id="(0.5,0.0)"/>
</edges>
- <edges xmi:type="notation:Edge" xmi:id="_TTmfEPTrEeKROP7mUifaFQ" type="3002" source="_RhEkcOoJEeKpRf481yfX-g" target="_LJQ64PTrEeKROP7mUifaFQ">
+ <edges xmi:type="notation:Edge" xmi:id="_TTmfEPTrEeKROP7mUifaFQ" type="3002" source="_RhEkcOoJEeKpRf481yfX-g" target="_7oaMoAVzEeORNPhE9cWxTA">
<children xmi:type="notation:Node" xmi:id="_TTmfFPTrEeKROP7mUifaFQ" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_TTmfFfTrEeKROP7mUifaFQ" x="-39" y="-12"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TTmfFfTrEeKROP7mUifaFQ" x="-26" y="-13"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TTmfFvTrEeKROP7mUifaFQ" type="4012">
<layoutConstraint xmi:type="notation:Location" xmi:id="_TTmfF_TrEeKROP7mUifaFQ" x="-4" y="12"/>
</children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_TTmfEfTrEeKROP7mUifaFQ" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_TTmfEfTrEeKROP7mUifaFQ" routing="Rectilinear" closestDistance="true" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_TTmfEvTrEeKROP7mUifaFQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//ToolInstallation/toolPreferences"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TTmfE_TrEeKROP7mUifaFQ" points="[60, 0, -216, 6]$[270, 0, -6, 6]"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TTslsPTrEeKROP7mUifaFQ" id="(0.061946902654867256,0.39705882352941174)"/>
+ <element xmi:type="ecore:EReference" href="setup.ecore#//SetupTaskContainer/setupTasks"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TTmfE_TrEeKROP7mUifaFQ" points="[-78, 0, 200, 23]$[-183, 0, 95, 23]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TTslsPTrEeKROP7mUifaFQ" id="(0.5987654320987654,0.11764705882352941)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_UYR_cPT8EeKyR41VsO_Bpw" type="3003" source="_bOTg8OoYEeKpRf481yfX-g" target="_RhEkcOoJEeKpRf481yfX-g">
<styles xmi:type="notation:ConnectorStyle" xmi:id="_UYR_cfT8EeKyR41VsO_Bpw" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_UYR_cvT8EeKyR41VsO_Bpw" fontName="Segoe UI"/>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UYR_c_T8EeKyR41VsO_Bpw" points="[-10, -11, 595, 133]$[-10, -64, 595, 80]$[-606, -64, -1, 80]$[-606, -123, -1, 21]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UYR_c_T8EeKyR41VsO_Bpw" points="[-10, -9, 386, 163]$[-10, -94, 386, 78]$[-397, -94, -1, 78]$[-397, -151, -1, 21]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UYYGEPT8EeKyR41VsO_Bpw" id="(0.5686274509803921,0.11764705882352941)"/>
</edges>
- <edges xmi:type="notation:Edge" xmi:id="_fi28QPXSEeKGErZDYCqYOg" type="3002" source="_tV-Q8OoYEeKpRf481yfX-g" target="_q3yi0OoOEeKpRf481yfX-g">
- <children xmi:type="notation:Node" xmi:id="_fjAGMPXSEeKGErZDYCqYOg" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_fjAGMfXSEeKGErZDYCqYOg" x="92" y="-20"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_fjAGMvXSEeKGErZDYCqYOg" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_fjAGM_XSEeKGErZDYCqYOg" x="125" y="12"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_fi28QfXSEeKGErZDYCqYOg" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_fi28QvXSEeKGErZDYCqYOg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//Setup/updateLocations"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fi28Q_XSEeKGErZDYCqYOg" points="[11, 21, 658, -398]$[11, 415, 658, -4]$[-597, 415, 50, -4]"/>
+ <edges xmi:type="notation:Edge" xmi:id="_UUhu0AV5EeORNPhE9cWxTA" visible="false" type="3003" source="_LJQ64PTrEeKROP7mUifaFQ" target="_7oaMoAVzEeORNPhE9cWxTA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_UUhu0QV5EeORNPhE9cWxTA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_UUhu0gV5EeORNPhE9cWxTA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UUhu0wV5EeORNPhE9cWxTA" points="[-7, -33, 198, 574]$[-44, -611, 161, -4]"/>
</edges>
- <edges xmi:type="notation:Edge" xmi:id="_q56n4PdCEeKAgoQldAmgzQ" type="3002" source="_bOTg8OoYEeKpRf481yfX-g" target="_iK-h0PdCEeKAgoQldAmgzQ">
- <children xmi:type="notation:Node" xmi:id="_q6EY4PdCEeKAgoQldAmgzQ" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_q6EY4fdCEeKAgoQldAmgzQ" x="-5" y="-47"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_q6EY4vdCEeKAgoQldAmgzQ" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_q6EY4_dCEeKAgoQldAmgzQ" x="-5" y="15"/>
- </children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_q56n4fdCEeKAgoQldAmgzQ" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_q56n4vdCEeKAgoQldAmgzQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//Preferences/linkLocations"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_q56n4_dCEeKAgoQldAmgzQ" points="[-5, 50, -5, -106]$[-5, 132, -5, -24]"/>
+ <edges xmi:type="notation:Edge" xmi:id="_PXmFUAV6EeORNPhE9cWxTA" type="3002" source="_JIhT8AV6EeORNPhE9cWxTA" target="_BvKIgASwEeOeiM9WAQqlaA">
+ <children xmi:type="notation:Node" xmi:id="_PXnTcAV6EeORNPhE9cWxTA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PXnTcQV6EeORNPhE9cWxTA" x="-13" y="-61"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PXnTcgV6EeORNPhE9cWxTA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PXnTcwV6EeORNPhE9cWxTA" x="-13" y="15"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_PXmFUQV6EeORNPhE9cWxTA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PXmFUgV6EeORNPhE9cWxTA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="setup.ecore#//WorkingSetTask/workingSetGroup"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PXmFUwV6EeORNPhE9cWxTA" points="[-2, 21, 10, -73]$[-10, 82, 2, -12]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PXszAAV6EeORNPhE9cWxTA" id="(0.5370370370370371,0.16666666666666666)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_DwQHYAV9EeORNPhE9cWxTA" visible="false" type="3003" source="_-8kV8AV8EeORNPhE9cWxTA" target="_7oaMoAVzEeORNPhE9cWxTA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_DwQHYQV9EeORNPhE9cWxTA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_DwQHYgV9EeORNPhE9cWxTA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DwQHYwV9EeORNPhE9cWxTA" points="[-59, 0, 38, 72]$[-59, -72, 38, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GhbOgAV9EeORNPhE9cWxTA" id="(0.49707602339181284,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ghb1kAV9EeORNPhE9cWxTA" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_NmcJYAV9EeORNPhE9cWxTA" type="3003" source="_-8kV8AV8EeORNPhE9cWxTA" target="_RhEkcOoJEeKpRf481yfX-g">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_NmcJYQV9EeORNPhE9cWxTA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NmcJYgV9EeORNPhE9cWxTA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NmcJYwV9EeORNPhE9cWxTA" points="[28, -9, -193, 103]$[28, -34, -193, 78]$[220, -34, -1, 78]$[220, -91, -1, 21]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NmkFMAV9EeORNPhE9cWxTA" id="(0.39766081871345027,0.18604651162790697)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_qibXkAV9EeORNPhE9cWxTA" type="3002" source="_7oaMoAVzEeORNPhE9cWxTA" target="_7oaMoAVzEeORNPhE9cWxTA">
+ <children xmi:type="notation:Node" xmi:id="_qidMwAV9EeORNPhE9cWxTA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qidMwQV9EeORNPhE9cWxTA" x="-18" y="-14"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_qidMwgV9EeORNPhE9cWxTA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qidMwwV9EeORNPhE9cWxTA" x="14" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_qibXkQV9EeORNPhE9cWxTA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_qibXkgV9EeORNPhE9cWxTA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="setup.ecore#//SetupTask/requirements"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qibXkwV9EeORNPhE9cWxTA" points="[-102, 31, -192, 5]$[-102, 63, -192, 37]$[-157, 63, -247, 37]$[-157, 8, -247, -18]$[-117, 8, -207, -18]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qijTYAV9EeORNPhE9cWxTA" id="(0.8827160493827161,0.9264705882352942)"/>
</edges>
- <edges xmi:type="notation:Edge" xmi:id="_LsR48ASwEeOeiM9WAQqlaA" type="3002" source="_2Y42MOoIEeKpRf481yfX-g" target="_BvKIgASwEeOeiM9WAQqlaA">
- <children xmi:type="notation:Node" xmi:id="_LsTHEASwEeOeiM9WAQqlaA" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_LsTHEQSwEeOeiM9WAQqlaA" x="41" y="-61"/>
+ <edges xmi:type="notation:Edge" xmi:id="_NUY90AWCEeORNPhE9cWxTA" type="3003" source="__XTX4AWBEeORNPhE9cWxTA" target="_RhEkcOoJEeKpRf481yfX-g">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_NUY90QWCEeORNPhE9cWxTA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NUY90gWCEeORNPhE9cWxTA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NUY90wWCEeORNPhE9cWxTA" points="[-1, -20, -1, 163]$[-1, -162, -1, 21]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_pnaukAWCEeORNPhE9cWxTA" type="3002" source="_7oaMoAVzEeORNPhE9cWxTA" target="__XTX4AWBEeORNPhE9cWxTA">
+ <children xmi:type="notation:Node" xmi:id="_pnj4gAWCEeORNPhE9cWxTA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pnj4gQWCEeORNPhE9cWxTA" x="23" y="-12"/>
</children>
- <children xmi:type="notation:Node" xmi:id="_LsTuIASwEeOeiM9WAQqlaA" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_LsTuIQSwEeOeiM9WAQqlaA" x="10" y="10"/>
+ <children xmi:type="notation:Node" xmi:id="_pnj4ggWCEeORNPhE9cWxTA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pnj4gwWCEeORNPhE9cWxTA" x="45" y="17"/>
</children>
- <styles xmi:type="notation:ConnectorStyle" xmi:id="_LsR48QSwEeOeiM9WAQqlaA" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_LsR48gSwEeOeiM9WAQqlaA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="setup.ecore#//Project/workingSetGroup"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LsR48wSwEeOeiM9WAQqlaA" points="[-6, -6, 48, 57]$[-52, -32, 2, 31]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LsWKYASwEeOeiM9WAQqlaA" id="(0.11888111888111888,0.1111111111111111)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LsWKYQSwEeOeiM9WAQqlaA" id="(0.7898089171974523,0.5694444444444444)"/>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_pnaukQWCEeORNPhE9cWxTA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_pnaukgWCEeORNPhE9cWxTA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="setup.ecore#//SetupTask/restrictions"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pnaukwWCEeORNPhE9cWxTA" points="[-41, 33, -374, -149]$[-41, 182, -374, 0]$[274, 182, -59, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_iR67IAWXEeOw6Pg8FrULkw" type="3003" source="_PhLMcOoNEeKpRf481yfX-g" target="_B5dmEAWXEeOw6Pg8FrULkw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_iR67IQWXEeOw6Pg8FrULkw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_iR67IgWXEeOw6Pg8FrULkw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iR67IwWXEeOw6Pg8FrULkw" points="[-28, 0, 0, 69]$[-28, -69, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iSSukAWXEeOw6Pg8FrULkw" id="(0.7457627118644068,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iSTVoAWXEeOw6Pg8FrULkw" id="(0.4956521739130435,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_sSoLEAWXEeOw6Pg8FrULkw" type="3003" source="_iK-h0PdCEeKAgoQldAmgzQ" target="_B5dmEAWXEeOw6Pg8FrULkw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_sSoyIAWXEeOw6Pg8FrULkw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_sSoyIQWXEeOw6Pg8FrULkw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sSoyIgWXEeOw6Pg8FrULkw" points="[-1, -33, 224, 90]$[-1, -51, 224, 72]$[-226, -51, -1, 72]$[-226, -102, -1, 21]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_QetPwAZpEeO9d-kMVrgNew" visible="false" type="3003" source="_QeGy0AZpEeO9d-kMVrgNew" target="_7oaMoAVzEeORNPhE9cWxTA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_QetPwQZpEeO9d-kMVrgNew" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_QetPwgZpEeO9d-kMVrgNew" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QetPwwZpEeO9d-kMVrgNew" points="[1, 0, -275, -72]$[106, 27, -170, -45]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_HZAu8AcLEeOppfhSm9mbUA" visible="false" type="3003" source="_epPbkAcIEeOppfhSm9mbUA" target="_7oaMoAVzEeORNPhE9cWxTA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_HZAu8QcLEeOppfhSm9mbUA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_HZAu8gcLEeOppfhSm9mbUA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HZAu8wcLEeOppfhSm9mbUA" points="[-12, -18, 508, 792]$[-518, -825, 2, -15]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HZG1kAcLEeOppfhSm9mbUA" id="(0.41916167664670656,0.2235294117647059)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HZG1kQcLEeOppfhSm9mbUA" id="(0.8185654008438819,0.25396825396825395)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_8qN9AAfmEeOppfhSm9mbUA" type="3003" source="_s1eHUAflEeOppfhSm9mbUA" target="_B5dmEAWXEeOw6Pg8FrULkw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_8qN9AQfmEeOppfhSm9mbUA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8qN9AgfmEeOppfhSm9mbUA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8qN9AwfmEeOppfhSm9mbUA" points="[-25, -8, 391, 103]$[-25, -26, 391, 85]$[-413, -26, 3, 85]$[-413, -77, 3, 34]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8qUDoAfmEeOppfhSm9mbUA" id="(0.7461538461538462,0.10588235294117647)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8qUDoQfmEeOppfhSm9mbUA" id="(0.46078431372549017,0.18604651162790697)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_aSgZIAmrEeOuXPWwsMY9fA" visible="false" type="3003" source="_aSLB8AmrEeOuXPWwsMY9fA" target="_7oaMoAVzEeORNPhE9cWxTA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_aSgZIQmrEeOuXPWwsMY9fA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_aSgZIgmrEeOuXPWwsMY9fA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aSgZIwmrEeOuXPWwsMY9fA" points="[1, 0, -372, -51]$[256, 35, -117, -16]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_aSiOUAmrEeOuXPWwsMY9fA" type="3003" source="_V2XO0AWWEeOw6Pg8FrULkw" target="_aSLB8AmrEeOuXPWwsMY9fA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_aSiOUQmrEeOuXPWwsMY9fA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_aSiOUgmrEeOuXPWwsMY9fA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aSiOUwmrEeOuXPWwsMY9fA" points="[34, -41, -67, 76]$[34, -61, -67, 56]$[100, -61, -1, 56]$[100, -92, -1, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_aSkDgAmrEeOuXPWwsMY9fA" type="3003" source="_JIhT8AV6EeORNPhE9cWxTA" target="_aSLB8AmrEeOuXPWwsMY9fA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_aSkDgQmrEeOuXPWwsMY9fA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_aSkDggmrEeOuXPWwsMY9fA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aSkDgwmrEeOuXPWwsMY9fA" points="[-1, -20, 87, 97]$[-1, -61, 87, 56]$[-89, -61, -1, 56]$[-89, -92, -1, 25]"/>
</edges>
</notation:Diagram>
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/model/setup.genmodel b/plugins/org.eclipse.emf.cdo.releng.setup/model/setup.genmodel
index b5aaeda28a..c78ae6513b 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/model/setup.genmodel
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/model/setup.genmodel
@@ -3,83 +3,45 @@
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.cdo.releng.setup/src" creationIcons="false"
modelPluginID="org.eclipse.emf.cdo.releng.setup" modelName="Setup" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
codeFormatting="true" testsDirectory="" importerID="org.eclipse.emf.importer.ecore"
- complianceLevel="5.0" copyrightFields="false" optimizedHasChildren="true" runtimeVersion="2.5"
- usedGenPackages="../../org.eclipse.emf.cdo.releng.workingsets/model/workingsets.genmodel#//workingsets"
- importOrganizing="true">
+ containmentProxies="true" complianceLevel="5.0" copyrightFields="false" optimizedHasChildren="true"
+ runtimeVersion="2.5" usedGenPackages="../../org.eclipse.emf.cdo.releng.workingsets/model/workingsets.genmodel#//workingsets"
+ importOrganizing="true" decoration="None">
<foreignModel>setup.ecore</foreignModel>
<genPackages prefix="Setup" basePackage="org.eclipse.emf.cdo.releng" disposableProviderFactory="true"
- multipleEditorPages="false" ecorePackage="setup.ecore#/">
+ multipleEditorPages="false" extensibleProviderFactory="true" childCreationExtenders="true"
+ ecorePackage="setup.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="setup.ecore#//SetupTaskScope">
+ <genEnumLiterals ecoreEnumLiteral="setup.ecore#//SetupTaskScope/None"/>
+ <genEnumLiterals ecoreEnumLiteral="setup.ecore#//SetupTaskScope/Configuration"/>
+ <genEnumLiterals ecoreEnumLiteral="setup.ecore#//SetupTaskScope/Project"/>
+ <genEnumLiterals ecoreEnumLiteral="setup.ecore#//SetupTaskScope/Branch"/>
+ <genEnumLiterals ecoreEnumLiteral="setup.ecore#//SetupTaskScope/User"/>
+ </genEnums>
<genDataTypes ecoreDataType="setup.ecore#//URI"/>
- <genClasses ecoreClass="setup.ecore#//Preferences">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//Preferences/userName"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//Preferences/installFolder"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//Preferences/gitPrefix"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//Preferences/linkLocations"/>
- </genClasses>
- <genClasses ecoreClass="setup.ecore#//LinkLocation" labelFeature="#//setup/LinkLocation/path">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//LinkLocation/path"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//LinkLocation/name"/>
- </genClasses>
- <genClasses ecoreClass="setup.ecore#//ToolInstallation">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//ToolInstallation/directorCalls"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//ToolInstallation/toolPreferences"/>
- </genClasses>
- <genClasses ecoreClass="setup.ecore#//ToolPreference">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//ToolPreference/key"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//ToolPreference/value"/>
- </genClasses>
+ <genDataTypes ecoreDataType="setup.ecore#//Exception"/>
<genClasses ecoreClass="setup.ecore#//EclipseVersion">
<genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference setup.ecore#//EclipseVersion/configuration"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//EclipseVersion/version"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//EclipseVersion/directorCall"/>
- </genClasses>
- <genClasses ecoreClass="setup.ecore#//DirectorCall">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//DirectorCall/installableUnits"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//DirectorCall/p2Repositories"/>
- </genClasses>
- <genClasses ecoreClass="setup.ecore#//InstallableUnit">
- <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference setup.ecore#//InstallableUnit/directorCall"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//InstallableUnit/id"/>
- </genClasses>
- <genClasses ecoreClass="setup.ecore#//P2Repository">
- <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference setup.ecore#//P2Repository/directorCall"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//P2Repository/url"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//EclipseVersion/installTasks"/>
</genClasses>
<genClasses ecoreClass="setup.ecore#//Configuration">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//Configuration/projects"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//Configuration/eclipseVersions"/>
</genClasses>
+ <genClasses image="false" ecoreClass="setup.ecore#//ConfigurableItem"/>
<genClasses ecoreClass="setup.ecore#//Project">
<genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference setup.ecore#//Project/configuration"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//Project/branches"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//Project/name"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//Project/apiBaselines"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//Project/workingSetGroup"/>
</genClasses>
<genClasses ecoreClass="setup.ecore#//Branch">
<genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference setup.ecore#//Branch/project"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//Branch/name"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//Branch/gitClones"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference setup.ecore#//Branch/apiBaseline"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//Branch/mspecFilePath"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//Branch/cloneVariableName"/>
- <genOperations ecoreOperation="setup.ecore#//Branch/isInstalled">
- <genParameters ecoreParameter="setup.ecore#//Branch/isInstalled/installFolder"/>
- </genOperations>
- <genOperations ecoreOperation="setup.ecore#//Branch/getURI">
- <genParameters ecoreParameter="setup.ecore#//Branch/getURI/installFolder"/>
- </genOperations>
</genClasses>
- <genClasses ecoreClass="setup.ecore#//ApiBaseline">
- <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference setup.ecore#//ApiBaseline/project"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//ApiBaseline/version"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//ApiBaseline/zipLocation"/>
- </genClasses>
- <genClasses ecoreClass="setup.ecore#//GitClone" labelFeature="#//setup/GitClone/remoteURI">
- <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference setup.ecore#//GitClone/branch"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//GitClone/name"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//GitClone/remoteURI"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//GitClone/checkoutBranch"/>
+ <genClasses ecoreClass="setup.ecore#//Preferences">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//Preferences/userName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//Preferences/installFolder"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//Preferences/gitPrefix"/>
</genClasses>
<genClasses ecoreClass="setup.ecore#//Setup">
<genFeatures notify="false" children="true" createChild="false" propertySortChoices="true"
@@ -87,7 +49,76 @@
<genFeatures notify="false" children="true" createChild="false" propertySortChoices="true"
ecoreFeature="ecore:EReference setup.ecore#//Setup/eclipseVersion"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//Setup/preferences"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//Setup/updateLocations"/>
+ <genOperations ecoreOperation="setup.ecore#//Setup/getSetupTasks">
+ <genParameters ecoreParameter="setup.ecore#//Setup/getSetupTasks/filterRestrictions"/>
+ <genParameters ecoreParameter="setup.ecore#//Setup/getSetupTasks/onlyInstall"/>
+ </genOperations>
+ </genClasses>
+ <genClasses image="false" ecoreClass="setup.ecore#//SetupTask">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference setup.ecore#//SetupTask/requirements"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference setup.ecore#//SetupTask/restrictions"/>
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//SetupTask/scope"/>
+ <genOperations ecoreOperation="setup.ecore#//SetupTask/requires">
+ <genParameters ecoreParameter="setup.ecore#//SetupTask/requires/setupTask"/>
+ </genOperations>
+ </genClasses>
+ <genClasses image="false" ecoreClass="setup.ecore#//SetupTaskContainer">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//SetupTaskContainer/setupTasks"/>
+ </genClasses>
+ <genClasses ecoreClass="setup.ecore#//CompoundSetupTask">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//CompoundSetupTask/name"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="setup.ecore#//OneTimeSetupTask">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//OneTimeSetupTask/id"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="setup.ecore#//InstallTask"/>
+ <genClasses ecoreClass="setup.ecore#//EclipseIniTask" labelFeature="#//setup/EclipseIniTask/option">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//EclipseIniTask/option"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//EclipseIniTask/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//EclipseIniTask/vm"/>
+ </genClasses>
+ <genClasses ecoreClass="setup.ecore#//LinkLocationTask" labelFeature="#//setup/LinkLocationTask/path">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//LinkLocationTask/path"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//LinkLocationTask/name"/>
+ </genClasses>
+ <genClasses ecoreClass="setup.ecore#//P2Task">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//P2Task/p2Repositories"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//P2Task/installableUnits"/>
+ </genClasses>
+ <genClasses ecoreClass="setup.ecore#//InstallableUnit">
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference setup.ecore#//InstallableUnit/p2Task"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//InstallableUnit/id"/>
+ </genClasses>
+ <genClasses ecoreClass="setup.ecore#//P2Repository">
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference setup.ecore#//P2Repository/p2Task"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//P2Repository/url"/>
+ </genClasses>
+ <genClasses ecoreClass="setup.ecore#//BuckminsterImportTask" labelFeature="#//setup/BuckminsterImportTask/mspec">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//BuckminsterImportTask/mspec"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//BuckminsterImportTask/targetPlatform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//BuckminsterImportTask/bundlePool"/>
+ </genClasses>
+ <genClasses ecoreClass="setup.ecore#//ApiBaselineTask" labelFeature="#//setup/ApiBaselineTask/version">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//ApiBaselineTask/version"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//ApiBaselineTask/zipLocation"/>
+ </genClasses>
+ <genClasses ecoreClass="setup.ecore#//GitCloneTask">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//GitCloneTask/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//GitCloneTask/remoteName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//GitCloneTask/remoteURI"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//GitCloneTask/checkoutBranch"/>
+ </genClasses>
+ <genClasses ecoreClass="setup.ecore#//EclipsePreferenceTask" labelFeature="#//setup/EclipsePreferenceTask/key">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//EclipsePreferenceTask/key"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//EclipsePreferenceTask/value"/>
+ </genClasses>
+ <genClasses ecoreClass="setup.ecore#//StringVariableTask">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//StringVariableTask/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//StringVariableTask/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute setup.ecore#//StringVariableTask/description"/>
+ </genClasses>
+ <genClasses ecoreClass="setup.ecore#//WorkingSetTask">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference setup.ecore#//WorkingSetTask/workingSetGroup"/>
</genClasses>
</genPackages>
</genmodel:GenModel>
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/helper/Activator.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/internal/setup/Activator.java
index 49daa4e6df..761873150c 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/helper/Activator.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/internal/setup/Activator.java
@@ -8,7 +8,7 @@
* Contributors:
* Eike Stepper - initial API and implementation
*/
-package org.eclipse.emf.cdo.releng.setup.helper;
+package org.eclipse.emf.cdo.releng.internal.setup;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
@@ -24,9 +24,14 @@ public class Activator extends Plugin
{
public static final String PLUGIN_ID = "org.eclipse.emf.cdo.releng.setup";
+ public static final boolean SETUP_IDE = "true".equalsIgnoreCase(System.getProperty(
+ "org.eclipse.emf.cdo.releng.setup.ide", "false"));
+
private static Activator plugin;
- static BundleContext bundleContext;
+ private static BundleContext bundleContext;
+
+ private SetupTaskPerformer setupTaskPerformer;
public Activator()
{
@@ -38,11 +43,37 @@ public class Activator extends Plugin
super.start(context);
bundleContext = context;
plugin = this;
+
+ try
+ {
+ if (SETUP_IDE)
+ {
+ setupTaskPerformer = new SetupTaskPerformer(false);
+ setupTaskPerformer.perform();
+ }
+ }
+ catch (Exception ex)
+ {
+ log(ex);
+ }
}
@Override
public void stop(BundleContext context) throws Exception
{
+ try
+ {
+ if (setupTaskPerformer != null)
+ {
+ setupTaskPerformer.dispose();
+ setupTaskPerformer = null;
+ }
+ }
+ catch (Exception ex)
+ {
+ log(ex);
+ }
+
plugin = null;
super.stop(context);
}
@@ -86,6 +117,11 @@ public class Activator extends Plugin
return new Status(IStatus.ERROR, PLUGIN_ID, msg, t);
}
+ public static BundleContext getBundleContext()
+ {
+ return bundleContext;
+ }
+
public static Activator getDefault()
{
return plugin;
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/internal/setup/SetupTaskPerformer.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/internal/setup/SetupTaskPerformer.java
new file mode 100644
index 0000000000..9899d1c757
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/internal/setup/SetupTaskPerformer.java
@@ -0,0 +1,433 @@
+/*
+ * Copyright (c) 2004-2013 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.releng.internal.setup;
+
+import org.eclipse.emf.cdo.releng.setup.Branch;
+import org.eclipse.emf.cdo.releng.setup.InstallTask;
+import org.eclipse.emf.cdo.releng.setup.Project;
+import org.eclipse.emf.cdo.releng.setup.Setup;
+import org.eclipse.emf.cdo.releng.setup.SetupTask;
+import org.eclipse.emf.cdo.releng.setup.SetupTaskContext;
+import org.eclipse.emf.cdo.releng.setup.util.OS;
+import org.eclipse.emf.cdo.releng.setup.util.log.ProgressLog;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IPath;
+
+import java.io.File;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.ListIterator;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @author Eike Stepper
+ */
+public class SetupTaskPerformer extends HashMap<Object, Object> implements SetupTaskContext
+{
+ private static final long serialVersionUID = 1L;
+
+ private static ProgressLog progress;
+
+ private boolean onlyInstall;
+
+ private File branchDir;
+
+ private Setup setup;
+
+ private transient boolean restartNeeded;
+
+ public SetupTaskPerformer(boolean onlyInstall) throws Exception
+ {
+ this.onlyInstall = onlyInstall;
+
+ ResourceSet resourceSet = new ResourceSetImpl();
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("xmi", new XMIResourceFactoryImpl());
+
+ IPath branchDirPath = ResourcesPlugin.getWorkspace().getRoot().getLocation().removeLastSegments(1);
+ branchDir = new File(branchDirPath.toOSString()).getCanonicalFile();
+
+ URI uri = URI.createFileURI(branchDirPath.append("setup.xmi").toOSString());
+ Resource resource = resourceSet.getResource(uri, true);
+
+ setup = (Setup)resource.getContents().get(0);
+ }
+
+ public void dispose()
+ {
+ setup = null;
+ branchDir = null;
+ }
+
+ public void log(String line)
+ {
+ if (progress != null)
+ {
+ progress.log(line);
+ }
+ else
+ {
+ System.out.println(line);
+ }
+ }
+
+ public boolean isCancelled()
+ {
+ if (progress != null)
+ {
+ return progress.isCancelled();
+ }
+
+ return false;
+ }
+
+ public boolean isRestartNeeded()
+ {
+ return restartNeeded;
+ }
+
+ public void setRestartNeeded()
+ {
+ restartNeeded = true;
+ }
+
+ public String expandString(String string)
+ {
+ Branch branch = getSetup().getBranch();
+ String branchName = branch.getName();
+
+ Project project = branch.getProject();
+ String projectName = project.getName();
+
+ StringBuilder builder = new StringBuilder(string);
+ expandStringAll(builder, "${setup.git.prefix}", getSetup().getPreferences().getGitPrefix());
+ expandStringAll(builder, "${setup.install.dir}", getPath(getInstallDir()));
+ expandStringAll(builder, "${setup.project.dir}", getPath(getProjectDir()));
+ expandStringAll(builder, "${setup.branch.dir}", getPath(getBranchDir()));
+ expandStringAll(builder, "${setup.project.name}", projectName);
+ expandStringAll(builder, "${setup.project.name.upper}", projectName.toUpperCase());
+ expandStringAll(builder, "${setup.project.name.lower}", projectName.toLowerCase());
+ expandStringAll(builder, "${setup.branch.name}", branchName);
+ expandStringAll(builder, "${setup.branch.name.upper}", branchName.toUpperCase());
+ expandStringAll(builder, "${setup.branch.name.lower}", branchName.toLowerCase());
+ return builder.toString();
+ }
+
+ private String getPath(File installDir)
+ {
+ return installDir.toString().replace('\\', '/');
+ }
+
+ private void expandStringAll(StringBuilder builder, String search, String replace)
+ {
+ do
+ {
+ } while (expandString(builder, search, replace));
+ }
+
+ private boolean expandString(StringBuilder builder, String search, String replace)
+ {
+ int pos = builder.indexOf(search);
+ if (pos == -1)
+ {
+ builder.replace(pos, pos + replace.length(), replace);
+ return false;
+ }
+
+ return true;
+ }
+
+ public OS getOS()
+ {
+ return OS.INSTANCE;
+ }
+
+ public String getP2ProfileName()
+ {
+ Branch branch = setup.getBranch();
+ Project project = branch.getProject();
+
+ String profileName = project.getName() + "_" + branch.getName();
+ profileName = profileName.replace('.', '_');
+ profileName = profileName.replace('-', '_');
+ profileName = profileName.replace('/', '_');
+ profileName = profileName.replace('\\', '_');
+ return profileName;
+ }
+
+ public File getP2ProfileDir()
+ {
+ return new File(getP2AgentDir(), "org.eclipse.equinox.p2.engine/profileRegistry/" + getP2ProfileName() + ".profile");
+ }
+
+ public File getP2AgentDir()
+ {
+ return new File(getP2PoolDir(), "p2");
+ }
+
+ public File getP2PoolDir()
+ {
+ return new File(getInstallDir(), ".p2pool-ide");
+ }
+
+ public File getInstallDir()
+ {
+ return getProjectDir().getParentFile();
+ }
+
+ public File getProjectDir()
+ {
+ return branchDir.getParentFile();
+ }
+
+ public File getBranchDir()
+ {
+ return branchDir;
+ }
+
+ public File getEclipseDir()
+ {
+ return new File(branchDir, "eclipse");
+ }
+
+ // TODO Is this Bucky-specific?
+ public File getTargetPlatformDir()
+ {
+ return new File(branchDir, "tp");
+ }
+
+ public File getWorkspaceDir()
+ {
+ return new File(branchDir, "ws");
+ }
+
+ public Setup getSetup()
+ {
+ return setup;
+ }
+
+ public void perform() throws Exception
+ {
+ EList<SetupTask> setupTasks = setup.getSetupTasks(true, onlyInstall);
+ if (setupTasks.isEmpty())
+ {
+ return;
+ }
+
+ Map<SetupTask, SetupTask> substitutions = getSubstitutions(setupTasks);
+ setup = copySetup(setupTasks, substitutions);
+
+ perform(setupTasks);
+
+ for (SetupTask setupTask : setupTasks)
+ {
+ setupTask.dispose();
+ }
+ }
+
+ private void perform(EList<SetupTask> setupTasks) throws Exception
+ {
+ EList<SetupTask> neededTasks = getNeededTasks(setupTasks);
+ if (neededTasks.isEmpty())
+ {
+ return;
+ }
+
+ int xxx;
+ // TODO Execute this loop in ProgressLogDialog
+ Branch branch = setup.getBranch();
+ log("Setting up " + branch.getProject().getName() + " " + branch.getName());
+
+ for (SetupTask neededTask : neededTasks)
+ {
+ neededTask.perform(this);
+ }
+ }
+
+ private Map<SetupTask, SetupTask> getSubstitutions(EList<SetupTask> setupTasks)
+ {
+ SetupTaskComparator.sort(setupTasks);
+
+ Map<Object, SetupTask> overrides = new HashMap<Object, SetupTask>();
+ Map<SetupTask, SetupTask> substitutions = new HashMap<SetupTask, SetupTask>();
+
+ for (SetupTask setupTask : setupTasks)
+ {
+ Object overrideToken = setupTask.getOverrideToken();
+ SetupTask overriddenTask = overrides.put(overrideToken, setupTask);
+ if (overriddenTask != null)
+ {
+ substitutions.put(overriddenTask, setupTask);
+ }
+ }
+
+ // Shorten the paths through the substitutions map
+ for (Map.Entry<SetupTask, SetupTask> entry : substitutions.entrySet())
+ {
+ SetupTask task = entry.getValue();
+
+ for (;;)
+ {
+ SetupTask overridingTask = substitutions.get(task);
+ if (overridingTask == null)
+ {
+ break;
+ }
+
+ entry.setValue(overridingTask);
+ }
+ }
+
+ return substitutions;
+ }
+
+ private Setup copySetup(EList<SetupTask> setupTasks, Map<SetupTask, SetupTask> substitutions)
+ {
+ Set<EObject> roots = new HashSet<EObject>();
+ roots.add(setup);
+
+ for (EObject eObject : setup.eCrossReferences())
+ {
+ EObject rootContainer = EcoreUtil.getRootContainer(eObject);
+ roots.add(rootContainer);
+ }
+
+ EcoreUtil.Copier copier = new EcoreUtil.Copier();
+ Setup setup = (Setup)copier.copyAll(roots);
+
+ for (Map.Entry<SetupTask, SetupTask> entry : substitutions.entrySet())
+ {
+ SetupTask overriddenTask = entry.getKey();
+ SetupTask overridingTask = entry.getValue();
+
+ EObject copy = copier.get(overridingTask);
+ copier.put(overriddenTask, copy);
+ }
+
+ copier.copyReferences();
+
+ for (ListIterator<SetupTask> it = setupTasks.listIterator(); it.hasNext();)
+ {
+ SetupTask setupTask = it.next();
+ if (substitutions.containsKey(setupTask))
+ {
+ it.remove();
+ }
+ else
+ {
+ SetupTask copy = (SetupTask)copier.get(setupTask);
+ it.set(copy);
+ }
+ }
+
+ SetupTaskComparator.sort(setupTasks);
+ return setup;
+ }
+
+ private EList<SetupTask> getNeededTasks(EList<SetupTask> setupTasks) throws Exception
+ {
+ EList<SetupTask> result = new BasicEList<SetupTask>();
+
+ for (Iterator<SetupTask> it = setupTasks.iterator(); it.hasNext();)
+ {
+ SetupTask setupTask = it.next();
+ if (setupTask.isNeeded(this))
+ {
+ result.add(setupTask);
+ }
+ }
+
+ return result;
+ }
+
+ public static ProgressLog getProgress()
+ {
+ return progress;
+ }
+
+ public static void setProgress(ProgressLog progress)
+ {
+ SetupTaskPerformer.progress = progress;
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ public static class SetupTaskComparator implements Comparator<SetupTask>
+ {
+ public static void sort(EList<SetupTask> setupTasks)
+ {
+ Collections.sort(setupTasks, new SetupTaskComparator());
+ }
+
+ public int compare(SetupTask t1, SetupTask t2)
+ {
+ boolean install1 = t1 instanceof InstallTask;
+ boolean install2 = t2 instanceof InstallTask;
+ if (install1 && !install2)
+ {
+ return -1;
+ }
+
+ if (!install1 && install2)
+ {
+ return 1;
+ }
+
+ boolean t1RequiresT2 = t1.requires(t2);
+ boolean t2RequiresT1 = t2.requires(t1);
+ if (t1RequiresT2 && t2RequiresT1)
+ {
+ throw new IllegalStateException("Requirements cycle detected between " + t1 + " and " + t2);
+ }
+
+ if (t1RequiresT2 && !t2RequiresT1)
+ {
+ return 1;
+ }
+
+ if (!t1RequiresT2 && t2RequiresT1)
+ {
+ return -1;
+ }
+
+ int scope1 = t1.getScope().getValue();
+ int scope2 = t2.getScope().getValue();
+ if (scope1 < scope2)
+ {
+ return -1;
+ }
+
+ if (scope1 > scope2)
+ {
+ return 1;
+ }
+
+ String uri1 = EcoreUtil.getURI(t1).toString();
+ String uri2 = EcoreUtil.getURI(t2).toString();
+ return uri1.compareTo(uri2); // Arbitrary but symmetric within one ResourceSet
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ApiBaseline.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ApiBaseline.java
deleted file mode 100644
index 8ea7f52da8..0000000000
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ApiBaseline.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2013 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.releng.setup;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Api Baseline</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.ApiBaseline#getProject <em>Project</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.ApiBaseline#getVersion <em>Version</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.ApiBaseline#getZipLocation <em>Zip Location</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getApiBaseline()
- * @model
- * @generated
- */
-public interface ApiBaseline extends EObject
-{
- /**
- * Returns the value of the '<em><b>Project</b></em>' container reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.releng.setup.Project#getApiBaselines <em>Api Baselines</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Project</em>' container reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Project</em>' container reference.
- * @see #setProject(Project)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getApiBaseline_Project()
- * @see org.eclipse.emf.cdo.releng.setup.Project#getApiBaselines
- * @model opposite="apiBaselines" transient="false"
- * @generated
- */
- Project getProject();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.ApiBaseline#getProject <em>Project</em>}' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Project</em>' container reference.
- * @see #getProject()
- * @generated
- */
- void setProject(Project value);
-
- /**
- * Returns the value of the '<em><b>Version</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Version</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Version</em>' attribute.
- * @see #setVersion(String)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getApiBaseline_Version()
- * @model
- * @generated
- */
- String getVersion();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.ApiBaseline#getVersion <em>Version</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Version</em>' attribute.
- * @see #getVersion()
- * @generated
- */
- void setVersion(String value);
-
- /**
- * Returns the value of the '<em><b>Zip Location</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Zip Location</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Zip Location</em>' attribute.
- * @see #setZipLocation(String)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getApiBaseline_ZipLocation()
- * @model
- * @generated
- */
- String getZipLocation();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.ApiBaseline#getZipLocation <em>Zip Location</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Zip Location</em>' attribute.
- * @see #getZipLocation()
- * @generated
- */
- void setZipLocation(String value);
-
-} // ApiBaseline
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ApiBaselineTask.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ApiBaselineTask.java
new file mode 100644
index 0000000000..7cd3160743
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ApiBaselineTask.java
@@ -0,0 +1,76 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Api Baseline Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.ApiBaselineTask#getVersion <em>Version</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.ApiBaselineTask#getZipLocation <em>Zip Location</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getApiBaselineTask()
+ * @model
+ * @generated
+ */
+public interface ApiBaselineTask extends SetupTask
+{
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Version</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see #setVersion(String)
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getApiBaselineTask_Version()
+ * @model
+ * @generated
+ */
+ String getVersion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.ApiBaselineTask#getVersion <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Version</em>' attribute.
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(String value);
+
+ /**
+ * Returns the value of the '<em><b>Zip Location</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Zip Location</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Zip Location</em>' attribute.
+ * @see #setZipLocation(String)
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getApiBaselineTask_ZipLocation()
+ * @model
+ * @generated
+ */
+ String getZipLocation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.ApiBaselineTask#getZipLocation <em>Zip Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Zip Location</em>' attribute.
+ * @see #getZipLocation()
+ * @generated
+ */
+ void setZipLocation(String value);
+
+} // ApiBaselineTask
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Branch.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Branch.java
index 70ef7de2d7..e7d5d60d6d 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Branch.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Branch.java
@@ -10,9 +10,6 @@
*/
package org.eclipse.emf.cdo.releng.setup;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Branch</b></em>'.
@@ -23,10 +20,6 @@ import org.eclipse.emf.common.util.URI;
* <ul>
* <li>{@link org.eclipse.emf.cdo.releng.setup.Branch#getProject <em>Project</em>}</li>
* <li>{@link org.eclipse.emf.cdo.releng.setup.Branch#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.Branch#getGitClones <em>Git Clones</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.Branch#getApiBaseline <em>Api Baseline</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.Branch#getMspecFilePath <em>Mspec File Path</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.Branch#getCloneVariableName <em>Clone Variable Name</em>}</li>
* </ul>
* </p>
*
@@ -34,7 +27,7 @@ import org.eclipse.emf.common.util.URI;
* @model
* @generated
*/
-public interface Branch extends ToolInstallation
+public interface Branch extends ConfigurableItem
{
/**
* Returns the value of the '<em><b>Project</b></em>' container reference.
@@ -90,116 +83,4 @@ public interface Branch extends ToolInstallation
*/
void setName(String value);
- /**
- * Returns the value of the '<em><b>Git Clones</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.emf.cdo.releng.setup.GitClone}.
- * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.releng.setup.GitClone#getBranch <em>Branch</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Git Clones</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Git Clones</em>' containment reference list.
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getBranch_GitClones()
- * @see org.eclipse.emf.cdo.releng.setup.GitClone#getBranch
- * @model opposite="branch" containment="true" required="true"
- * @generated
- */
- EList<GitClone> getGitClones();
-
- /**
- * Returns the value of the '<em><b>Api Baseline</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Api Baseline</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Api Baseline</em>' reference.
- * @see #setApiBaseline(ApiBaseline)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getBranch_ApiBaseline()
- * @model
- * @generated
- */
- ApiBaseline getApiBaseline();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.Branch#getApiBaseline <em>Api Baseline</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Api Baseline</em>' reference.
- * @see #getApiBaseline()
- * @generated
- */
- void setApiBaseline(ApiBaseline value);
-
- /**
- * Returns the value of the '<em><b>Mspec File Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Mspec File Path</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Mspec File Path</em>' attribute.
- * @see #setMspecFilePath(String)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getBranch_MspecFilePath()
- * @model
- * @generated
- */
- String getMspecFilePath();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.Branch#getMspecFilePath <em>Mspec File Path</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Mspec File Path</em>' attribute.
- * @see #getMspecFilePath()
- * @generated
- */
- void setMspecFilePath(String value);
-
- /**
- * Returns the value of the '<em><b>Clone Variable Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Clone Variable Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Clone Variable Name</em>' attribute.
- * @see #setCloneVariableName(String)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getBranch_CloneVariableName()
- * @model
- * @generated
- */
- String getCloneVariableName();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.Branch#getCloneVariableName <em>Clone Variable Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Clone Variable Name</em>' attribute.
- * @see #getCloneVariableName()
- * @generated
- */
- void setCloneVariableName(String value);
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- boolean isInstalled(String installFolder);
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @model dataType="org.eclipse.emf.cdo.releng.setup.URI"
- * @generated
- */
- URI getURI(String installFolder);
-
} // Branch
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/BuckminsterImportTask.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/BuckminsterImportTask.java
new file mode 100644
index 0000000000..d24686979e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/BuckminsterImportTask.java
@@ -0,0 +1,103 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Buckminster Import Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.BuckminsterImportTask#getMspec <em>Mspec</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.BuckminsterImportTask#getTargetPlatform <em>Target Platform</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.BuckminsterImportTask#getBundlePool <em>Bundle Pool</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getBuckminsterImportTask()
+ * @model
+ * @generated
+ */
+public interface BuckminsterImportTask extends OneTimeSetupTask
+{
+ /**
+ * Returns the value of the '<em><b>Mspec</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mspec</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mspec</em>' attribute.
+ * @see #setMspec(String)
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getBuckminsterImportTask_Mspec()
+ * @model
+ * @generated
+ */
+ String getMspec();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.BuckminsterImportTask#getMspec <em>Mspec</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mspec</em>' attribute.
+ * @see #getMspec()
+ * @generated
+ */
+ void setMspec(String value);
+
+ /**
+ * Returns the value of the '<em><b>Target Platform</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Platform</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Platform</em>' attribute.
+ * @see #setTargetPlatform(String)
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getBuckminsterImportTask_TargetPlatform()
+ * @model
+ * @generated
+ */
+ String getTargetPlatform();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.BuckminsterImportTask#getTargetPlatform <em>Target Platform</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Platform</em>' attribute.
+ * @see #getTargetPlatform()
+ * @generated
+ */
+ void setTargetPlatform(String value);
+
+ /**
+ * Returns the value of the '<em><b>Bundle Pool</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Bundle Pool</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Bundle Pool</em>' attribute.
+ * @see #setBundlePool(String)
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getBuckminsterImportTask_BundlePool()
+ * @model
+ * @generated
+ */
+ String getBundlePool();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.BuckminsterImportTask#getBundlePool <em>Bundle Pool</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Bundle Pool</em>' attribute.
+ * @see #getBundlePool()
+ * @generated
+ */
+ void setBundlePool(String value);
+
+} // BuckminsterImportTask
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/CompoundSetupTask.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/CompoundSetupTask.java
new file mode 100644
index 0000000000..afca697901
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/CompoundSetupTask.java
@@ -0,0 +1,49 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Compound Setup Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.CompoundSetupTask#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getCompoundSetupTask()
+ * @model
+ * @generated
+ */
+public interface CompoundSetupTask extends SetupTask, SetupTaskContainer
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getCompoundSetupTask_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.CompoundSetupTask#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // CompoundSetupTask
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ConfigurableItem.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ConfigurableItem.java
new file mode 100644
index 0000000000..d14e7d124e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ConfigurableItem.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Configurable Item</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getConfigurableItem()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ConfigurableItem extends SetupTaskContainer
+{
+} // ConfigurableItem
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Configuration.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Configuration.java
index a144553bee..57ab104bca 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Configuration.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Configuration.java
@@ -45,7 +45,7 @@ public interface Configuration extends EObject
* @return the value of the '<em>Projects</em>' containment reference list.
* @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getConfiguration_Projects()
* @see org.eclipse.emf.cdo.releng.setup.Project#getConfiguration
- * @model opposite="configuration" containment="true" required="true"
+ * @model opposite="configuration" containment="true" resolveProxies="true" required="true"
* @generated
*/
EList<Project> getProjects();
@@ -63,7 +63,7 @@ public interface Configuration extends EObject
* @return the value of the '<em>Eclipse Versions</em>' containment reference list.
* @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getConfiguration_EclipseVersions()
* @see org.eclipse.emf.cdo.releng.setup.EclipseVersion#getConfiguration
- * @model opposite="configuration" containment="true" required="true"
+ * @model opposite="configuration" containment="true" resolveProxies="true" required="true"
* @generated
*/
EList<EclipseVersion> getEclipseVersions();
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/EclipseIniTask.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/EclipseIniTask.java
new file mode 100644
index 0000000000..12ba8cc8c4
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/EclipseIniTask.java
@@ -0,0 +1,103 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Eclipse Ini Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.EclipseIniTask#getOption <em>Option</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.EclipseIniTask#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.EclipseIniTask#isVm <em>Vm</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getEclipseIniTask()
+ * @model
+ * @generated
+ */
+public interface EclipseIniTask extends InstallTask
+{
+ /**
+ * Returns the value of the '<em><b>Option</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Option</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Option</em>' attribute.
+ * @see #setOption(String)
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getEclipseIniTask_Option()
+ * @model
+ * @generated
+ */
+ String getOption();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.EclipseIniTask#getOption <em>Option</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Option</em>' attribute.
+ * @see #getOption()
+ * @generated
+ */
+ void setOption(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getEclipseIniTask_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.EclipseIniTask#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Vm</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vm</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vm</em>' attribute.
+ * @see #setVm(boolean)
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getEclipseIniTask_Vm()
+ * @model
+ * @generated
+ */
+ boolean isVm();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.EclipseIniTask#isVm <em>Vm</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Vm</em>' attribute.
+ * @see #isVm()
+ * @generated
+ */
+ void setVm(boolean value);
+
+} // EclipseIniTask
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ToolPreference.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/EclipsePreferenceTask.java
index 32603a3eac..077b3bad4b 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/ToolPreference.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/EclipsePreferenceTask.java
@@ -2,26 +2,24 @@
*/
package org.eclipse.emf.cdo.releng.setup;
-import org.eclipse.emf.ecore.EObject;
-
/**
* <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Tool Preference</b></em>'.
+ * A representation of the model object '<em><b>Eclipse Preference Task</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.ToolPreference#getKey <em>Key</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.ToolPreference#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.EclipsePreferenceTask#getKey <em>Key</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.EclipsePreferenceTask#getValue <em>Value</em>}</li>
* </ul>
* </p>
*
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getToolPreference()
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getEclipsePreferenceTask()
* @model
* @generated
*/
-public interface ToolPreference extends EObject
+public interface EclipsePreferenceTask extends SetupTask
{
/**
* Returns the value of the '<em><b>Key</b></em>' attribute.
@@ -33,14 +31,14 @@ public interface ToolPreference extends EObject
* <!-- end-user-doc -->
* @return the value of the '<em>Key</em>' attribute.
* @see #setKey(String)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getToolPreference_Key()
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getEclipsePreferenceTask_Key()
* @model
* @generated
*/
String getKey();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.ToolPreference#getKey <em>Key</em>}' attribute.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.EclipsePreferenceTask#getKey <em>Key</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Key</em>' attribute.
@@ -59,14 +57,14 @@ public interface ToolPreference extends EObject
* <!-- end-user-doc -->
* @return the value of the '<em>Value</em>' attribute.
* @see #setValue(String)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getToolPreference_Value()
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getEclipsePreferenceTask_Value()
* @model
* @generated
*/
String getValue();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.ToolPreference#getValue <em>Value</em>}' attribute.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.EclipsePreferenceTask#getValue <em>Value</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Value</em>' attribute.
@@ -75,4 +73,4 @@ public interface ToolPreference extends EObject
*/
void setValue(String value);
-} // ToolPreference
+} // EclipsePreferenceTask
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/EclipseVersion.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/EclipseVersion.java
index 07e2f11cca..7689316632 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/EclipseVersion.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/EclipseVersion.java
@@ -10,11 +10,13 @@
*/
package org.eclipse.emf.cdo.releng.setup;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Eclipse Version</b></em>'.
+ * @extends SetupTaskContainer
* <!-- end-user-doc -->
*
* <p>
@@ -22,7 +24,7 @@ import org.eclipse.emf.ecore.EObject;
* <ul>
* <li>{@link org.eclipse.emf.cdo.releng.setup.EclipseVersion#getConfiguration <em>Configuration</em>}</li>
* <li>{@link org.eclipse.emf.cdo.releng.setup.EclipseVersion#getVersion <em>Version</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.EclipseVersion#getDirectorCall <em>Director Call</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.EclipseVersion#getInstallTasks <em>Install Tasks</em>}</li>
* </ul>
* </p>
*
@@ -30,7 +32,7 @@ import org.eclipse.emf.ecore.EObject;
* @model
* @generated
*/
-public interface EclipseVersion extends EObject
+public interface EclipseVersion extends EObject, SetupTaskContainer
{
/**
* Returns the value of the '<em><b>Configuration</b></em>' container reference.
@@ -87,29 +89,19 @@ public interface EclipseVersion extends EObject
void setVersion(String value);
/**
- * Returns the value of the '<em><b>Director Call</b></em>' containment reference.
+ * Returns the value of the '<em><b>Install Tasks</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.releng.setup.InstallTask}.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Director Call</em>' containment reference isn't clear,
+ * If the meaning of the '<em>Install Tasks</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Director Call</em>' containment reference.
- * @see #setDirectorCall(DirectorCall)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getEclipseVersion_DirectorCall()
- * @model containment="true" required="true"
+ * @return the value of the '<em>Install Tasks</em>' containment reference list.
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getEclipseVersion_InstallTasks()
+ * @model containment="true" resolveProxies="true" required="true"
* @generated
*/
- DirectorCall getDirectorCall();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.EclipseVersion#getDirectorCall <em>Director Call</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Director Call</em>' containment reference.
- * @see #getDirectorCall()
- * @generated
- */
- void setDirectorCall(DirectorCall value);
+ EList<InstallTask> getInstallTasks();
} // EclipseVersion
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/GitClone.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/GitCloneTask.java
index a134a7b787..7b1d812093 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/GitClone.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/GitCloneTask.java
@@ -1,91 +1,80 @@
-/*
- * Copyright (c) 2013 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
+/**
*/
package org.eclipse.emf.cdo.releng.setup;
-import org.eclipse.emf.ecore.EObject;
-
/**
* <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Git Clone</b></em>'.
+ * A representation of the model object '<em><b>Git Clone Task</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.GitClone#getBranch <em>Branch</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.GitClone#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.GitClone#getRemoteURI <em>Remote URI</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.GitClone#getCheckoutBranch <em>Checkout Branch</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.GitCloneTask#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.GitCloneTask#getRemoteName <em>Remote Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.GitCloneTask#getRemoteURI <em>Remote URI</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.GitCloneTask#getCheckoutBranch <em>Checkout Branch</em>}</li>
* </ul>
* </p>
*
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getGitClone()
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getGitCloneTask()
* @model
* @generated
*/
-public interface GitClone extends EObject
+public interface GitCloneTask extends SetupTask
{
/**
- * Returns the value of the '<em><b>Branch</b></em>' container reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.releng.setup.Branch#getGitClones <em>Git Clones</em>}'.
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Branch</em>' container reference isn't clear,
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Branch</em>' container reference.
- * @see #setBranch(Branch)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getGitClone_Branch()
- * @see org.eclipse.emf.cdo.releng.setup.Branch#getGitClones
- * @model opposite="gitClones" transient="false"
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getGitCloneTask_Name()
+ * @model
* @generated
*/
- Branch getBranch();
+ String getName();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.GitClone#getBranch <em>Branch</em>}' container reference.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.GitCloneTask#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @param value the new value of the '<em>Branch</em>' container reference.
- * @see #getBranch()
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
* @generated
*/
- void setBranch(Branch value);
+ void setName(String value);
/**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * Returns the value of the '<em><b>Remote Name</b></em>' attribute.
+ * The default value is <code>"origin"</code>.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * If the meaning of the '<em>Remote Name</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getGitClone_Name()
- * @model
+ * @return the value of the '<em>Remote Name</em>' attribute.
+ * @see #setRemoteName(String)
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getGitCloneTask_RemoteName()
+ * @model default="origin"
* @generated
*/
- String getName();
+ String getRemoteName();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.GitClone#getName <em>Name</em>}' attribute.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.GitCloneTask#getRemoteName <em>Remote Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
+ * @param value the new value of the '<em>Remote Name</em>' attribute.
+ * @see #getRemoteName()
* @generated
*/
- void setName(String value);
+ void setRemoteName(String value);
/**
* Returns the value of the '<em><b>Remote URI</b></em>' attribute.
@@ -97,14 +86,14 @@ public interface GitClone extends EObject
* <!-- end-user-doc -->
* @return the value of the '<em>Remote URI</em>' attribute.
* @see #setRemoteURI(String)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getGitClone_RemoteURI()
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getGitCloneTask_RemoteURI()
* @model
* @generated
*/
String getRemoteURI();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.GitClone#getRemoteURI <em>Remote URI</em>}' attribute.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.GitCloneTask#getRemoteURI <em>Remote URI</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Remote URI</em>' attribute.
@@ -123,14 +112,14 @@ public interface GitClone extends EObject
* <!-- end-user-doc -->
* @return the value of the '<em>Checkout Branch</em>' attribute.
* @see #setCheckoutBranch(String)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getGitClone_CheckoutBranch()
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getGitCloneTask_CheckoutBranch()
* @model
* @generated
*/
String getCheckoutBranch();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.GitClone#getCheckoutBranch <em>Checkout Branch</em>}' attribute.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.GitCloneTask#getCheckoutBranch <em>Checkout Branch</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Checkout Branch</em>' attribute.
@@ -139,4 +128,4 @@ public interface GitClone extends EObject
*/
void setCheckoutBranch(String value);
-} // GitClone
+} // GitCloneTask
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/InstallTask.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/InstallTask.java
new file mode 100644
index 0000000000..aa6580a2a3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/InstallTask.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Install Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getInstallTask()
+ * @model abstract="true"
+ * @generated
+ */
+public interface InstallTask extends SetupTask
+{
+} // InstallTask
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/InstallableUnit.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/InstallableUnit.java
index 6326d1085e..3b327dde15 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/InstallableUnit.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/InstallableUnit.java
@@ -20,7 +20,7 @@ import org.eclipse.emf.ecore.EObject;
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.InstallableUnit#getDirectorCall <em>Director Call</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.InstallableUnit#getP2Task <em>P2 Task</em>}</li>
* <li>{@link org.eclipse.emf.cdo.releng.setup.InstallableUnit#getId <em>Id</em>}</li>
* </ul>
* </p>
@@ -32,32 +32,32 @@ import org.eclipse.emf.ecore.EObject;
public interface InstallableUnit extends EObject
{
/**
- * Returns the value of the '<em><b>Director Call</b></em>' container reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.releng.setup.DirectorCall#getInstallableUnits <em>Installable Units</em>}'.
+ * Returns the value of the '<em><b>P2 Task</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.releng.setup.P2Task#getInstallableUnits <em>Installable Units</em>}'.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Director Call</em>' container reference isn't clear,
+ * If the meaning of the '<em>P2 Task</em>' container reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Director Call</em>' container reference.
- * @see #setDirectorCall(DirectorCall)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getInstallableUnit_DirectorCall()
- * @see org.eclipse.emf.cdo.releng.setup.DirectorCall#getInstallableUnits
+ * @return the value of the '<em>P2 Task</em>' container reference.
+ * @see #setP2Task(P2Task)
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getInstallableUnit_P2Task()
+ * @see org.eclipse.emf.cdo.releng.setup.P2Task#getInstallableUnits
* @model opposite="installableUnits" transient="false"
* @generated
*/
- DirectorCall getDirectorCall();
+ P2Task getP2Task();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.InstallableUnit#getDirectorCall <em>Director Call</em>}' container reference.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.InstallableUnit#getP2Task <em>P2 Task</em>}' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @param value the new value of the '<em>Director Call</em>' container reference.
- * @see #getDirectorCall()
+ * @param value the new value of the '<em>P2 Task</em>' container reference.
+ * @see #getP2Task()
* @generated
*/
- void setDirectorCall(DirectorCall value);
+ void setP2Task(P2Task value);
/**
* Returns the value of the '<em><b>Id</b></em>' attribute.
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/LinkLocation.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/LinkLocationTask.java
index 3dd296022e..c0eba4419d 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/LinkLocation.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/LinkLocationTask.java
@@ -2,26 +2,24 @@
*/
package org.eclipse.emf.cdo.releng.setup;
-import org.eclipse.emf.ecore.EObject;
-
/**
* <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Link Location</b></em>'.
+ * A representation of the model object '<em><b>Link Location Task</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.LinkLocation#getPath <em>Path</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.LinkLocation#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.LinkLocationTask#getPath <em>Path</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.LinkLocationTask#getName <em>Name</em>}</li>
* </ul>
* </p>
*
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getLinkLocation()
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getLinkLocationTask()
* @model
* @generated
*/
-public interface LinkLocation extends EObject
+public interface LinkLocationTask extends InstallTask
{
/**
* Returns the value of the '<em><b>Path</b></em>' attribute.
@@ -33,14 +31,14 @@ public interface LinkLocation extends EObject
* <!-- end-user-doc -->
* @return the value of the '<em>Path</em>' attribute.
* @see #setPath(String)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getLinkLocation_Path()
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getLinkLocationTask_Path()
* @model
* @generated
*/
String getPath();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.LinkLocation#getPath <em>Path</em>}' attribute.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.LinkLocationTask#getPath <em>Path</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Path</em>' attribute.
@@ -59,14 +57,14 @@ public interface LinkLocation extends EObject
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getLinkLocation_Name()
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getLinkLocationTask_Name()
* @model
* @generated
*/
String getName();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.LinkLocation#getName <em>Name</em>}' attribute.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.LinkLocationTask#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Name</em>' attribute.
@@ -75,4 +73,4 @@ public interface LinkLocation extends EObject
*/
void setName(String value);
-} // LinkLocation
+} // LinkLocationTask
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/OneTimeSetupTask.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/OneTimeSetupTask.java
new file mode 100644
index 0000000000..325fd72b50
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/OneTimeSetupTask.java
@@ -0,0 +1,49 @@
+/**
+ */
+package org.eclipse.emf.cdo.releng.setup;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>One Time Setup Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.OneTimeSetupTask#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getOneTimeSetupTask()
+ * @model abstract="true"
+ * @generated
+ */
+public interface OneTimeSetupTask extends SetupTask
+{
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getOneTimeSetupTask_Id()
+ * @model required="true"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.OneTimeSetupTask#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+} // OneTimeSetupTask
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/P2Repository.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/P2Repository.java
index 86f3c59534..7c7b5cd47e 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/P2Repository.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/P2Repository.java
@@ -20,7 +20,7 @@ import org.eclipse.emf.ecore.EObject;
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.P2Repository#getDirectorCall <em>Director Call</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.P2Repository#getP2Task <em>P2 Task</em>}</li>
* <li>{@link org.eclipse.emf.cdo.releng.setup.P2Repository#getUrl <em>Url</em>}</li>
* </ul>
* </p>
@@ -32,32 +32,32 @@ import org.eclipse.emf.ecore.EObject;
public interface P2Repository extends EObject
{
/**
- * Returns the value of the '<em><b>Director Call</b></em>' container reference.
- * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.releng.setup.DirectorCall#getP2Repositories <em>P2 Repositories</em>}'.
+ * Returns the value of the '<em><b>P2 Task</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.releng.setup.P2Task#getP2Repositories <em>P2 Repositories</em>}'.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Director Call</em>' container reference isn't clear,
+ * If the meaning of the '<em>P2 Task</em>' container reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Director Call</em>' container reference.
- * @see #setDirectorCall(DirectorCall)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getP2Repository_DirectorCall()
- * @see org.eclipse.emf.cdo.releng.setup.DirectorCall#getP2Repositories
+ * @return the value of the '<em>P2 Task</em>' container reference.
+ * @see #setP2Task(P2Task)
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getP2Repository_P2Task()
+ * @see org.eclipse.emf.cdo.releng.setup.P2Task#getP2Repositories
* @model opposite="p2Repositories" transient="false"
* @generated
*/
- DirectorCall getDirectorCall();
+ P2Task getP2Task();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.P2Repository#getDirectorCall <em>Director Call</em>}' container reference.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.P2Repository#getP2Task <em>P2 Task</em>}' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @param value the new value of the '<em>Director Call</em>' container reference.
- * @see #getDirectorCall()
+ * @param value the new value of the '<em>P2 Task</em>' container reference.
+ * @see #getP2Task()
* @generated
*/
- void setDirectorCall(DirectorCall value);
+ void setP2Task(P2Task value);
/**
* Returns the value of the '<em><b>Url</b></em>' attribute.
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/DirectorCall.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/P2Task.java
index bb9ff02fa1..019c181f10 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/DirectorCall.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/P2Task.java
@@ -1,41 +1,32 @@
-/*
- * Copyright (c) 2013 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
+/**
*/
package org.eclipse.emf.cdo.releng.setup;
import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Director Call</b></em>'.
+ * A representation of the model object '<em><b>Install Task</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.DirectorCall#getInstallableUnits <em>Installable Units</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.DirectorCall#getP2Repositories <em>P2 Repositories</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.P2Task#getP2Repositories <em>P2 Repositories</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.releng.setup.P2Task#getInstallableUnits <em>Installable Units</em>}</li>
* </ul>
* </p>
*
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getDirectorCall()
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getP2Task()
* @model
* @generated
*/
-public interface DirectorCall extends EObject
+public interface P2Task extends InstallTask
{
/**
* Returns the value of the '<em><b>Installable Units</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.emf.cdo.releng.setup.InstallableUnit}.
- * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.releng.setup.InstallableUnit#getDirectorCall <em>Director Call</em>}'.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.releng.setup.InstallableUnit#getP2Task <em>P2 Task</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Installable Units</em>' containment reference list isn't clear,
@@ -43,9 +34,9 @@ public interface DirectorCall extends EObject
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Installable Units</em>' containment reference list.
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getDirectorCall_InstallableUnits()
- * @see org.eclipse.emf.cdo.releng.setup.InstallableUnit#getDirectorCall
- * @model opposite="directorCall" containment="true" required="true"
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getP2Task_InstallableUnits()
+ * @see org.eclipse.emf.cdo.releng.setup.InstallableUnit#getP2Task
+ * @model opposite="p2Task" containment="true" resolveProxies="true" required="true"
* @generated
*/
EList<InstallableUnit> getInstallableUnits();
@@ -53,7 +44,7 @@ public interface DirectorCall extends EObject
/**
* Returns the value of the '<em><b>P2 Repositories</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.emf.cdo.releng.setup.P2Repository}.
- * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.releng.setup.P2Repository#getDirectorCall <em>Director Call</em>}'.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.releng.setup.P2Repository#getP2Task <em>P2 Task</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>P2 Repositories</em>' containment reference list isn't clear,
@@ -61,11 +52,11 @@ public interface DirectorCall extends EObject
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>P2 Repositories</em>' containment reference list.
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getDirectorCall_P2Repositories()
- * @see org.eclipse.emf.cdo.releng.setup.P2Repository#getDirectorCall
- * @model opposite="directorCall" containment="true" required="true"
+ * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getP2Task_P2Repositories()
+ * @see org.eclipse.emf.cdo.releng.setup.P2Repository#getP2Task
+ * @model opposite="p2Task" containment="true" resolveProxies="true" required="true"
* @generated
*/
EList<P2Repository> getP2Repositories();
-} // DirectorCall
+} // InstallTask
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Preferences.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Preferences.java
index be482948d7..47b700e5c8 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Preferences.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Preferences.java
@@ -13,7 +13,6 @@ package org.eclipse.emf.cdo.releng.setup;
import org.eclipse.emf.common.util.URI;
import java.io.File;
-import org.eclipse.emf.common.util.EList;
/**
* <!-- begin-user-doc -->
@@ -26,7 +25,6 @@ import org.eclipse.emf.common.util.EList;
* <li>{@link org.eclipse.emf.cdo.releng.setup.Preferences#getUserName <em>User Name</em>}</li>
* <li>{@link org.eclipse.emf.cdo.releng.setup.Preferences#getInstallFolder <em>Install Folder</em>}</li>
* <li>{@link org.eclipse.emf.cdo.releng.setup.Preferences#getGitPrefix <em>Git Prefix</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.Preferences#getLinkLocations <em>Link Locations</em>}</li>
* </ul>
* </p>
*
@@ -34,7 +32,7 @@ import org.eclipse.emf.common.util.EList;
* @model
* @generated
*/
-public interface Preferences extends ToolInstallation
+public interface Preferences extends SetupTaskContainer
{
public static final String PREFERENCES_NAME = "setup-eclipse.xmi";
@@ -119,20 +117,4 @@ public interface Preferences extends ToolInstallation
*/
void setGitPrefix(String value);
- /**
- * Returns the value of the '<em><b>Link Locations</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.emf.cdo.releng.setup.LinkLocation}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Link Locations</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Link Locations</em>' containment reference list.
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getPreferences_LinkLocations()
- * @model containment="true"
- * @generated
- */
- EList<LinkLocation> getLinkLocations();
-
} // Preferences
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Project.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Project.java
index 284a66bfc3..d7bb5d62c6 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Project.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Project.java
@@ -10,7 +10,6 @@
*/
package org.eclipse.emf.cdo.releng.setup;
-import org.eclipse.emf.cdo.releng.workingsets.WorkingSetGroup;
import org.eclipse.emf.common.util.EList;
/**
@@ -24,8 +23,6 @@ import org.eclipse.emf.common.util.EList;
* <li>{@link org.eclipse.emf.cdo.releng.setup.Project#getConfiguration <em>Configuration</em>}</li>
* <li>{@link org.eclipse.emf.cdo.releng.setup.Project#getBranches <em>Branches</em>}</li>
* <li>{@link org.eclipse.emf.cdo.releng.setup.Project#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.Project#getApiBaselines <em>Api Baselines</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.Project#getWorkingSetGroup <em>Working Set Group</em>}</li>
* </ul>
* </p>
*
@@ -33,7 +30,7 @@ import org.eclipse.emf.common.util.EList;
* @model
* @generated
*/
-public interface Project extends ToolInstallation
+public interface Project extends ConfigurableItem
{
/**
* Returns the value of the '<em><b>Configuration</b></em>' container reference.
@@ -76,7 +73,7 @@ public interface Project extends ToolInstallation
* @return the value of the '<em>Branches</em>' containment reference list.
* @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getProject_Branches()
* @see org.eclipse.emf.cdo.releng.setup.Branch#getProject
- * @model opposite="project" containment="true" required="true"
+ * @model opposite="project" containment="true" resolveProxies="true" required="true"
* @generated
*/
EList<Branch> getBranches();
@@ -107,48 +104,4 @@ public interface Project extends ToolInstallation
*/
void setName(String value);
- /**
- * Returns the value of the '<em><b>Api Baselines</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.emf.cdo.releng.setup.ApiBaseline}.
- * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.releng.setup.ApiBaseline#getProject <em>Project</em>}'.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Api Baselines</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Api Baselines</em>' containment reference list.
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getProject_ApiBaselines()
- * @see org.eclipse.emf.cdo.releng.setup.ApiBaseline#getProject
- * @model opposite="project" containment="true"
- * @generated
- */
- EList<ApiBaseline> getApiBaselines();
-
- /**
- * Returns the value of the '<em><b>Working Set Group</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Working Set Group</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Working Set Group</em>' containment reference.
- * @see #setWorkingSetGroup(WorkingSetGroup)
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getProject_WorkingSetGroup()
- * @model containment="true"
- * @generated
- */
- WorkingSetGroup getWorkingSetGroup();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.Project#getWorkingSetGroup <em>Working Set Group</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Working Set Group</em>' containment reference.
- * @see #getWorkingSetGroup()
- * @generated
- */
- void setWorkingSetGroup(WorkingSetGroup value);
-
} // Project
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Setup.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Setup.java
index 62f299693f..2c0e9d6be3 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Setup.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/Setup.java
@@ -24,7 +24,6 @@ import org.eclipse.emf.ecore.EObject;
* <li>{@link org.eclipse.emf.cdo.releng.setup.Setup#getBranch <em>Branch</em>}</li>
* <li>{@link org.eclipse.emf.cdo.releng.setup.Setup#getEclipseVersion <em>Eclipse Version</em>}</li>
* <li>{@link org.eclipse.emf.cdo.releng.setup.Setup#getPreferences <em>Preferences</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.releng.setup.Setup#getUpdateLocations <em>Update Locations</em>}</li>
* </ul>
* </p>
*
@@ -87,45 +86,37 @@ public interface Setup extends EObject
void setEclipseVersion(EclipseVersion value);
/**
- * Returns the value of the '<em><b>Preferences</b></em>' containment reference.
+ * Returns the value of the '<em><b>Preferences</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Preferences</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Preferences</em>' containment reference.
+ * @return the value of the '<em>Preferences</em>' reference.
* @see #setPreferences(Preferences)
* @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getSetup_Preferences()
- * @model containment="true"
+ * @model required="true"
* @generated
*/
Preferences getPreferences();
/**
- * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.Setup#getPreferences <em>Preferences</em>}' containment reference.
+ * Sets the value of the '{@link org.eclipse.emf.cdo.releng.setup.Setup#getPreferences <em>Preferences</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @param value the new value of the '<em>Preferences</em>' containment reference.
+ * @param value the new value of the '<em>Preferences</em>' reference.
* @see #getPreferences()
* @generated
*/
void setPreferences(Preferences value);
/**
- * Returns the value of the '<em><b>Update Locations</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.emf.cdo.releng.setup.P2Repository}.
* <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Update Locations</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Update Locations</em>' containment reference list.
- * @see org.eclipse.emf.cdo.releng.setup.SetupPackage#getSetup_UpdateLocations()
- * @model containment="true"
+ * @model
* @generated
*/
- EList<P2Repository> getUpdateLocations();
+ EList<SetupTask> getSetupTasks(boolean filterRestrictions, boolean onlyInstall);
} // Workspace
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/SetupFactory.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/SetupFactory.java
index c072236719..cf27ec5711 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/SetupFactory.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/SetupFactory.java
@@ -58,6 +58,24 @@ public interface SetupFactory extends EFactory
Branch createBranch();
/**
+ * Returns a new object of class '<em>Api Baseline Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Api Baseline Task</em>'.
+ * @generated
+ */
+ ApiBaselineTask createApiBaselineTask();
+
+ /**
+ * Returns a new object of class '<em>Git Clone Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Git Clone Task</em>'.
+ * @generated
+ */
+ GitCloneTask createGitCloneTask();
+
+ /**
* Returns a new object of class '<em>Eclipse Version</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -67,13 +85,13 @@ public interface SetupFactory extends EFactory
EclipseVersion createEclipseVersion();
/**
- * Returns a new object of class '<em>Director Call</em>'.
+ * Returns a new object of class '<em>P2 Task</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Director Call</em>'.
+ * @return a new object of class '<em>P2 Task</em>'.
* @generated
*/
- DirectorCall createDirectorCall();
+ P2Task createP2Task();
/**
* Returns a new object of class '<em>Installable Unit</em>'.
@@ -94,49 +112,58 @@ public interface SetupFactory extends EFactory
P2Repository createP2Repository();
/**
- * Returns a new object of class '<em>Api Baseline</em>'.
+ * Returns a new object of class '<em>Setup</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Api Baseline</em>'.
+ * @return a new object of class '<em>Setup</em>'.
* @generated
*/
- ApiBaseline createApiBaseline();
+ Setup createSetup();
/**
- * Returns a new object of class '<em>Git Clone</em>'.
+ * Returns a new object of class '<em>Working Set Task</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Git Clone</em>'.
+ * @return a new object of class '<em>Working Set Task</em>'.
* @generated
*/
- GitClone createGitClone();
+ WorkingSetTask createWorkingSetTask();
/**
- * Returns a new object of class '<em>Setup</em>'.
+ * Returns a new object of class '<em>Eclipse Ini Task</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Setup</em>'.
+ * @return a new object of class '<em>Eclipse Ini Task</em>'.
* @generated
*/
- Setup createSetup();
+ EclipseIniTask createEclipseIniTask();
/**
- * Returns a new object of class '<em>Tool Preference</em>'.
+ * Returns a new object of class '<em>Compound Setup Task</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Tool Preference</em>'.
+ * @return a new object of class '<em>Compound Setup Task</em>'.
* @generated
*/
- ToolPreference createToolPreference();
+ CompoundSetupTask createCompoundSetupTask();
/**
- * Returns a new object of class '<em>Link Location</em>'.
+ * Returns a new object of class '<em>Buckminster Import Task</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Link Location</em>'.
+ * @return a new object of class '<em>Buckminster Import Task</em>'.
* @generated
*/
- LinkLocation createLinkLocation();
+ BuckminsterImportTask createBuckminsterImportTask();
+
+ /**
+ * Returns a new object of class '<em>String Variable Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>String Variable Task</em>'.
+ * @generated
+ */
+ StringVariableTask createStringVariableTask();
/**
* Returns a new object of class '<em>Preferences</em>'.
@@ -148,6 +175,24 @@ public interface SetupFactory extends EFactory
Preferences createPreferences();
/**
+ * Returns a new object of class '<em>Link Location Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Link Location Task</em>'.
+ * @generated
+ */
+ LinkLocationTask createLinkLocationTask();
+
+ /**
+ * Returns a new object of class '<em>Eclipse Preference Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Eclipse Preference Task</em>'.
+ * @generated
+ */
+ EclipsePreferenceTask createEclipsePreferenceTask();
+
+ /**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/SetupPackage.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/SetupPackage.java
index eece03b9e8..b4e66e9599 100644
--- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/SetupPackage.java
+++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/setup/SetupPackage.java
@@ -13,6 +13,7 @@ package org.eclipse.emf.cdo.releng.setup;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
@@ -67,24 +68,24 @@ public interface SetupPackage extends EPackage
SetupPackage eINSTANCE = org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl.init();
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.ConfigurationImpl <em>Configuration</em>}' class.
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.SetupTaskContainerImpl <em>Task Container</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.releng.setup.impl.ConfigurationImpl
- * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getConfiguration()
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupTaskContainerImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getSetupTaskContainer()
* @generated
*/
- int CONFIGURATION = 8;
+ int SETUP_TASK_CONTAINER = 8;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.ToolInstallationImpl <em>Tool Installation</em>}' class.
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.ConfigurationImpl <em>Configuration</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.releng.setup.impl.ToolInstallationImpl
- * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getToolInstallation()
+ * @see org.eclipse.emf.cdo.releng.setup.impl.ConfigurationImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getConfiguration()
* @generated
*/
- int TOOL_INSTALLATION = 2;
+ int CONFIGURATION = 1;
/**
* The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.ProjectImpl <em>Project</em>}' class.
@@ -94,7 +95,7 @@ public interface SetupPackage extends EPackage
* @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getProject()
* @generated
*/
- int PROJECT = 9;
+ int PROJECT = 3;
/**
* The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.BranchImpl <em>Branch</em>}' class.
@@ -104,7 +105,7 @@ public interface SetupPackage extends EPackage
* @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getBranch()
* @generated
*/
- int BRANCH = 10;
+ int BRANCH = 4;
/**
* The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.EclipseVersionImpl <em>Eclipse Version</em>}' class.
@@ -114,17 +115,7 @@ public interface SetupPackage extends EPackage
* @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getEclipseVersion()
* @generated
*/
- int ECLIPSE_VERSION = 4;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.DirectorCallImpl <em>Director Call</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.releng.setup.impl.DirectorCallImpl
- * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getDirectorCall()
- * @generated
- */
- int DIRECTOR_CALL = 5;
+ int ECLIPSE_VERSION = 0;
/**
* The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.InstallableUnitImpl <em>Installable Unit</em>}' class.
@@ -134,7 +125,7 @@ public interface SetupPackage extends EPackage
* @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getInstallableUnit()
* @generated
*/
- int INSTALLABLE_UNIT = 6;
+ int INSTALLABLE_UNIT = 15;
/**
* The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.P2RepositoryImpl <em>P2 Repository</em>}' class.
@@ -144,82 +135,276 @@ public interface SetupPackage extends EPackage
* @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getP2Repository()
* @generated
*/
- int P2_REPOSITORY = 7;
+ int P2_REPOSITORY = 16;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.PreferencesImpl <em>Preferences</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.releng.setup.impl.PreferencesImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getPreferences()
+ * @generated
+ */
+ int PREFERENCES = 5;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.ApiBaselineImpl <em>Api Baseline</em>}' class.
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.SetupTaskImpl <em>Task</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.releng.setup.impl.ApiBaselineImpl
- * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getApiBaseline()
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupTaskImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getSetupTask()
* @generated
*/
- int API_BASELINE = 11;
+ int SETUP_TASK = 7;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.GitCloneImpl <em>Git Clone</em>}' class.
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.LinkLocationTaskImpl <em>Link Location Task</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.releng.setup.impl.GitCloneImpl
- * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getGitClone()
+ * @see org.eclipse.emf.cdo.releng.setup.impl.LinkLocationTaskImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getLinkLocationTask()
* @generated
*/
- int GIT_CLONE = 12;
+ int LINK_LOCATION_TASK = 13;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.PreferencesImpl <em>Preferences</em>}' class.
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.EclipsePreferenceTaskImpl <em>Eclipse Preference Task</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.releng.setup.impl.PreferencesImpl
- * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getPreferences()
+ * @see org.eclipse.emf.cdo.releng.setup.impl.EclipsePreferenceTaskImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getEclipsePreferenceTask()
+ * @generated
+ */
+ int ECLIPSE_PREFERENCE_TASK = 20;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.SetupImpl <em>Setup</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getSetup()
+ * @generated
+ */
+ int SETUP = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.P2TaskImpl <em>P2 Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.releng.setup.impl.P2TaskImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getP2Task()
+ * @generated
+ */
+ int P2_TASK = 14;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.InstallTaskImpl <em>Install Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.releng.setup.impl.InstallTaskImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getInstallTask()
+ * @generated
+ */
+ int INSTALL_TASK = 11;
+
+ /**
+ * The feature id for the '<em><b>Configuration</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ECLIPSE_VERSION__CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ECLIPSE_VERSION__VERSION = 1;
+
+ /**
+ * The feature id for the '<em><b>Install Tasks</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ECLIPSE_VERSION__INSTALL_TASKS = 2;
+
+ /**
+ * The number of structural features of the '<em>Eclipse Version</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ECLIPSE_VERSION_FEATURE_COUNT = 3;
+
+ /**
+ * The feature id for the '<em><b>Projects</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION__PROJECTS = 0;
+
+ /**
+ * The feature id for the '<em><b>Eclipse Versions</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION__ECLIPSE_VERSIONS = 1;
+
+ /**
+ * The number of structural features of the '<em>Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_FEATURE_COUNT = 2;
+
+ /**
+ * The feature id for the '<em><b>Setup Tasks</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SETUP_TASK_CONTAINER__SETUP_TASKS = 0;
+
+ /**
+ * The number of structural features of the '<em>Task Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SETUP_TASK_CONTAINER_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.ConfigurableItemImpl <em>Configurable Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.releng.setup.impl.ConfigurableItemImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getConfigurableItem()
+ * @generated
+ */
+ int CONFIGURABLE_ITEM = 2;
+
+ /**
+ * The feature id for the '<em><b>Setup Tasks</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURABLE_ITEM__SETUP_TASKS = SETUP_TASK_CONTAINER__SETUP_TASKS;
+
+ /**
+ * The number of structural features of the '<em>Configurable Item</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURABLE_ITEM_FEATURE_COUNT = SETUP_TASK_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Setup Tasks</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROJECT__SETUP_TASKS = CONFIGURABLE_ITEM__SETUP_TASKS;
+
+ /**
+ * The feature id for the '<em><b>Configuration</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROJECT__CONFIGURATION = CONFIGURABLE_ITEM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Branches</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROJECT__BRANCHES = CONFIGURABLE_ITEM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROJECT__NAME = CONFIGURABLE_ITEM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Project</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
* @generated
+ * @ordered
*/
- int PREFERENCES = 0;
+ int PROJECT_FEATURE_COUNT = CONFIGURABLE_ITEM_FEATURE_COUNT + 3;
/**
- * The feature id for the '<em><b>Director Calls</b></em>' containment reference list.
+ * The feature id for the '<em><b>Setup Tasks</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int TOOL_INSTALLATION__DIRECTOR_CALLS = 0;
+ int BRANCH__SETUP_TASKS = CONFIGURABLE_ITEM__SETUP_TASKS;
/**
- * The feature id for the '<em><b>Tool Preferences</b></em>' containment reference list.
+ * The feature id for the '<em><b>Project</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int TOOL_INSTALLATION__TOOL_PREFERENCES = 1;
+ int BRANCH__PROJECT = CONFIGURABLE_ITEM_FEATURE_COUNT + 0;
/**
- * The number of structural features of the '<em>Tool Installation</em>' class.
+ * The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int TOOL_INSTALLATION_FEATURE_COUNT = 2;
+ int BRANCH__NAME = CONFIGURABLE_ITEM_FEATURE_COUNT + 1;
/**
- * The feature id for the '<em><b>Director Calls</b></em>' containment reference list.
+ * The number of structural features of the '<em>Branch</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int PREFERENCES__DIRECTOR_CALLS = TOOL_INSTALLATION__DIRECTOR_CALLS;
+ int BRANCH_FEATURE_COUNT = CONFIGURABLE_ITEM_FEATURE_COUNT + 2;
/**
- * The feature id for the '<em><b>Tool Preferences</b></em>' containment reference list.
+ * The feature id for the '<em><b>Setup Tasks</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int PREFERENCES__TOOL_PREFERENCES = TOOL_INSTALLATION__TOOL_PREFERENCES;
+ int PREFERENCES__SETUP_TASKS = SETUP_TASK_CONTAINER__SETUP_TASKS;
/**
* The feature id for the '<em><b>User Name</b></em>' attribute.
@@ -228,7 +413,7 @@ public interface SetupPackage extends EPackage
* @generated
* @ordered
*/
- int PREFERENCES__USER_NAME = TOOL_INSTALLATION_FEATURE_COUNT + 0;
+ int PREFERENCES__USER_NAME = SETUP_TASK_CONTAINER_FEATURE_COUNT + 0;
/**
* The feature id for the '<em><b>Install Folder</b></em>' attribute.
@@ -237,7 +422,7 @@ public interface SetupPackage extends EPackage
* @generated
* @ordered
*/
- int PREFERENCES__INSTALL_FOLDER = TOOL_INSTALLATION_FEATURE_COUNT + 1;
+ int PREFERENCES__INSTALL_FOLDER = SETUP_TASK_CONTAINER_FEATURE_COUNT + 1;
/**
* The feature id for the '<em><b>Git Prefix</b></em>' attribute.
@@ -246,64 +431,164 @@ public interface SetupPackage extends EPackage
* @generated
* @ordered
*/
- int PREFERENCES__GIT_PREFIX = TOOL_INSTALLATION_FEATURE_COUNT + 2;
+ int PREFERENCES__GIT_PREFIX = SETUP_TASK_CONTAINER_FEATURE_COUNT + 2;
/**
- * The feature id for the '<em><b>Link Locations</b></em>' containment reference list.
+ * The number of structural features of the '<em>Preferences</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int PREFERENCES__LINK_LOCATIONS = TOOL_INSTALLATION_FEATURE_COUNT + 3;
+ int PREFERENCES_FEATURE_COUNT = SETUP_TASK_CONTAINER_FEATURE_COUNT + 3;
/**
- * The number of structural features of the '<em>Preferences</em>' class.
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.ApiBaselineTaskImpl <em>Api Baseline Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.releng.setup.impl.ApiBaselineTaskImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getApiBaselineTask()
+ * @generated
+ */
+ int API_BASELINE_TASK = 18;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.GitCloneTaskImpl <em>Git Clone Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.releng.setup.impl.GitCloneTaskImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getGitCloneTask()
+ * @generated
+ */
+ int GIT_CLONE_TASK = 19;
+
+ /**
+ * The feature id for the '<em><b>Branch</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int PREFERENCES_FEATURE_COUNT = TOOL_INSTALLATION_FEATURE_COUNT + 4;
+ int SETUP__BRANCH = 0;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.SetupImpl <em>Setup</em>}' class.
+ * The feature id for the '<em><b>Eclipse Version</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.releng.setup.impl.SetupImpl
- * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getSetup()
* @generated
+ * @ordered
*/
- int SETUP = 13;
+ int SETUP__ECLIPSE_VERSION = 1;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.ToolPreferenceImpl <em>Tool Preference</em>}' class.
+ * The feature id for the '<em><b>Preferences</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.releng.setup.impl.ToolPreferenceImpl
- * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getToolPreference()
* @generated
+ * @ordered
*/
- int TOOL_PREFERENCE = 3;
+ int SETUP__PREFERENCES = 2;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.LinkLocationImpl <em>Link Location</em>}' class.
+ * The number of structural features of the '<em>Setup</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.releng.setup.impl.LinkLocationImpl
- * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getLinkLocation()
* @generated
+ * @ordered
*/
- int LINK_LOCATION = 1;
+ int SETUP_FEATURE_COUNT = 3;
/**
- * The feature id for the '<em><b>Path</b></em>' attribute.
+ * The feature id for the '<em><b>Requirements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SETUP_TASK__REQUIREMENTS = 0;
+
+ /**
+ * The feature id for the '<em><b>Restrictions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SETUP_TASK__RESTRICTIONS = 1;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SETUP_TASK__SCOPE = 2;
+
+ /**
+ * The number of structural features of the '<em>Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SETUP_TASK_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.WorkingSetTaskImpl <em>Working Set Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.releng.setup.impl.WorkingSetTaskImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getWorkingSetTask()
+ * @generated
+ */
+ int WORKING_SET_TASK = 22;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.CompoundSetupTaskImpl <em>Compound Setup Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.releng.setup.impl.CompoundSetupTaskImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getCompoundSetupTask()
+ * @generated
+ */
+ int COMPOUND_SETUP_TASK = 9;
+
+ /**
+ * The feature id for the '<em><b>Requirements</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int LINK_LOCATION__PATH = 0;
+ int COMPOUND_SETUP_TASK__REQUIREMENTS = SETUP_TASK__REQUIREMENTS;
+
+ /**
+ * The feature id for the '<em><b>Restrictions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOUND_SETUP_TASK__RESTRICTIONS = SETUP_TASK__RESTRICTIONS;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOUND_SETUP_TASK__SCOPE = SETUP_TASK__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Setup Tasks</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOUND_SETUP_TASK__SETUP_TASKS = SETUP_TASK_FEATURE_COUNT + 0;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -312,25 +597,173 @@ public interface SetupPackage extends EPackage
* @generated
* @ordered
*/
- int LINK_LOCATION__NAME = 1;
+ int COMPOUND_SETUP_TASK__NAME = SETUP_TASK_FEATURE_COUNT + 1;
/**
- * The number of structural features of the '<em>Link Location</em>' class.
+ * The number of structural features of the '<em>Compound Setup Task</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int LINK_LOCATION_FEATURE_COUNT = 2;
+ int COMPOUND_SETUP_TASK_FEATURE_COUNT = SETUP_TASK_FEATURE_COUNT + 2;
/**
- * The feature id for the '<em><b>Key</b></em>' attribute.
+ * The meta object id for the '{@link org.eclipse.emf.cdo.releng.setup.impl.OneTimeSetupTaskImpl <em>One Time Setup Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.releng.setup.impl.OneTimeSetupTaskImpl
+ * @see org.eclipse.emf.cdo.releng.setup.impl.SetupPackageImpl#getOneTimeSetupTask()
+ * @generated
+ */
+ int ONE_TIME_SETUP_TASK = 10;
+
+ /**
+ * The feature id for the '<em><b>Requirements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TIME_SETUP_TASK__REQUIREMENTS = SETUP_TASK__REQUIREMENTS;
+
+ /**
+ * The feature id for the '<em><b>Restrictions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TIME_SETUP_TASK__RESTRICTIONS = SETUP_TASK__RESTRICTIONS;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TIME_SETUP_TASK__SCOPE = SETUP_TASK__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TIME_SETUP_TASK__ID = SETUP_TASK_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>One Time Setup Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TIME_SETUP_TASK_FEATURE_COUNT = SETUP_TASK_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Requirements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTALL_TASK__REQUIREMENTS = SETUP_TASK__REQUIREMENTS;
+
+ /**
+ * The feature id for the '<em><b>Restrictions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTALL_TASK__RESTRICTIONS = SETUP_TASK__RESTRICTIONS;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTALL_TASK__SCOPE = SETUP_TASK__SCOPE;
+
+ /**
+ * The number of structural feat