[107021] Server assembly during publish
diff --git a/plugins/org.eclipse.jst.server.core/plugin.xml b/plugins/org.eclipse.jst.server.core/plugin.xml
index fa12f2d..823af6e 100644
--- a/plugins/org.eclipse.jst.server.core/plugin.xml
+++ b/plugins/org.eclipse.jst.server.core/plugin.xml
@@ -95,11 +95,24 @@
</runtime-component-type>
<runtime-component-version
- type="org.eclipse.jst.server.tomcat" version="5.5"/>
+ type="org.eclipse.jst.server.tomcat"
+ version="3.2"/>
<runtime-component-version
- type="org.eclipse.jst.server.tomcat"
- version="4.1"/>
+ type="org.eclipse.jst.server.tomcat"
+ version="4.0"/>
+
+ <runtime-component-version
+ type="org.eclipse.jst.server.tomcat"
+ version="4.1"/>
+
+ <runtime-component-version
+ type="org.eclipse.jst.server.tomcat"
+ version="5.0"/>
+
+ <runtime-component-version
+ type="org.eclipse.jst.server.tomcat"
+ version="5.5"/>
<adapter>
<runtime-component
@@ -113,11 +126,21 @@
<supported>
<runtime-component
id="org.eclipse.jst.server.tomcat"
- version="5.5"
+ version="3.2"
allow-newer="true"/>
<facet
id="web"
- version="2.4"/>
+ version="2.2"/>
+ </supported>
+
+ <supported>
+ <runtime-component
+ id="org.eclipse.jst.server.tomcat"
+ version="4.0"
+ allow-newer="true"/>
+ <facet
+ id="web"
+ version="2.3"/>
</supported>
<supported>
@@ -127,20 +150,37 @@
allow-newer="true"/>
<facet
id="web"
- version="2.3"/>
+ version="2.4"/>
</supported>
-
+
+ <supported>
+ <runtime-component
+ id="org.eclipse.jst.server.tomcat"
+ version="5.5"
+ allow-newer="true"/>
+ <facet
+ id="web"
+ version="2.4"/>
+ </supported>
+
<runtime-component-type id="standard.jre">
<!-- <icon>images/jre.gif</icon> -->
</runtime-component-type>
-
- <runtime-component-version type="standard.jre" version="1.4"/>
- <runtime-component-version type="standard.jre" version="5.0"/>
+
+ <runtime-component-version
+ type="standard.jre"
+ version="1.4"/>
+ <runtime-component-version
+ type="standard.jre"
+ version="5.0"/>
<adapter>
- <runtime-component id="standard.jre"/>
- <factory class="org.eclipse.jst.server.core.internal.StandardJreClasspathProvider$Factory"/>
- <type class="org.eclipse.wst.common.project.facet.core.runtime.classpath.IClasspathProvider"/>
+ <runtime-component
+ id="standard.jre"/>
+ <factory
+ class="org.eclipse.jst.server.core.internal.StandardJreClasspathProvider$Factory"/>
+ <type
+ class="org.eclipse.wst.common.project.facet.core.runtime.classpath.IClasspathProvider"/>
</adapter>
<supported>
@@ -152,7 +192,5 @@
<runtime-component id="standard.jre" version="5.0"/>
<facet id="java" version="5.0"/>
</supported>
-
</extension>
-
</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJavaRuntime.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJavaRuntime.java
index 270312c..b2b4b5f 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJavaRuntime.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJavaRuntime.java
@@ -13,6 +13,13 @@
import org.eclipse.jdt.launching.IVMInstall;
/**
*
+ * <p>
+ * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
+ * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
+ * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
+ * (repeatedly) as the API evolves.
+ * </p>
+ * @since 1.0
*/
public interface IJavaRuntime {
/**
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java
index d359285..fd2cc45 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java
@@ -25,6 +25,14 @@
import org.eclipse.wst.server.core.model.IModuleResourceDelta;
/**
* Utility class with an assortment of useful file methods.
+ *
+ * <p>
+ * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
+ * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
+ * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
+ * (repeatedly) as the API evolves.
+ * </p>
+ * @since 1.0
*/
public class PublishUtil {
// size of the buffer
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeBridge.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeBridge.java
index 137e072..f0cc4e3 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeBridge.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeBridge.java
@@ -30,11 +30,20 @@
private static Map mappings = new HashMap();
static {
- mappings.put("org.eclipse.jst.server.tomcat.runtime.55", RuntimeManager.get()
- .getRuntimeComponentType("org.eclipse.jst.server.tomcat").getVersion("5.5"));
-
+ mappings.put("org.eclipse.jst.server.tomcat.runtime.32", RuntimeManager.get()
+ .getRuntimeComponentType("org.eclipse.jst.server.tomcat").getVersion("3.2"));
+
+ mappings.put("org.eclipse.jst.server.tomcat.runtime.40", RuntimeManager.get()
+ .getRuntimeComponentType("org.eclipse.jst.server.tomcat").getVersion("4.0"));
+
mappings.put("org.eclipse.jst.server.tomcat.runtime.41", RuntimeManager.get()
.getRuntimeComponentType("org.eclipse.jst.server.tomcat").getVersion("4.1"));
+
+ mappings.put("org.eclipse.jst.server.tomcat.runtime.50", RuntimeManager.get()
+ .getRuntimeComponentType("org.eclipse.jst.server.tomcat").getVersion("5.0"));
+
+ mappings.put("org.eclipse.jst.server.tomcat.runtime.55", RuntimeManager.get()
+ .getRuntimeComponentType("org.eclipse.jst.server.tomcat").getVersion("5.5"));
}
public void port() {
@@ -64,17 +73,6 @@
IVMInstall vmInstall = gr.getVMInstall();
IVMInstall2 vmInstall2 = (IVMInstall2) vmInstall;
- /*final ClasspathRuntimeTargetHandler cphandler = getClasspathHandler(runtime);
-
- final IPath jrecontainer = findJreContainer(cphandler
- .getDelegateClasspathEntries(runtime, null));
-
- final IVMInstallType vminstalltype = JavaRuntime
- .getVMInstallType(jrecontainer.segment(1));
-
- final IVMInstall2 vminstall = (IVMInstall2) vminstalltype
- .findVMInstallByName(jrecontainer.segment(2));*/
-
final String jvmver = vmInstall2.getJavaVersion();
final IRuntimeComponentVersion rcv;
@@ -97,30 +95,4 @@
}
}
}
-
- /*private static ClasspathRuntimeTargetHandler getClasspathHandler(final IRuntime r) {
- final IRuntimeTargetHandler[] handlers = ServerCore.getRuntimeTargetHandlers();
-
- for (int j = 0; j < handlers.length; j++) {
- final IRuntimeTargetHandler handler = handlers[j];
-
- if (handler.supportsRuntimeType(r.getRuntimeType())) {
- return (ClasspathRuntimeTargetHandler) handler
- .getAdapter(ClasspathRuntimeTargetHandler.class);
- }
- }
-
- throw new IllegalStateException();
- }
-
- private static IPath findJreContainer(final IClasspathEntry[] cpentries) {
- for (int i = 0; i < cpentries.length; i++) {
- final IPath path = cpentries[i].getPath();
-
- if (path.segment(0).equals(JavaRuntime.JRE_CONTAINER))
- return path;
- }
-
- throw new IllegalStateException();
- }*/
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatSourcePathComputerDelegate.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatSourcePathComputerDelegate.java
index 90f36c0..ca9b207 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatSourcePathComputerDelegate.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatSourcePathComputerDelegate.java
@@ -42,38 +42,31 @@
IServer server = ServerUtil.getServer(configuration);
if (server != null) {
- IPath basePath = ((TomcatServerBehaviour)server.getAdapter(TomcatServerBehaviour.class)).getRuntimeBaseDirectory();
+ //IPath basePath = ((TomcatServerBehaviour)server.getAdapter(TomcatServerBehaviour.class)).getRuntimeBaseDirectory();
List list = new ArrayList();
- List pathList = new ArrayList();
+ //List pathList = new ArrayList();
IModule[] modules = server.getModules();
for (int i = 0; i < modules.length; i++) {
IProject project = modules[i].getProject();
if (project != null) {
- /**
- * WORKAROUND for bug 93174,
- * https://bugs.eclipse.org/bugs/show_bug.cgi?id=93174
- *
- * Assume that a folder with the same name as the IModule
- * name located directly under the module's project is a
- * "flexible" module. Alter the behavior so that a folder
- * container is added instead.
- */
+
IFolder moduleFolder = project.getFolder(modules[i].getName());
if (moduleFolder.exists()) {
sourcefolderList.add(new FolderSourceContainer(moduleFolder, true));
- } else {
- try {
- if (project.hasNature(JavaCore.NATURE_ID)) {
- IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
- list.add(javaProject);
- }
- } catch (Exception e) {
- // ignore
- }
}
- IPath path = basePath.append("work").append("Catalina").append("localhost").append(modules[i].getName());
- pathList.add(path);
+ try {
+ if (project.hasNature(JavaCore.NATURE_ID)) {
+ IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
+ if (!list.contains(javaProject))
+ list.add(javaProject);
+ }
+ } catch (Exception e) {
+ // ignore
+ }
+
+ //IPath path = basePath.append("work").append("Catalina").append("localhost").append(modules[i].getName());
+ //pathList.add(path);
}
}
int size = list.size();
@@ -81,32 +74,22 @@
list.toArray(projects);
int size2 = entries.length;
- int size3 = pathList.size();
- IRuntimeClasspathEntry[] entries2 = new IRuntimeClasspathEntry[size + size2 + size3];
+ //int size3 = pathList.size();
+ IRuntimeClasspathEntry[] entries2 = new IRuntimeClasspathEntry[size + size2];
System.arraycopy(entries, 0, entries2, 0, size2);
- for (int i = 0; i < size; i++) {
- entries2[size2 + i] = JavaRuntime.newProjectRuntimeClasspathEntry(projects[i]);
- }
+ for (int i = 0; i < size; i++)
+ entries2[size2 + i] = JavaRuntime.newProjectRuntimeClasspathEntry(projects[i]);
- for (int i = 0; i < size3; i++) {
- entries2[size + size2 + i] = JavaRuntime.newArchiveRuntimeClasspathEntry((IPath) pathList.get(i));
- }
+ //for (int i = 0; i < size3; i++)
+ // entries2[size + size2 + i] = JavaRuntime.newArchiveRuntimeClasspathEntry((IPath) pathList.get(i));
entries = entries2;
}
IRuntimeClasspathEntry[] resolved = JavaRuntime.resolveSourceLookupPath(entries, configuration);
ISourceContainer[] sourceContainers = JavaRuntime.getSourceContainers(resolved);
-
- /**
- * WORKAROUND for bug 93174,
- * https://bugs.eclipse.org/bugs/show_bug.cgi?id=93174
- *
- * FolderSourceContainers have a source container of null, so the
- * mapping of the regular classpath to source containers is done
- * before adding the known FolderSourceContainers.
- */
+
if (!sourcefolderList.isEmpty()) {
ISourceContainer[] combinedSourceContainers = new ISourceContainer[sourceContainers.length + sourcefolderList.size()];
sourcefolderList.toArray(combinedSourceContainers);
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectProperties.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectProperties.java
index 295fa67..a62e995 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectProperties.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IProjectProperties.java
@@ -23,6 +23,9 @@
* (repeatedly) as the API evolves.
* </p>
*
+ * @deprecated Project facet support should now be used instead of this API. @see
+ * org.eclipse.wst.common.project.facet.core.IFacetedProject#getRuntime()
+ *
* @plannedfor 1.0
*/
public interface IProjectProperties {
@@ -30,7 +33,9 @@
* Returns the current runtime target for this project.
*
* @return the current runtime target, or <code>null</code> if the project has
- * no runtime target
+ * no runtime target
+ * @deprecated Project facet support should now be used instead of this API. @see
+ * org.eclipse.wst.common.project.facet.core.IFacetedProject#getRuntime()
*/
public IRuntime getRuntimeTarget();
@@ -42,6 +47,8 @@
* @param monitor a progress monitor, or <code>null</code> if progress
* reporting and cancellation are not desired
* @throws CoreException if there is a problem setting the runtime target
+ * @deprecated Project facet support should now be used instead of this API. @see
+ * org.eclipse.wst.common.project.facet.core.IFacetedProject#setRuntime()
*/
public void setRuntimeTarget(IRuntime runtime, IProgressMonitor monitor) throws CoreException;
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java
index 839fc54..c03faeb 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java
@@ -88,6 +88,8 @@
*
* @param project a project
* @return the properties of the project
+ * @deprecated Project facet support should now be used instead of this API. @see
+ * org.eclipse.wst.common.project.facet.core.IFacetedProject#getRuntime()
*/
public static IProjectProperties getProjectProperties(IProject project) {
if (project == null)