diff options
| author | Vikas Chandra | 2015-07-15 09:09:54 +0000 |
|---|---|---|
| committer | Vikas Chandra | 2015-07-15 09:09:54 +0000 |
| commit | 0eb6884db706f994690659356a4e37961d92645c (patch) | |
| tree | edad3f1ebb5464f336b8837b1c7d5f6bdc962e01 | |
| parent | 585678758449fc2f8471be099e7798db3a58b784 (diff) | |
| download | eclipse.pde.ui-0eb6884db706f994690659356a4e37961d92645c.tar.gz eclipse.pde.ui-0eb6884db706f994690659356a4e37961d92645c.tar.xz eclipse.pde.ui-0eb6884db706f994690659356a4e37961d92645c.zip | |
Bug 470111 - Hang at startup involving target definition, XZed
repository and feature editor
Signed-off-by: Vikas Chandra <Vikas.Chandra@in.ibm.com>
3 files changed, 30 insertions, 4 deletions
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/FeatureModelManager.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/FeatureModelManager.java index 2323d83c89..0a4564568a 100644 --- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/FeatureModelManager.java +++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/FeatureModelManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2013 IBM Corporation and others. + * Copyright (c) 2000, 2015 IBM Corporation 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 @@ -12,9 +12,13 @@ package org.eclipse.pde.internal.core; import java.util.*; import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.WorkspaceJob; +import org.eclipse.core.runtime.*; import org.eclipse.pde.core.*; +import org.eclipse.pde.core.target.ITargetDefinition; import org.eclipse.pde.internal.core.FeatureTable.Idver; import org.eclipse.pde.internal.core.ifeature.IFeatureModel; +import org.eclipse.pde.internal.core.target.P2TargetUtils; import org.eclipse.pde.internal.core.util.VersionUtil; import org.osgi.framework.Version; @@ -93,7 +97,26 @@ public class FeatureModelManager { fExternalManager = new ExternalFeatureModelManager(); fExternalManager.addModelProviderListener(fProviderListener); fReloadExternalNeeded = false; - fExternalManager.initialize(); + + ITargetDefinition unresolvedRepoBasedtarget = null; + try { + unresolvedRepoBasedtarget = TargetPlatformHelper.getUnresolvedRepositoryBasedWorkspaceTarget(); + } catch (CoreException e) { + PDECore.log(e); + } + if (unresolvedRepoBasedtarget != null && !P2TargetUtils.isProfileValid(unresolvedRepoBasedtarget)) { + + WorkspaceJob initializeExternalManager = new WorkspaceJob(PDECoreMessages.FeatureModelManager_initializingFeatureTargetPlatform) { + @Override + public IStatus runInWorkspace(IProgressMonitor monitor) { + fExternalManager.initialize(); + return Status.OK_STATUS; + } + }; + initializeExternalManager.schedule(); + } else + fExternalManager.initialize(); + } /* diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDECoreMessages.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDECoreMessages.java index b17577d7e5..4416983205 100644 --- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDECoreMessages.java +++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDECoreMessages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2013 IBM Corporation and others. + * Copyright (c) 2005, 2015 IBM Corporation 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 @@ -300,6 +300,8 @@ public class PDECoreMessages extends NLS { public static String FeatureExportOperation_workspaceBuildErrorsFoundDuringExport; + public static String FeatureModelManager_initializingFeatureTargetPlatform; + public static String XMLErrorReporter_ExternalEntityResolution; public static String ExtensionsErrorReporter_InvalidSchema; diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/pderesources.properties b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/pderesources.properties index 68825423fb..f3b181a297 100644 --- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/pderesources.properties +++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/pderesources.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2013 IBM Corporation and others. +# Copyright (c) 2000, 2015 IBM Corporation 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 @@ -214,6 +214,7 @@ FeatureExportOperation_publishingMetadata=Publishing metadata FeatureExportOperation_runningBuildScript=Running build script FeatureExportOperation_runningPackagerScript=Running packager script FeatureExportOperation_workspaceBuildErrorsFoundDuringExport=Export completed successfully, but build problems were detected in the following required projects: {0} +FeatureModelManager_initializingFeatureTargetPlatform=Initializing feature from target platform BaseExportTask_pdeExport=PDE Export ClasspathHelper_BadFileLocation=Could not determine absolute location of file: {0} ConvertSchemaToHTML_CannotFindIncludedSchema=Cannot find included schema ''{0}'' required by parent schema ''{1}'' |
