From bc84af8c5a16fbf88199ee22dbd0bca9215661af Mon Sep 17 00:00:00 2001 From: Sean Evoy Date: Mon, 29 Nov 2004 18:35:49 +0000 Subject: [PATCH] Fix for 79689 -- Unable to convert static libraries from 1.2 -> 2.1 Fix for 75859 -- Importing 1.2x mgd make projects doesn't update artifactName --- .../UpdateManagedProject12.java | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProject12.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProject12.java index b18eb17da00..f5ee60a268a 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProject12.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProject12.java @@ -48,7 +48,6 @@ import org.w3c.dom.NodeList; class UpdateManagedProject12 { - private static final String ID_CYGWIN = "cygwin"; //$NON-NLS-1$ private static final String ID_DEBUG = "debug"; //$NON-NLS-1$ private static final String ID_DIRS = "dirs"; //$NON-NLS-1$ @@ -160,20 +159,28 @@ class UpdateManagedProject12 { Element oldTarget = (Element)oldConfig.getParentNode(); if(oldTarget.hasAttribute(ITarget.ARTIFACT_NAME)){ - String artName = oldTarget.getAttribute(ITarget.ARTIFACT_NAME); - String ext = newConfig.getArtifactExtension(); - int extIndex = artName.lastIndexOf("."); //$NON-NLS-1$ - try{ - if(extIndex != -1){ - String name_ext = artName.substring(extIndex+1); - if(!"".equals(name_ext) && name_ext.equalsIgnoreCase(ext)) //$NON-NLS-1$ - artName = artName.substring(0,extIndex); + String buildGoal = oldTarget.getAttribute(ITarget.ARTIFACT_NAME); + // The name may be in the form [.ext1[.ext2[...]]] + String[] nameElements = buildGoal.split("\\."); //$NON-NLS-1$ + // There had better be at least a name + String name = null; + try { + name = nameElements[0]; + } catch (ArrayIndexOutOfBoundsException e) { + name = "default"; //$NON-NLS-1$ + } + // Reconstruct the extension + String extension = new String(); + for (int index = 1; index < nameElements.length; ++index) { + extension += nameElements[index]; + if (index < nameElements.length - 1) { + extension += "."; //$NON-NLS-1$ } } - catch(IndexOutOfBoundsException e){ - + newConfig.setArtifactName(name); + if (extension.length() != 0) { + newConfig.setArtifactExtension(extension); } - newConfig.setArtifactName(artName); } // Convert the tool references @@ -383,8 +390,8 @@ class UpdateManagedProject12 { type = TYPE_EXE; } else if (token.equalsIgnoreCase(ID_SHARED)){ type = TYPE_SHARED; - } else if (token.equalsIgnoreCase(ID_SHARED)){ - type = TYPE_SHARED; + } else if (token.equalsIgnoreCase(ID_STATIC)){ + type = TYPE_STATIC; } } // Create a target based on the new target type