Author: rob.stryker(a)jboss.com
Date: 2008-05-01 18:17:25 -0400 (Thu, 01 May 2008)
New Revision: 7927
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java
Log:
JBIDE-1862 - the fix. WILL REQUIRE EXTENSIVE TESTING BY QA PLEASE. I am confident in
this fix, but I do not like changing publishing right before a release.
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java 2008-05-01
19:14:16 UTC (rev 7926)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java 2008-05-01
22:17:25 UTC (rev 7927)
@@ -26,7 +26,6 @@
import java.io.IOException;
import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -123,8 +122,12 @@
IPath deployPath = getDeployPath(moduleTree);
ModuleDelegate md = (ModuleDelegate)module.loadAdapter(ModuleDelegate.class, monitor);
IModuleResource[] members = md.members();
- localSafeDelete(deployPath, eventRoot);
- IStatus[] results = new IStatus[0];
+
+ // if the module we're publishing is a project, not a binary, clean it's
folder
+ if( !(new Path(module.getName()).segmentCount() > 1 ))
+ localSafeDelete(deployPath, eventRoot);
+
+ IStatus[] results;
if( !deployPackaged(moduleTree))
results = new PublishUtil(server.getServer()).publishFull(members, deployPath,
monitor);
else
@@ -177,11 +180,12 @@
protected IPath getDeployPath(IModule[] moduleTree) {
IPath root = new Path( server.getDeployDirectory() );
String type, name;
- IProject project;
for( int i = 0; i < moduleTree.length; i++ ) {
type = moduleTree[i].getModuleType().getId();
- project = moduleTree[i].getProject();
- name = project == null ? moduleTree[i].getName() : project.getName();
+ name = moduleTree[i].getName();
+ if( new Path(name).segmentCount() > 1 )
+ // we strongly suspect this is a binary object and not a project
+ return root;
if( "jst.ear".equals(type))
root = root.append(name + ".ear");
else if( "jst.web".equals(type))
Show replies by date