diff --git a/.gitignore b/.gitignore index b0d753e..515f25e 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ eclipse-mylyn-R_3_8_1-fetched-src.tar.bz2 /eclipse-mylyn-a6b7cd3ef76434fc22bf9ea295b4fc6aa7dd5281-fetched-src.tar.bz2 /eclipse-mylyn-a6b7cd3ef76434fc22bf9ea295b4fc6aa7dd5281-fetched-src /eclipse-mylyn-2ad84de236137ed860f00acf0749b03dc5c9d8ff-fetched-src.tar.bz2 +/.build-3.9.0-0.8.gita6b7cd.fc20.log diff --git a/eclipse-mylyn-bug-403024.patch b/eclipse-mylyn-bug-403024.patch new file mode 100644 index 0000000..8ff623c --- /dev/null +++ b/eclipse-mylyn-bug-403024.patch @@ -0,0 +1,471 @@ +From 2ee22249927079a00b9130512085647e84f3d64b Mon Sep 17 00:00:00 2001 +From: Frank Becker +Date: Mon, 3 Jun 2013 21:46:52 +0200 +Subject: [PATCH] 403024: Ability to reopen a task when 'REOPENED' state is not + available. (nor only use xmlrpc activate Workflow and default milestone + separate) Change-Id: I4269767dabfac05cac115150e69ec2356f5a6873 Task-Url: + https://bugs.eclipse.org/bugs/show_bug.cgi?id=403024 + +--- + .../internal/bugzilla/core/BugzillaClient.java | 9 ++- + .../internal/bugzilla/core/IBugzillaConstants.java | 6 +- + .../mylyn/internal/bugzilla/core/Messages.java | 4 ++ + .../internal/bugzilla/core/messages.properties | 2 + + .../core/service/BugzillaXmlRpcClient.java | 80 ++++++++++++++-------- + .../internal/bugzilla/core/service/Messages.java | 31 +++++++++ + .../bugzilla/core/service/messages.properties | 3 + + .../ui/tasklist/BugzillaRepositoryMigrator.java | 10 +++ + .../tasklist/BugzillaRepositorySettingsPage.java | 53 +++++++++++--- + .../internal/bugzilla/ui/tasklist/Messages.java | 8 +++ + .../bugzilla/ui/tasklist/messages.properties | 6 +- + 11 files changed, 169 insertions(+), 43 deletions(-) + create mode 100644 org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/Messages.java + create mode 100644 org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/messages.properties + +diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaClient.java org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaClient.java +index 06647e6..4f2921f 100644 +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaClient.java ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaClient.java +@@ -729,6 +729,8 @@ public class BugzillaClient { + throws IOException, CoreException { + GzipGetMethod method = null; + int attempt = 0; ++ StatusHandler.log(new Status(IStatus.INFO, BugzillaCorePlugin.ID_PLUGIN, ++ Messages.BugzillaClient_Start_GetConfiguration + repositoryUrl)); + while (attempt < 2) { + try { + method = getConnectGzip(repositoryUrl + IBugzillaConstants.URL_GET_CONFIG_RDF, monitor, eTagValue); +@@ -748,6 +750,7 @@ public class BugzillaClient { + stream, getCharacterEncoding()); + + repositoryConfiguration = configFactory.getConfiguration(); ++ repositoryConfiguration.setRepositoryUrl(repositoryUrl.toExternalForm()); + Header eTag = method.getResponseHeader("ETag"); //$NON-NLS-1$ + if (eTag != null) { + repositoryConfiguration.setETagValue(eTag.getValue()); +@@ -769,7 +772,7 @@ public class BugzillaClient { + getXmlRpcClient(); + if (xmlRpcClient != null) { + xmlRpcClient.updateConfiguration(monitor, repositoryConfiguration, +- configParameters.get(IBugzillaConstants.BUGZILLA_DESCRIPTOR_FILE)); ++ configParameters); + } else { + repositoryConfiguration.setValidTransitions(monitor, + configParameters.get(IBugzillaConstants.BUGZILLA_DESCRIPTOR_FILE), null); +@@ -779,6 +782,8 @@ public class BugzillaClient { + } + + if (!repositoryConfiguration.getOptionValues(BugzillaAttribute.PRODUCT).isEmpty()) { ++ StatusHandler.log(new Status(IStatus.INFO, BugzillaCorePlugin.ID_PLUGIN, ++ Messages.BugzillaClient_Stop_GetConfiguration + repositoryUrl)); + return repositoryConfiguration; + } else { + if (attempt == 0) { +@@ -809,6 +814,8 @@ public class BugzillaClient { + } + } + } ++ StatusHandler.log(new Status(IStatus.INFO, BugzillaCorePlugin.ID_PLUGIN, ++ Messages.BugzillaClient_Start_GetConfiguration + repositoryUrl)); + return null; + } + +diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/IBugzillaConstants.java org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/IBugzillaConstants.java +index 7a2513e..4d8eb8d 100644 +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/IBugzillaConstants.java ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/IBugzillaConstants.java +@@ -252,7 +252,11 @@ public interface IBugzillaConstants { + + public static final String BUGZILLA_DESCRIPTOR_FILE = "bugzilla.desciptorFile"; //$NON-NLS-1$ + +- public static final String BUGZILLA_USE_XMLRPC = "bugzilla.xmlrpc.status.transition"; //$NON-NLS-1$ ++ public static final String BUGZILLA_USE_XMLRPC = "bugzilla.xmlrpc"; //$NON-NLS-1$ ++ ++ public static final String BUGZILLA_USE_XMLRPC_WORKFLOW = "bugzilla.xmlrpc.status.transition"; //$NON-NLS-1$ ++ ++ public static final String BUGZILLA_USE_XMLRPC_DEFAULT_MILESTONE = "bugzilla.xmlrpc.default.milestone"; //$NON-NLS-1$ + + public static final String DEFAULT_LANG = "en (default)"; //$NON-NLS-1$ + +diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/Messages.java org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/Messages.java +index 0d4a71c..2900bd4 100644 +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/Messages.java ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/Messages.java +@@ -219,6 +219,10 @@ + + public static String BugzillaClient_description_required_when_submitting_attachments; + ++ public static String BugzillaClient_Start_GetConfiguration; ++ ++ public static String BugzillaClient_Stop_GetConfiguration; ++ + public static String BugzillaClient_Unable_to_retrieve_new_task; + + public static String BugzillaClientManager_Refreshing_repository_configuration; +diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/messages.properties org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/messages.properties +index 31c9faf..636eabc 100644 +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/messages.properties ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/messages.properties +@@ -107,6 +107,8 @@ BugzillaAttachmentMapper_URL=URL: + BugzillaClient_could_not_post_form_null_returned=Could not post form, client returned null method. + BugzillaClient_description_required_when_submitting_attachments=A description is required when submitting attachments. + BugzillaClient_Unable_to_retrieve_new_task=Unable to retrieve new task. ++BugzillaClient_Start_GetConfiguration=Start getRepositoryConfiguration for ++BugzillaClient_Stop_GetConfiguration=Stop getRepositoryConfiguration for + BugzillaClientManager_Refreshing_repository_configuration=Refreshing repository configuration + + BugzillaOperation_Accept_to_ASSIGNED=Accept (change status to ASSIGNED) +diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/BugzillaXmlRpcClient.java org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/BugzillaXmlRpcClient.java +index af2d235..51da85d 100644 +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/BugzillaXmlRpcClient.java ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/BugzillaXmlRpcClient.java +@@ -32,6 +32,7 @@ import org.eclipse.core.runtime.IProgressMonitor; + import org.eclipse.core.runtime.IStatus; + import org.eclipse.core.runtime.Status; + import org.eclipse.core.runtime.SubProgressMonitor; ++import org.eclipse.mylyn.commons.core.StatusHandler; + import org.eclipse.mylyn.commons.net.AbstractWebLocation; + import org.eclipse.mylyn.commons.net.AuthenticationCredentials; + import org.eclipse.mylyn.commons.net.AuthenticationType; +@@ -54,6 +55,7 @@ import org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper; + import org.eclipse.mylyn.tasks.core.data.TaskCommentMapper; + import org.eclipse.mylyn.tasks.core.data.TaskData; + import org.eclipse.mylyn.tasks.core.data.TaskDataCollector; ++import org.eclipse.osgi.util.NLS; + + @SuppressWarnings("restriction") + public class BugzillaXmlRpcClient extends CommonXmlRpcClient { +@@ -413,51 +415,71 @@ public class BugzillaXmlRpcClient extends CommonXmlRpcClient { + } + + public void updateConfiguration(IProgressMonitor monitor, RepositoryConfiguration repositoryConfiguration, +- String fileName) throws CoreException { +- repositoryConfiguration.setValidTransitions(monitor, fileName, this); +- if (!repositoryConfiguration.getOptionValues(BugzillaAttribute.PRODUCT).isEmpty()) { ++ Map configParameters) throws CoreException { ++ if (Boolean.parseBoolean(configParameters.get(IBugzillaConstants.BUGZILLA_USE_XMLRPC_WORKFLOW))) { ++ repositoryConfiguration.setValidTransitions(monitor, ++ configParameters.get(IBugzillaConstants.BUGZILLA_DESCRIPTOR_FILE), this); ++ } ++ if (!repositoryConfiguration.getOptionValues(BugzillaAttribute.PRODUCT).isEmpty() ++ && Boolean.parseBoolean(configParameters.get(IBugzillaConstants.BUGZILLA_USE_XMLRPC_DEFAULT_MILESTONE))) { + updateProductInfo(monitor, repositoryConfiguration); + } + } + + public void updateProductInfo(IProgressMonitor monitor, RepositoryConfiguration repositoryConfiguration) + throws CoreException { ++ ArrayList productIDNew = new ArrayList(); ++ StatusHandler.log(new Status(IStatus.INFO, BugzillaCorePlugin.ID_PLUGIN, Messages.BugzillaXmlRpcClient_Start_UpdateProductInfo ++ + repositoryConfiguration.getRepositoryUrl())); + try { + Object[] productIDs = getAccessibleProducts(monitor); +- Object[] products = getProducts(monitor, productIDs); +- for (Object object : products) { +- if (object instanceof HashMap) { +- String defaultMilestone = null; +- String product = (String) ((HashMap) object).get("name"); //$NON-NLS-1$ +- HashMap values = (HashMap) ((HashMap) object).get("internals"); //$NON-NLS-1$ +- Object defaultMilestoneObj = null; +- if (values != null) { +- if (values instanceof HashMap) { +- defaultMilestoneObj = ((HashMap) values).get("defaultmilestone"); //$NON-NLS-1$ +- } +- } else { +- defaultMilestoneObj = ((HashMap) object).get("default_milestone"); //$NON-NLS-1$ +- } +- if (defaultMilestoneObj != null) { +- if (defaultMilestoneObj instanceof String) { +- defaultMilestone = (String) defaultMilestoneObj; +- } else if (defaultMilestoneObj instanceof Double) { +- defaultMilestone = ((Double) defaultMilestoneObj).toString(); +- } else if (defaultMilestoneObj instanceof Integer) { +- defaultMilestone = ((Integer) defaultMilestoneObj).toString(); ++ for (Object productID : productIDs) { ++ productIDNew.clear(); ++ productIDNew.add(productID); ++ try { ++ Object[] products = getProducts(monitor, productIDNew.toArray()); ++ for (Object object : products) { ++ if (object instanceof HashMap) { ++ String defaultMilestone = null; ++ String product = (String) ((HashMap) object).get("name"); //$NON-NLS-1$ ++ HashMap values = (HashMap) ((HashMap) object).get("internals"); //$NON-NLS-1$ ++ Object defaultMilestoneObj = null; ++ if (values != null) { ++ if (values instanceof HashMap) { ++ defaultMilestoneObj = ((HashMap) values).get("defaultmilestone"); //$NON-NLS-1$ ++ } ++ } else { ++ defaultMilestoneObj = ((HashMap) object).get("default_milestone"); //$NON-NLS-1$ ++ } ++ if (defaultMilestoneObj != null) { ++ if (defaultMilestoneObj instanceof String) { ++ defaultMilestone = (String) defaultMilestoneObj; ++ } else if (defaultMilestoneObj instanceof Double) { ++ defaultMilestone = ((Double) defaultMilestoneObj).toString(); ++ } else if (defaultMilestoneObj instanceof Integer) { ++ defaultMilestone = ((Integer) defaultMilestoneObj).toString(); ++ } ++ } ++ if (product != null && !product.equals("") //$NON-NLS-1$ ++ && defaultMilestone != null && !defaultMilestone.equals("")) { //$NON-NLS-1$ ++ repositoryConfiguration.setDefaultMilestone(product, defaultMilestone); ++ } + } + } +- if (product != null && !product.equals("") //$NON-NLS-1$ +- && defaultMilestone != null && !defaultMilestone.equals("")) { //$NON-NLS-1$ +- repositoryConfiguration.setDefaultMilestone(product, defaultMilestone); +- } ++ } catch (Exception e) { ++ Status status = new Status(IStatus.ERROR, BugzillaCorePlugin.ID_PLUGIN, NLS.bind( ++ Messages.BugzillaXmlRpcClient_CanNotGetTheDefaultMilestoneForProductWithID, ++ productIDNew.get(0))); ++ StatusHandler.log(status); + } + } + } catch (XmlRpcException e) { + throw new CoreException(new Status(IStatus.ERROR, BugzillaCorePlugin.ID_PLUGIN, + "Can not get the Default Milestones using XMLRPC")); //$NON-NLS-1$ ++ } finally { ++ StatusHandler.log(new Status(IStatus.INFO, BugzillaCorePlugin.ID_PLUGIN, Messages.BugzillaXmlRpcClient_Stop_UpdateProductInfo ++ + repositoryConfiguration.getRepositoryUrl())); + } +- + } + + public int getUserID() { +diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/Messages.java org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/Messages.java +new file mode 100644 +index 0000000..9b672ca +--- /dev/null ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/Messages.java +@@ -0,0 +1,31 @@ ++/******************************************************************************* ++ * Copyright (c) 2013 Tasktop Technologies and others. ++ * All rights reserved. This program and the accompanying materials ++ * are made available under the terms of the Eclipse Public License v1.0 ++ * which accompanies this distribution, and is available at ++ * http://www.eclipse.org/legal/epl-v10.html ++ * ++ * Contributors: ++ * Tasktop Technologies - initial API and implementation ++ *******************************************************************************/ ++ ++package org.eclipse.mylyn.internal.bugzilla.core.service; ++ ++import org.eclipse.osgi.util.NLS; ++ ++public class Messages extends NLS { ++ private static final String BUNDLE_NAME = "org.eclipse.mylyn.internal.bugzilla.core.service.messages"; //$NON-NLS-1$ ++ ++ public static String BugzillaXmlRpcClient_CanNotGetTheDefaultMilestoneForProductWithID; ++ ++ public static String BugzillaXmlRpcClient_Start_UpdateProductInfo; ++ ++ public static String BugzillaXmlRpcClient_Stop_UpdateProductInfo; ++ static { ++ // initialize resource bundle ++ NLS.initializeMessages(BUNDLE_NAME, Messages.class); ++ } ++ ++ private Messages() { ++ } ++} +diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/messages.properties org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/messages.properties +new file mode 100644 +index 0000000..734191b +--- /dev/null ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/messages.properties +@@ -0,0 +1,3 @@ ++BugzillaXmlRpcClient_CanNotGetTheDefaultMilestoneForProductWithID=Can not get the Default Milestone for Product with ID {0} using XMLRPC ++BugzillaXmlRpcClient_Start_UpdateProductInfo=Start updateProductInfo for ++BugzillaXmlRpcClient_Stop_UpdateProductInfo=Stop updateProductInfo for +diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaRepositoryMigrator.java org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaRepositoryMigrator.java +index 1f31898..4eea2cf 100644 +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaRepositoryMigrator.java ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaRepositoryMigrator.java +@@ -12,6 +12,7 @@ + package org.eclipse.mylyn.internal.bugzilla.ui.tasklist; + + import org.eclipse.mylyn.internal.bugzilla.core.BugzillaCorePlugin; ++import org.eclipse.mylyn.internal.bugzilla.core.IBugzillaConstants; + import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorExtensions; + import org.eclipse.mylyn.tasks.core.AbstractRepositoryMigrator; + import org.eclipse.mylyn.tasks.core.TaskRepository; +@@ -40,6 +41,15 @@ public class BugzillaRepositoryMigrator extends AbstractRepositoryMigrator { + repository.setProperty(TaskEditorExtensions.REPOSITORY_PROPERTY_AVATAR_SUPPORT, Boolean.TRUE.toString()); + migrated = true; + } ++ if (repository.getProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC_DEFAULT_MILESTONE) == null ++ && repository.getProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC) == null ++ && repository.getProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC_WORKFLOW) != null) { ++ repository.setProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC, ++ repository.getProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC_WORKFLOW)); ++ repository.setProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC_DEFAULT_MILESTONE, ++ repository.getProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC_WORKFLOW)); ++ migrated = true; ++ } + return migrated; + } + +diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaRepositorySettingsPage.java org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaRepositorySettingsPage.java +index eabb201..c1b47a7 100644 +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaRepositorySettingsPage.java ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaRepositorySettingsPage.java +@@ -78,7 +78,7 @@ public class BugzillaRepositorySettingsPage extends AbstractRepositorySettingsPa + + private static final String LABEL_SHORT_LOGINS = Messages.BugzillaRepositorySettingsPage_local_users_enabled; + +- private static final String LABEL_VERSION_NUMBER = "3.0 - 4.0"; //$NON-NLS-1$ ++ private static final String LABEL_VERSION_NUMBER = "3.0 - 4.4"; //$NON-NLS-1$ + + private static final String TITLE = Messages.BugzillaRepositorySettingsPage_bugzilla_repository_settings; + +@@ -104,7 +104,11 @@ public class BugzillaRepositorySettingsPage extends AbstractRepositorySettingsPa + + private Combo languageSettingCombo; + +- private Button useXMLRPCstatusTransitions; ++ private Button useXMLRPC; ++ ++ private Button useXMLRPCWorkflowTransitions; ++ ++ private Button useXMLRPCDefaultMilestones; + + private Button autodetectXMLRPCFile; + +@@ -283,9 +287,7 @@ public class BugzillaRepositorySettingsPage extends AbstractRepositorySettingsPa + .align(SWT.FILL, SWT.CENTER) + .hint(300, SWT.DEFAULT) + .applyTo(descriptorFile); +- useXMLRPCstatusTransitions = new Button(workflowGroup, SWT.CHECK | SWT.LEFT); +- useXMLRPCstatusTransitions.setText(Messages.BugzillaRepositorySettingsPage_UseXmlRpc); +- useXMLRPCstatusTransitions.setToolTipText(Messages.BugzillaRepositorySettingsPage_RequiresBugzilla3_6); ++ new Label(workflowGroup, SWT.NONE); + Composite descriptorComposite = new Composite(workflowGroup, SWT.NONE); + gridLayout = new GridLayout(2, false); + gridLayout.marginWidth = 0; +@@ -392,6 +394,22 @@ public class BugzillaRepositorySettingsPage extends AbstractRepositorySettingsPa + languageSettingCombo.select(languageSettingCombo.indexOf(IBugzillaConstants.DEFAULT_LANG)); + } + } ++ ++ Group xmlrpcGroup = new Group(parent, SWT.SHADOW_ETCHED_IN); ++ xmlrpcGroup.setLayout(new GridLayout(3, false)); ++ xmlrpcGroup.setText(Messages.BugzillaRepositorySettingsPage_XMLRPC); ++ xmlrpcGroup.setToolTipText(Messages.BugzillaRepositorySettingsPage_RequiresBugzilla3_6); ++ GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.CENTER).span(2, 1).applyTo(xmlrpcGroup); ++ useXMLRPC = new Button(xmlrpcGroup, SWT.CHECK | SWT.LEFT); ++ useXMLRPC.setText(Messages.BugzillaRepositorySettingsPage_XMLRPC_Active); ++ useXMLRPC.setToolTipText(Messages.BugzillaRepositorySettingsPage_RequiresBugzilla3_6); ++ useXMLRPCWorkflowTransitions = new Button(xmlrpcGroup, SWT.CHECK | SWT.LEFT); ++ useXMLRPCWorkflowTransitions.setText(Messages.BugzillaRepositorySettingsPage_XMLRPC_WorkflowTransitions); ++ useXMLRPCWorkflowTransitions.setToolTipText(Messages.BugzillaRepositorySettingsPage_RequiresBugzilla3_6); ++ useXMLRPCDefaultMilestones = new Button(xmlrpcGroup, SWT.CHECK | SWT.LEFT); ++ useXMLRPCDefaultMilestones.setText(Messages.BugzillaRepositorySettingsPage_XMLRPC_DefaultMilestones); ++ useXMLRPCDefaultMilestones.setToolTipText(Messages.BugzillaRepositorySettingsPage_RequiresBugzilla3_6); ++ + Group adminGroup = new Group(parent, SWT.SHADOW_ETCHED_IN); + adminGroup.setLayout(new GridLayout(3, true)); + adminGroup.setText(Messages.BugzillaRepositorySettingsPage_admin_parameter); +@@ -452,7 +470,7 @@ public class BugzillaRepositorySettingsPage extends AbstractRepositorySettingsPa + use_see_also.setSelection(!value); + + value = Boolean.parseBoolean(myTemplate.getAttribute("useXMLRPC")); //$NON-NLS-1$ +- useXMLRPCstatusTransitions.setSelection(value); ++ useXMLRPC.setSelection(value); + } else { + useclassification.setSelection(true); + usetargetmilestone.setSelection(false); +@@ -460,7 +478,9 @@ public class BugzillaRepositorySettingsPage extends AbstractRepositorySettingsPa + usestatuswhiteboard.setSelection(false); + usebugaliases.setSelection(true); + use_see_also.setSelection(true); +- useXMLRPCstatusTransitions.setSelection(false); ++ useXMLRPC.setSelection(false); ++ useXMLRPCWorkflowTransitions.setSelection(false); ++ useXMLRPCDefaultMilestones.setSelection(false); + } + } else { + // we use the repository values +@@ -478,7 +498,11 @@ public class BugzillaRepositorySettingsPage extends AbstractRepositorySettingsPa + use_see_also.setSelection(!value); + + value = Boolean.parseBoolean(repository.getProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC)); +- useXMLRPCstatusTransitions.setSelection(value); ++ useXMLRPC.setSelection(value); ++ value = Boolean.parseBoolean(repository.getProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC_WORKFLOW)); ++ useXMLRPCWorkflowTransitions.setSelection(value); ++ value = Boolean.parseBoolean(repository.getProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC_DEFAULT_MILESTONE)); ++ useXMLRPCDefaultMilestones.setSelection(value); + } + } + } +@@ -539,7 +563,11 @@ public class BugzillaRepositorySettingsPage extends AbstractRepositorySettingsPa + changed = changed || repositoryAuth.getPassword().compareTo(getPassword()) != 0; + } + changed = changed +- || Boolean.parseBoolean(repository.getProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC)) != useXMLRPCstatusTransitions.getSelection(); ++ || Boolean.parseBoolean(repository.getProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC)) != useXMLRPC.getSelection(); ++ changed = changed ++ || Boolean.parseBoolean(repository.getProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC_WORKFLOW)) != useXMLRPCWorkflowTransitions.getSelection(); ++ changed = changed ++ || Boolean.parseBoolean(repository.getProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC_DEFAULT_MILESTONE)) != useXMLRPCDefaultMilestones.getSelection(); + changed = changed + || !equals(repository.getProperty(IBugzillaConstants.BUGZILLA_DESCRIPTOR_FILE), + descriptorFile.getText()); +@@ -667,8 +695,11 @@ public class BugzillaRepositorySettingsPage extends AbstractRepositorySettingsPa + repository.setProperty(IBugzillaConstants.REPOSITORY_SETTING_SHORT_LOGIN, + String.valueOf(cleanQAContact.getSelection())); + repository.setProperty(IBugzillaConstants.BUGZILLA_LANGUAGE_SETTING, languageSettingCombo.getText()); +- repository.setProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC, +- Boolean.toString(useXMLRPCstatusTransitions.getSelection())); ++ repository.setProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC, Boolean.toString(useXMLRPC.getSelection())); ++ repository.setProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC_WORKFLOW, ++ Boolean.toString(useXMLRPCWorkflowTransitions.getSelection())); ++ repository.setProperty(IBugzillaConstants.BUGZILLA_USE_XMLRPC_DEFAULT_MILESTONE, ++ Boolean.toString(useXMLRPCDefaultMilestones.getSelection())); + repository.setProperty(IBugzillaConstants.BUGZILLA_DESCRIPTOR_FILE, descriptorFile.getText()); + if (!autodetectPlatformOS.getSelection()) { + repository.setProperty(IBugzillaConstants.BUGZILLA_DEF_PLATFORM, +diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/Messages.java org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/Messages.java +index f30aa00..4081048 100644 +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/Messages.java ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/Messages.java +@@ -119,6 +119,14 @@ public class Messages extends NLS { + + public static String BugzillaRepositorySettingsPage_Validating_server_settings; + ++ public static String BugzillaRepositorySettingsPage_XMLRPC; ++ ++ public static String BugzillaRepositorySettingsPage_XMLRPC_Active; ++ ++ public static String BugzillaRepositorySettingsPage_XMLRPC_DefaultMilestones; ++ ++ public static String BugzillaRepositorySettingsPage_XMLRPC_WorkflowTransitions; ++ + public static String BugzillaTaskAttachmentPage_Advanced; + + } +diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/messages.properties org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/messages.properties +index c547c84..b76360c 100644 +--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/messages.properties ++++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/messages.properties +@@ -43,7 +43,11 @@ BugzillaRepositorySettingsPage_insiderGroup=Enable private comments: + BugzillaRepositorySettingsPage_insiderGroup_ToolTip=User ID is member of the insider group\nso private comments are supported + BugzillaRepositorySettingsPage_local_users_enabled=Local users enabled: + BugzillaRepositorySettingsPage_override_auto_detection_of_platform=Override auto detection of Platform and OS for new bug reports. +-BugzillaRepositorySettingsPage_RequiresBugzilla3_6=Requires Bugzilla > 3.6\nThe description file is not used ++BugzillaRepositorySettingsPage_RequiresBugzilla3_6=To use XMLRPC you need Bugzilla > 3.6 ++BugzillaRepositorySettingsPage_XMLRPC=XMLRPC ++BugzillaRepositorySettingsPage_XMLRPC_Active=Active ++BugzillaRepositorySettingsPage_XMLRPC_DefaultMilestones=Default Milestones ++BugzillaRepositorySettingsPage_XMLRPC_WorkflowTransitions=Workflow Transitions + BugzillaRepositorySettingsPage_Retrieving_repository_configuration=Retrieving repository configuration + BugzillaRepositorySettingsPage_SelectDescriptorFile=Select descriptor file + BugzillaRepositorySettingsPage_Server_URL_is_invalid=Server URL is invalid. +-- +1.8.2.1 + diff --git a/eclipse-mylyn.spec b/eclipse-mylyn.spec index 3c753e1..a668535 100644 --- a/eclipse-mylyn.spec +++ b/eclipse-mylyn.spec @@ -2,7 +2,7 @@ %{!?scl:%global pkg_name %{name}} %global install_loc %{_datadir}/eclipse/dropins -%global tag 2ad84de236137ed860f00acf0749b03dc5c9d8ff +%global tag a6b7cd3ef76434fc22bf9ea295b4fc6aa7dd5281 %global incubator_tag f327e85766e4919d6a822dd516a7b9cb77e88b4a %define __jar_repack 0 @@ -12,7 +12,7 @@ Name: %{?scl_prefix}eclipse-mylyn Summary: Eclipse Mylyn main feature. Version: 3.9.0 -Release: 0.6.git2ad84d%{?dist} +Release: 0.8.gita6b7cd%{?dist} License: EPL URL: http://www.eclipse.org/mylyn @@ -37,6 +37,7 @@ Patch4: %{pkg_name}-disable-online-tests.patch Patch5: %{pkg_name}-build-compat.patch Patch7: %{pkg_name}-merge-incubator.patch Patch8: %{pkg_name}-remove-javax-activation.patch +Patch9: %{pkg_name}-bug-403024.patch BuildArch: noarch @@ -345,7 +346,7 @@ tar xjf %{SOURCE7} -C org.eclipse.mylyn.tasks --strip-components=1 %patch5 %patch7 %patch8 - +%patch9 #Disable plugins we can live without and for some reason are redundant (unpackaged or causing build failures). #There must be empty line after each %%pom_* macro invocation. @@ -733,6 +734,12 @@ install %{SOURCE6} %{buildroot}%{install_loc}/mylyn/eclipse/redhat-bugzilla-cust %doc org.eclipse.mylyn.commons/org.eclipse.mylyn.commons.sdk-feature/license.html %changelog +* Tue Jun 18 2013 Krzysztof Daniel 3.9.0-0.8.gita6b7cd +- Update to Kepler release. + +* Mon Jun 10 2013 Krzysztof Daniel 3.9.0-0.7.git2ad84d +- Fix for bug 403024. + * Fri Jun 7 2013 Roland Grunberg 3.9.0-0.6.git2ad84d - Update to latest upstream. diff --git a/fetch-eclipse-mylyn.sh b/fetch-eclipse-mylyn.sh index ca95bb3..b18e030 100755 --- a/fetch-eclipse-mylyn.sh +++ b/fetch-eclipse-mylyn.sh @@ -2,7 +2,7 @@ set -e -RELEASE_TAG="2ad84de236137ed860f00acf0749b03dc5c9d8ff" +RELEASE_TAG="a6b7cd3ef76434fc22bf9ea295b4fc6aa7dd5281" FETCHED_SOURCES_NAME="eclipse-mylyn-${RELEASE_TAG}-fetched-src" #clean up old runs diff --git a/sources b/sources index b1a7e24..0fba5e7 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -4ffdc0fec097da2f411b2a012602cab2 eclipse-mylyn-2ad84de236137ed860f00acf0749b03dc5c9d8ff-fetched-src.tar.bz2 +f94e076ed8c5ff12e4038b4547356431 eclipse-mylyn-a6b7cd3ef76434fc22bf9ea295b4fc6aa7dd5281-fetched-src.tar.bz2 5dd64469e07b96f0182ed96358fdba5b eclipse-mylyn-f327e85766e4919d6a822dd516a7b9cb77e88b4a-incubator-fetched-src.tar.bz2 cf614787f054377d9cb9a18722b0c408 org.eclipse.core.runtime.compatibility.auth.tar.bz2