[570817] Use raw classpath to find viable source folder
Also support CXF version detection on Java 9+
diff --git a/core/bundles/org.eclipse.jst.ws/META-INF/MANIFEST.MF b/core/bundles/org.eclipse.jst.ws/META-INF/MANIFEST.MF
index f3c218e..6ac2672 100644
--- a/core/bundles/org.eclipse.jst.ws/META-INF/MANIFEST.MF
+++ b/core/bundles/org.eclipse.jst.ws/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %PLUGIN_NAME
Bundle-SymbolicName: org.eclipse.jst.ws
-Bundle-Version: 1.0.900.qualifier
+Bundle-Version: 1.0.1000.qualifier
Bundle-Activator: org.eclipse.jst.ws.internal.plugin.WebServicePlugin
Bundle-Vendor: %PLUGIN_PROVIDER
Bundle-Localization: plugin
@@ -27,7 +27,7 @@
org.eclipse.jem;bundle-version="[2.0.0,3.0.0)",
org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
org.eclipse.emf.common;bundle-version="[2.2.0,3.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.17.0,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
org.eclipse.jface;bundle-version="[3.2.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.2.0,3.0.0)",
diff --git a/core/bundles/org.eclipse.jst.ws/pom.xml b/core/bundles/org.eclipse.jst.ws/pom.xml
index 6a0ae65..7994781 100644
--- a/core/bundles/org.eclipse.jst.ws/pom.xml
+++ b/core/bundles/org.eclipse.jst.ws/pom.xml
@@ -22,6 +22,6 @@
<groupId>org.eclipse.webtools.webservices</groupId>
<artifactId>org.eclipse.jst.ws</artifactId>
- <version>1.0.900-SNAPSHOT</version>
+ <version>1.0.1000-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/core/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/ResourceUtils.java b/core/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/ResourceUtils.java
index 884017d..78ec541 100644
--- a/core/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/ResourceUtils.java
+++ b/core/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/ResourceUtils.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2011 IBM Corporation and others.
+ * Copyright (c) 2004, 2021 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
@@ -47,6 +47,7 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
import org.eclipse.jdt.core.IClasspathEntry;
@@ -715,7 +716,21 @@
* @return
*/
public static IPath[] getAllJavaSourceLocations(IProject project) {
- Vector pathVector = new Vector();
+ try {
+ IClasspathEntry[] entries = JavaCore.create(project).getRawClasspath();
+ List<IPath> paths = new ArrayList<IPath>();
+ for (int i = 0; i < entries.length; i++) {
+ if (IClasspathEntry.CPE_SOURCE == entries[i].getEntryKind()) {
+ paths.add(entries[i].getPath());
+ }
+ }
+ return paths.toArray(new IPath[paths.size()]);
+ }
+ catch (JavaModelException e1) {
+ Platform.getLog(WebServicePlugin.getInstance().getBundle()).error(e1.getLocalizedMessage(), e1);
+ }
+
+ Vector<IPath> pathVector = new Vector<IPath>();
IPackageFragmentRoot[] fragmentRoots = getJavaPackageFragmentRoots(project);
for (int i = 0; i < fragmentRoots.length; i++) {
diff --git a/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/META-INF/MANIFEST.MF b/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/META-INF/MANIFEST.MF
index 1b3374b..4e168d5 100644
--- a/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/META-INF/MANIFEST.MF
+++ b/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.jst.ws.cxf.ui;singleton:=true
-Bundle-Version: 1.0.400.qualifier
+Bundle-Version: 1.0.500.qualifier
Bundle-Activator: org.eclipse.jst.ws.internal.cxf.ui.CXFUIPlugin
Bundle-Vendor: %pluginProvider
Bundle-Localization: plugin
diff --git a/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/pom.xml b/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/pom.xml
index 62e4f76..dc41cb2 100644
--- a/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/pom.xml
+++ b/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/pom.xml
@@ -24,6 +24,6 @@
<groupId>org.eclipse.webtools.webservices</groupId>
<artifactId>org.eclipse.jst.ws.cxf.ui</artifactId>
- <version>1.0.400-SNAPSHOT</version>
+ <version>1.0.500-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/src/org/eclipse/jst/ws/internal/cxf/ui/preferences/CXFRuntimePreferencePage.java b/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/src/org/eclipse/jst/ws/internal/cxf/ui/preferences/CXFRuntimePreferencePage.java
index f2f00f7..4fbdf2c 100644
--- a/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/src/org/eclipse/jst/ws/internal/cxf/ui/preferences/CXFRuntimePreferencePage.java
+++ b/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/src/org/eclipse/jst/ws/internal/cxf/ui/preferences/CXFRuntimePreferencePage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2010 IONA Technologies PLC
+ * Copyright (c) 2008, 2021 IONA Technologies PLC and Others
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
@@ -17,6 +17,7 @@
import java.util.Map;
import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
import org.eclipse.jface.viewers.CheckboxTableViewer;
import org.eclipse.jface.viewers.ColumnLabelProvider;
@@ -273,21 +274,7 @@
gridData.verticalSpan = 5;
cxfInstallations.getTable().setLayoutData(gridData);
- cxfInstallations.setContentProvider(new IStructuredContentProvider() {
-
- public Object[] getElements(Object inputElement) {
- if (inputElement instanceof Collection<?>) {
- return ((Collection<?>) inputElement).toArray();
- }
- return new Object[] {};
- }
-
- public void dispose() {
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
- });
+ cxfInstallations.setContentProvider(new ArrayContentProvider());
cxfInstallations.setComparator(new ViewerComparator() {
@Override
diff --git a/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/src/org/eclipse/jst/ws/internal/cxf/ui/wizards/CXFInstallWizardPage.java b/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/src/org/eclipse/jst/ws/internal/cxf/ui/wizards/CXFInstallWizardPage.java
index 34a6f37..16110aa 100644
--- a/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/src/org/eclipse/jst/ws/internal/cxf/ui/wizards/CXFInstallWizardPage.java
+++ b/jaxws/bundles/org.eclipse.jst.ws.cxf.ui/src/org/eclipse/jst/ws/internal/cxf/ui/wizards/CXFInstallWizardPage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2012 Shane Clarke.
+ * Copyright (c) 2010, 2021 Shane Clarke and Others
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
@@ -26,6 +26,7 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
import org.eclipse.jdt.core.ClasspathContainerInitializer;
import org.eclipse.jdt.core.IJavaProject;
@@ -54,6 +55,7 @@
import org.eclipse.swt.widgets.Text;
import org.eclipse.wst.common.project.facet.core.IFacetedProject;
import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.osgi.framework.Bundle;
import org.osgi.framework.Version;
public class CXFInstallWizardPage extends WizardPage {
@@ -285,6 +287,12 @@
cxfLib.add(cxLibFolderPath + System.getProperty("file.separator") + jarFile); //$NON-NLS-1$
}
+ final String supportedPrefix = "reference:file:"; //$NON-NLS-1$
+ Bundle activation = Platform.getBundle("javax.activation");
+ if (activation != null && activation.getLocation().startsWith(supportedPrefix)) {
+ cxfLib.add(activation.getLocation().substring(supportedPrefix.length()));
+ }
+
IStatus toolVersionStatus = LaunchUtils.launch(cxfLib.toArray(new String[cxfLib.size()]),
"org.apache.cxf.tools.wsdlto.WSDLToJava", new String[] { "-v" }); //$NON-NLS-1$ //$NON-NLS-2$
return toolVersionStatus;
diff --git a/jaxws/bundles/org.eclipse.jst.ws.jaxws.core/META-INF/MANIFEST.MF b/jaxws/bundles/org.eclipse.jst.ws.jaxws.core/META-INF/MANIFEST.MF
index 9d3d86c..2ce4b1d 100644
--- a/jaxws/bundles/org.eclipse.jst.ws.jaxws.core/META-INF/MANIFEST.MF
+++ b/jaxws/bundles/org.eclipse.jst.ws.jaxws.core/META-INF/MANIFEST.MF
@@ -3,12 +3,12 @@
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.jst.ws.jaxws.core;singleton:=true
Bundle-Vendor: %pluginProvider
-Bundle-Version: 1.0.501.qualifier
+Bundle-Version: 1.0.600.qualifier
Bundle-ClassPath: .
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Activator: org.eclipse.jst.ws.internal.jaxws.core.JAXWSCorePlugin
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.17.0,4.0.0)",
org.eclipse.jdt.core;bundle-version="[3.4.0,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
org.eclipse.jdt.apt.core;bundle-version="[3.3.100,4.0.0)",
diff --git a/jaxws/bundles/org.eclipse.jst.ws.jaxws.core/pom.xml b/jaxws/bundles/org.eclipse.jst.ws.jaxws.core/pom.xml
index 19230b4..8664ff0 100644
--- a/jaxws/bundles/org.eclipse.jst.ws.jaxws.core/pom.xml
+++ b/jaxws/bundles/org.eclipse.jst.ws.jaxws.core/pom.xml
@@ -24,7 +24,7 @@
<groupId>org.eclipse.webtools.webservices</groupId>
<artifactId>org.eclipse.jst.ws.jaxws.core</artifactId>
- <version>1.0.501-SNAPSHOT</version>
+ <version>1.0.600-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
diff --git a/jaxws/bundles/org.eclipse.jst.ws.jaxws.core/src/org/eclipse/jst/ws/jaxws/core/utils/JDTUtils.java b/jaxws/bundles/org.eclipse.jst.ws.jaxws.core/src/org/eclipse/jst/ws/jaxws/core/utils/JDTUtils.java
index b15c929..3d8d54d 100644
--- a/jaxws/bundles/org.eclipse.jst.ws.jaxws.core/src/org/eclipse/jst/ws/jaxws/core/utils/JDTUtils.java
+++ b/jaxws/bundles/org.eclipse.jst.ws.jaxws.core/src/org/eclipse/jst/ws/jaxws/core/utils/JDTUtils.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2010 IONA Technologies PLC
+ * Copyright (c) 2008, 2021 IONA Technologies PLC and Others
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
@@ -153,6 +153,13 @@
*/
public static IPath getJavaProjectSourceDirectoryPath(IJavaProject javaProject) {
try {
+ IClasspathEntry[] rawClasspath = javaProject.getRawClasspath();
+ for (int i = 0; i < rawClasspath.length; i++) {
+ if (rawClasspath[i].getEntryKind() == IClasspathEntry.CPE_SOURCE) {
+ return rawClasspath[i].getPath();
+ }
+ }
+
IPackageFragmentRoot[] packageFragmentRoots = javaProject.getAllPackageFragmentRoots();
IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[0];
IResource srcDirectoryResource = packageFragmentRoot.getResource();
diff --git a/jaxws/features/org.eclipse.jst.ws.cxf.feature/feature.xml b/jaxws/features/org.eclipse.jst.ws.cxf.feature/feature.xml
index a2dd9e7..461b627 100644
--- a/jaxws/features/org.eclipse.jst.ws.cxf.feature/feature.xml
+++ b/jaxws/features/org.eclipse.jst.ws.cxf.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.jst.ws.cxf.feature"
label="%featureName"
- version="1.1.700.qualifier"
+ version="1.1.800.qualifier"
provider-name="%featureProvider"
plugin="org.eclipse.jst.ws.cxf.core"
image="eclipse_update_120.jpg"
diff --git a/jaxws/features/org.eclipse.jst.ws.cxf.feature/pom.xml b/jaxws/features/org.eclipse.jst.ws.cxf.feature/pom.xml
index 9515248..66a357a 100644
--- a/jaxws/features/org.eclipse.jst.ws.cxf.feature/pom.xml
+++ b/jaxws/features/org.eclipse.jst.ws.cxf.feature/pom.xml
@@ -24,7 +24,7 @@
<groupId>org.eclipse.webtools.webservices</groupId>
<artifactId>org.eclipse.jst.ws.cxf.feature</artifactId>
- <version>1.1.700-SNAPSHOT</version>
+ <version>1.1.800-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<build>
diff --git a/jaxws/features/org.eclipse.jst.ws.jaxws.dom.feature/feature.xml b/jaxws/features/org.eclipse.jst.ws.jaxws.dom.feature/feature.xml
index 7b65aaa..7a48a6e 100755
--- a/jaxws/features/org.eclipse.jst.ws.jaxws.dom.feature/feature.xml
+++ b/jaxws/features/org.eclipse.jst.ws.jaxws.dom.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.jst.ws.jaxws.dom.feature"
label="%featureName"
- version="1.0.303.qualifier"
+ version="1.0.400.qualifier"
provider-name="%featureProvider"
image="eclipse_update_120.jpg"
license-feature="org.eclipse.license"
diff --git a/jaxws/features/org.eclipse.jst.ws.jaxws.dom.feature/pom.xml b/jaxws/features/org.eclipse.jst.ws.jaxws.dom.feature/pom.xml
index cfb17e1..d8750ec 100644
--- a/jaxws/features/org.eclipse.jst.ws.jaxws.dom.feature/pom.xml
+++ b/jaxws/features/org.eclipse.jst.ws.jaxws.dom.feature/pom.xml
@@ -24,7 +24,7 @@
<groupId>org.eclipse.webtools.webservices</groupId>
<artifactId>org.eclipse.jst.ws.jaxws.dom.feature</artifactId>
- <version>1.0.303-SNAPSHOT</version>
+ <version>1.0.400-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<build>
diff --git a/jaxws/features/org.eclipse.jst.ws.jaxws.feature/feature.xml b/jaxws/features/org.eclipse.jst.ws.jaxws.feature/feature.xml
index afef371..d406dd8 100644
--- a/jaxws/features/org.eclipse.jst.ws.jaxws.feature/feature.xml
+++ b/jaxws/features/org.eclipse.jst.ws.jaxws.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.jst.ws.jaxws.feature"
label="%featureName"
- version="1.2.700.qualifier"
+ version="1.2.800.qualifier"
provider-name="%featureProvider"
plugin="org.eclipse.jst.ws.jaxws.core"
image="eclipse_update_120.jpg"
diff --git a/jaxws/features/org.eclipse.jst.ws.jaxws.feature/pom.xml b/jaxws/features/org.eclipse.jst.ws.jaxws.feature/pom.xml
index 30007c0..fe446ad 100644
--- a/jaxws/features/org.eclipse.jst.ws.jaxws.feature/pom.xml
+++ b/jaxws/features/org.eclipse.jst.ws.jaxws.feature/pom.xml
@@ -24,7 +24,7 @@
<groupId>org.eclipse.webtools.webservices</groupId>
<artifactId>org.eclipse.jst.ws.jaxws.feature</artifactId>
- <version>1.2.700-SNAPSHOT</version>
+ <version>1.2.800-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<build>