Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 61640 Details for
Bug 178717
Create resulting archive in one step
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Patch for enhancement
178717-patch.txt (text/plain), 37.69 KB, created by
Barrie Treloar
on 2007-03-22 00:08:48 EDT
(
hide
)
Description:
Patch for enhancement
Filename:
MIME Type:
Creator:
Barrie Treloar
Created:
2007-03-22 00:08:48 EDT
Size:
37.69 KB
patch
obsolete
>Index: src/org/eclipse/pde/internal/build/IPDEBuildConstants.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.build/src/org/eclipse/pde/internal/build/IPDEBuildConstants.java,v >retrieving revision 1.38 >diff -u -r1.38 IPDEBuildConstants.java >--- src/org/eclipse/pde/internal/build/IPDEBuildConstants.java 8 May 2006 15:18:35 -0000 1.38 >+++ src/org/eclipse/pde/internal/build/IPDEBuildConstants.java 22 Mar 2007 04:03:23 -0000 >@@ -41,6 +41,7 @@ > public final static String GENERIC_VERSION_NUMBER = "0.0.0"; //$NON-NLS-1$ > public final static String ANY_STRING = "ANY"; //$NON-NLS-1$ > public final static String DEFAULT_ASSEMBLE_NAME = "assemble"; //$NON-NLS-1$ >+ public final static String DEFAULT_PACKAGE_NAME = "package"; //$NON-NLS-1$ > public final static String DEFAULT_ASSEMBLE_ALL = "all.xml"; //$NON-NLS-1$ > public final static String DEFAULT_CUSTOM_TARGETS = "customTargets"; //$NON-NLS-1$ > public final static String DEFAULT_RETRIEVE_FILENAME_DESCRIPTOR = "retrieve.xml"; //$NON-NLS-1$ >Index: src/org/eclipse/pde/internal/build/AssembleScriptGenerator.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.build/src/org/eclipse/pde/internal/build/AssembleScriptGenerator.java,v >retrieving revision 1.21 >diff -u -r1.21 AssembleScriptGenerator.java >--- src/org/eclipse/pde/internal/build/AssembleScriptGenerator.java 8 May 2006 15:18:35 -0000 1.21 >+++ src/org/eclipse/pde/internal/build/AssembleScriptGenerator.java 22 Mar 2007 04:03:22 -0000 >@@ -68,7 +68,7 @@ > features.addAll(configInfo[2]); > rootFiles.addAll(configInfo[3]); > } >- basicGenerateAssembleConfigFileTargetCall(new Config("group","group","group") , allPlugins, allFeatures, features, rootFiles); >+ basicGenerateAssembleConfigFileTargetCall(new Config("group","group","group") , allPlugins, allFeatures, features, rootFiles); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ > } else { > for (Iterator allConfigs = getConfigInfos().iterator(); allConfigs.hasNext();) { > Config current = (Config) allConfigs.next(); >@@ -83,6 +83,23 @@ > return new Collection[] { assemblageInformation.getCompiledPlugins(aConfig), assemblageInformation.getCompiledFeatures(aConfig), assemblageInformation.getFeatures(aConfig), assemblageInformation.getRootFileProviders(aConfig) }; > } > >+ /** >+ * TODO: Rename this to something more understandable. Suggest >+ * generateAssembleConfigFileTargetCall. >+ * >+ * @param aConfig >+ * Configurationd details. >+ * @param binaryPlugins >+ * all binary plugins. >+ * @param binaryFeatures >+ * all binary features. >+ * @param allFeatures >+ * all features. >+ * @param rootFiles >+ * all root files >+ * @throws CoreException >+ * failures. >+ */ > protected void basicGenerateAssembleConfigFileTargetCall(Config aConfig, Collection binaryPlugins, Collection binaryFeatures, Collection allFeatures, Collection rootFiles) throws CoreException { > // generate the script for a configuration > configScriptGenerator.initialize(directory, featureId, aConfig, binaryPlugins, binaryFeatures, allFeatures, rootFiles); >@@ -91,11 +108,39 @@ > configScriptGenerator.setGroupConfigs(groupConfigs); > configScriptGenerator.generate(); > >- Map params = new HashMap(1); >- params.put("assembleScriptName", configScriptGenerator.getTargetName() + ".xml"); //$NON-NLS-1$ //$NON-NLS-2$ >- script.printAntTask(Utils.getPropertyFormat(DEFAULT_CUSTOM_TARGETS), null, configScriptGenerator.getTargetName(), null, null, params); >- } >- >+ Map params = new HashMap(2); >+ String targetName = getTargetScriptName(aConfig); >+ String assembleScriptName = getAssembleScriptName(); >+ params.put("assembleScriptName", assembleScriptName + ".xml"); //$NON-NLS-1$ //$NON-NLS-2$ >+ script.printAntTask(Utils.getPropertyFormat(DEFAULT_CUSTOM_TARGETS), null, targetName, null, null, params); >+ } >+ >+ /** >+ * Returns the name of the Ant target to invoke. >+ * >+ * This is a Template Method (325) from GOF for >+ * {@link #basicGenerateAssembleConfigFileTargetCall(Config, Collection, Collection, Collection, Collection)}. >+ * >+ * @param aConfig >+ * configuration available, if needed to genereate result. >+ * @return the name of the Ant target to invoke >+ */ >+ protected String getTargetScriptName(Config aConfig) { >+ return configScriptGenerator.getTargetName(); >+ } >+ >+ /** >+ * Return the value of the assembleScriptName parameter in the ant task. >+ * >+ * This is a Template Method (325) from GOF for >+ * {@link #basicGenerateAssembleConfigFileTargetCall(Config, Collection, Collection, Collection, Collection)}. >+ * >+ * @return the value of the assembleScriptName parameter in the ant task >+ */ >+ protected String getAssembleScriptName() { >+ return configScriptGenerator.getTargetName(); >+ } >+ > public void setSignJars(boolean value) { > configScriptGenerator.setSignJars(value); > } >Index: src/org/eclipse/pde/internal/build/BuildScriptGenerator.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.build/src/org/eclipse/pde/internal/build/BuildScriptGenerator.java,v >retrieving revision 1.60 >diff -u -r1.60 BuildScriptGenerator.java >--- src/org/eclipse/pde/internal/build/BuildScriptGenerator.java 3 May 2006 21:04:14 -0000 1.60 >+++ src/org/eclipse/pde/internal/build/BuildScriptGenerator.java 22 Mar 2007 04:03:23 -0000 >@@ -173,30 +173,139 @@ > generator.generate(); > } > >- if (generator != null && generateAssembleScript == true) { >- String[] featureInfo = null; >- if (features.size() == 1) >- featureInfo = getNameAndVersion((String) features.get(0)); >- else >- featureInfo = new String[] {"all"}; //$NON-NLS-1$ >- >- generateAssembleScripts(assemblageInformation, featureInfo, generator.siteFactory); >- >- if (features.size() == 1) >- featureInfo = getNameAndVersion((String) features.get(0)); >- else >- featureInfo = new String[] {""}; //$NON-NLS-1$ >- >- generatePackageScripts(assemblageInformation, featureInfo, generator.siteFactory); >- } >- if (generateVersionsList) >- generateVersionsLists(assemblageInformation); >- } finally { >- if (generator != null) >- generator.getSite(false).getRegistry().cleanupOriginalState(); >- } >- } >- >+ if (generator != null && generateAssembleScript == true) { >+ String featureIdForAssemble = "all"; //$NON-NLS-1$ >+ String featureIdForPackage = ""; //$NON-NLS-1$ >+ if (features.size() == 1) { >+ featureIdForAssemble = getNameAndVersion((String) features.get(0))[0]; >+ featureIdForPackage = featureIdForAssemble; >+ } >+ >+ generateAssembleScripts(assemblageInformation, featureIdForAssemble, generator.siteFactory); >+ generatePackageScripts(assemblageInformation, featureIdForPackage, generator.siteFactory); >+ } >+ if (generateVersionsList) >+ generateVersionsLists(assemblageInformation); >+ } finally { >+ if (generator != null) >+ generator.getSite(false).getRegistry().cleanupOriginalState(); >+ } >+ } >+ >+ /** >+ * Generate the Assembly Scripts for the specified feature. >+ * >+ * @param assemblageInformation >+ * assemblageInformation . >+ * @param featureInfo >+ * the feature to generate scripts for. >+ * @param factory >+ * BuildTimeSiteFactory. >+ * @throws CoreException >+ * failures. >+ */ >+ private void generateAssembleScripts(AssemblyInformation assemblageInformation, String featureInfo, BuildTimeSiteFactory factory) throws CoreException { >+ AssembleScriptGenerator assembler = createAssembleScriptGenerator(workingDirectory, assemblageInformation, featureInfo); >+ initialiseAssembleScriptGenerator(assembler, factory); >+ assembler.generate(); >+ } >+ >+ /** >+ * Create an <code>AssembleScriptGenerator</code> for generating an Assemble >+ * Script. >+ * >+ * This is a Template Method (325) from GOF for >+ * {@link #generateAssembleScripts(AssemblyInformation, String, BuildTimeSiteFactory)}. >+ * >+ * @param directory >+ * see AssembleScriptGenerator >+ * @param assemblageInformation >+ * see AssembleScriptGenerator >+ * @param featureId >+ * see AssembleScriptGenerator >+ * @return an AssembleScriptGenerator >+ * @see AssembleScriptGenerator >+ */ >+ protected AssembleScriptGenerator createAssembleScriptGenerator(String directory, AssemblyInformation assemblageInformation, String featureId) { >+ return new AssembleScriptGenerator(directory, assemblageInformation, featureId); >+ } >+ >+ /** >+ * Initialise the <code>AssembleScriptGenerator</code> used for generating >+ * an Assemble Script. >+ * >+ * This is a Template Method (325) from GOF for >+ * {@link #generateAssembleScripts(AssemblyInformation, String, BuildTimeSiteFactory)}. >+ * >+ * @param generator >+ * AssembleScriptGenerator to be initialised. >+ * @param factory >+ * BuildTimeSiteFactory used in generating scripts. >+ */ >+ protected void initialiseAssembleScriptGenerator(AssembleScriptGenerator generator, BuildTimeSiteFactory factory) { >+ generator.setSignJars(signJars); >+ generator.setGenerateJnlp(generateJnlp); >+ generator.setArchivesFormat(getArchivesFormat()); >+ generator.setProduct(product); >+ generator.setGroupConfigs(groupConfigs); >+ generator.setBuildSiteFactory(factory); >+ } >+ >+ /** >+ * Generate the Package Scripts for the specified feature. >+ * >+ * @param assemblageInformation >+ * assemblageInformation. >+ * @param featureInfothe >+ * feature to generate scripts for. >+ * @param factory >+ * BuildTimeSiteFactory. >+ * @throws CoreException >+ * failures. >+ */ >+ private void generatePackageScripts(AssemblyInformation assemblageInformation, String featureInfo, BuildTimeSiteFactory factory) throws CoreException { >+ PackageScriptGenerator assembler = createPackageScriptGenerator(workingDirectory, assemblageInformation, featureInfo); >+ initialisePackageScriptGenerator(assembler, factory); >+ >+ assembler.generate(); >+ } >+ >+ /** >+ * Create the <code>PackageScriptGenerator</code> for generating a Package >+ * Script. >+ * >+ * This is a Template Method (325) from GOF for >+ * {@link #generatePackageScripts(AssemblyInformation, String, BuildTimeSiteFactory)} >+ * >+ * @param directory >+ * see PackageScriptGenerator >+ * @param assemblageInformation >+ * see PackageScriptGenerator >+ * @param featureId >+ * see PackageScriptGenerator >+ * @return a PackageScriptGenerator >+ * @see PackageScriptGenerator >+ */ >+ protected PackageScriptGenerator createPackageScriptGenerator(String directory, AssemblyInformation assemblageInformation, String featureId) { >+ return new PackageScriptGenerator(directory, assemblageInformation, featureId); >+ } >+ >+ /** >+ * Initialise the <code>PackageScriptGenerator</code> used for generating a >+ * Package Script. >+ * >+ * This ia a Template Method (325) from GOF for >+ * {@link #generatePackageScripts(AssemblyInformation, String, BuildTimeSiteFactory)}. >+ * >+ * @param generator >+ * PackageScriptGenerator to be initialised. >+ * @param factory >+ * BuildTimeSiteFactory used in generating scripts. >+ */ >+ protected void initialisePackageScriptGenerator(PackageScriptGenerator generator, BuildTimeSiteFactory factory) { >+ initialiseAssembleScriptGenerator(generator, factory); >+ } >+ > protected void generateVersionsLists(AssemblyInformation assemblageInformation) throws CoreException { > if (assemblageInformation == null) > return; >@@ -306,29 +415,6 @@ > } > } > >- protected void generatePackageScripts(AssemblyInformation assemblageInformation, String[] featureInfo, BuildTimeSiteFactory factory) throws CoreException { >- PackageScriptGenerator assembler = null; >- assembler = new PackageScriptGenerator(workingDirectory, assemblageInformation, featureInfo[0]); >- assembler.setSignJars(signJars); >- assembler.setGenerateJnlp(generateJnlp); >- assembler.setArchivesFormat(getArchivesFormat()); >- assembler.setProduct(product); >- assembler.setBuildSiteFactory(factory); >- assembler.setGroupConfigs(groupConfigs); >- assembler.generate(); >- } >- >- private void generateAssembleScripts(AssemblyInformation assemblageInformation, String[] featureInfo, BuildTimeSiteFactory factory) throws CoreException { >- AssembleScriptGenerator assembler = new AssembleScriptGenerator(workingDirectory, assemblageInformation, featureInfo[0]); >- assembler.setSignJars(signJars); >- assembler.setGenerateJnlp(generateJnlp); >- assembler.setArchivesFormat(getArchivesFormat()); >- assembler.setProduct(product); >- assembler.setBuildSiteFactory(factory); >- assembler.setGroupConfigs(groupConfigs); >- assembler.generate(); >- } >- > public void setGenerateArchive(boolean generateArchive) { > this.generateArchive = generateArchive; > } >Index: src/org/eclipse/pde/internal/build/BundleHelper.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.build/src/org/eclipse/pde/internal/build/BundleHelper.java,v >retrieving revision 1.10 >diff -u -r1.10 BundleHelper.java >--- src/org/eclipse/pde/internal/build/BundleHelper.java 8 May 2006 15:18:35 -0000 1.10 >+++ src/org/eclipse/pde/internal/build/BundleHelper.java 22 Mar 2007 04:03:23 -0000 >@@ -111,4 +111,13 @@ > log = null; > } > } >+ >+ public void log(String msg, Throwable t) { >+ Platform.getLog(bundle).log(new Status(IStatus.INFO, bundle.getSymbolicName(), IStatus.OK, msg, t)); >+ } >+ >+ public void log(String msg) { >+ log(msg, null); >+ } >+ > } >Index: src/org/eclipse/pde/internal/build/AssembleConfigScriptGenerator.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.build/src/org/eclipse/pde/internal/build/AssembleConfigScriptGenerator.java,v >retrieving revision 1.71 >diff -u -r1.71 AssembleConfigScriptGenerator.java >--- src/org/eclipse/pde/internal/build/AssembleConfigScriptGenerator.java 8 May 2006 15:18:35 -0000 1.71 >+++ src/org/eclipse/pde/internal/build/AssembleConfigScriptGenerator.java 22 Mar 2007 04:03:22 -0000 >@@ -37,6 +37,8 @@ > protected Properties featuresPostProcessingSteps; > protected ArrayList addedByPermissions = new ArrayList(); //contains the list of files and folders that have been added to an archive by permission management > >+ private static final int MAX_ZIP_EXEC_COMMAND_PARAMETERS = 15; >+ > private static final String PROPERTY_SOURCE = "source"; //$NON-NLS-1$ > private static final String PROPERTY_ELEMENT_NAME = "elementName"; //$NON-NLS-1$ > >@@ -131,8 +133,8 @@ > if (embeddedSource) > generateGatherSourceCalls(); > generatePostProcessingSteps(); >- generateBrandingCalls(); >- generateArchivingSteps(); >+ generateBrandingCalls(); // BAE: TODO: PACKAGE ONLY??? >+ generateArchivingSteps(); // BAE: TODO: PACKAGE ONLY??? > generateEpilogue(); > } > >@@ -466,56 +468,47 @@ > } > > private void generateZipTarget() { >- final int parameterSize = 15; >- List parameters = new ArrayList(parameterSize + 1); >- for (int i = 0; i < plugins.length; i++) { >- parameters.add(Utils.getPropertyFormat(PROPERTY_PLUGIN_ARCHIVE_PREFIX) + '/' + (String) getFinalShape(plugins[i])[0]); >- if (i % parameterSize == 0) { >- createZipExecCommand(parameters); >- parameters.clear(); >- } >- } >- if (!parameters.isEmpty()) { >- createZipExecCommand(parameters); >- parameters.clear(); >- } >- >- if (!parameters.isEmpty()) { >- createZipExecCommand(parameters); >- parameters.clear(); >- } >- >- for (int i = 0; i < features.length; i++) { >- parameters.add(Utils.getPropertyFormat(PROPERTY_FEATURE_ARCHIVE_PREFIX) + '/' + (String) getFinalShape(features[i])[0]); >- if (i % parameterSize == 0) { >- createZipExecCommand(parameters); >- parameters.clear(); >- } >- } >- if (!parameters.isEmpty()) { >- createZipExecCommand(parameters); >- parameters.clear(); >- } >- >- createZipRootFileCommand(); >- } >- >- /** >- * Zip the root files >- */ >- private void createZipRootFileCommand() { >- if (rootFileProviders.size() == 0) >- return; >- >- List parameters = new ArrayList(1); >- parameters.add("-r -q ${zipargs} '" + Utils.getPropertyFormat(PROPERTY_ARCHIVE_FULLPATH) + "' . "); //$NON-NLS-1$ //$NON-NLS-2$ >- script.printExecTask("zip", Utils.getPropertyFormat(PROPERTY_ECLIPSE_BASE) + '/' + configInfo.toStringReplacingAny(".", ANY_STRING), parameters, null); //$NON-NLS-1$ //$NON-NLS-2$ >- } >- >- private void createZipExecCommand(List parameters) { >- parameters.add(0, "-r -q " + Utils.getPropertyFormat(PROPERTY_ZIP_ARGS) + " '" + Utils.getPropertyFormat(PROPERTY_ARCHIVE_FULLPATH) + '\''); //$NON-NLS-1$ //$NON-NLS-2$ >- script.printExecTask("zip", Utils.getPropertyFormat(PROPERTY_ASSEMBLY_TMP), parameters, null); //$NON-NLS-1$ >- } >+ List parameters = new ArrayList(plugins.length + features.length + 1); >+ for (int i = 0; i < plugins.length; i++) { >+ parameters.add(Utils.getPropertyFormat(PROPERTY_PLUGIN_ARCHIVE_PREFIX) + '/' + (String) getFinalShape(plugins[i])[0]); >+ } >+ for (int i = 0; i < features.length; i++) { >+ parameters.add(Utils.getPropertyFormat(PROPERTY_FEATURE_ARCHIVE_PREFIX) + '/' + (String) getFinalShape(features[i])[0]); >+ } >+ createZipExecCommand(Utils.getPropertyFormat(PROPERTY_ASSEMBLY_TMP), parameters); >+ >+ if (!rootFileProviders.isEmpty()) { >+ parameters.clear(); >+ parameters.add("."); //$NON-NLS-1$ >+ createZipExecCommand(Utils.getPropertyFormat(PROPERTY_ECLIPSE_BASE) + '/' + configInfo.toStringReplacingAny(".", ANY_STRING), parameters); //$NON-NLS-1$ >+ } >+ } >+ >+ /** >+ * Create a zip command for the specified parameters. This will chunk the zip >+ * command into a command of no more that MAX_ZIP_EXEC_COMMAND_PARAMETERS. >+ * >+ * @param dir >+ * the root directory to zip from. >+ * @param lineArgs >+ * the list of parameters to the zip command. >+ */ >+ private void createZipExecCommand(String dir, List lineArgs) { >+ String zipArguments = "-r -q " + Utils.getPropertyFormat(PROPERTY_ZIP_ARGS) + " '" + Utils.getPropertyFormat(PROPERTY_ARCHIVE_FULLPATH) + '\''; //$NON-NLS-1$ //$NON-NLS-2$ >+ List zipLineArgs = new ArrayList(MAX_ZIP_EXEC_COMMAND_PARAMETERS + 1); >+ for (Iterator iter = lineArgs.iterator(); iter.hasNext();) { >+ zipLineArgs.add(iter.next()); >+ if (zipLineArgs.size() == MAX_ZIP_EXEC_COMMAND_PARAMETERS) { >+ zipLineArgs.add(0, zipArguments); >+ script.printExecTask("zip", dir, zipLineArgs, null); //$NON-NLS-1$ >+ zipLineArgs.clear(); >+ } >+ } >+ if (!zipLineArgs.isEmpty()) { >+ zipLineArgs.add(0, zipArguments); >+ script.printExecTask("zip", dir, zipLineArgs, null); //$NON-NLS-1$ >+ } >+ } > > protected String computeArchiveName() { > String extension = (FORMAT_TAR.equalsIgnoreCase(archiveFormat) || FORMAT_ANTTAR.equalsIgnoreCase(archiveFormat)) ? ".tar.gz" : ".zip"; //$NON-NLS-1$ //$NON-NLS-2$ >@@ -547,46 +540,64 @@ > script.printExecTask("rm", null, args, null); //$NON-NLS-1$ > } > >- //TODO this code andn the generateAntTarTarget() should be refactored using a factory or something like that. >- protected void generateAntZipTarget() { >- FileSet[] filesPlugins = new FileSet[plugins.length]; >- for (int i = 0; i < plugins.length; i++) { >- Object[] shape = getFinalShape(plugins[i]); >- filesPlugins[i] = new ZipFileSet(Utils.getPropertyFormat(PROPERTY_ECLIPSE_BASE) + '/' + DEFAULT_PLUGIN_LOCATION + '/' + (String) shape[0], shape[1] == FILE, null, null, null, null, null, Utils.getPropertyFormat(PROPERTY_PLUGIN_ARCHIVE_PREFIX) + '/' + (String) shape[0], null, null); >- } >- if (plugins.length != 0) >- script.printZipTask(Utils.getPropertyFormat(PROPERTY_ARCHIVE_FULLPATH), null, false, true, filesPlugins); >- >- FileSet[] filesFeatures = new FileSet[features.length]; >- for (int i = 0; i < features.length; i++) { >- Object[] shape = getFinalShape(features[i]); >- filesFeatures[i] = new ZipFileSet(Utils.getPropertyFormat(PROPERTY_ECLIPSE_BASE) + '/' + DEFAULT_FEATURE_LOCATION + '/' + (String) shape[0], shape[1] == FILE, null, null, null, null, null, Utils.getPropertyFormat(PROPERTY_FEATURE_ARCHIVE_PREFIX) + '/' + (String) shape[0], null, null); >- } >- if (features.length != 0) >- script.printZipTask(Utils.getPropertyFormat(PROPERTY_ARCHIVE_FULLPATH), null, false, true, filesFeatures); >- >- if (rootFileProviders.size() == 0) >- return; >- >- if (groupConfigs) { >- List allConfigs = getConfigInfos(); >- FileSet[] rootFiles = new FileSet[allConfigs.size()]; >- int i = 0; >- for (Iterator iter = allConfigs.iterator(); iter.hasNext();) { >- Config elt = (Config) iter.next(); >- rootFiles[i++] = new ZipFileSet(Utils.getPropertyFormat(PROPERTY_ECLIPSE_BASE) + '/' + elt.toStringReplacingAny(".", ANY_STRING), false, null, "**/**", null, null, null, elt.toStringReplacingAny(".", ANY_STRING), null, null); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ >- } >- script.printZipTask(Utils.getPropertyFormat(PROPERTY_ARCHIVE_FULLPATH), null, false, true, rootFiles); >- } else { >- FileSet[] permissionSets = generatePermissions(true); >- FileSet[] rootFiles = new FileSet[permissionSets.length + 1]; >- String toExcludeFromArchive = Utils.getStringFromCollection(this.addedByPermissions, ","); //$NON-NLS-1$ >- System.arraycopy(permissionSets, 0, rootFiles, 1, permissionSets.length); >- rootFiles[0] = new ZipFileSet(Utils.getPropertyFormat(PROPERTY_ECLIPSE_BASE) + '/' + configInfo.toStringReplacingAny(".", ANY_STRING) + '/' + Utils.getPropertyFormat(PROPERTY_COLLECTING_FOLDER), false, null, "**/**", null, toExcludeFromArchive, null, Utils.getPropertyFormat(PROPERTY_ARCHIVE_PREFIX), null, null); //$NON-NLS-1$//$NON-NLS-2$ >- script.printZipTask(Utils.getPropertyFormat(PROPERTY_ARCHIVE_FULLPATH), null, false, true, rootFiles); >- } >- } >- >+ // TODO this code andn the generateAntTarTarget() should be refactored using a >+ // factory or something like that. >+ protected void generateAntZipTarget() { >+ List fileSets = new ArrayList(); >+ FileSet[] pluginsFileSets = getPluginsFileSets(); >+ if (pluginsFileSets.length != 0) { >+ fileSets.addAll(Arrays.asList(pluginsFileSets)); >+ } >+ FileSet[] featuresFileSets = getFeaturesFileSets(); >+ if (featuresFileSets.length != 0) { >+ fileSets.addAll(Arrays.asList(featuresFileSets)); >+ } >+ if (!rootFileProviders.isEmpty()) { >+ if (groupConfigs) { >+ List allConfigs = getConfigInfos(); >+ for (Iterator iter = allConfigs.iterator(); iter.hasNext();) { >+ Config elt = (Config) iter.next(); >+ fileSets.add(new ZipFileSet(Utils.getPropertyFormat(PROPERTY_ECLIPSE_BASE) + '/' + elt.toStringReplacingAny(".", ANY_STRING), false, null, "**/**", null, null, null, elt.toStringReplacingAny(".", ANY_STRING), null, null)); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ >+ } >+ } else { >+ FileSet[] permissionSets = generatePermissions(true); >+ String toExcludeFromArchive = Utils.getStringFromCollection(this.addedByPermissions, ","); //$NON-NLS-1$ >+ fileSets.add(new ZipFileSet(Utils.getPropertyFormat(PROPERTY_ECLIPSE_BASE) + '/' + configInfo.toStringReplacingAny(".", ANY_STRING) + '/' + Utils.getPropertyFormat(PROPERTY_COLLECTING_FOLDER), false, null, "**/**", null, toExcludeFromArchive, null, Utils.getPropertyFormat(PROPERTY_ARCHIVE_PREFIX), null, null)); //$NON-NLS-1$//$NON-NLS-2$ >+ if (permissionSets.length != 0) { >+ fileSets.addAll(Arrays.asList(permissionSets)); >+ } >+ } >+ } >+ if (!fileSets.isEmpty()) { >+ FileSet[] filesSetsToAdd = (FileSet[]) fileSets.toArray(new FileSet[fileSets.size()]); >+ script.printZipTask(Utils.getPropertyFormat(PROPERTY_ARCHIVE_FULLPATH), null, false, true, filesSetsToAdd); >+ } >+ } >+ >+ /** >+ * @return the file sets for all defined features. >+ */ >+ private FileSet[] getFeaturesFileSets() { >+ FileSet[] filesFeatures = new FileSet[features.length]; >+ for (int i = 0; i < features.length; i++) { >+ Object[] shape = getFinalShape(features[i]); >+ filesFeatures[i] = new ZipFileSet(Utils.getPropertyFormat(PROPERTY_ECLIPSE_BASE) + '/' + DEFAULT_FEATURE_LOCATION + '/' + (String) shape[0], shape[1] == FILE, null, null, null, null, null, Utils.getPropertyFormat(PROPERTY_FEATURE_ARCHIVE_PREFIX) + '/' + (String) shape[0], null, null); >+ } >+ return filesFeatures; >+ } >+ >+ /** >+ * @return the file sets for all defined plugins. >+ */ >+ private FileSet[] getPluginsFileSets() { >+ FileSet[] filesPlugins = new FileSet[plugins.length]; >+ for (int i = 0; i < plugins.length; i++) { >+ Object[] shape = getFinalShape(plugins[i]); >+ filesPlugins[i] = new ZipFileSet(Utils.getPropertyFormat(PROPERTY_ECLIPSE_BASE) + '/' + DEFAULT_PLUGIN_LOCATION + '/' + (String) shape[0], shape[1] == FILE, null, null, null, null, null, Utils.getPropertyFormat(PROPERTY_PLUGIN_ARCHIVE_PREFIX) + '/' + (String) shape[0], null, null); >+ } >+ return filesPlugins; >+ } >+ > protected FileSet[] generatePermissions(boolean zip) { > String configInfix = configInfo.toString("."); //$NON-NLS-1$ > String prefixPermissions = ROOT_PREFIX + configInfix + '.' + PERMISSIONS + '.'; >@@ -631,7 +642,7 @@ > return (FileSet[]) fileSets.toArray(new FileSet[fileSets.size()]); > } > >- //TODO this code andn the generateAntZipTarget() should be refactored using a factory or something like that. >+ //TODO this code and the generateAntZipTarget() should be refactored using a factory or something like that. > private void generateAntTarTarget() { > FileSet[] filesPlugins = new FileSet[plugins.length]; > for (int i = 0; i < plugins.length; i++) { >Index: src/org/eclipse/pde/internal/build/builder/ModelBuildScriptGenerator.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.build/src/org/eclipse/pde/internal/build/builder/ModelBuildScriptGenerator.java,v >retrieving revision 1.87 >diff -u -r1.87 ModelBuildScriptGenerator.java >--- src/org/eclipse/pde/internal/build/builder/ModelBuildScriptGenerator.java 8 May 2006 15:18:35 -0000 1.87 >+++ src/org/eclipse/pde/internal/build/builder/ModelBuildScriptGenerator.java 22 Mar 2007 04:03:25 -0000 >@@ -609,7 +609,7 @@ > private void generateRefreshTarget() { > script.println(); > script.printTargetDeclaration(TARGET_REFRESH, TARGET_INIT, PROPERTY_ECLIPSE_RUNNING, null, Messages.build_plugin_refresh); >- script.printConvertPathTask(new Path(getLocation(model)).removeLastSegments(0).toOSString().replace('\\', '/'), PROPERTY_RESOURCE_PATH, false); >+ script.printConvertPathTask(Utils.getPropertyFormat(PROPERTY_BASEDIR), PROPERTY_RESOURCE_PATH, false); > script.printRefreshLocalTask(Utils.getPropertyFormat(PROPERTY_RESOURCE_PATH), "infinite"); //$NON-NLS-1$ > script.printTargetEnd(); > } >Index: src/org/eclipse/pde/internal/build/builder/FeatureBuildScriptGenerator.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.build/src/org/eclipse/pde/internal/build/builder/FeatureBuildScriptGenerator.java,v >retrieving revision 1.86 >diff -u -r1.86 FeatureBuildScriptGenerator.java >--- src/org/eclipse/pde/internal/build/builder/FeatureBuildScriptGenerator.java 8 May 2006 15:18:35 -0000 1.86 >+++ src/org/eclipse/pde/internal/build/builder/FeatureBuildScriptGenerator.java 22 Mar 2007 04:03:24 -0000 >@@ -1067,7 +1067,7 @@ > private void generateRefreshTarget() { > script.println(); > script.printTargetDeclaration(TARGET_REFRESH, TARGET_INIT, PROPERTY_ECLIPSE_RUNNING, null, NLS.bind(Messages.build_feature_refresh, featureIdentifier)); >- script.printConvertPathTask(new Path(featureRootLocation).removeLastSegments(0).toOSString().replace('\\', '/'), PROPERTY_RESOURCE_PATH, false); >+ script.printConvertPathTask(Utils.getPropertyFormat(PROPERTY_BASEDIR), PROPERTY_RESOURCE_PATH, false); > script.printRefreshLocalTask(Utils.getPropertyFormat(PROPERTY_RESOURCE_PATH), "infinite"); //$NON-NLS-1$ > Map params = new HashMap(2); > params.put(PROPERTY_TARGET, TARGET_REFRESH); >Index: src/org/eclipse/pde/internal/build/packager/PackageScriptGenerator.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.build/src/org/eclipse/pde/internal/build/packager/PackageScriptGenerator.java,v >retrieving revision 1.11 >diff -u -r1.11 PackageScriptGenerator.java >--- src/org/eclipse/pde/internal/build/packager/PackageScriptGenerator.java 8 May 2006 15:18:35 -0000 1.11 >+++ src/org/eclipse/pde/internal/build/packager/PackageScriptGenerator.java 22 Mar 2007 04:03:25 -0000 >@@ -32,8 +32,8 @@ > > protected String getScriptName() { > if (backwardCompatibleName) >- return "package" + '.' + DEFAULT_ASSEMBLE_ALL; >- return "package" + '.' + (featureId.equals("") ? "" : featureId + '.') + DEFAULT_ASSEMBLE_ALL; >+ return DEFAULT_PACKAGE_NAME + '.' + DEFAULT_ASSEMBLE_ALL; >+ return DEFAULT_PACKAGE_NAME + '.' + (featureId.equals("") ? "" : featureId + '.') + DEFAULT_ASSEMBLE_ALL; //$NON-NLS-1$ //$NON-NLS-2$ > } > > public void setPropertyFile(String propertyFile) { >@@ -44,20 +44,23 @@ > return new Collection[] {assemblageInformation.getBinaryPlugins(aConfig), assemblageInformation.getBinaryFeatures(aConfig), assemblageInformation.getFeatures(aConfig), new HashSet(0) }; > } > >- protected void basicGenerateAssembleConfigFileTargetCall(Config aConfig, Collection binaryPlugins, Collection binaryFeatures, Collection allFeatures, Collection rootFiles) throws CoreException { >- configScriptGenerator.initialize(directory, featureId, aConfig, binaryPlugins, binaryFeatures, allFeatures, rootFiles); >- ((PackageConfigScriptGenerator) configScriptGenerator).setPackagingPropertiesLocation(packagingPropertiesLocation); >- configScriptGenerator.setArchiveFormat((String) archivesFormat.get(aConfig)); >- configScriptGenerator.setGroupConfigs(groupConfigs); >- setForceUpdateJar(forceUpdateJarFormat); >- configScriptGenerator.setBuildSiteFactory(siteFactory); >- configScriptGenerator.generate(); >+ /** >+ * {@inheritDoc} >+ */ >+ protected void basicGenerateAssembleConfigFileTargetCall(Config aConfig, Collection binaryPlugins, Collection binaryFeatures, Collection allFeatures, Collection rootFiles) throws CoreException { >+ ((PackageConfigScriptGenerator) configScriptGenerator).setPackagingPropertiesLocation(packagingPropertiesLocation); >+ setForceUpdateJar(forceUpdateJarFormat); > >- Map params = new HashMap(1); >- params.put("assembleScriptName", configScriptGenerator.getTargetName() + ".xml"); >- script.printAntTask(Utils.getPropertyFormat(DEFAULT_CUSTOM_TARGETS), null, computeBackwardCompatibleName(aConfig), null, null, params); >- } >+ super.basicGenerateAssembleConfigFileTargetCall(aConfig, binaryPlugins, binaryFeatures, allFeatures, rootFiles); >+ } > >+ /** >+ * {@inheritDoc} >+ */ >+ protected String getTargetScriptName(Config aConfig) { >+ return computeBackwardCompatibleName(aConfig); >+ } >+ > public void setBackwardCompatibleName(boolean value) { > backwardCompatibleName = value; > } >Index: src/org/eclipse/pde/internal/build/packager/PackagerGenerator.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.build/src/org/eclipse/pde/internal/build/packager/PackagerGenerator.java,v >retrieving revision 1.5 >diff -u -r1.5 PackagerGenerator.java >--- src/org/eclipse/pde/internal/build/packager/PackagerGenerator.java 12 May 2005 15:55:17 -0000 1.5 >+++ src/org/eclipse/pde/internal/build/packager/PackagerGenerator.java 22 Mar 2007 04:03:25 -0000 >@@ -11,8 +11,8 @@ > package org.eclipse.pde.internal.build.packager; > > import java.util.List; >-import org.eclipse.core.runtime.CoreException; >-import org.eclipse.pde.internal.build.*; >+ >+import org.eclipse.pde.internal.build.AssemblyInformation; > import org.eclipse.pde.internal.build.BuildScriptGenerator; > import org.eclipse.pde.internal.build.Utils; > import org.eclipse.pde.internal.build.site.BuildTimeSiteFactory; >@@ -39,21 +39,27 @@ > } > } > >- protected void generatePackageScripts(AssemblyInformation assemblageInformation, String[] featureInfo, BuildTimeSiteFactory factory) throws CoreException { >- PackageScriptGenerator assembler = null; >- if (groupConfigs) >- assembler = new DeltaPackScriptGenerator(workingDirectory, assemblageInformation, featureInfo[0]); >- else >- assembler = new PackageScriptGenerator(workingDirectory, assemblageInformation, featureInfo[0]); >- >- assembler.setSignJars(signJars); >- assembler.setGenerateJnlp(generateJnlp); >- assembler.setArchivesFormat(getArchivesFormat()); >- assembler.setPropertyFile(propertyFile); >- assembler.setBackwardCompatibleName(true); >- assembler.setBuildSiteFactory(factory); >- assembler.generate(); >- } >+ /** >+ * {@inheritDoc} >+ */ >+ protected PackageScriptGenerator createPackageScriptGenerator(String directory, AssemblyInformation assemblageInformation, String featureId) { >+ if (groupConfigs) { >+ return new DeltaPackScriptGenerator(workingDirectory, assemblageInformation, featureId); >+ } >+ return new PackageScriptGenerator(workingDirectory, assemblageInformation, featureId); >+ } >+ >+ /** >+ * {@inheritDoc} >+ */ >+ protected void initialisePackageScriptGenerator(PackageScriptGenerator generator, BuildTimeSiteFactory factory) { >+ generator.setSignJars(signJars); >+ generator.setGenerateJnlp(generateJnlp); >+ generator.setArchivesFormat(getArchivesFormat()); >+ generator.setPropertyFile(propertyFile); >+ generator.setBackwardCompatibleName(true); >+ generator.setBuildSiteFactory(factory); >+ } > > public void setPropertyFile(String propertyFile) { > this.propertyFile = propertyFile; >Index: src/org/eclipse/pde/internal/build/packager/DeltaPackScriptGenerator.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.build/src/org/eclipse/pde/internal/build/packager/DeltaPackScriptGenerator.java,v >retrieving revision 1.4 >diff -u -r1.4 DeltaPackScriptGenerator.java >--- src/org/eclipse/pde/internal/build/packager/DeltaPackScriptGenerator.java 8 May 2006 15:18:35 -0000 1.4 >+++ src/org/eclipse/pde/internal/build/packager/DeltaPackScriptGenerator.java 22 Mar 2007 04:03:25 -0000 >@@ -18,12 +18,12 @@ > import org.eclipse.pde.internal.build.Config; > > public class DeltaPackScriptGenerator extends PackageScriptGenerator { >- public DeltaPackScriptGenerator(String directory, AssemblyInformation assemblageInformation, String featureId) throws CoreException { >+ public DeltaPackScriptGenerator(String directory, AssemblyInformation assemblageInformation, String featureId) { > super(directory, assemblageInformation, featureId); > groupConfigs = true; > } > > protected void basicGenerateAssembleConfigFileTargetCall(Config aConfig, Collection binaryPlugins, Collection binaryFeatures, Collection allFeatures, Collection rootFiles) throws CoreException { >- super.basicGenerateAssembleConfigFileTargetCall(new Config("delta", "delta", "delta"), binaryPlugins, binaryFeatures, allFeatures, rootFiles); >+ super.basicGenerateAssembleConfigFileTargetCall(new Config("delta", "delta", "delta"), binaryPlugins, binaryFeatures, allFeatures, rootFiles); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ > } > } >Index: META-INF/MANIFEST.MF >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.build/META-INF/MANIFEST.MF,v >retrieving revision 1.17.2.1 >diff -u -r1.17.2.1 MANIFEST.MF >--- META-INF/MANIFEST.MF 7 Jul 2006 19:23:06 -0000 1.17.2.1 >+++ META-INF/MANIFEST.MF 22 Mar 2007 04:03:21 -0000 >@@ -13,13 +13,13 @@ > org.eclipse.core.runtime.compatibility;bundle-version="[3.1.100,4.0.0)";resolution:=optional > Export-Package: > org.eclipse.pde.build, >- org.eclipse.pde.internal.build;x-friends:="org.eclipse.pde.core,org.eclipse.pde.ui", >- org.eclipse.pde.internal.build.ant;x-internal:=true, >- org.eclipse.pde.internal.build.builder;x-internal:=true, >- org.eclipse.pde.internal.build.fetch;x-internal:=true, >- org.eclipse.pde.internal.build.packager;x-internal:=true, >- org.eclipse.pde.internal.build.properties;x-internal:=true, >- org.eclipse.pde.internal.build.site;x-internal:=true >+ org.eclipse.pde.internal.build;x-friends:="org.eclipse.pde.core,org.eclipse.pde.ui,org.eclipse.pde.build.test", >+ org.eclipse.pde.internal.build.ant;x-friends:="org.eclipse.pde.build.test", >+ org.eclipse.pde.internal.build.builder;x-friends:="org.eclipse.pde.build.test", >+ org.eclipse.pde.internal.build.fetch;x-friends:="org.eclipse.pde.build.test", >+ org.eclipse.pde.internal.build.packager;x-friends:="org.eclipse.pde.build.test", >+ org.eclipse.pde.internal.build.properties;x-friends:="org.eclipse.pde.build.test", >+ org.eclipse.pde.internal.build.site;x-friends:="org.eclipse.pde.build.test" > Import-Package: com.ibm.icu.util > Bundle-Localization: plugin > Eclipse-LazyStart: true >Index: scripts/productBuild/productBuild.xml >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.build/scripts/productBuild/productBuild.xml,v >retrieving revision 1.4 >diff -u -r1.4 productBuild.xml >--- scripts/productBuild/productBuild.xml 5 May 2006 14:18:27 -0000 1.4 >+++ scripts/productBuild/productBuild.xml 22 Mar 2007 04:03:21 -0000 >@@ -42,6 +42,8 @@ > verify="${verify}" > pluginPath="${pluginPath}" > configInfo="${configs}" >+ pluginList="${pluginList}" >+ featureList="${featureList}" > /> > </target> >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 178717
: 61640