1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-29 11:55:40 +02:00

Bug #119422 : cannot override outputPrefix for build artifact

This commit is contained in:
Oleg Krasilnikov 2007-05-21 14:32:14 +00:00
parent 42d77e4d62
commit bdc99962a9
2 changed files with 46 additions and 13 deletions

View file

@ -15,7 +15,9 @@ import org.eclipse.cdt.managedbuilder.buildproperties.IBuildProperty;
import org.eclipse.cdt.managedbuilder.buildproperties.IBuildPropertyValue; import org.eclipse.cdt.managedbuilder.buildproperties.IBuildPropertyValue;
import org.eclipse.cdt.managedbuilder.core.IBuildObjectProperties; import org.eclipse.cdt.managedbuilder.core.IBuildObjectProperties;
import org.eclipse.cdt.managedbuilder.core.IConfiguration; import org.eclipse.cdt.managedbuilder.core.IConfiguration;
import org.eclipse.cdt.managedbuilder.core.ITool;
import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager; import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.ui.wizards.CWizardHandler; import org.eclipse.cdt.ui.wizards.CWizardHandler;
import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.CoreException;
import org.eclipse.swt.SWT; import org.eclipse.swt.SWT;
@ -33,13 +35,15 @@ import org.eclipse.swt.widgets.Text;
public class ArtifactTab extends AbstractCBuildPropertyTab { public class ArtifactTab extends AbstractCBuildPropertyTab {
static final public String PROPERTY = ManagedBuildManager.BUILD_ARTEFACT_TYPE_PROPERTY_ID; public static final String PROPERTY = ManagedBuildManager.BUILD_ARTEFACT_TYPE_PROPERTY_ID;
Text t2, t3; private Label l4;
Combo c1; private Text t2, t3, t4;
int savedPos = -1; // current project type private Combo c1;
IConfiguration fCfg; private int savedPos = -1; // current project type
IBuildObjectProperties fProp; private IConfiguration fCfg;
IBuildPropertyValue[] values; private IBuildObjectProperties fProp;
private IBuildPropertyValue[] values;
private ITool targetTool;
public void createControls(Composite parent) { public void createControls(Composite parent) {
super.createControls(parent); super.createControls(parent);
@ -73,7 +77,17 @@ public class ArtifactTab extends AbstractCBuildPropertyTab {
public void modifyText(ModifyEvent e) { public void modifyText(ModifyEvent e) {
fCfg.setArtifactExtension(t3.getText()); fCfg.setArtifactExtension(t3.getText());
}} ); }} );
l4 = new Label(usercomp, SWT.NONE);
l4.setLayoutData(new GridData(GridData.BEGINNING));
l4.setText(Messages.getString("ArtifactTab.3")); //$NON-NLS-1$
t4 = new Text(usercomp, SWT.BORDER);
t4.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
t4.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
if(targetTool != null)
targetTool.setOutputPrefixForPrimaryOutput(t4.getText());
}} );
updateData(getResDesc()); updateData(getResDesc());
} }
@ -121,8 +135,19 @@ public class ArtifactTab extends AbstractCBuildPropertyTab {
getCfg().setArtifactName(CWizardHandler.removeSpaces(s)); getCfg().setArtifactName(CWizardHandler.removeSpaces(s));
} }
t2.setText(s); t2.setText(s);
t3.setText(fCfg.getArtifactExtension()); t3.setText(fCfg.getArtifactExtension());
targetTool = fCfg.calculateTargetTool();
if(targetTool != null){
if (l4 != null) l4.setVisible(true);
if (t4 != null) {
t4.setVisible(true);
t4.setText(targetTool.getOutputPrefix());
}
} else {
if (l4 != null) l4.setVisible(false);
if (t4 != null) t4.setVisible(false);
}
} }
public void performApply(ICResourceDescription src, ICResourceDescription dst) { public void performApply(ICResourceDescription src, ICResourceDescription dst) {
@ -130,6 +155,12 @@ public class ArtifactTab extends AbstractCBuildPropertyTab {
IConfiguration cfg2 = getCfg(dst.getConfiguration()); IConfiguration cfg2 = getCfg(dst.getConfiguration());
cfg2.setArtifactName(cfg1.getArtifactName()); cfg2.setArtifactName(cfg1.getArtifactName());
cfg2.setArtifactExtension(cfg1.getArtifactExtension()); cfg2.setArtifactExtension(cfg1.getArtifactExtension());
ITool t1 = cfg1.calculateTargetTool();
ITool t2 = cfg2.calculateTargetTool();
if (t1 != null && t2 != null)
t2.setOutputPrefixForPrimaryOutput(t1.getOutputPrefix());
try { try {
IBuildProperty bp = cfg1.getBuildProperties().getProperty(PROPERTY); IBuildProperty bp = cfg1.getBuildProperties().getProperty(PROPERTY);
if (bp != null) { if (bp != null) {
@ -140,14 +171,15 @@ public class ArtifactTab extends AbstractCBuildPropertyTab {
} }
} }
} catch (CoreException e) { } catch (CoreException e) {
System.out.println(e.getMessage()); CUIPlugin.getDefault().log(e);
} }
} }
public void performDefaults() { public void performDefaults() {
IConfiguration cfg = getCfg(); fCfg.setArtifactName(fCfg.getManagedProject().getDefaultArtifactName());
cfg.setArtifactName(cfg.getManagedProject().getDefaultArtifactName()); fCfg.setArtifactExtension(null);
cfg.setArtifactExtension(null); if (targetTool != null)
targetTool.setOutputPrefixForPrimaryOutput(null);
updateData(getResDesc()); updateData(getResDesc());
} }

View file

@ -31,6 +31,7 @@ BuildStepsTab.6=Output file name(s):
ArtifactTab.0=Artifact Type: ArtifactTab.0=Artifact Type:
ArtifactTab.1=Artifact name: ArtifactTab.1=Artifact name:
ArtifactTab.2=Artifact extension: ArtifactTab.2=Artifact extension:
ArtifactTab.3=Output prefix:
CPropertyVarsTab.0=Show system variables CPropertyVarsTab.0=Show system variables
DiscoveryTab.0=Discovery profiles scope DiscoveryTab.0=Discovery profiles scope
DiscoveryTab.1=Per Language DiscoveryTab.1=Per Language