IResource
in the
+ * argument. If the create
is true, then a new build information
+ * repository will be created for the resource.
+ *
+ * @param resource
+ * @param create
+ * @return IManagedBuildInfo
+ */
public static IManagedBuildInfo getBuildInfo(IResource resource, boolean create) {
return (IManagedBuildInfo) findBuildInfo(resource, create);
}
+ /**
+ * Answers, but does not create, the managed build information for the
+ * argument.
+ *
+ * @see ManagedBuildManager#getBuildInfo(IResource, boolean)
+ * @param resource
+ * @return IManagedBuildInfo
+ */
public static IManagedBuildInfo getBuildInfo(IResource resource) {
return (IManagedBuildInfo) findBuildInfo(resource, false);
}
@@ -551,5 +582,4 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI
map.put(project, list);
}
}
-
}
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
index aadd19e8233..23d43a6c8fc 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
@@ -1,7 +1,7 @@
package org.eclipse.cdt.managedbuilder.internal.core;
/**********************************************************************
- * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * Copyright (c) 2003,2004 Rational Software Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v0.5
* which accompanies this distribution, and is available at
@@ -61,18 +61,19 @@ public class MakefileGenerator {
private static final String AUTO_DEP = COMMENT + ".autodeps"; //$NON-NLS-1$
// String constants for makefile contents
- protected static final String COLON = ":";
+ protected static final String COLON = ":"; //$NON-NLS-1$
protected static final String DEPFILE_NAME = "subdir.dep"; //$NON-NLS-1$
- protected static final String DOT = ".";
+ protected static final String DOT = "."; //$NON-NLS-1$
protected static final String MAKEFILE_NAME = "makefile"; //$NON-NLS-1$
protected static final String MODFILE_NAME = "subdir.mk"; //$NON-NLS-1$
- protected static final String LINEBREAK = "\\";
- protected static final String NEWLINE = System.getProperty("line.separator");
- protected static final String LOGICAL_AND = "&&";
- protected static final String SEPARATOR = "/";
- protected static final String TAB = "\t";
- protected static final String WHITESPACE = " ";
- protected static final String WILDCARD = "%";
+ protected static final String LINEBREAK = "\\"; //$NON-NLS-1$
+ protected static final String NEWLINE = System.getProperty("line.separator"); //$NON-NLS-1$
+ protected static final String LOGICAL_AND = "&&"; //$NON-NLS-1$
+ protected static final String SEPARATOR = "/"; //$NON-NLS-1$
+ protected static final String TAB = "\t"; //$NON-NLS-1$
+ protected static final String WHITESPACE = " "; //$NON-NLS-1$
+ protected static final String WILDCARD = "%"; //$NON-NLS-1$
+ protected static final String COMMENT_SYMBOL = "#"; //$NON-NLS-1$
// Local variables needed by generator
protected IManagedBuildInfo info;
@@ -294,7 +295,7 @@ public class MakefileGenerator {
// Get the name of the build target
target = info.getBuildArtifactName();
// Get its extension
- extension = (new Path(target)).getFileExtension();
+ extension = info.getBuildArtifactExtension();
if (extension == null) {
extension = new String();
}
@@ -316,7 +317,7 @@ public class MakefileGenerator {
// Create the buffer to hold the output for the module and a dep calculator
StringBuffer buffer = new StringBuffer();
- buffer.append(ManagedBuilderCorePlugin.getResourceString(AUTO_DEP) + NEWLINE);
+ buffer.append(COMMENT_SYMBOL + WHITESPACE + ManagedBuilderCorePlugin.getResourceString(AUTO_DEP) + NEWLINE);
IndexManager indexManager = CCorePlugin.getDefault().getCoreModel().getIndexManager();
/*
@@ -374,7 +375,7 @@ public class MakefileGenerator {
buffer.append("RM := ");
buffer.append(info.getCleanCommand() + NEWLINE + NEWLINE);
- buffer.append(ManagedBuilderCorePlugin.getResourceString(SRC_LISTS) + NEWLINE);
+ buffer.append(COMMENT_SYMBOL + WHITESPACE + ManagedBuilderCorePlugin.getResourceString(SRC_LISTS) + NEWLINE);
buffer.append("C_SRCS := " + NEWLINE);
buffer.append("CC_SRCS := " + NEWLINE);
buffer.append("CXX_SRCS := " + NEWLINE);
@@ -409,7 +410,7 @@ public class MakefileGenerator {
protected StringBuffer addSubdirectories() {
StringBuffer buffer = new StringBuffer();
// Add the comment
- buffer.append(ManagedBuilderCorePlugin.getResourceString(MOD_LIST) + NEWLINE);
+ buffer.append(COMMENT_SYMBOL + WHITESPACE + ManagedBuilderCorePlugin.getResourceString(MOD_LIST) + NEWLINE);
buffer.append("SUBDIRS := " + LINEBREAK + NEWLINE);
// Get all the module names
@@ -427,7 +428,7 @@ public class MakefileGenerator {
// Now add the makefile instruction to include all the subdirectory makefile fragments
buffer.append(NEWLINE);
- buffer.append(ManagedBuilderCorePlugin.getResourceString(MOD_INCL) + NEWLINE);
+ buffer.append(COMMENT_SYMBOL +WHITESPACE + ManagedBuilderCorePlugin.getResourceString(MOD_INCL) + NEWLINE);
buffer.append("-include ${patsubst %, %/subdir.mk, $(SUBDIRS)}" + NEWLINE);
buffer.append(NEWLINE + NEWLINE);
@@ -460,10 +461,10 @@ public class MakefileGenerator {
capcBuffer.append("${addprefix $(ROOT)/" + relativePath + "," + LINEBREAK + NEWLINE);
StringBuffer cppBuffer = new StringBuffer("CPP_SRCS += \\" + NEWLINE);
cppBuffer.append("${addprefix $(ROOT)/" + relativePath + "," + LINEBREAK + NEWLINE);
- StringBuffer ruleBuffer = new StringBuffer(ManagedBuilderCorePlugin.getResourceString(MOD_RULES) + NEWLINE);
+ StringBuffer ruleBuffer = new StringBuffer(COMMENT_SYMBOL + WHITESPACE + ManagedBuilderCorePlugin.getResourceString(MOD_RULES) + NEWLINE);
// Put the comment in
- buffer.append(ManagedBuilderCorePlugin.getResourceString(SRC_LISTS) + NEWLINE);
+ buffer.append(COMMENT_SYMBOL + WHITESPACE + ManagedBuilderCorePlugin.getResourceString(SRC_LISTS) + NEWLINE);
// Visit the resources in this folder
IResource[] resources = module.members();
@@ -531,8 +532,11 @@ public class MakefileGenerator {
if (deps.length > 0) {
defaultTarget += WHITESPACE + "deps";
}
- buffer.append(defaultTarget + WHITESPACE + outputPrefix + target + NEWLINE);
- buffer.append(NEWLINE);
+ buffer.append(defaultTarget + WHITESPACE + outputPrefix + target);
+ if (extension.length() > 0) {
+ buffer.append(DOT + extension);
+ }
+ buffer.append(NEWLINE + NEWLINE);
/*
* The build target may depend on other projects in the workspace. These are
@@ -555,12 +559,16 @@ public class MakefileGenerator {
// Extract the build artifact to add to the dependency list
String depTarget = depInfo.getBuildArtifactName();
- String depExt = (new Path(depTarget)).getFileExtension();
+ String depExt = depInfo.getBuildArtifactExtension();
String depPrefix = depInfo.getOutputPrefix(depExt);
if (depInfo.isDirty()) {
depTargets = "clean all";
}
- managedProjectOutputs.add(buildDir + SEPARATOR + depPrefix + depTarget);
+ String dependency = buildDir + SEPARATOR + depPrefix + depTarget;
+ if (depExt.length() > 0) {
+ dependency += DOT + depExt;
+ }
+ managedProjectOutputs.add(dependency);
}
buffer.append(TAB + "-cd" + WHITESPACE + buildDir + WHITESPACE + LOGICAL_AND + WHITESPACE + "$(MAKE) " + depTargets + NEWLINE);
}
@@ -573,7 +581,11 @@ public class MakefileGenerator {
* targ_null
if none.
*/
private String message = "";
- /**
+ /* (non-Javadoc)
* The input value; the empty string by default.
*/
- private String value = "";
-
- /**
- * Error message label widget.
+ private String folderName = "";
+
+ /* (non-Javadoc)
+ *
*/
- private Label errorMessageLabel;
+ private int basicShellHeight;
+
+ /* (non-Javadoc)
+ *
+ */
+// private CreateLinkedResourceGroup linkedResourceGroup;
// Widgets
- private Button btnBrowse = null;
- private Button btnOK = null;
+ private Button advancedButton = null;
+ private Button browseButton = null;
+ private Label errorMessageLabel;
+ private Composite macroComposite;
private Text text = null;
/**
- * Creates an input dialog with OK, Cancel, and a Browse button.
+ * Creates an input dialog with OK, Cancel, a Browse button and a button to
+ * reveal path macros.
*
- * @param shell the parent shell
- * @param dialogTitle the title of the dialog or null
if none
- * @param dialogMessage the dialog message, or null
if none
- * @param initialValue the initial input value, or null
if none
- * (equivalent to the empty string)
+ * @param shell
+ * the parent shell
+ * @param dialogTitle
+ * the title of the dialog or null
if none
+ * @param dialogMessage
+ * the dialog message, or null
if none
+ * @param initialValue
+ * the initial input value, or null
if none
+ * (equivalent to the empty string)
*/
public BrowseEntryDialog(Shell shell, String dialogTitle, String dialogMessage, String initialValue) {
super(shell);
@@ -81,105 +110,228 @@ public class BrowseEntryDialog extends Dialog {
}
// Value for the text widget
if (initialValue != null) {
- value = initialValue;
+ folderName = initialValue;
}
+ setStatusLineAboveButtons(true);
}
/* (non-Javadoc)
- * Method declared on Dialog.
+ * @see org.eclipse.cdt.internal.ui.dialogs.SelectionStatusDialog#computeResult()
*/
- protected void buttonPressed(int buttonId) {
- if (buttonId == IDialogConstants.OK_ID) {
- value = text.getText().trim();
- } else {
- value = null;
- }
- super.buttonPressed(buttonId);
+ protected void computeResult() {
+ // TODO Auto-generated method stub
+
}
/* (non-Javadoc)
- * Method declared in Window.
+ * @see org.eclipse.cdt.internal.ui.dialogs.SelectionStatusDialog#configureShell(org.eclipse.swt.widgets.Shell)
*/
protected void configureShell(Shell shell) {
super.configureShell(shell);
- if (title != null)
+ // Set the display title the user has specified
+ if (title != null) {
shell.setText(title);
- }
-
- protected Control createDialogArea(Composite parent) {
- Composite composite = ControlFactory.createComposite(parent, 4);
-
- // Create the label
- if (message != null) {
- Label label = new Label(composite, SWT.WRAP);
- label.setText(message);
- GridData gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
- gd.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);
- gd.horizontalSpan = 4;
- label.setLayoutData(gd);
- label.setFont(parent.getFont());
}
-
- text = new Text(composite, SWT.SINGLE | SWT.BORDER);
- GridData gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
- gd.horizontalSpan = 3;
- text.setLayoutData(gd);
- text.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- updateButtonState();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.internal.ui.dialogs.SelectionStatusDialog#create()
+ */
+ public void create() {
+ // Disable the OK button to start
+ super.create();
+ getButton(IDialogConstants.OK_ID).setEnabled(false);
+ }
+
+ /* (non-Javadoc)
+ *
+ * @param parent
+ */
+ private void createAdvancedBrowseArea(Composite parent) {
+ // Instantiate the macros button
+ advancedButton = new Button(parent, SWT.PUSH);
+ applyDialogFont(advancedButton);
+ advancedButton.setText(IDEWorkbenchMessages.getString(SHOW));
+ setButtonLayoutData(advancedButton);
+ GridData data = (GridData) advancedButton.getLayoutData();
+ data.horizontalAlignment = GridData.BEGINNING;
+ advancedButton.setLayoutData(data);
+ advancedButton.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ handleAdvancedPressed();
+ }
+ });
+ advancedButton.addDisposeListener(new DisposeListener() {
+ public void widgetDisposed(DisposeEvent e) {
+ advancedButton = null;
}
});
- // Instantiate the browse button
- btnBrowse = ControlFactory.createPushButton(composite, ManagedBuilderUIPlugin.getResourceString(BROWSE));
- setButtonLayoutData(btnBrowse);
- btnBrowse.addSelectionListener(new SelectionAdapter () {
+// linkedResourceGroup = new CreateLinkedResourceGroup(
+// IResource.FOLDER,
+// new Listener(){
+// public void handleEvent(Event event) {
+// // TODO Auto-generated method stub
+//
+// }
+// });
+ }
+
+ /* (non-Javadoc)
+ *
+ * @param parent
+ */
+ private void createBasicBrowseArea(Composite parent) {
+ Composite basicGroup = new Composite(parent, SWT.NONE);
+ basicGroup.setLayout(new GridLayout(2, false));
+ basicGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+ GridData data;
+ // Create the label
+ if (message != null) {
+ Label label = new Label(basicGroup, SWT.WRAP);
+ label.setText(message);
+ data = new GridData(
+ GridData.FILL_HORIZONTAL |
+ GridData.GRAB_VERTICAL |
+ GridData.VERTICAL_ALIGN_BEGINNING);
+ data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);
+ data.horizontalSpan = 2;
+ label.setLayoutData(data);
+ applyDialogFont(label);
+ }
+
+ // Entry widget next
+ text = new Text(basicGroup, SWT.SINGLE | SWT.BORDER);
+ data = new GridData(GridData.FILL_BOTH);
+ data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
+ text.setLayoutData(data);
+ text.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ validateLocation();
+ }
+ });
+ applyDialogFont(text);
+
+ // Finally make the browse button
+ browseButton = new Button(basicGroup, SWT.PUSH);
+ applyDialogFont(browseButton);
+ browseButton.setText(ManagedBuilderUIPlugin.getResourceString(BROWSE));
+ setButtonLayoutData(browseButton);
+ data = (GridData) browseButton.getLayoutData();
+ data.horizontalAlignment = GridData.BEGINNING;
+ browseButton.setLayoutData(data);
+ browseButton.addSelectionListener(new SelectionAdapter () {
public void widgetSelected(SelectionEvent e) {
handleBrowsePressed();
}
});
+ browseButton.addDisposeListener(new DisposeListener () {
+ public void widgetDisposed(DisposeEvent e) {
+ browseButton = null;
+ }
+ });
+ }
+ protected Control createDialogArea(Composite parent) {
+ Composite composite = (Composite) super.createDialogArea(parent);
+ composite.setLayout(new GridLayout());
+ composite.setLayoutData(new GridData(GridData.FILL_BOTH));
+
+ createBasicBrowseArea(composite);
+ createAdvancedBrowseArea(composite);
+
return composite;
}
- protected void createButtonsForButtonBar(Composite parent) {
- // create OK and Cancel buttons by default
- btnOK = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
- createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
+ /**
+ * Answers the value the user has entered in the selection dialog.
+ *
+ * The selection will be a folder location specified in the format appropriate
+ * for the platform that Eclipse is running on, i.e. C:\foo\mydir
+ * for Windows platforms and /foo/mydir
on POSIX platforms.
+ *
+ *
The answer may also contain a path variable as a component of the location. It
+ * is the responsibility of the client to properly handle this situation.
+ *
+ * @return String
+ */
+ public String getValue() {
+ return folderName;
+ }
- text.setFocus();
- if (value != null) {
- text.setText(value);
+ /* (non-Javadoc)
+ * Shows/hides the path macro widgets.
+ */
+ protected void handleAdvancedPressed() {
+ Shell shell = getShell();
+ Point shellSize = shell.getSize();
+
+ if (macroComposite == null) {
+ basicShellHeight = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).y;
+ Composite composite = (Composite) getDialogArea();
+// macroComposite = linkedResourceGroup.createContents(composite);
+ macroComposite = ControlFactory.createComposite(composite, 1);
+ shellSize = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
+ shell.setSize(shellSize);
+ advancedButton.setText(IDEWorkbenchMessages.getString(HIDE));
+ } else if (macroComposite.getVisible()) {
+ macroComposite.setVisible(false);
+ shell.setSize(shellSize.x, basicShellHeight);
+ advancedButton.setText(IDEWorkbenchMessages.getString(SHOW));
+ } else {
+ macroComposite.setVisible(true);
+ shellSize = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
+ shell.setSize(shellSize);
+ advancedButton.setText(IDEWorkbenchMessages.getString(HIDE));
}
- updateButtonState();
+
}
-
- protected String getValue() {
- return value;
- }
-
+
+ /* (non-Javadoc)
+ *
+ */
protected void handleBrowsePressed() {
- // Popup a file browser widget
- DirectoryDialog dialog = new DirectoryDialog(getShell());
- // Create a hint if text widget contains value
- String widgetText;
- if ((widgetText = text.getText().trim()).length() > 0) {
- dialog.setFilterPath(widgetText);
- }
- // Open the selection dialog and populate the widget
- String directory;
- if ((directory = dialog.open()) != null) {
- /*
- * TODO: Convert the dialog to the proper format for platform (i.e.
- * if platform.pathStyle == Platform.POSIX then swap \\ to / )
- */
- text.setText(directory.trim());
- updateButtonState();
- }
+ // TODO Auto-generated method stub
+
}
- protected void updateButtonState() {
- if (btnOK != null)
- btnOK.setEnabled(text.getText().trim().length() > 0);
+ /* (non-Javadoc)
+ * Utility method to send a status message to the status line of the dialog.
+ *
+ * @param severity
+ * @param message
+ */
+ private void updateStatus(int severity, String message) {
+ updateStatus(new Status(severity, ManagedBuilderCorePlugin.getUniqueIdentifier(), severity, message, null));
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.internal.ui.dialogs.SelectionStatusDialog#updateStatus(org.eclipse.core.runtime.IStatus)
+ */
+ protected void updateStatus(IStatus status) {
+ // TODO Auto-generated method stub
+ super.updateStatus(status);
+ }
+
+ /**
+ *
+ */
+ protected void validateLocation() {
+ folderName = text.getText();
+ // Empty or null string is invalid
+ if (folderName == null || folderName.equals("")) {
+ updateStatus(IStatus.ERROR, IDEWorkbenchMessages.getString(EMPTY));
+ return;
+ } else {
+ // Make sure that the specified location exists
+ IPath path = new Path(folderName);
+ if (!path.isValidPath(folderName)) {
+ updateStatus(IStatus.ERROR, "Folder name invalid");
+ return;
+ }
+ }
+ updateStatus(IStatus.OK, ""); //$NON-NLS-1$
+ getButton(IDialogConstants.OK_ID).setEnabled(true);
}
}
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java
index 22e80dc56e1..5554af61125 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildOptionListFieldEditor.java
@@ -1,7 +1,7 @@
package org.eclipse.cdt.managedbuilder.ui.properties;
/**********************************************************************
- * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * Copyright (c) 2002,2004 Rational Software Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v0.5
* which accompanies this distribution, and is available at
@@ -43,13 +43,6 @@ public class BuildOptionListFieldEditor extends FieldEditor {
private static final String DOWN = "BuildPropertyCommon.label.down"; //$NON-NLS-1$
private static final String EDIT = "BuildPropertyCommon.label.editVar"; //$NON-NLS-1$
- // UI constants
- private static final int VERTICAL_DIALOG_UNITS_PER_CHAR = 8;
- private static final int HORIZONTAL_DIALOG_UNITS_PER_CHAR = 4;
- private static final int LIST_HEIGHT_IN_CHARS = 10;
- private static final int LIST_HEIGHT_IN_DLUS =
- LIST_HEIGHT_IN_CHARS * VERTICAL_DIALOG_UNITS_PER_CHAR;
-
// The top-level control for the field editor.
private Composite top;
// The list of tags.
@@ -171,14 +164,6 @@ public class BuildOptionListFieldEditor extends FieldEditor {
// Make the list
list = new List(controlGroup, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-
- // Create a grid data that takes up the extra space in the dialog and spans one column.
- GridData listData = new GridData(GridData.FILL_HORIZONTAL);
- listData.heightHint =
- convertVerticalDLUsToPixels(list, LIST_HEIGHT_IN_DLUS);
- listData.horizontalSpan = 1;
-
- list.setLayoutData(listData);
list.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
selectionChanged();
@@ -222,6 +207,12 @@ public class BuildOptionListFieldEditor extends FieldEditor {
// Create the buttons
createButtons(buttonGroup);
+
+ // Create a grid data that takes up the extra space in the dialog and spans one column.
+ GridData listData = new GridData(GridData.FILL_HORIZONTAL);
+ listData.heightHint = buttonGroup.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
+ listData.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
+ list.setLayoutData(listData);
}
/* (non-Javadoc)
@@ -329,9 +320,11 @@ public class BuildOptionListFieldEditor extends FieldEditor {
protected String getNewInputObject() {
// Create a dialog to prompt for a new symbol or path
InputDialog dialog = new InputDialog(getShell(), ManagedBuilderUIPlugin.getResourceString(TITLE), fieldName, new String(), null);
+// BrowseEntryDialog dialog = new BrowseEntryDialog(getShell(), ManagedBuilderUIPlugin.getResourceString(TITLE), fieldName, new String());
String input = new String();
if (dialog.open() == InputDialog.OK) {
- input = dialog.getValue();
+// if (dialog.open() == BrowseEntryDialog.OK) {
+ input = dialog.getValue();
}
return input;
}
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildPropertyPage.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildPropertyPage.java
index b317069dc04..232e97e4999 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildPropertyPage.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildPropertyPage.java
@@ -1,7 +1,7 @@
package org.eclipse.cdt.managedbuilder.ui.properties;
/**********************************************************************
- * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * Copyright (c) 2002,2004 Rational Software Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v0.5
* which accompanies this distribution, and is available at
@@ -446,7 +446,11 @@ public class BuildPropertyPage extends PropertyPage implements IWorkbenchPropert
// Get the build output name
String newBuildOutput = manageDialog.getBuildArtifactName();
if (!selectedTarget.getArtifactName().equals(newBuildOutput)) {
- selectedTarget.setBuildArtifact(newBuildOutput);
+ selectedTarget.setArtifactName(newBuildOutput);
+ }
+ String newBuildExt = manageDialog.getBuildArtifaceExtension();
+ if (!selectedTarget.getArtifactExtension().equals(newBuildExt)) {
+ selectedTarget.setArtifactExtension(newBuildExt);
}
// Get the new make command
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java
index ddad7215c23..9216b15ab9c 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ManageConfigDialog.java
@@ -1,7 +1,7 @@
package org.eclipse.cdt.managedbuilder.ui.properties;
/**********************************************************************
- * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * Copyright (c) 2002,2004 Rational Software Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v0.5
* which accompanies this distribution, and is available at
@@ -19,7 +19,6 @@ import org.eclipse.cdt.managedbuilder.core.IConfiguration;
import org.eclipse.cdt.managedbuilder.core.ITarget;
import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
import org.eclipse.cdt.managedbuilder.internal.ui.ManagedBuilderUIPlugin;
-import org.eclipse.cdt.utils.ui.controls.ControlFactory;
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
@@ -29,6 +28,7 @@ import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -50,14 +50,16 @@ public class ManageConfigDialog extends Dialog {
private static final String GROUP = LABEL + ".makecmdgroup"; //$NON-NLS-1$
private static final String DEF_BTN = LABEL + ".makecmddef"; //$NON-NLS-1$
private static final String OUTPUT_GROUP = LABEL + ".output.group"; //$NON-NLS-1$
- private static final String OUTPUT_LABEL = LABEL + ".output.label"; //$NON-NLS-1$
+ private static final String OUTPUT_EXT = LABEL + ".output.extension"; //$NON-NLS-1$
+ private static final String OUTPUT_NAME = LABEL + ".output.name"; //$NON-NLS-1$
private static final String CONFIGS = LABEL + ".configs"; //$NON-NLS-1$
private static final String CURRENT_CONFIGS = CONFIGS + ".current"; //$NON-NLS-1$
private static final String DELETED_CONFIGS = CONFIGS + ".deleted"; //$NON-NLS-1$
private static final String CONF_DLG = LABEL + ".new.config.dialog"; //$NON-NLS-1$
// The name of the build artifact
- private String buildArtifact;
+ private String artifactExt;
+ private String artifactName;
// The list of configurations to delete
private SortedMap deletedConfigs;
// Map of configuration names and ids
@@ -74,7 +76,8 @@ public class ManageConfigDialog extends Dialog {
private boolean useDefaultMake;
// Widgets
- protected Text buildArtifactEntry;
+ protected Text buildArtifactExt;
+ protected Text buildArtifactName;
protected List currentConfigList;
protected List deletedConfigList;
protected Button makeCommandDefault;
@@ -96,7 +99,8 @@ public class ManageConfigDialog extends Dialog {
makeCommand = managedTarget.getMakeCommand();
// Get the name of the build artifact
- buildArtifact = managedTarget.getArtifactName();
+ artifactExt = managedTarget.getArtifactExtension();
+ artifactName = managedTarget.getArtifactName();
// Get the defined configurations from the target
getExistingConfigs().clear();
@@ -117,16 +121,17 @@ public class ManageConfigDialog extends Dialog {
if (buttonId == IDialogConstants.OK_ID) {
useDefaultMake = makeCommandDefault.getSelection();
makeCommand = makeCommandEntry.getText().trim();
- buildArtifact = buildArtifactEntry.getText().trim();
+ artifactName = buildArtifactName.getText().trim();
+ artifactExt = buildArtifactExt.getText().trim();
} else {
useDefaultMake = true;
- buildArtifact = managedTarget.getArtifactName();
+ artifactName = managedTarget.getArtifactName();
}
super.buttonPressed(buttonId);
}
/* (non-Javadoc)
- * Method declared in Window.
+ * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
*/
protected void configureShell(Shell shell) {
super.configureShell(shell);
@@ -134,6 +139,65 @@ public class ManageConfigDialog extends Dialog {
shell.setText(title);
}
+ /* (non-Javadoc)
+ * Creates the group that contains the build artifact name controls.
+ */
+ private void createBuildArtifactGroup(Composite parent) {
+ final Group outputGroup = new Group(parent, SWT.NONE);
+ outputGroup.setFont(parent.getFont());
+ outputGroup.setText(ManagedBuilderUIPlugin.getResourceString(OUTPUT_GROUP));
+ outputGroup.setLayout(new GridLayout(3, false));
+ outputGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+ // Three labels
+ final Label nameLabel = new Label(outputGroup, SWT.LEFT);
+ nameLabel.setFont(outputGroup.getFont());
+ nameLabel.setText(ManagedBuilderUIPlugin.getResourceString(OUTPUT_NAME));
+ nameLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+ final Label placeHolder = new Label(outputGroup, SWT.CENTER);
+ placeHolder.setText(new String());
+ placeHolder.setLayoutData(new GridData());
+
+ final Label extLabel = new Label(outputGroup, SWT.LEFT);
+ extLabel.setFont(outputGroup.getFont());
+ extLabel.setText(ManagedBuilderUIPlugin.getResourceString(OUTPUT_EXT));
+ extLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+ // Now we need two text widgets separated by a label
+ buildArtifactName = new Text(outputGroup, SWT.SINGLE | SWT.BORDER);
+ buildArtifactName.setFont(outputGroup.getFont());
+ buildArtifactName.setText(artifactName);
+ GridData data = new GridData(GridData.FILL_HORIZONTAL);
+ data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
+ buildArtifactName.setLayoutData(data);
+ buildArtifactName.addDisposeListener(new DisposeListener() {
+ public void widgetDisposed(DisposeEvent event) {
+ buildArtifactName = null;
+ }
+ });
+
+ final Label dotLabel = new Label(outputGroup, SWT.CENTER);
+ dotLabel.setFont(outputGroup.getFont());
+ dotLabel.setText(new String("."));
+ dotLabel.setLayoutData(new GridData());
+
+ buildArtifactExt = new Text(outputGroup, SWT.SINGLE | SWT.BORDER);
+ buildArtifactExt.setFont(outputGroup.getFont());
+ buildArtifactExt.setText(artifactExt);
+ data = new GridData(GridData.FILL_HORIZONTAL);
+ data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
+ buildArtifactExt.setLayoutData(data);
+ buildArtifactExt.addDisposeListener(new DisposeListener() {
+ public void widgetDisposed(DisposeEvent e) {
+ buildArtifactExt = null;
+ }
+ });
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
+ */
protected void createButtonsForButtonBar(Composite parent) {
// create OK and Cancel buttons by default
okBtn = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
@@ -142,71 +206,40 @@ public class ManageConfigDialog extends Dialog {
updateButtons();
}
- protected Control createDialogArea(Composite parent) {
- Composite comp = ControlFactory.createComposite(parent, 1);
-
- // Create a group for the build output
- Group outputGroup = ControlFactory.createGroup(comp, ManagedBuilderUIPlugin.getResourceString(OUTPUT_GROUP), 1);
- outputGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
- Label outputLabel = ControlFactory.createLabel(outputGroup, ManagedBuilderUIPlugin.getResourceString(OUTPUT_LABEL));
- outputLabel.setLayoutData(new GridData());
- buildArtifactEntry = ControlFactory.createTextField(outputGroup);
- buildArtifactEntry.setText(buildArtifact);
- buildArtifactEntry.addDisposeListener(new DisposeListener() {
- public void widgetDisposed(DisposeEvent event) {
- buildArtifactEntry = null;
- }
- });
-
- // Create the make command group area
- Group makeCommandGroup = ControlFactory.createGroup(comp, ManagedBuilderUIPlugin.getResourceString(GROUP), 1);
- GridData gd = new GridData(GridData.FILL_BOTH);
- makeCommandGroup.setLayoutData(gd);
- makeCommandDefault = ControlFactory.createCheckBox(makeCommandGroup, ManagedBuilderUIPlugin.getResourceString(DEF_BTN));
- setButtonLayoutData(makeCommandDefault);
- makeCommandDefault.setSelection(!managedTarget.hasOverridenMakeCommand());
- makeCommandDefault.addSelectionListener(new SelectionAdapter () {
- public void widgetSelected(SelectionEvent e) {
- handleUseDefaultPressed();
- }
- });
- makeCommandDefault.addDisposeListener(new DisposeListener() {
- public void widgetDisposed(DisposeEvent event) {
- makeCommandDefault = null;
- }
- });
- makeCommandEntry = ControlFactory.createTextField(makeCommandGroup);
- makeCommandEntry.setEditable(!makeCommandDefault.getSelection());
- makeCommandEntry.setText(makeCommand);
- makeCommandEntry.addDisposeListener(new DisposeListener() {
- public void widgetDisposed(DisposeEvent event) {
- makeCommandEntry = null;
- }
- });
-
-
+ /* (non-Javadoc)
+ * Create and lays out the group with the configuration edit controls
+ */
+ private void createConfigListGroup(Composite parent) {
// Create the config list group area
- Group configListGroup = ControlFactory.createGroup(comp, ManagedBuilderUIPlugin.getResourceString(CONFIGS), 3);
- gd = new GridData(GridData.FILL_BOTH);
- configListGroup.setLayoutData(gd);
+ final Group configListGroup = new Group(parent, SWT.NONE);
+ configListGroup.setFont(parent.getFont());
+ configListGroup.setText(ManagedBuilderUIPlugin.getResourceString(CONFIGS));
+ configListGroup.setLayout(new GridLayout(3, false));
+ configListGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
// Create the 2 labels first to align the buttons and list controls
- Label currentConfigLabel = ControlFactory.createLabel(configListGroup, ManagedBuilderUIPlugin.getResourceString(CURRENT_CONFIGS));
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalSpan = 2;
- currentConfigLabel.setLayoutData(gd);
- Label deletedConfigLabel = ControlFactory.createLabel(configListGroup, ManagedBuilderUIPlugin.getResourceString(DELETED_CONFIGS));
+ final Label currentConfigLabel = new Label(configListGroup, SWT.LEFT);
+ currentConfigLabel.setFont(configListGroup.getFont());
+ currentConfigLabel.setText(ManagedBuilderUIPlugin.getResourceString(CURRENT_CONFIGS));
+ GridData data = new GridData(GridData.FILL_HORIZONTAL);
+ data.horizontalSpan = 2;
+ currentConfigLabel.setLayoutData(data);
+ final Label deletedConfigLabel = new Label(configListGroup, SWT.LEFT);
+ deletedConfigLabel.setFont(configListGroup.getFont());
+ deletedConfigLabel.setText(ManagedBuilderUIPlugin.getResourceString(DELETED_CONFIGS));
deletedConfigLabel.setLayoutData(new GridData());
// Create the current config list
- Composite currentComp = ControlFactory.createComposite(configListGroup, 1);
- gd = new GridData(GridData.FILL_BOTH);
- gd.horizontalSpan = 1;
- currentComp.setLayoutData(gd);
+ final Composite currentComp = new Composite(configListGroup, SWT.NULL);
+ currentComp.setFont(configListGroup.getFont());
+ currentComp.setLayout(new GridLayout(1, true));
+ currentComp.setLayoutData(new GridData(GridData.FILL_BOTH));
+
currentConfigList = new List(currentComp, SWT.SINGLE|SWT.V_SCROLL|SWT.H_SCROLL|SWT.BORDER);
- gd = new GridData(GridData.FILL_BOTH);
- gd.widthHint = 100;
- currentConfigList.setLayoutData(gd);
+ currentConfigList.setFont(currentComp.getFont());
+ data = new GridData(GridData.FILL_BOTH);
+ data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
+ currentConfigList.setLayoutData(data);
currentConfigList.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent event) {
currentConfigList = null;
@@ -214,10 +247,14 @@ public class ManageConfigDialog extends Dialog {
});
// Create a composite for the buttons
- Composite buttonBar = ControlFactory.createComposite(configListGroup, 1);
- buttonBar.setLayoutData(new GridData());
+ final Composite buttonBar = new Composite(configListGroup, SWT.NULL);
+ buttonBar.setFont(configListGroup.getFont());
+ buttonBar.setLayout(new GridLayout(1, true));
+ buttonBar.setLayoutData(new GridData(GridData.FILL_VERTICAL));
- newBtn = ControlFactory.createPushButton(buttonBar, ManagedBuilderUIPlugin.getResourceString(NEW));
+ newBtn = new Button(buttonBar, SWT.PUSH);
+ newBtn.setFont(buttonBar.getFont());
+ newBtn.setText(ManagedBuilderUIPlugin.getResourceString(NEW));
setButtonLayoutData(newBtn);
newBtn.addSelectionListener(new SelectionAdapter () {
public void widgetSelected(SelectionEvent e) {
@@ -229,7 +266,10 @@ public class ManageConfigDialog extends Dialog {
newBtn = null;
}
});
- removeBtn = ControlFactory.createPushButton(buttonBar, ManagedBuilderUIPlugin.getResourceString(REMOVE));
+
+ removeBtn = new Button(buttonBar, SWT.PUSH);
+ removeBtn.setFont(buttonBar.getFont());
+ removeBtn.setText(ManagedBuilderUIPlugin.getResourceString(REMOVE));
setButtonLayoutData(removeBtn);
removeBtn.addSelectionListener(new SelectionAdapter () {
public void widgetSelected(SelectionEvent e) {
@@ -241,7 +281,10 @@ public class ManageConfigDialog extends Dialog {
removeBtn = null;
}
});
- restoreBtn = ControlFactory.createPushButton(buttonBar, ManagedBuilderUIPlugin.getResourceString(RESTORE));
+
+ restoreBtn = new Button(buttonBar, SWT.PUSH);
+ restoreBtn.setFont(buttonBar.getFont());
+ restoreBtn.setText(ManagedBuilderUIPlugin.getResourceString(RESTORE));
setButtonLayoutData(restoreBtn);
restoreBtn.addSelectionListener(new SelectionAdapter () {
public void widgetSelected(SelectionEvent e) {
@@ -255,42 +298,104 @@ public class ManageConfigDialog extends Dialog {
});
// Create the deleted config list
- Composite deletedComp = ControlFactory.createComposite(configListGroup, 1);
- gd = new GridData(GridData.FILL_BOTH);
- gd.horizontalSpan = 1;
- deletedComp.setLayoutData(gd);
+ final Composite deletedComp = new Composite(configListGroup, SWT.NULL);
+ deletedComp.setFont(configListGroup.getFont());
+ deletedComp.setLayout(new GridLayout(1, true));
+ deletedComp.setLayoutData(new GridData(GridData.FILL_BOTH));
+
deletedConfigList = new List(deletedComp, SWT.SINGLE|SWT.V_SCROLL|SWT.H_SCROLL|SWT.BORDER);
- gd = new GridData(GridData.FILL_BOTH);
- gd.widthHint = 100;
- deletedConfigList.setLayoutData(gd);
+ deletedConfigList.setFont(deletedComp.getFont());
+ data = new GridData(GridData.FILL_BOTH);
+ data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
+ deletedConfigList.setLayoutData(data);
deletedConfigList.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent event) {
deletedConfigList = null;
}
});
-
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
+ */
+ protected Control createDialogArea(Composite parent) {
+ Composite comp = new Composite(parent, SWT.NULL);
+ comp.setFont(parent.getFont());
+ comp.setLayout(new GridLayout(1, true));
+ comp.setLayoutData(new GridData(GridData.FILL_BOTH));
+
+ // Create a group for the build output
+ createBuildArtifactGroup(comp);
+
+ // Create the make command group area
+ createMakeCommandGroup(comp);
+
+ // Make the configuration management area
+ createConfigListGroup(comp);
+
// Do the final widget prep
currentConfigList.setItems(getConfigurationNames());
currentConfigList.select(0);
newBtn.setFocus();
return comp;
}
+
+ /* (non-Javadoc)
+ * Creates the group control for the make command
+ * @param parent
+ */
+ private void createMakeCommandGroup(Composite parent) {
+ final Group makeCommandGroup = new Group(parent, SWT.NONE);
+ makeCommandGroup.setFont(parent.getFont());
+ makeCommandGroup.setText(ManagedBuilderUIPlugin.getResourceString(GROUP));
+ makeCommandGroup.setLayout(new GridLayout(1, true));
+ makeCommandGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+ makeCommandDefault = new Button(makeCommandGroup, SWT.CHECK | SWT.LEFT);
+ makeCommandDefault.setFont(makeCommandGroup.getFont());
+ makeCommandDefault.setText(ManagedBuilderUIPlugin.getResourceString(DEF_BTN));
+ setButtonLayoutData(makeCommandDefault);
+ makeCommandDefault.setBackground(makeCommandGroup.getBackground());
+ makeCommandDefault.setForeground(makeCommandGroup.getForeground());
+ makeCommandDefault.setSelection(!managedTarget.hasOverridenMakeCommand());
+ makeCommandDefault.addSelectionListener(new SelectionAdapter () {
+ public void widgetSelected(SelectionEvent e) {
+ handleUseDefaultPressed();
+ }
+ });
+ makeCommandDefault.addDisposeListener(new DisposeListener() {
+ public void widgetDisposed(DisposeEvent event) {
+ makeCommandDefault = null;
+ }
+ });
+
+ makeCommandEntry = new Text(makeCommandGroup, SWT.SINGLE | SWT.BORDER);
+ makeCommandEntry.setFont(makeCommandGroup.getFont());
+ makeCommandEntry.setEditable(!makeCommandDefault.getSelection());
+ makeCommandEntry.setText(makeCommand);
+ makeCommandEntry.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ makeCommandEntry.addDisposeListener(new DisposeListener() {
+ public void widgetDisposed(DisposeEvent event) {
+ makeCommandEntry = null;
+ }
+ });
+ }
/**
- *
+ * Answers the extension for the build artifact.
+ * @return
*/
- protected void handleUseDefaultPressed() {
- // If the state of the button is unchecked, then we want to enable the edit widget
- makeCommandEntry.setEditable(!makeCommandDefault.getSelection());
+ public String getBuildArtifaceExtension() {
+ return artifactExt;
}
-
+
/**
* Answers the value in the build artifact entry widget.
*
* @return
*/
public String getBuildArtifactName() {
- return buildArtifact;
+ return artifactName;
}
private String [] getConfigurationNames() {
@@ -453,6 +558,14 @@ public class ManageConfigDialog extends Dialog {
}
}
+ /* (non-Javadoc)
+ * Event handler for the use default check box in the make command group
+ */
+ protected void handleUseDefaultPressed() {
+ // If the state of the button is unchecked, then we want to enable the edit widget
+ makeCommandEntry.setEditable(!makeCommandDefault.getSelection());
+ }
+
private void updateButtons() {
// Disable the remove button if there is only 1 configuration
removeBtn.setEnabled(currentConfigList.getItemCount() > 1);
@@ -460,6 +573,10 @@ public class ManageConfigDialog extends Dialog {
restoreBtn.setEnabled(deletedConfigList.getItemCount() > 0);
}
+ /**
+ * Answers true
if the user has left the use default check box selected.
+ * @return
+ */
public boolean useDefaultMakeCommand () {
return useDefaultMake;
}
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/NewManagedProjectWizard.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/NewManagedProjectWizard.java
index 968f821f726..12bd204a2a3 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/NewManagedProjectWizard.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/NewManagedProjectWizard.java
@@ -1,7 +1,7 @@
package org.eclipse.cdt.managedbuilder.ui.wizards;
/**********************************************************************
- * Copyright (c) 2002,2003 Rational Software Corporation and others.
+ * Copyright (c) 2002,2004 Rational Software Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v0.5
* which accompanies this distribution, and is available at
@@ -111,8 +111,7 @@ public class NewManagedProjectWizard extends NewCProjectWizard {
newTarget = ManagedBuildManager.createTarget(newProject, parent);
if (newTarget != null) {
String artifactName = newProject.getName();
- artifactName += parent.getDefaultExtension().length() == 0 ? "" : "." + parent.getDefaultExtension();
- newTarget.setBuildArtifact(artifactName);
+ newTarget.setArtifactName(artifactName);
IConfiguration [] selectedConfigs = targetConfigurationPage.getSelectedConfigurations();
Random r = new Random();
r.setSeed(System.currentTimeMillis());