diff options
author | Eike Stepper | 2013-11-19 05:49:43 +0000 |
---|---|---|
committer | Eike Stepper | 2013-11-19 12:39:00 +0000 |
commit | 23f58445b0c21a1f6c2906ad58963e4c35ea82a8 (patch) | |
tree | ab434bde357fa82f0d8b7dd1b48d2a49778c6303 /plugins | |
parent | a4b2bd9d841d279d8b0d25f4cf696e5314c40b07 (diff) | |
download | cdo-23f58445b0c21a1f6c2906ad58963e4c35ea82a8.tar.gz cdo-23f58445b0c21a1f6c2906ad58963e4c35ea82a8.tar.xz cdo-23f58445b0c21a1f6c2906ad58963e4c35ea82a8.zip |
Improve setup related models
Diffstat (limited to 'plugins')
15 files changed, 511 insertions, 162 deletions
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 e230f595c4..1c5b32a85b 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 @@ -147,14 +147,12 @@ public class PreferencesItemProvider extends SetupTaskContainerItemProvider impl * This returns the label text for the adapted class. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @generated + * @generated NOT */ @Override public String getText(Object object) { - String label = ((Preferences)object).getInstallFolder(); - return label == null || label.length() == 0 ? getString("_UI_Preferences_type") : getString("_UI_Preferences_type") - + " " + label; + return getString("_UI_Preferences_type"); } /** 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 7ed72b8acd..f353f27043 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 @@ -1152,12 +1152,12 @@ public class SetupEditor extends MultiPageEditorPart implements IEditingDomainPr public void mouseDown(MouseEvent e) { - // do nothing + // Do nothing } public void mouseUp(MouseEvent e) { - // do nothing + // Do nothing } }); } diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.installer.editor/src/org/eclipse/emf/cdo/releng/setup/installer/editor/SetupEditor.java b/plugins/org.eclipse.emf.cdo.releng.setup.installer.editor/src/org/eclipse/emf/cdo/releng/setup/installer/editor/SetupEditor.java index e978a18449..38190435b4 100644 --- a/plugins/org.eclipse.emf.cdo.releng.setup.installer.editor/src/org/eclipse/emf/cdo/releng/setup/installer/editor/SetupEditor.java +++ b/plugins/org.eclipse.emf.cdo.releng.setup.installer.editor/src/org/eclipse/emf/cdo/releng/setup/installer/editor/SetupEditor.java @@ -79,6 +79,8 @@ import org.eclipse.swt.dnd.FileTransfer; 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.Menu; @@ -94,9 +96,11 @@ import org.eclipse.ui.part.MultiPageEditorPart; import org.eclipse.ui.views.contentoutline.ContentOutline; import org.eclipse.ui.views.contentoutline.ContentOutlinePage; import org.eclipse.ui.views.contentoutline.IContentOutlinePage; +import org.eclipse.ui.views.properties.IPropertySheetEntry; import org.eclipse.ui.views.properties.IPropertySheetPage; import org.eclipse.ui.views.properties.PropertySheet; import org.eclipse.ui.views.properties.PropertySheetPage; +import org.eclipse.ui.views.properties.PropertySheetSorter; import java.io.IOException; import java.io.InputStream; @@ -880,7 +884,7 @@ public class SetupEditor extends MultiPageEditorPart implements IEditingDomainPr * <!-- end-user-doc --> * @generated */ - public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) + public Diagnostic analyzeResourceProblemsGen(Resource resource, Exception exception) { if (!resource.getErrors().isEmpty() || !resource.getWarnings().isEmpty()) { @@ -901,6 +905,16 @@ public class SetupEditor extends MultiPageEditorPart implements IEditingDomainPr } } + public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) + { + if (resource.getURI().equals(EMFUtil.EXAMPLE_PROXY_URI)) + { + return Diagnostic.OK_INSTANCE; + } + + return analyzeResourceProblemsGen(resource, exception); + } + /** * This is the method used by the framework to install your own controls. * <!-- begin-user-doc --> @@ -983,6 +997,31 @@ public class SetupEditor extends MultiPageEditorPart implements IEditingDomainPr Resource resource = editingDomain.getResourceSet().getResources().get(0); selectionViewer.setInput(resource); selectionViewer.setSelection(new StructuredSelection(resource.getContents().get(0)), true); + + 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 + } + }); } /** @@ -1072,7 +1111,7 @@ public class SetupEditor extends MultiPageEditorPart implements IEditingDomainPr * This accesses a cached version of the content outliner. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @generated + * @generated NOT */ public IContentOutlinePage getContentOutlinePage() { @@ -1095,7 +1134,7 @@ public class SetupEditor extends MultiPageEditorPart implements IEditingDomainPr contentOutlineViewer.setLabelProvider(new DecoratingColumLabelProvider(new AdapterFactoryLabelProvider( adapterFactory), new DiagnosticDecorator(editingDomain, contentOutlineViewer, SetupEditorPlugin .getPlugin().getDialogSettings()))); - contentOutlineViewer.setInput(editingDomain.getResourceSet()); + contentOutlineViewer.setInput(editingDomain.getResourceSet().getResources().get(0)); new ColumnViewerInformationControlToolTipSupport(contentOutlineViewer, new DiagnosticDecorator.EditingDomainLocationListener(editingDomain, contentOutlineViewer)); @@ -1151,13 +1190,23 @@ public class SetupEditor extends MultiPageEditorPart implements IEditingDomainPr * This accesses a cached version of the property sheet. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @generated + * @generated NOT */ public IPropertySheetPage getPropertySheetPage() { - PropertySheetPage propertySheetPage = new ExtendedPropertySheetPage(editingDomain, - ExtendedPropertySheetPage.Decoration.LIVE, SetupEditorPlugin.getPlugin().getDialogSettings()) + PropertySheetPage propertySheetPage = new ExtendedPropertySheetPage(editingDomain) { + { + setSorter(new PropertySheetSorter() + { + @Override + public void sort(IPropertySheetEntry[] entries) + { + // Intentionally left empty + } + }); + } + @Override public void setSelectionToViewer(List<?> selection) { diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.installer/Setup Dialog.launch b/plugins/org.eclipse.emf.cdo.releng.setup.installer/Setup (Installer Dialog).launch index 228fc8a74a..227873e753 100644 --- a/plugins/org.eclipse.emf.cdo.releng.setup.installer/Setup Dialog.launch +++ b/plugins/org.eclipse.emf.cdo.releng.setup.installer/Setup (Installer Dialog).launch @@ -10,7 +10,7 @@ <booleanAttribute key="clearConfig" value="true"/> <booleanAttribute key="clearws" value="false"/> <booleanAttribute key="clearwslog" value="false"/> -<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Setup Dialog"/> +<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Setup (Installer Dialog)"/> <booleanAttribute key="default" value="false"/> <booleanAttribute key="generateProfile" value="true"/> <booleanAttribute key="includeOptional" value="false"/> diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.installer/build.properties b/plugins/org.eclipse.emf.cdo.releng.setup.installer/build.properties index bbe09191bb..32603dbbff 100644 --- a/plugins/org.eclipse.emf.cdo.releng.setup.installer/build.properties +++ b/plugins/org.eclipse.emf.cdo.releng.setup.installer/build.properties @@ -21,9 +21,10 @@ bin.includes = plugin.xml,\ modeling32.png,\ about.properties,\ about.mappings,\ - about.ini + about.ini,\ + help/ src.includes = about.html,\ copyright.txt,\ - Setup Dialog.launch + Setup (Installer Dialog).launch generateSourceReferences = true diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.installer/help/InstallerDialog.html b/plugins/org.eclipse.emf.cdo.releng.setup.installer/help/InstallerDialog.html new file mode 100644 index 0000000000..254711da06 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.setup.installer/help/InstallerDialog.html @@ -0,0 +1,30 @@ +<html> +<body> +<font face="Segoe UI,Arial" size="2"> +<font color="#194c7f"><h2>Installer Dialog Help</h2></font> + +<p> + This dialog installs development environments for any number of project branches on your local disk. + In the upper part of the dialog expand the projects you want to work on and check one or more of their branches. + Existing installations are shown in blue. For new installations you can also select the Eclipse version you want to use. +</p> + +<p> + The installer enforces a well-defined and recognizable file system structure + under the install folder that you need to specify in the lower part of the dialog. + This structure consists of project folders which contain branch folders. Each branch folder + contains a separate Eclipse installation which is connected to a single, shared bundle pool. +</p> + +<p> + The resultig structure can vary slightly depending on the configurations of the installed projects. + Typically project and branch configurations add folders for workspaces, target platforms, API baselines and thelike: +</p> + +<p> + <image src="filesystem-structure.png"></image> +</p> + +</font> +</body> +</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.installer/help/filesystem-structure.png b/plugins/org.eclipse.emf.cdo.releng.setup.installer/help/filesystem-structure.png Binary files differnew file mode 100644 index 0000000000..8616b152a6 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng.setup.installer/help/filesystem-structure.png diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.installer/src/org/eclipse/emf/cdo/releng/setup/installer/InstallerDialog.java b/plugins/org.eclipse.emf.cdo.releng.setup.installer/src/org/eclipse/emf/cdo/releng/setup/installer/InstallerDialog.java index 82414bfb56..690de26aa5 100644 --- a/plugins/org.eclipse.emf.cdo.releng.setup.installer/src/org/eclipse/emf/cdo/releng/setup/installer/InstallerDialog.java +++ b/plugins/org.eclipse.emf.cdo.releng.setup.installer/src/org/eclipse/emf/cdo/releng/setup/installer/InstallerDialog.java @@ -33,6 +33,8 @@ import org.eclipse.emf.cdo.releng.setup.util.SetupResource; 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.ReflectUtil; + import org.eclipse.emf.common.notify.Adapter; import org.eclipse.emf.common.notify.AdapterFactory; import org.eclipse.emf.common.util.EList; @@ -50,6 +52,7 @@ import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; import org.eclipse.emf.edit.ui.provider.DecoratingColumLabelProvider; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.FileLocator; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.OperationCanceledException; @@ -66,12 +69,13 @@ import org.eclipse.equinox.p2.query.IQueryResult; import org.eclipse.equinox.p2.query.QueryUtil; import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager; import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager; +import org.eclipse.jface.dialogs.DialogTray; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.IMessageProvider; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.dialogs.ProgressMonitorDialog; +import org.eclipse.jface.dialogs.TrayDialog; import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.CheckStateChangedEvent; import org.eclipse.jface.viewers.CheckboxTreeViewer; @@ -84,8 +88,9 @@ import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.TreeViewerColumn; import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.SWT; -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.events.DisposeListener; +import org.eclipse.swt.browser.Browser; +import org.eclipse.swt.events.HelpEvent; +import org.eclipse.swt.events.HelpListener; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.events.SelectionAdapter; @@ -99,9 +104,12 @@ import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.DirectoryDialog; -import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Link; import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableColumn; +import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.ToolBar; import org.eclipse.swt.widgets.ToolItem; @@ -111,10 +119,14 @@ import org.eclipse.swt.widgets.TreeItem; import java.io.File; import java.io.IOException; +import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.net.URISyntaxException; +import java.net.URL; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; +import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -132,6 +144,10 @@ public class InstallerDialog extends AbstractSetupDialog private static final String ECLIPSE_VERSION_COLUMN = "eclipse"; + private static final String[] PRODUCT_PREFIXES = { "org.eclipse.emf.cdo.releng", "org.eclipse.net4j" }; + + private static final String PRODUCT_ID = "org.eclipse.emf.cdo.releng.setup.installer.product"; + private Map<Branch, Setup> setups; private AdapterFactory adapterFactory; @@ -150,6 +166,8 @@ public class InstallerDialog extends AbstractSetupDialog private ComboBoxViewerCellEditor cellEditor; + private Link versionLink; + public InstallerDialog(Shell parentShell) { super(parentShell); @@ -162,7 +180,7 @@ public class InstallerDialog extends AbstractSetupDialog @Override protected Point getInitialSize() { - return new Point(500, 700); + return new Point(500, 500); } @Override @@ -171,10 +189,64 @@ public class InstallerDialog extends AbstractSetupDialog return null; } + protected void pushHelpButton(boolean pushed) + { + try + { + Field field = ReflectUtil.getField(TrayDialog.class, "fHelpButton"); + ToolItem fHelpButton = (ToolItem)ReflectUtil.getValue(field, InstallerDialog.this); + fHelpButton.setSelection(pushed); + } + catch (Exception ex) + { + Activator.log(ex); + } + } + @Override protected void createUI(Composite parent) { - viewer = new CheckboxTreeViewer(parent, SWT.BORDER | SWT.FULL_SELECTION); + parent.addHelpListener(new HelpListener() + { + public void helpRequested(HelpEvent e) + { + if (getTray() != null) + { + closeTray(); + pushHelpButton(false); + return; + } + + pushHelpButton(true); + + DialogTray tray = new DialogTray() + { + @Override + protected Control createContents(Composite parent) + { + URL resource = Activator.getDefault().getBundle().getResource("/help/InstallerDialog.html"); + + try + { + resource = FileLocator.resolve(resource); + } + catch (IOException ex) + { + Activator.log(ex); + } + + Browser browser = new Browser(parent, SWT.NONE); + browser.setSize(500, 800); + browser.setUrl(resource.toString()); + return browser; + } + }; + + openTray(tray); + } + }); + + viewer = new CheckboxTreeViewer(parent, SWT.FULL_SELECTION); Tree tree = viewer.getTree(); tree.setLinesVisible(true); tree.setHeaderVisible(true); @@ -408,63 +480,28 @@ public class InstallerDialog extends AbstractSetupDialog } }); - TreeColumn trclmnEclipseVersion = treeViewerColumn_1.getColumn(); - trclmnEclipseVersion.setWidth(150); - trclmnEclipseVersion.setText("Eclipse Version"); - - Group grpPreferences = new Group(parent, SWT.NONE); - grpPreferences.setLayout(new GridLayout(3, false)); - grpPreferences.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); - // grpPreferences.setText("Preferences"); - grpPreferences.setBounds(0, 0, 70, 82); - - // Label userNameLabel = new Label(grpPreferences, SWT.NONE); - // userNameLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); - // userNameLabel.setBounds(0, 0, 55, 15); - // userNameLabel.setText("Git/Gerrit ID:"); - // - // userNameText = new Text(grpPreferences, SWT.BORDER); - // userNameText - // .setToolTipText("Must match your account on Git/Gerrit.\nDon't forget to upload your public key to that account!"); - // GridData gd_userNameText = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); - // gd_userNameText.widthHint = 165; - // userNameText.setLayoutData(gd_userNameText); - // userNameText.setBounds(0, 0, 76, 21); - // userNameText.addModifyListener(new ModifyListener() - // { - // public void modifyText(ModifyEvent e) - // { - // preferences.setUserName(userNameText.getText()); - // saveEObject(preferences); - // validate(); - // } - // }); - - // Label empty = new Label(grpPreferences, SWT.NONE); - // empty.setBounds(0, 0, 55, 15); - // TODO - // Need to move this to the bottom. - // Also want current tool version - // Button editButton = new Button(grpPreferences, SWT.NONE); - // editButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); - // editButton.setBounds(0, 0, 75, 25); - // editButton.setText("Preferences..."); - // editButton.addSelectionListener(new SelectionAdapter() - // { - // @Override - // public void widgetSelected(SelectionEvent e) - // { - // close(); - // setReturnCode(RETURN_WORKBENCH); - // } - // }); - - Label installFolderLabel = new Label(grpPreferences, SWT.NONE); + TreeColumn eclipseVersionColumn = treeViewerColumn_1.getColumn(); + eclipseVersionColumn.setWidth(150); + eclipseVersionColumn.setText("Eclipse Version"); + + createSeparator(parent); + + GridLayout layout = new GridLayout(3, false); + layout.marginWidth = 10; + layout.marginHeight = 10; + + Composite group = new Composite(parent, SWT.NONE); + group.setLayout(layout); + group.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1)); + + createSeparator(parent); + + Label installFolderLabel = new Label(group, SWT.NONE); installFolderLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); installFolderLabel.setBounds(0, 0, 55, 15); installFolderLabel.setText("Install Folder:"); - installFolderText = new Text(grpPreferences, SWT.BORDER); + installFolderText = new Text(group, SWT.BORDER); installFolderText.setToolTipText("Points to the folder where the setup tool will create the project folders."); installFolderText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); installFolderText.addModifyListener(new ModifyListener() @@ -491,7 +528,7 @@ public class InstallerDialog extends AbstractSetupDialog } }); - Button installFolderButton = new Button(grpPreferences, SWT.NONE); + Button installFolderButton = new Button(group, SWT.NONE); installFolderButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); installFolderButton.setBounds(0, 0, 75, 25); installFolderButton.setText("Browse..."); @@ -511,11 +548,11 @@ public class InstallerDialog extends AbstractSetupDialog } }); - Label bundlePoolFolderLabel = new Label(grpPreferences, SWT.NONE); + Label bundlePoolFolderLabel = new Label(group, SWT.NONE); bundlePoolFolderLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); bundlePoolFolderLabel.setText("Bundle Pool Folder:"); - bundlePoolFolderText = new Text(grpPreferences, SWT.BORDER); + bundlePoolFolderText = new Text(group, SWT.BORDER); bundlePoolFolderText .setToolTipText("Points to your native Git installation in order to reuse the 'etc/gitconfig' file."); bundlePoolFolderText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); @@ -529,7 +566,7 @@ public class InstallerDialog extends AbstractSetupDialog } }); - Button bundlePoolFolderButton = new Button(grpPreferences, SWT.NONE); + Button bundlePoolFolderButton = new Button(group, SWT.NONE); bundlePoolFolderButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); bundlePoolFolderButton.setBounds(0, 0, 75, 25); bundlePoolFolderButton.setText("Browse..."); @@ -558,10 +595,6 @@ public class InstallerDialog extends AbstractSetupDialog }); } - /** - * Create contents of the button bar. - * @param parent - */ @Override protected void createButtonsForButtonBar(Composite parent) { @@ -572,60 +605,32 @@ public class InstallerDialog extends AbstractSetupDialog @Override protected Control createHelpControl(Composite parent) { - ToolBar toolBar = (ToolBar)super.createHelpControl(parent); + Control helpControl = super.createHelpControl(parent); + setProductVersionLink(parent); + return helpControl; + } + @Override + protected void createToolItemsForToolBar(ToolBar toolBar) + { + createToolItem(toolBar, "icons/install_prefs.gif", "Preferences").addSelectionListener(new SelectionAdapter() { - ImageDescriptor imageDescriptor = Activator.getImageDescriptor("icons/dialog_prefs.gif"); - final Image image = imageDescriptor.createImage(toolBar.getDisplay()); - - ToolItem button = new ToolItem(toolBar, SWT.PUSH); - button.setImage(image); - button.setToolTipText("Preferences"); - button.addSelectionListener(new SelectionAdapter() - { - @Override - public void widgetSelected(SelectionEvent e) - { - close(); - setReturnCode(RETURN_WORKBENCH); - } - }); - - button.addDisposeListener(new DisposeListener() + @Override + public void widgetSelected(SelectionEvent e) { - public void widgetDisposed(DisposeEvent e) - { - image.dispose(); - } - }); - } + close(); + setReturnCode(RETURN_WORKBENCH); + } + }); + createToolItem(toolBar, "icons/install_update.gif", "Update").addSelectionListener(new SelectionAdapter() { - ImageDescriptor imageDescriptor = Activator.getImageDescriptor("icons/dialog_update.gif"); - final Image image = imageDescriptor.createImage(toolBar.getDisplay()); - - ToolItem button = new ToolItem(toolBar, SWT.PUSH); - button.setImage(image); - button.setToolTipText("Update"); - button.addSelectionListener(new SelectionAdapter() - { - @Override - public void widgetSelected(SelectionEvent e) - { - update(false); - } - }); - - button.addDisposeListener(new DisposeListener() + @Override + public void widgetSelected(SelectionEvent e) { - public void widgetDisposed(DisposeEvent e) - { - image.dispose(); - } - }); - } - - return toolBar; + update(false); + } + }); } @Override @@ -643,6 +648,98 @@ public class InstallerDialog extends AbstractSetupDialog super.okPressed(); } + protected void aboutPressed(final String version) + { + new AbstractSetupDialog(getShell()) + { + @Override + protected Point getInitialSize() + { + return new Point(600, 500); + } + + @Override + protected String getDefaultMessage() + { + return "This is the installer version " + version + "."; + } + + @Override + protected void createUI(Composite parent) + { + Table table = new Table(parent, SWT.FULL_SELECTION); + table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + + TableColumn idColumn = new TableColumn(table, SWT.NONE); + idColumn.setText("ID"); + idColumn.setWidth(400); + + TableColumn versionColumn = new TableColumn(table, SWT.NONE); + versionColumn.setText("Version"); + versionColumn.setWidth(400); + + table.setHeaderVisible(true); + table.setLinesVisible(true); + + IProvisioningAgent agent = ServiceUtil.getService(IProvisioningAgent.class); + + try + { + ProvisioningSession session = new ProvisioningSession(agent); + List<IInstallableUnit> installedUnits = getInstalledUnits(session); + + String[][] rows = new String[installedUnits.size()][]; + for (int i = 0; i < rows.length; i++) + { + IInstallableUnit installableUnit = installedUnits.get(i); + rows[i] = new String[] { installableUnit.getId(), installableUnit.getVersion().toString() }; + } + + Arrays.sort(rows, new Comparator<String[]>() + { + public int compare(String[] o1, String[] o2) + { + return o1[0].compareTo(o2[0]); + } + }); + + Color blue = getShell().getDisplay().getSystemColor(SWT.COLOR_BLUE); + + for (int i = 0; i < rows.length; i++) + { + TableItem item = new TableItem(table, SWT.NONE); + + String id = rows[i][0]; + item.setText(0, id); + + String version = rows[i][1]; + item.setText(1, version); + + if (hasPrefix(id, PRODUCT_PREFIXES)) + { + item.setForeground(blue); + } + } + + idColumn.pack(); + versionColumn.pack(); + + createSeparator(parent); + } + finally + { + ServiceUtil.ungetService(agent); + } + } + + @Override + protected void createButtonsForButtonBar(Composite parent) + { + createButton(parent, IDialogConstants.OK_ID, "Close", true); + } + }.open(); + } + protected boolean update(final boolean needsEarlyConfirmation) { if (needsEarlyConfirmation) @@ -681,6 +778,7 @@ public class InstallerDialog extends AbstractSetupDialog { SubMonitor sub = SubMonitor.convert(monitor, needsEarlyConfirmation ? "Updating..." : "Checking for updates...", 1000); + IStatus updateStatus = checkForUpdates(agent, sub); if (updateStatus.getCode() == UpdateOperation.STATUS_NOTHING_TO_UPDATE) { @@ -760,19 +858,7 @@ public class InstallerDialog extends AbstractSetupDialog } ProvisioningSession session = new ProvisioningSession(agent); - IProfileRegistry profileRegistry = (IProfileRegistry)agent.getService(IProfileRegistry.class.getName()); - IProfile profile = profileRegistry.getProfile(IProfileRegistry.SELF); - IQueryResult<IInstallableUnit> queryResult = profile.query(QueryUtil.createIUAnyQuery(), null); - - List<IInstallableUnit> ius = new ArrayList<IInstallableUnit>(); - for (IInstallableUnit installableUnit : queryResult) - { - String id = installableUnit.getId(); - if (id.startsWith("org.eclipse.emf.cdo") || id.startsWith("org.eclipse.net4j")) - { - ius.add(installableUnit); - } - } + List<IInstallableUnit> ius = getInstalledUnits(session, PRODUCT_PREFIXES); UpdateOperation operation = new UpdateOperation(session, ius); IStatus status = operation.resolveModal(sub.newChild(300)); @@ -805,6 +891,124 @@ public class InstallerDialog extends AbstractSetupDialog return status; } + private List<IInstallableUnit> getInstalledUnits(ProvisioningSession session, String... iuPrefixes) + { + IProvisioningAgent agent = session.getProvisioningAgent(); + IProfileRegistry profileRegistry = (IProfileRegistry)agent.getService(IProfileRegistry.class.getName()); + IProfile profile = profileRegistry.getProfile(IProfileRegistry.SELF); + IQueryResult<IInstallableUnit> queryResult = profile.query(QueryUtil.createIUAnyQuery(), null); + + List<IInstallableUnit> ius = new ArrayList<IInstallableUnit>(); + for (IInstallableUnit installableUnit : queryResult) + { + String id = installableUnit.getId(); + + if (iuPrefixes.length == 0) + { + ius.add(installableUnit); + } + else + { + if (hasPrefix(id, iuPrefixes)) + { + ius.add(installableUnit); + } + } + } + + return ius; + } + + private boolean hasPrefix(String id, String[] iuPrefixes) + { + for (int i = 0; i < iuPrefixes.length; i++) + { + String iuPrefix = iuPrefixes[i]; + if (id.startsWith(iuPrefix)) + { + return true; + } + } + + return false; + } + + private String getProductVersion() + { + IProvisioningAgent agent = ServiceUtil.getService(IProvisioningAgent.class); + + try + { + ProvisioningSession session = new ProvisioningSession(agent); + List<IInstallableUnit> installedUnits = getInstalledUnits(session, PRODUCT_ID); + if (installedUnits.isEmpty()) + { + return null; + } + + IInstallableUnit product = installedUnits.iterator().next(); + return product.getVersion().toString(); + } + finally + { + ServiceUtil.ungetService(agent); + } + } + + private void setProductVersionLink(Composite parent) + { + GridLayout parentLayout = (GridLayout)parent.getLayout(); + parentLayout.numColumns++; + parentLayout.horizontalSpacing = 10; + + versionLink = new Link(parent, SWT.NO_FOCUS); + versionLink.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER | GridData.VERTICAL_ALIGN_CENTER)); + versionLink.setToolTipText("About"); + + new Thread("Product Version Setter") + { + @Override + public void run() + { + try + { + final String version = getProductVersion(); + if (version != null) + { + versionLink.getDisplay().asyncExec(new Runnable() + { + public void run() + { + try + { + versionLink.addSelectionListener(new SelectionAdapter() + { + @Override + public void widgetSelected(SelectionEvent e) + { + aboutPressed(version); + } + }); + + versionLink.setText("<a>" + version + "</a>"); //$NON-NLS-1$ + versionLink.getParent().layout(); + } + catch (Exception ex) + { + Activator.log(ex); + } + } + }); + } + } + catch (Exception ex) + { + Activator.log(ex); + } + } + }.start(); + } + private void addRepository(IProvisioningAgent agent, String location, IProgressMonitor monitor) throws ProvisionException { @@ -842,7 +1046,7 @@ public class InstallerDialog extends AbstractSetupDialog .getService(IArtifactRepositoryManager.SERVICE_NAME); if (manager == null) { - throw new IllegalStateException("No metadata repository manager found"); + throw new IllegalStateException("No artifact repository manager found"); } manager.loadRepository(location, monitor); diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/Setup IDE.launch b/plugins/org.eclipse.emf.cdo.releng.setup/Setup (IDE).launch index ed0be16059..93b4b249f5 100644 --- a/plugins/org.eclipse.emf.cdo.releng.setup/Setup IDE.launch +++ b/plugins/org.eclipse.emf.cdo.releng.setup/Setup (IDE).launch @@ -9,7 +9,7 @@ <booleanAttribute key="clearConfig" value="true"/> <booleanAttribute key="clearws" value="true"/> <booleanAttribute key="clearwslog" value="false"/> -<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Setup IDE"/> +<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Setup (IDE)"/> <booleanAttribute key="default" value="false"/> <booleanAttribute key="generateProfile" value="true"/> <booleanAttribute key="includeOptional" value="true"/> diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.installer/icons/dialog_prefs.gif b/plugins/org.eclipse.emf.cdo.releng.setup/icons/install_prefs.gif Binary files differindex fa82cd0fa5..fa82cd0fa5 100644 --- a/plugins/org.eclipse.emf.cdo.releng.setup.installer/icons/dialog_prefs.gif +++ b/plugins/org.eclipse.emf.cdo.releng.setup/icons/install_prefs.gif diff --git a/plugins/org.eclipse.emf.cdo.releng.setup.installer/icons/dialog_update.gif b/plugins/org.eclipse.emf.cdo.releng.setup/icons/install_update.gif Binary files differindex 58913ad934..58913ad934 100644 --- a/plugins/org.eclipse.emf.cdo.releng.setup.installer/icons/dialog_update.gif +++ b/plugins/org.eclipse.emf.cdo.releng.setup/icons/install_update.gif diff --git a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/internal/setup/ui/AbstractSetupDialog.java b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/internal/setup/ui/AbstractSetupDialog.java index 72d7973f96..f64da62b20 100644 --- a/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/internal/setup/ui/AbstractSetupDialog.java +++ b/plugins/org.eclipse.emf.cdo.releng.setup/src/org/eclipse/emf/cdo/releng/internal/setup/ui/AbstractSetupDialog.java @@ -10,6 +10,8 @@ */ package org.eclipse.emf.cdo.releng.internal.setup.ui; +import org.eclipse.emf.cdo.releng.internal.setup.Activator; + import org.eclipse.jface.dialogs.TitleAreaDialog; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.swt.SWT; @@ -20,11 +22,14 @@ import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.ToolBar; +import org.eclipse.swt.widgets.ToolItem; public abstract class AbstractSetupDialog extends TitleAreaDialog { - public static final String TITLE = "Development Environment Setup"; + public static final String TITLE = "Development Environment " + (Activator.SETUP_IDE ? "Setup" : "Installer"); protected AbstractSetupDialog(Shell parentShell) { @@ -43,11 +48,13 @@ public abstract class AbstractSetupDialog extends TitleAreaDialog Composite area = (Composite)super.createDialogArea(parent); + GridLayout layout = new GridLayout(1, false); + layout.marginWidth = getContainerMargin(); + layout.marginHeight = getContainerMargin(); + layout.verticalSpacing = 0; + Composite container = new Composite(area, SWT.NONE); - GridLayout gl_container = new GridLayout(1, false); - gl_container.marginWidth = getContainerMargin(); - gl_container.marginHeight = getContainerMargin(); - container.setLayout(gl_container); + container.setLayout(layout); container.setLayoutData(new GridData(GridData.FILL_BOTH)); createUI(container); @@ -66,6 +73,47 @@ public abstract class AbstractSetupDialog extends TitleAreaDialog return button; } + @Override + protected Control createHelpControl(Composite parent) + { + ToolBar toolBar = (ToolBar)super.createHelpControl(parent); + createToolItemsForToolBar(toolBar); + return toolBar; + } + + protected void createToolItemsForToolBar(ToolBar toolBar) + { + } + + protected final ToolItem createToolItem(ToolBar toolBar, String label) + { + return createToolItem(toolBar, null, label); + } + + protected final ToolItem createToolItem(ToolBar toolBar, String iconPath, String toolTip) + { + ToolItem toolItem = new ToolItem(toolBar, SWT.PUSH); + if (iconPath == null) + { + toolItem.setText(toolTip); + } + else + { + Image image = getDefaultImage(iconPath); + toolItem.setImage(image); + toolItem.setToolTipText(toolTip); + } + + return toolItem; + } + + protected Label createSeparator(Composite parent) + { + Label separator = new Label(parent, SWT.HORIZONTAL | SWT.SEPARATOR); + separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + return separator; + } + protected int getContainerMargin() { return 0; diff --git a/plugins/org.eclipse.emf.cdo.releng/build.xml b/plugins/org.eclipse.emf.cdo.releng/build.xml index c95882af06..170fff5099 100644 --- a/plugins/org.eclipse.emf.cdo.releng/build.xml +++ b/plugins/org.eclipse.emf.cdo.releng/build.xml @@ -468,27 +468,41 @@ <args> <arg value="-r" /> <arg value="file:${build.root}" /> + <arg value="-r" /> <arg value="http://download.eclipse.org/releases/${train}" /> - <arg value="-r" /> + + <arg value="-r" /> <arg value="http://download.eclipse.org/releases/${train.previous}" /> - <arg value="-r" /> + + <arg value="-r" /> <arg value="http://download.eclipse.org/eclipse/updates/${eclipse}" /> - <arg value="-r" /> + + <arg value="-r" /> <arg value="http://download.eclipse.org/eclipse/updates/${eclipse}-I-builds" /> - <arg value="-d" /> + + <arg value="-d" /> <arg value="${temp.products}/@{profile}-@{platform}" /> - <arg value="-p" /> + + <arg value="-p" /> <arg value="@{profile}" /> - <arg value="-i" /> + + <arg value="-profileProperties" /> + <arg value="org.eclipse.update.install.features=true" /> + + <arg value="-i" /> <arg value="@{id}" /> - <arg value="-p2.os" /> + + <arg value="-p2.os" /> <arg value="@{os}" /> - <arg value="-p2.ws" /> + + <arg value="-p2.ws" /> <arg value="@{ws}" /> - <arg value="-p2.arch" /> + + <arg value="-p2.arch" /> <arg value="@{arch}" /> - <arg value="-roaming" /> + + <arg value="-roaming" /> <arg value="-purgeHistory" /> </args> </eclipse> @@ -1038,6 +1052,10 @@ </if> </target> + <target name="generate.products.only" depends="init.properties" > + <generate.products/> + </target> + <!-- === --> <!-- All --> <!-- === --> diff --git a/plugins/org.eclipse.emf.cdo.releng/buildLocally.launch b/plugins/org.eclipse.emf.cdo.releng/buildLocally.launch index a975b904aa..c08758f75c 100644 --- a/plugins/org.eclipse.emf.cdo.releng/buildLocally.launch +++ b/plugins/org.eclipse.emf.cdo.releng/buildLocally.launch @@ -8,7 +8,7 @@ <listEntry value="1"/> </listAttribute> <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/> -<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0_17"/> +<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/> <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.ant.internal.launching.remote.InternalAntRunner"/> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.cdo.releng"/> <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/> diff --git a/plugins/org.eclipse.net4j.examples/UploadClient (Net4j Examples).launch b/plugins/org.eclipse.net4j.examples/UploadClient (Net4j Examples).launch index dc34e2e5be..af364b121b 100644 --- a/plugins/org.eclipse.net4j.examples/UploadClient (Net4j Examples).launch +++ b/plugins/org.eclipse.net4j.examples/UploadClient (Net4j Examples).launch @@ -13,13 +13,14 @@ <booleanAttribute key="default" value="false"/> <booleanAttribute key="includeOptional" value="true"/> <stringAttribute key="location" value="${workspace_loc}/../ws-IDE"/> +<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}"/> <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx1024m"/> <stringAttribute key="pde.version" value="3.3"/> <stringAttribute key="product" value="org.eclipse.sdk.ide"/> <stringAttribute key="selectedPlugin" value="org.eclipse.net4j"/> -<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,com.jcraft.jsch@default:default,javax.servlet.jsp@default:default,javax.servlet@default:default,org.apache.ant@default:default,org.apache.commons.codec@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.logging*1.0.4.v201101211617@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.apache.derby@default:default,org.apache.lucene.analysis@default:default,org.apache.lucene@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare.win32@default:default,org.eclipse.compare@default:default,org.eclipse.core.boot@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.debug.core@default:default,org.eclipse.debug.ui@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ecf@default:default,org.eclipse.emf.ant@default:default,org.eclipse.emf.codegen.ecore.ui@default:default,org.eclipse.emf.codegen.ecore@default:default,org.eclipse.emf.codegen.ui@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.emf.common*2.8.0.v20120504-0433@default:default,org.eclipse.emf.common*2.8.0.v20120516-0416@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.converter@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore*2.8.0.v20120504-0433@default:default,org.eclipse.emf.ecore*2.8.0.v20120516-0416@default:default,org.eclipse.emf.ecore.change*2.8.0.v20120504-0433@default:default,org.eclipse.emf.ecore.change*2.8.0.v20120516-0416@default:default,org.eclipse.emf.ecore.change.edit@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.editor@default:default,org.eclipse.emf.ecore.xmi*2.8.0.v20120504-0433@default:default,org.eclipse.emf.ecore.xmi*2.8.0.v20120516-0416@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.exporter@default:default,org.eclipse.emf.importer.ecore@default:default,org.eclipse.emf.importer.java@default:default,org.eclipse.emf.importer.rose@default:default,org.eclipse.emf.importer@default:default,org.eclipse.emf.mapping.ecore.editor@default:default,org.eclipse.emf.mapping.ecore2ecore.editor@default:default,org.eclipse.emf.mapping.ecore2ecore@default:default,org.eclipse.emf.mapping.ecore2xml.ui@default:default,org.eclipse.emf.mapping.ecore2xml@default:default,org.eclipse.emf.mapping.ecore@default:default,org.eclipse.emf.mapping.ui@default:default,org.eclipse.emf.mapping@default:default,org.eclipse.emf.teneo.annotations@default:default,org.eclipse.emf.teneo.eclipse@default:default,org.eclipse.emf.teneo.hibernate.eclipse@default:default,org.eclipse.emf.teneo.hibernate.mapper@default:default,org.eclipse.emf.teneo.hibernate@default:default,org.eclipse.emf.teneo@default:default,org.eclipse.emf@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.equinox.launcher.win32.win32.x86@default:false,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.p2.updatechecker@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.help.appserver@default:default,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.eclipse.help.webapp@default:default,org.eclipse.help@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jdt@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.jsch.core@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.platform@default:default,org.eclipse.rcp@default:default,org.eclipse.search@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.browser@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.console@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.net@default:default,org.eclipse.ui.presentations.r21@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.compatibility@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.eclipse.update.core.win32@default:false,org.eclipse.update.core@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.update.ui@default:default,org.hibernate*4.1.1.201205200850@default:default,org.hibernate*4.1.1.201205201951@default:default,org.junit*3.8.2.v3_8_2_v20100427-1100@default:default,org.junit*4.10.0.v4_10_0_v20120426-0900@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default"/> +<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,com.jcraft.jsch*0.1.46.v201205102330@default:default,com.jcraft.jsch*0.1.50.v201310081430@default:default,javax.servlet.jsp@default:default,javax.servlet@default:default,org.apache.ant@default:default,org.apache.commons.codec@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.logging@default:default,org.apache.derby@default:default,org.apache.lucene.analysis@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare.win32@default:default,org.eclipse.compare@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.debug.core@default:default,org.eclipse.debug.ui@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ecf@default:default,org.eclipse.emf.ant@default:default,org.eclipse.emf.codegen.ecore.ui@default:default,org.eclipse.emf.codegen.ecore@default:default,org.eclipse.emf.codegen.ui@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.converter@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change.edit@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.editor@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.exporter@default:default,org.eclipse.emf.importer.ecore@default:default,org.eclipse.emf.importer.java@default:default,org.eclipse.emf.importer.rose@default:default,org.eclipse.emf.importer@default:default,org.eclipse.emf.mapping.ecore.editor@default:default,org.eclipse.emf.mapping.ecore2ecore.editor@default:default,org.eclipse.emf.mapping.ecore2ecore@default:default,org.eclipse.emf.mapping.ecore2xml.ui@default:default,org.eclipse.emf.mapping.ecore2xml@default:default,org.eclipse.emf.mapping.ecore@default:default,org.eclipse.emf.mapping.ui@default:default,org.eclipse.emf.mapping@default:default,org.eclipse.emf.teneo.annotations@default:default,org.eclipse.emf.teneo.eclipse@default:default,org.eclipse.emf.teneo.hibernate.eclipse@default:default,org.eclipse.emf.teneo.hibernate.mapper@default:default,org.eclipse.emf.teneo.hibernate@default:default,org.eclipse.emf.teneo@default:default,org.eclipse.emf@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.equinox.launcher.win32.win32.x86@default:false,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.p2.updatechecker@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.eclipse.help.webapp@default:default,org.eclipse.help@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jdt@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.jsch.core@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.platform@default:default,org.eclipse.rcp@default:default,org.eclipse.search@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.browser@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.console@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.net@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.hibernate@default:default,org.junit@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default"/> <stringAttribute key="selected_workspace_plugins" value="org.eclipse.net4j.examples@default:default,org.eclipse.net4j.jms.api@default:default,org.eclipse.net4j.jvm@default:default,org.eclipse.net4j.tcp@default:default,org.eclipse.net4j.util@default:default,org.eclipse.net4j@default:default"/> <booleanAttribute key="show_selected_only" value="false"/> <stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/> |