Resolution: Won't Fix
Affects Version/s: Sprint 6
Fix Version/s: None
Environment:Ubuntu 8.04 Intel 32 bit
Eclipse Europa (Version: 3.3.2 Build id: M20080221-1800)
S2AP tools version 1.0.0.v200805140800
There seems to be a bug in the project deployment code of Eclipse WST that prevents correct deployment (on Linux) when workspace area and deployment directory are on different filesystems.
Eclipse happens to execute a rename() syscall to move the files from the .metadata directory (in the workspace) to the "stage" directory in S2AP home. The syscall fails with an EXDEV errno (Invalid cross-device link), since on Linux rename() cannot move between different filesystems.
In this case, PublishUtil.publish*() returns one or more IStatus instances with the errorRename message (and no exception attached, which renders debugging harder).
In the target (deployment) directory, only empty directories are created in this case.
AP Tools (com.springsource.platform.ide.server.core) does not correctly check the IStatus objects returned by Eclipse WST PublishUtil.publish*() methods, so the deployment SEEMS to be successful, failing silently.
- fixing the "silent failure" of the publishing action when errors are returned by PublishUtil.publish*()
- adding some logging to the publishing classes (there is none, at the moment)
Also Eclipse should be patched to:
- correctly handle moving files between filesystems in Eclipse on linux (which was the root problem)
- provide better error reporting in eclipse.wst.server.core