JBoss Tools SVN: r37231 - in trunk/as/plugins: org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2011-12-12 12:40:27 -0500 (Mon, 12 Dec 2011)
New Revision: 37231
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/xpl/LocalCopyCallback.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/AbstractServerToolsPublisher.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/LocalPublishMethod.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DeployableServerBehavior.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/DelegatingJBoss7ServerBehavior.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7JSTPublisher.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7BehaviorDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/xpl/PublishCopyUtil.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEPublishMethod.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSERemotePublishHandler.java
Log:
JBIDE-10449 - slight API refactor to allow as7 to restart on .class or .jsp changes
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/AbstractServerToolsPublisher.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/AbstractServerToolsPublisher.java 2011-12-12 17:32:16 UTC (rev 37230)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/AbstractServerToolsPublisher.java 2011-12-12 17:40:27 UTC (rev 37231)
@@ -339,7 +339,10 @@
}
if( handler != null && handler.shouldRestartModule() ) {
- JSTPublisherXMLToucher.getInstance().touch(deployPath, module, handler);
+ // We cannot always simply restart the module immediately mid-publish.
+ // We can only mark the module in our model as one that requires a restart.
+ // The restart may be done after all publishes are finished.
+ markModuleRequiresRestart(deployPath, moduleTree, publishMethod, handler);
}
IStatus ret = new Status(IStatus.OK, JBossServerCorePlugin.PLUGIN_ID, IEventCodes.JST_PUB_FULL_SUCCESS,
@@ -347,6 +350,13 @@
return ret;
}
+ /*
+ * This publisher should either restart the module, or mark it as requiring a restart
+ * such that upon publishFinish, it cleans up and completes the task
+ */
+ protected abstract void markModuleRequiresRestart(IPath deployPath, IModule[] moduleTree,
+ IJBossServerPublishMethod method, IPublishCopyCallbackHandler handler) throws CoreException;
+
protected IStatus createMultiStatus(List<IStatus> list, IModule module) {
MultiStatus ms = new MultiStatus(JBossServerCorePlugin.PLUGIN_ID, IEventCodes.JST_PUB_FULL_FAIL,
NLS.bind(Messages.FullPublishFail, module.getName()), null);
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/LocalPublishMethod.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/LocalPublishMethod.java 2011-12-12 17:32:16 UTC (rev 37230)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/LocalPublishMethod.java 2011-12-12 17:40:27 UTC (rev 37231)
@@ -14,8 +14,8 @@
import org.eclipse.core.runtime.Path;
import org.eclipse.wst.server.core.IServer;
import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
+import org.jboss.ide.eclipse.as.core.server.xpl.LocalCopyCallback;
import org.jboss.ide.eclipse.as.core.server.xpl.PublishCopyUtil.IPublishCopyCallbackHandler;
-import org.jboss.ide.eclipse.as.core.server.xpl.PublishCopyUtil.LocalCopyCallback;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DeployableServerBehavior.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DeployableServerBehavior.java 2011-12-12 17:32:16 UTC (rev 37230)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/DeployableServerBehavior.java 2011-12-12 17:40:27 UTC (rev 37231)
@@ -10,6 +10,7 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.core.server.internal;
+import java.io.File;
import java.util.HashMap;
import java.util.List;
@@ -197,4 +198,10 @@
}
} );
}
+
+ public boolean changedFileRequiresModuleRestart(File file) {
+ if( file.getName().toLowerCase().endsWith(".jar")) //$NON-NLS-1$
+ return true;
+ return false;
+ }
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/DelegatingJBoss7ServerBehavior.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/DelegatingJBoss7ServerBehavior.java 2011-12-12 17:32:16 UTC (rev 37230)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/DelegatingJBoss7ServerBehavior.java 2011-12-12 17:40:27 UTC (rev 37231)
@@ -10,6 +10,7 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.core.server.internal.v7;
+import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -186,4 +187,11 @@
private void createDoDeployMarker(List<IPath> paths, IProgressMonitor monitor) throws CoreException {
DeploymentMarkerUtils.addDoDeployMarker(getOrCreatePublishMethod(), getServer(), paths, monitor);
}
+
+ @Override
+ public boolean changedFileRequiresModuleRestart(File file) {
+ return super.changedFileRequiresModuleRestart(file);
+ //return true;
+ }
+
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7JSTPublisher.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7JSTPublisher.java 2011-12-12 17:32:16 UTC (rev 37230)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7JSTPublisher.java 2011-12-12 17:40:27 UTC (rev 37231)
@@ -14,15 +14,17 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.model.IModuleResourceDelta;
import org.jboss.ide.eclipse.as.core.publishers.AbstractServerToolsPublisher;
+import org.jboss.ide.eclipse.as.core.publishers.JSTPublisherXMLToucher;
import org.jboss.ide.eclipse.as.core.publishers.PublishUtil;
import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethod;
import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
+import org.jboss.ide.eclipse.as.core.server.xpl.PublishCopyUtil.IPublishCopyCallbackHandler;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
public class JBoss7JSTPublisher extends AbstractServerToolsPublisher {
@@ -45,7 +47,6 @@
int publishType, IModuleResourceDelta[] delta,
IProgressMonitor monitor) throws CoreException {
IDeployableServer ds = ServerConverter.getDeployableServer(server);
-
DeploymentMarkerUtils.removeDeployFailedMarker(method, server, PublishUtil.getDeployPath(method, module, ds), monitor);
if( publishType == IJBossServerPublisher.REMOVE_PUBLISH) {
@@ -58,13 +59,27 @@
publishType == IJBossServerPublisher.FULL_PUBLISH) {
// Only mark a doDeploy file for the root module, but this must be delayed,
// becuase we don't know how many children modules will get published here (SUCK)
- markDeployed(method, ds, module, monitor);
+ doDeployRequired(method, ds, module, monitor);
}
return s;
}
}
- private void markDeployed(IJBossServerPublishMethod method,IDeployableServer server,
+ @Override
+ protected void markModuleRequiresRestart(IPath deployPath, IModule[] moduleTree,
+ IJBossServerPublishMethod method, IPublishCopyCallbackHandler handler) throws CoreException {
+ boolean useAS7Behavior = DeploymentMarkerUtils.supportsJBoss7MarkerDeployment(server.getServer());
+ if( !useAS7Behavior) {
+ // Simply touch the descriptor as needed
+ JSTPublisherXMLToucher.getInstance().touch(deployPath,
+ moduleTree[moduleTree.length-1], handler);
+ } else {
+ // Mark this module as if it needs a module restart
+ doDeployRequired(method, this.server, moduleTree, new NullProgressMonitor());
+ }
+ }
+
+ private void doDeployRequired(IJBossServerPublishMethod method,IDeployableServer server,
IModule[] moduleTree, IProgressMonitor monitor ) throws CoreException {
IPath p = PublishUtil.getDeployPath(method, moduleTree, server);
DelegatingJBoss7ServerBehavior beh = ServerConverter.getJBoss7ServerBehavior(server.getServer());
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7BehaviorDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7BehaviorDelegate.java 2011-12-12 17:32:16 UTC (rev 37230)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7BehaviorDelegate.java 2011-12-12 17:40:27 UTC (rev 37231)
@@ -36,7 +36,7 @@
}
@Override
- public void stop(boolean force) {
+ public void stopImpl(boolean force) {
if (force || previousStopFailed) {
forceStop();
previousStopFailed = false;
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/xpl/LocalCopyCallback.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/xpl/LocalCopyCallback.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/xpl/LocalCopyCallback.java 2011-12-12 17:40:27 UTC (rev 37231)
@@ -0,0 +1,339 @@
+package org.jboss.ide.eclipse.as.core.server.xpl;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.internal.Messages;
+import org.eclipse.wst.server.core.internal.ProgressUtil;
+import org.eclipse.wst.server.core.internal.ServerPlugin;
+import org.eclipse.wst.server.core.model.IModuleFile;
+import org.jboss.ide.eclipse.as.core.extensions.events.IEventCodes;
+import org.jboss.ide.eclipse.as.core.publishers.AbstractServerToolsPublisher;
+import org.jboss.ide.eclipse.as.core.publishers.PublishUtil;
+import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
+import org.jboss.ide.eclipse.as.core.server.xpl.PublishCopyUtil.IPublishCopyCallbackHandler;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
+import org.jboss.ide.eclipse.as.core.util.StreamUtils;
+import org.jboss.ide.eclipse.as.core.util.internal.FileUtils;
+
+public class LocalCopyCallback implements IPublishCopyCallbackHandler {
+
+ private static final File tempDir = ServerPlugin.getInstance().getStateLocation().toFile();
+ private static final String TEMPFILE_PREFIX = "tmp"; //$NON-NLS-1$
+
+ private boolean shouldRestartModule = false;
+
+ private IServer server;
+ private IPath deployRootFolder;
+ private IPath tmpDeployRootFolder;
+ public LocalCopyCallback(IServer server, IPath deployFolder, IPath temporaryFolder ) {
+ this.server = server;
+ this.deployRootFolder = deployFolder;
+ this.tmpDeployRootFolder = temporaryFolder;
+ }
+
+ public boolean shouldRestartModule() {
+ return shouldRestartModule;
+ }
+
+ public IStatus[] copyFile(IModuleFile mf, IPath relativePath, IProgressMonitor monitor) throws CoreException {
+ monitor.beginTask("Copying " + relativePath.toString(), 100); //$NON-NLS-1$
+ File file = PublishUtil.getFile(mf);
+ DeployableServerBehavior beh = ServerConverter.getDeployableServerBehavior(server);
+ shouldRestartModule |= beh.changedFileRequiresModuleRestart(file);
+ if( file != null ) {
+ InputStream in = null;
+ try {
+ in = new FileInputStream(file);
+ } catch (IOException e) {
+ return new IStatus[] {new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL,
+ NLS.bind(Messages.errorReading, file.getAbsolutePath()), e)};
+ }
+ IStatus ret = copyFile(in, deployRootFolder.append(relativePath), file.lastModified(), mf);
+ monitor.worked(100);
+ monitor.done();
+ if( ret != null && !ret.isOK())
+ return new IStatus[] { ret };
+ } // else silently ignore I guess
+ return new IStatus[]{};
+ }
+
+ /**
+ * Copy a file from a to b. Closes the input stream after use.
+ *
+ * @param in java.io.InputStream
+ * @param to java.lang.String
+ * @return a status
+ */
+ private IStatus copyFile(InputStream in, String to) {
+ try {
+ FileUtils.writeTo(in, to);
+ return Status.OK_STATUS;
+ } catch (IOException e) {
+ //Trace.trace(Trace.SEVERE, "Error copying file", e);
+ return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, NLS.bind(Messages.errorCopyingFile, new String[] {to, e.getLocalizedMessage()}), e);
+ } finally {
+ StreamUtils.safeClose(in);
+ }
+ }
+
+
+ /**
+ * Copy a file from a to b. Closes the input stream after use.
+ *
+ * @param in an input stream
+ * @param to a path to copy to. the directory must already exist. This must be an absolute path
+ * @param ts timestamp
+ * @throws CoreException if anything goes wrong
+ */
+ private IStatus copyFile(InputStream in, IPath to, long ts, IModuleFile mf) throws CoreException {
+ File tempFile = null;
+ try {
+ File file = to.toFile();
+ tempFile = writeToTempFile(in, to);
+ moveTempFile(tempFile, file);
+ if (ts != IResource.NULL_STAMP && ts != 0)
+ file.setLastModified(ts);
+ } catch (CoreException e) {
+ throw e;
+ } catch (Exception e) {
+ IPath path = mf.getModuleRelativePath().append(mf.getName());
+ return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, NLS.bind(Messages.errorCopyingFile, path.toOSString(), e.getLocalizedMessage()), null);
+ } finally {
+ if (tempFile != null && tempFile.exists())
+ tempFile.deleteOnExit();
+ try {
+ if (in != null)
+ in.close();
+ } catch (Exception ex) {
+ // ignore
+ }
+ }
+ return null;
+ }
+
+ private File writeToTempFile(InputStream in, IPath filePath) throws IOException {
+ // Change from original PublishUtil, will require
+ File tempFile = File.createTempFile(TEMPFILE_PREFIX, "." + filePath.getFileExtension(), getTempFolder()); //$NON-NLS-1$
+ FileUtils.writeTo(in, tempFile);
+ return tempFile;
+ }
+
+ /**
+ * Utility method to move a temp file into position by deleting the original and
+ * swapping in a new copy.
+ *
+ * @param tempFile
+ * @param file
+ * @throws CoreException
+ */
+ private void moveTempFile(File tempFile, File file) throws CoreException {
+ if (file.exists()) {
+ if (!safeDelete(file, 2)) {
+ // attempt to rewrite an existing file with the tempFile contents if
+ // the existing file can't be deleted to permit the move
+ try {
+ InputStream in = new FileInputStream(tempFile);
+ IStatus status = copyFile(in, file.getPath());
+ throwOnErrorStatus(file, status);
+ return;
+ } catch (FileNotFoundException e) {
+ // shouldn't occur
+ } finally {
+ tempFile.delete();
+ }
+ }
+ }
+ // At this point, the file should be guaranteed not to exist.
+ if (!safeRename(tempFile, file, 10))
+ throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_ASSEMBLE_FAIL,
+ NLS.bind(org.jboss.ide.eclipse.as.core.Messages.PublishRenameFailure,
+ tempFile.toString(), file.getAbsolutePath()), null));
+ }
+
+ private void throwOnErrorStatus(File file, IStatus status) throws CoreException {
+ if (!status.isOK()) {
+ MultiStatus status2 = new MultiStatus(ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, NLS.bind(Messages.errorDeleting, file.toString()), null);
+ status2.add(status);
+ throw new CoreException(status2);
+ }
+ }
+
+ /**
+ * Safe rename. Will try multiple times before giving up.
+ *
+ * @param from
+ * @param to
+ * @param retrys number of times to retry
+ * @return <code>true</code> if it succeeds, <code>false</code> otherwise
+ */
+ private boolean safeRename(File from, File to, int retrys) {
+ // make sure parent dir exists
+ File dir = to.getParentFile();
+ if (dir != null && !dir.exists())
+ dir.mkdirs();
+
+ int count = 0;
+ while (count < retrys ) {
+ if (from.renameTo(to))
+ return true;
+
+ count++;
+ // delay if we are going to try again
+ if (count < retrys) {
+ try {
+ Thread.sleep(100);
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+ }
+ return false;
+ }
+
+ protected File getTempFolder() {
+ File f = null;
+ if( tmpDeployRootFolder != null ) {
+ f = tmpDeployRootFolder.toFile();
+ } else if( server != null ){
+ String path = ServerConverter.getDeployableServer(server).getTempDeployFolder();
+ f = new File(path);
+ } else {
+ return tempDir;
+ }
+ if( !f.exists() )
+ f.mkdirs();
+ return f;
+ }
+
+ public IStatus[] deleteResource(IPath resource, IProgressMonitor monitor) {
+ resource = deployRootFolder.append(resource);
+ File file = resource.toFile();
+ IStatus[] results = new IStatus[]{};
+ if( file.isDirectory()) {
+ results = deleteDirectory(resource.toFile(), monitor);
+ } else {
+ if( !file.delete()) {
+ IStatus s = new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, NLS.bind(Messages.errorDeleting, resource.toFile().getAbsolutePath()), null);
+ results = new IStatus[]{s};
+ }
+ }
+ return results;
+ }
+
+ /**
+ * Utility method to recursively delete a directory.
+ *
+ * @param dir a directory
+ * @param monitor a progress monitor, or <code>null</code> if progress
+ * reporting and cancellation are not desired
+ * @return a possibly-empty array of error and warning status
+ */
+ private IStatus[] deleteDirectory(File dir, IProgressMonitor monitor) {
+ if (!dir.exists() || !dir.isDirectory())
+ return new IStatus[] { new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, NLS.bind(Messages.errorNotADirectory, dir.getAbsolutePath()), null) };
+
+ List<IStatus> status = new ArrayList<IStatus>(2);
+
+ try {
+ File[] files = dir.listFiles();
+ int size = files.length;
+ monitor = ProgressUtil.getMonitorFor(monitor);
+ monitor.beginTask(NLS.bind(Messages.deletingTask, new String[] { dir.getAbsolutePath() }), size * 10);
+
+ // cycle through files
+ boolean deleteCurrent = true;
+ for (int i = 0; i < size; i++) {
+ File current = files[i];
+ if (current.isFile()) {
+ if (!current.delete()) {
+ status.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, NLS.bind(Messages.errorDeleting, files[i].getAbsolutePath()), null));
+ deleteCurrent = false;
+ }
+ monitor.worked(10);
+ } else if (current.isDirectory()) {
+ monitor.subTask(NLS.bind(Messages.deletingTask, new String[] {current.getAbsolutePath()}));
+ IStatus[] stat = deleteDirectory(current,
+ AbstractServerToolsPublisher.getSubMon(monitor, 10));
+ if (stat != null && stat.length > 0) {
+ deleteCurrent = false;
+ PublishCopyUtil.addArrayToList(status, stat);
+ }
+ }
+ }
+ if (deleteCurrent && !dir.delete())
+ status.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, NLS.bind(Messages.errorDeleting, dir.getAbsolutePath()), null));
+ monitor.done();
+ } catch (Exception e) {
+ //Trace.trace(Trace.SEVERE, "Error deleting directory " + dir.getAbsolutePath(), e);
+ status.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, e.getLocalizedMessage(), null));
+ }
+
+ return status.toArray(new IStatus[status.size()]);
+ }
+
+ /**
+ * Safe delete. Tries to delete multiple times before giving up.
+ *
+ * @param f
+ * @return <code>true</code> if it succeeds, <code>false</code> otherwise
+ */
+ private boolean safeDelete(File f, int retrys) {
+ int count = 0;
+ while (count < retrys) {
+ if (!f.exists())
+ return true;
+
+ f.delete();
+
+ if (!f.exists())
+ return true;
+
+ count++;
+ // delay if we are going to try again
+ if (count < retrys) {
+ try {
+ Thread.sleep(100);
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+ }
+ return false;
+ }
+
+ public IStatus[] makeDirectoryIfRequired(IPath relativeDir, IProgressMonitor monitor) {
+ deployRootFolder.append(relativeDir).toFile().mkdirs();
+ return new IStatus[] {Status.OK_STATUS};
+ }
+
+ public IStatus[] touchResource(IPath path) {
+ File tmp = deployRootFolder.append(path).toFile();
+ if( !tmp.exists())
+ tmp = deployRootFolder.toFile();
+ tmp.setLastModified(new Date().getTime());
+ return null;
+ }
+
+ public boolean isFile(IPath path, IProgressMonitor monitor)
+ throws CoreException {
+ File tmp = deployRootFolder.append(path).toFile();
+ return tmp.exists() && tmp.isFile();
+ }
+
+}
\ No newline at end of file
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/xpl/PublishCopyUtil.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/xpl/PublishCopyUtil.java 2011-12-12 17:32:16 UTC (rev 37230)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/xpl/PublishCopyUtil.java 2011-12-12 17:40:27 UTC (rev 37231)
@@ -11,25 +11,17 @@
package org.jboss.ide.eclipse.as.core.server.xpl;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
import java.util.ArrayList;
-import java.util.Date;
import java.util.List;
-import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Status;
import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.internal.Messages;
import org.eclipse.wst.server.core.internal.ProgressUtil;
import org.eclipse.wst.server.core.internal.ServerPlugin;
@@ -41,9 +33,6 @@
import org.jboss.ide.eclipse.as.core.extensions.events.IEventCodes;
import org.jboss.ide.eclipse.as.core.publishers.AbstractServerToolsPublisher;
import org.jboss.ide.eclipse.as.core.publishers.PublishUtil;
-import org.jboss.ide.eclipse.as.core.util.ServerConverter;
-import org.jboss.ide.eclipse.as.core.util.StreamUtils;
-import org.jboss.ide.eclipse.as.core.util.internal.FileUtils;
/**
* Utility class with an assortment of useful file methods.
* <p>
@@ -122,312 +111,6 @@
public IStatus[] touchResource(IPath path);
}
- public static class LocalCopyCallback implements IPublishCopyCallbackHandler {
-
- private static final File tempDir = ServerPlugin.getInstance().getStateLocation().toFile();
- private static final String TEMPFILE_PREFIX = "tmp"; //$NON-NLS-1$
-
- private boolean shouldRestartModule = false;
-
- private IServer server;
- private IPath deployRootFolder;
- private IPath tmpDeployRootFolder;
- public LocalCopyCallback(IServer server, IPath deployFolder, IPath temporaryFolder ) {
- this.server = server;
- this.deployRootFolder = deployFolder;
- this.tmpDeployRootFolder = temporaryFolder;
- }
-
- public boolean shouldRestartModule() {
- return shouldRestartModule;
- }
-
- public IStatus[] copyFile(IModuleFile mf, IPath relativePath, IProgressMonitor monitor) throws CoreException {
- monitor.beginTask("Copying " + relativePath.toString(), 100); //$NON-NLS-1$
- File file = PublishUtil.getFile(mf);
- shouldRestartModule |= checkRestartModule(file);
- if( file != null ) {
- InputStream in = null;
- try {
- in = new FileInputStream(file);
- } catch (IOException e) {
- return new IStatus[] {new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL,
- NLS.bind(Messages.errorReading, file.getAbsolutePath()), e)};
- }
- IStatus ret = copyFile(in, deployRootFolder.append(relativePath), file.lastModified(), mf);
- monitor.worked(100);
- monitor.done();
- if( ret != null && !ret.isOK())
- return new IStatus[] { ret };
- } // else silently ignore I guess
- return new IStatus[]{};
- }
-
- /**
- * Copy a file from a to b. Closes the input stream after use.
- *
- * @param in java.io.InputStream
- * @param to java.lang.String
- * @return a status
- */
- private IStatus copyFile(InputStream in, String to) {
- try {
- FileUtils.writeTo(in, to);
- return Status.OK_STATUS;
- } catch (IOException e) {
- //Trace.trace(Trace.SEVERE, "Error copying file", e);
- return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, NLS.bind(Messages.errorCopyingFile, new String[] {to, e.getLocalizedMessage()}), e);
- } finally {
- StreamUtils.safeClose(in);
- }
- }
-
-
- /**
- * Copy a file from a to b. Closes the input stream after use.
- *
- * @param in an input stream
- * @param to a path to copy to. the directory must already exist. This must be an absolute path
- * @param ts timestamp
- * @throws CoreException if anything goes wrong
- */
- private IStatus copyFile(InputStream in, IPath to, long ts, IModuleFile mf) throws CoreException {
- File tempFile = null;
- try {
- File file = to.toFile();
- tempFile = writeToTempFile(in, to);
- moveTempFile(tempFile, file);
- if (ts != IResource.NULL_STAMP && ts != 0)
- file.setLastModified(ts);
- } catch (CoreException e) {
- throw e;
- } catch (Exception e) {
- IPath path = mf.getModuleRelativePath().append(mf.getName());
- return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, NLS.bind(Messages.errorCopyingFile, path.toOSString(), e.getLocalizedMessage()), null);
- } finally {
- if (tempFile != null && tempFile.exists())
- tempFile.deleteOnExit();
- try {
- if (in != null)
- in.close();
- } catch (Exception ex) {
- // ignore
- }
- }
- return null;
- }
-
- private File writeToTempFile(InputStream in, IPath filePath) throws IOException {
- // Change from original PublishUtil, will require
- File tempFile = File.createTempFile(TEMPFILE_PREFIX, "." + filePath.getFileExtension(), getTempFolder()); //$NON-NLS-1$
- FileUtils.writeTo(in, tempFile);
- return tempFile;
- }
-
- /**
- * Utility method to move a temp file into position by deleting the original and
- * swapping in a new copy.
- *
- * @param tempFile
- * @param file
- * @throws CoreException
- */
- private void moveTempFile(File tempFile, File file) throws CoreException {
- if (file.exists()) {
- if (!safeDelete(file, 2)) {
- // attempt to rewrite an existing file with the tempFile contents if
- // the existing file can't be deleted to permit the move
- try {
- InputStream in = new FileInputStream(tempFile);
- IStatus status = copyFile(in, file.getPath());
- throwOnErrorStatus(file, status);
- return;
- } catch (FileNotFoundException e) {
- // shouldn't occur
- } finally {
- tempFile.delete();
- }
- }
- }
- // At this point, the file should be guaranteed not to exist.
- if (!safeRename(tempFile, file, 10))
- throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_ASSEMBLE_FAIL,
- NLS.bind(org.jboss.ide.eclipse.as.core.Messages.PublishRenameFailure,
- tempFile.toString(), file.getAbsolutePath()), null));
- }
-
- private void throwOnErrorStatus(File file, IStatus status) throws CoreException {
- if (!status.isOK()) {
- MultiStatus status2 = new MultiStatus(ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, NLS.bind(Messages.errorDeleting, file.toString()), null);
- status2.add(status);
- throw new CoreException(status2);
- }
- }
-
- /**
- * Safe rename. Will try multiple times before giving up.
- *
- * @param from
- * @param to
- * @param retrys number of times to retry
- * @return <code>true</code> if it succeeds, <code>false</code> otherwise
- */
- private boolean safeRename(File from, File to, int retrys) {
- // make sure parent dir exists
- File dir = to.getParentFile();
- if (dir != null && !dir.exists())
- dir.mkdirs();
-
- int count = 0;
- while (count < retrys ) {
- if (from.renameTo(to))
- return true;
-
- count++;
- // delay if we are going to try again
- if (count < retrys) {
- try {
- Thread.sleep(100);
- } catch (Exception e) {
- // ignore
- }
- }
- }
- return false;
- }
-
- protected File getTempFolder() {
- File f = null;
- if( tmpDeployRootFolder != null ) {
- f = tmpDeployRootFolder.toFile();
- } else if( server != null ){
- String path = ServerConverter.getDeployableServer(server).getTempDeployFolder();
- f = new File(path);
- } else {
- return tempDir;
- }
- if( !f.exists() )
- f.mkdirs();
- return f;
- }
-
- public IStatus[] deleteResource(IPath resource, IProgressMonitor monitor) {
- resource = deployRootFolder.append(resource);
- File file = resource.toFile();
- IStatus[] results = new IStatus[]{};
- if( file.isDirectory()) {
- results = deleteDirectory(resource.toFile(), monitor);
- } else {
- if( !file.delete()) {
- IStatus s = new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, NLS.bind(Messages.errorDeleting, resource.toFile().getAbsolutePath()), null);
- results = new IStatus[]{s};
- }
- }
- return results;
- }
-
- /**
- * Utility method to recursively delete a directory.
- *
- * @param dir a directory
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting and cancellation are not desired
- * @return a possibly-empty array of error and warning status
- */
- private IStatus[] deleteDirectory(File dir, IProgressMonitor monitor) {
- if (!dir.exists() || !dir.isDirectory())
- return new IStatus[] { new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, NLS.bind(Messages.errorNotADirectory, dir.getAbsolutePath()), null) };
-
- List<IStatus> status = new ArrayList<IStatus>(2);
-
- try {
- File[] files = dir.listFiles();
- int size = files.length;
- monitor = ProgressUtil.getMonitorFor(monitor);
- monitor.beginTask(NLS.bind(Messages.deletingTask, new String[] { dir.getAbsolutePath() }), size * 10);
-
- // cycle through files
- boolean deleteCurrent = true;
- for (int i = 0; i < size; i++) {
- File current = files[i];
- if (current.isFile()) {
- if (!current.delete()) {
- status.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, NLS.bind(Messages.errorDeleting, files[i].getAbsolutePath()), null));
- deleteCurrent = false;
- }
- monitor.worked(10);
- } else if (current.isDirectory()) {
- monitor.subTask(NLS.bind(Messages.deletingTask, new String[] {current.getAbsolutePath()}));
- IStatus[] stat = deleteDirectory(current,
- AbstractServerToolsPublisher.getSubMon(monitor, 10));
- if (stat != null && stat.length > 0) {
- deleteCurrent = false;
- addArrayToList(status, stat);
- }
- }
- }
- if (deleteCurrent && !dir.delete())
- status.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, NLS.bind(Messages.errorDeleting, dir.getAbsolutePath()), null));
- monitor.done();
- } catch (Exception e) {
- //Trace.trace(Trace.SEVERE, "Error deleting directory " + dir.getAbsolutePath(), e);
- status.add(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, IEventCodes.JST_PUB_FAIL, e.getLocalizedMessage(), null));
- }
-
- return status.toArray(new IStatus[status.size()]);
- }
-
- /**
- * Safe delete. Tries to delete multiple times before giving up.
- *
- * @param f
- * @return <code>true</code> if it succeeds, <code>false</code> otherwise
- */
- private boolean safeDelete(File f, int retrys) {
- int count = 0;
- while (count < retrys) {
- if (!f.exists())
- return true;
-
- f.delete();
-
- if (!f.exists())
- return true;
-
- count++;
- // delay if we are going to try again
- if (count < retrys) {
- try {
- Thread.sleep(100);
- } catch (Exception e) {
- // ignore
- }
- }
- }
- return false;
- }
-
- public IStatus[] makeDirectoryIfRequired(IPath relativeDir, IProgressMonitor monitor) {
- deployRootFolder.append(relativeDir).toFile().mkdirs();
- return new IStatus[] {Status.OK_STATUS};
- }
-
- public IStatus[] touchResource(IPath path) {
- File tmp = deployRootFolder.append(path).toFile();
- if( !tmp.exists())
- tmp = deployRootFolder.toFile();
- tmp.setLastModified(new Date().getTime());
- return null;
- }
-
- public boolean isFile(IPath path, IProgressMonitor monitor)
- throws CoreException {
- File tmp = deployRootFolder.append(path).toFile();
- return tmp.exists() && tmp.isFile();
- }
-
- }
-
private static final IStatus[] EMPTY_STATUS = new IStatus[0];
private IPublishCopyCallbackHandler handler;
public PublishCopyUtil(IPublishCopyCallbackHandler handler) {
@@ -601,6 +284,7 @@
list.add(a[i]);
}
+ @Deprecated
public static boolean checkRestartModule(File file) {
if( file.getName().toLowerCase().endsWith(".jar")) //$NON-NLS-1$
return true;
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEPublishMethod.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEPublishMethod.java 2011-12-12 17:32:16 UTC (rev 37230)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEPublishMethod.java 2011-12-12 17:40:27 UTC (rev 37231)
@@ -30,9 +30,9 @@
import org.jboss.ide.eclipse.as.core.publishers.AbstractPublishMethod;
import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
import org.jboss.ide.eclipse.as.core.server.IJBoss6Server;
+import org.jboss.ide.eclipse.as.core.server.internal.DelegatingServerBehavior;
import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
-import org.jboss.ide.eclipse.as.core.server.internal.DelegatingServerBehavior;
import org.jboss.ide.eclipse.as.core.server.xpl.PublishCopyUtil.IPublishCopyCallbackHandler;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
@@ -54,9 +54,12 @@
this.behaviour = beh;
}
+ public DeployableServerBehavior getBehaviour() {
+ return this.behaviour;
+ }
+
private IFileServiceSubSystem fileSubSystem = null;
private IPath remoteRootFolder;
- @Deprecated private IPath remoteTemporaryFolder;
public void publishStart(DeployableServerBehavior behaviour,
IProgressMonitor monitor) throws CoreException {
@@ -145,12 +148,6 @@
return remoteRootFolder;
}
- @Deprecated
- public IPath getRemoteTemporaryFolder() {
- // This should not be used anymore. We do not need to upload and move the file if
- // deployment scanner is disabled
- return remoteTemporaryFolder;
- }
public IFileServiceSubSystem getFileServiceSubSystem() {
return fileSubSystem;
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSERemotePublishHandler.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSERemotePublishHandler.java 2011-12-12 17:32:16 UTC (rev 37230)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSERemotePublishHandler.java 2011-12-12 17:40:27 UTC (rev 37231)
@@ -29,8 +29,10 @@
import org.eclipse.wst.server.core.model.IModuleFile;
import org.jboss.ide.eclipse.as.core.extensions.events.IEventCodes;
import org.jboss.ide.eclipse.as.core.publishers.PublishUtil;
+import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
import org.jboss.ide.eclipse.as.core.server.xpl.PublishCopyUtil;
import org.jboss.ide.eclipse.as.core.server.xpl.PublishCopyUtil.IPublishCopyCallbackHandler;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
public class RSERemotePublishHandler implements IPublishCopyCallbackHandler {
protected IPath root;
@@ -47,7 +49,7 @@
public IStatus[] copyFile(final IModuleFile mf, final IPath path,
final IProgressMonitor monitor) throws CoreException {
final File file = PublishUtil.getFile(mf);
- shouldRestartModule |= PublishCopyUtil.checkRestartModule(file);
+ shouldRestartModule |= method.getBehaviour().changedFileRequiresModuleRestart(file);
final IPath remotePath = root.append(path);
final CoreException[] coreEx = new CoreException[1];
14 years, 4 months
JBoss Tools SVN: r37230 - branches/jbosstools-3.3.0.M5/central/plugins/org.jboss.tools.central.discovery.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2011-12-12 12:32:16 -0500 (Mon, 12 Dec 2011)
New Revision: 37230
Modified:
branches/jbosstools-3.3.0.M5/central/plugins/org.jboss.tools.central.discovery/plugin.xml
Log:
JBDS-1962 apply patch JBDS1962.patch.txt
Modified: branches/jbosstools-3.3.0.M5/central/plugins/org.jboss.tools.central.discovery/plugin.xml
===================================================================
--- branches/jbosstools-3.3.0.M5/central/plugins/org.jboss.tools.central.discovery/plugin.xml 2011-12-12 17:32:08 UTC (rev 37229)
+++ branches/jbosstools-3.3.0.M5/central/plugins/org.jboss.tools.central.discovery/plugin.xml 2011-12-12 17:32:16 UTC (rev 37230)
@@ -254,6 +254,10 @@
name="JRebel"
provider="zeroturnaround.org"
siteUrl="http://www.zeroturnaround.com/update-site/">
+ <iu id="org.zeroturnaround.eclipse.nature.feature"/>
+ <iu id="org.zeroturnaround.eclipse.debug.feature"/>
+ <iu id="org.zeroturnaround.eclipse.wtp.feature"/>
+ <iu id="org.zeroturnaround.eclipse.embedder.feature"/>
<icon
image32="images/jrebel_32.png">
</icon>
14 years, 4 months
JBoss Tools SVN: r37229 - branches/jbosstools-3.3.0.M5/central/plugins/org.jboss.tools.central.discovery.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2011-12-12 12:32:08 -0500 (Mon, 12 Dec 2011)
New Revision: 37229
Modified:
branches/jbosstools-3.3.0.M5/central/plugins/org.jboss.tools.central.discovery/plugin.xml
Log:
embed necessary features into a single connector entry for SVN (JBDS-1957)
Modified: branches/jbosstools-3.3.0.M5/central/plugins/org.jboss.tools.central.discovery/plugin.xml
===================================================================
--- branches/jbosstools-3.3.0.M5/central/plugins/org.jboss.tools.central.discovery/plugin.xml 2011-12-12 17:31:57 UTC (rev 37228)
+++ branches/jbosstools-3.3.0.M5/central/plugins/org.jboss.tools.central.discovery/plugin.xml 2011-12-12 17:32:08 UTC (rev 37229)
@@ -199,13 +199,17 @@
<connectorDescriptor
categoryId="org.jboss.tools.central.discovery.scm"
groupId="org.jboss.tools.central.discovery.scm.svn"
- description="Eclipse Team Provider for the Subversion version control system - Core [1/2]"
+ description="Eclipse Team Provider for the Subversion version control system, including SVNKit"
id="org.tigris.subversion.subclipse"
kind="task"
license="Free, Subclipse License"
- name="Subclipse - Core"
+ name="Subclipse + SVNKit"
provider="tigris.org"
siteUrl="http://download.jboss.org/jbosstools/updates/indigo/extras/">
+ <iu id="org.tigris.subversion.clientadapter.svnkit.feature"/>
+ <iu id="com.sun.jna"/>
+ <iu id="org.tigris.subversion.clientadapter.feature"/>
+ <iu id="org.tmatesoft.svnkit"/>
<icon
image32="images/subclipse_32.gif">
</icon>
@@ -213,23 +217,6 @@
url="http://subclipse.tigris.org/">
</overview>
</connectorDescriptor>
- <connectorDescriptor
- categoryId="org.jboss.tools.central.discovery.scm"
- groupId="org.jboss.tools.central.discovery.scm.svn"
- description="Eclipse Team Provider for the Subversion version control system - SVNKit Adapter [2/2]"
- id="org.tigris.subversion.clientadapter.svnkit.feature"
- kind="task"
- license="Free, Subclipse License"
- name="Subclipse - SVNKit Adapter"
- provider="tigris.org"
- siteUrl="http://download.jboss.org/jbosstools/updates/indigo/extras/">
- <icon
- image32="images/subclipse_32.gif">
- </icon>
- <overview
- url="http://subclipse.tigris.org/">
- </overview>
- </connectorDescriptor>
<!-- Testing -->
14 years, 4 months
JBoss Tools SVN: r37228 - trunk/central/plugins/org.jboss.tools.central.discovery.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2011-12-12 12:31:57 -0500 (Mon, 12 Dec 2011)
New Revision: 37228
Modified:
trunk/central/plugins/org.jboss.tools.central.discovery/plugin.xml
Log:
JBDS-1962 nest required IUs for JRebel in a single connector
Modified: trunk/central/plugins/org.jboss.tools.central.discovery/plugin.xml
===================================================================
--- trunk/central/plugins/org.jboss.tools.central.discovery/plugin.xml 2011-12-12 17:31:48 UTC (rev 37227)
+++ trunk/central/plugins/org.jboss.tools.central.discovery/plugin.xml 2011-12-12 17:31:57 UTC (rev 37228)
@@ -254,6 +254,10 @@
name="JRebel"
provider="zeroturnaround.org"
siteUrl="http://www.zeroturnaround.com/update-site/">
+ <iu id="org.zeroturnaround.eclipse.nature.feature"/>
+ <iu id="org.zeroturnaround.eclipse.debug.feature"/>
+ <iu id="org.zeroturnaround.eclipse.wtp.feature"/>
+ <iu id="org.zeroturnaround.eclipse.embedder.feature"/>
<icon
image32="images/jrebel_32.png">
</icon>
14 years, 4 months
JBoss Tools SVN: r37227 - trunk/central/plugins/org.jboss.tools.central.discovery.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2011-12-12 12:31:48 -0500 (Mon, 12 Dec 2011)
New Revision: 37227
Modified:
trunk/central/plugins/org.jboss.tools.central.discovery/plugin.xml
Log:
JBDS-1957 nest required IUs for SVN in a single connector
Modified: trunk/central/plugins/org.jboss.tools.central.discovery/plugin.xml
===================================================================
--- trunk/central/plugins/org.jboss.tools.central.discovery/plugin.xml 2011-12-12 16:51:36 UTC (rev 37226)
+++ trunk/central/plugins/org.jboss.tools.central.discovery/plugin.xml 2011-12-12 17:31:48 UTC (rev 37227)
@@ -199,13 +199,17 @@
<connectorDescriptor
categoryId="org.jboss.tools.central.discovery.scm"
groupId="org.jboss.tools.central.discovery.scm.svn"
- description="Eclipse Team Provider for the Subversion version control system - Core [1/2]"
+ description="Eclipse Team Provider for the Subversion version control system, including SVNKit"
id="org.tigris.subversion.subclipse"
kind="task"
license="Free, Subclipse License"
- name="Subclipse - Core"
+ name="Subclipse + SVNKit"
provider="tigris.org"
siteUrl="http://download.jboss.org/jbosstools/updates/indigo/extras/">
+ <iu id="org.tigris.subversion.clientadapter.svnkit.feature"/>
+ <iu id="com.sun.jna"/>
+ <iu id="org.tigris.subversion.clientadapter.feature"/>
+ <iu id="org.tmatesoft.svnkit"/>
<icon
image32="images/subclipse_32.gif">
</icon>
@@ -213,23 +217,6 @@
url="http://subclipse.tigris.org/">
</overview>
</connectorDescriptor>
- <connectorDescriptor
- categoryId="org.jboss.tools.central.discovery.scm"
- groupId="org.jboss.tools.central.discovery.scm.svn"
- description="Eclipse Team Provider for the Subversion version control system - SVNKit Adapter [2/2]"
- id="org.tigris.subversion.clientadapter.svnkit.feature"
- kind="task"
- license="Free, Subclipse License"
- name="Subclipse - SVNKit Adapter"
- provider="tigris.org"
- siteUrl="http://download.jboss.org/jbosstools/updates/indigo/extras/">
- <icon
- image32="images/subclipse_32.gif">
- </icon>
- <overview
- url="http://subclipse.tigris.org/">
- </overview>
- </connectorDescriptor>
<!-- Testing -->
14 years, 4 months
JBoss Tools SVN: r37226 - workspace/snjeza/discovery.
by jbosstools-commits@lists.jboss.org
Author: snjeza
Date: 2011-12-12 11:51:36 -0500 (Mon, 12 Dec 2011)
New Revision: 37226
Modified:
workspace/snjeza/discovery/org.jboss.tools.central.discovery_3.3.0.jar
Log:
JBDS-1957 svn install from central does not give me a working svn
Modified: workspace/snjeza/discovery/org.jboss.tools.central.discovery_3.3.0.jar
===================================================================
(Binary files differ)
14 years, 4 months
JBoss Tools SVN: r37225 - trunk/build/aggregate/site.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2011-12-12 11:41:43 -0500 (Mon, 12 Dec 2011)
New Revision: 37225
Modified:
trunk/build/aggregate/site/site.xml
Log:
ws.jaxrs is now in JBDS too (JBDS-1963)
Modified: trunk/build/aggregate/site/site.xml
===================================================================
--- trunk/build/aggregate/site/site.xml 2011-12-12 16:39:19 UTC (rev 37224)
+++ trunk/build/aggregate/site/site.xml 2011-12-12 16:41:43 UTC (rev 37225)
@@ -110,7 +110,6 @@
<category name="AbridgedTools" />
<category name="WebTools" />
</feature>
- <!-- only in JBT -->
<feature url="features/org.jboss.tools.ws.jaxrs.feature_0.0.0.jar" id="org.jboss.tools.ws.jaxrs.feature" version="0.0.0">
<category name="AbridgedTools" />
<category name="WebTools" />
14 years, 4 months
JBoss Tools SVN: r37224 - in branches/jbosstools-3.3.0.M5/ws: plugins/org.jboss.tools.ws.jaxrs.ui/META-INF and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: xcoulon
Date: 2011-12-12 11:39:19 -0500 (Mon, 12 Dec 2011)
New Revision: 37224
Modified:
branches/jbosstools-3.3.0.M5/ws/plugins/org.jboss.tools.ws.jaxrs.core/META-INF/MANIFEST.MF
branches/jbosstools-3.3.0.M5/ws/plugins/org.jboss.tools.ws.jaxrs.ui/META-INF/MANIFEST.MF
branches/jbosstools-3.3.0.M5/ws/tests/org.jboss.tools.ws.jaxrs.core.test/META-INF/MANIFEST.MF
Log:
OPEN - issue JBIDE-10446 - JBoss Tools cannot be installed because of JBoss JAX-RS Tools
https://issues.jboss.org/browse/JBIDE-10446
Applying patches
Modified: branches/jbosstools-3.3.0.M5/ws/plugins/org.jboss.tools.ws.jaxrs.core/META-INF/MANIFEST.MF
===================================================================
--- branches/jbosstools-3.3.0.M5/ws/plugins/org.jboss.tools.ws.jaxrs.core/META-INF/MANIFEST.MF 2011-12-12 16:02:42 UTC (rev 37223)
+++ branches/jbosstools-3.3.0.M5/ws/plugins/org.jboss.tools.ws.jaxrs.core/META-INF/MANIFEST.MF 2011-12-12 16:39:19 UTC (rev 37224)
@@ -21,7 +21,7 @@
org.eclipse.core.commands;bundle-version="3.6.0";visibility:=reexport,
org.eclipse.ui;bundle-version="3.7.0";visibility:=reexport,
org.eclipse.ltk.core.refactoring;bundle-version="3.5.200";visibility:=reexport,
- org.eclipse.wst.validation;bundle-version="1.2.302";visibility:=reexport
+ org.eclipse.wst.validation;bundle-version="1.2.300";visibility:=reexport
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: javax.ws.rs,
Modified: branches/jbosstools-3.3.0.M5/ws/plugins/org.jboss.tools.ws.jaxrs.ui/META-INF/MANIFEST.MF
===================================================================
--- branches/jbosstools-3.3.0.M5/ws/plugins/org.jboss.tools.ws.jaxrs.ui/META-INF/MANIFEST.MF 2011-12-12 16:02:42 UTC (rev 37223)
+++ branches/jbosstools-3.3.0.M5/ws/plugins/org.jboss.tools.ws.jaxrs.ui/META-INF/MANIFEST.MF 2011-12-12 16:39:19 UTC (rev 37224)
@@ -32,8 +32,8 @@
org.eclipse.ui.editors;bundle-version="3.7.0",
org.eclipse.core.commands;bundle-version="3.6.0",
org.eclipse.ui;bundle-version="3.7.0",
- org.eclipse.ltk.core.refactoring;bundle-version="3.5.201",
- org.eclipse.wst.validation;bundle-version="1.2.302"
+ org.eclipse.ltk.core.refactoring;bundle-version="3.5.200",
+ org.eclipse.wst.validation;bundle-version="1.2.300"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: .
Modified: branches/jbosstools-3.3.0.M5/ws/tests/org.jboss.tools.ws.jaxrs.core.test/META-INF/MANIFEST.MF
===================================================================
--- branches/jbosstools-3.3.0.M5/ws/tests/org.jboss.tools.ws.jaxrs.core.test/META-INF/MANIFEST.MF 2011-12-12 16:02:42 UTC (rev 37223)
+++ branches/jbosstools-3.3.0.M5/ws/tests/org.jboss.tools.ws.jaxrs.core.test/META-INF/MANIFEST.MF 2011-12-12 16:39:19 UTC (rev 37224)
@@ -28,8 +28,8 @@
org.eclipse.ui.editors;bundle-version="3.7.0",
org.eclipse.core.commands;bundle-version="3.6.0",
org.eclipse.ui;bundle-version="3.7.0",
- org.eclipse.ltk.core.refactoring;bundle-version="3.5.201",
- org.eclipse.wst.validation;bundle-version="1.2.302"
+ org.eclipse.ltk.core.refactoring;bundle-version="3.5.200",
+ org.eclipse.wst.validation;bundle-version="1.2.300"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Eclipse-RegisterBuddy: org.apache.log4j
14 years, 4 months
JBoss Tools SVN: r37223 - trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/META-INF.
by jbosstools-commits@lists.jboss.org
Author: xcoulon
Date: 2011-12-12 11:02:42 -0500 (Mon, 12 Dec 2011)
New Revision: 37223
Modified:
trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/META-INF/MANIFEST.MF
Log:
Fixing JBIDE-10446 - JBoss Tools cannot be installed because of JBoss JAX-RS Tools
https://issues.jboss.org/browse/JBIDE-10446
Modified: trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/META-INF/MANIFEST.MF 2011-12-12 15:26:54 UTC (rev 37222)
+++ trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/META-INF/MANIFEST.MF 2011-12-12 16:02:42 UTC (rev 37223)
@@ -28,8 +28,8 @@
org.eclipse.ui.editors;bundle-version="3.7.0",
org.eclipse.core.commands;bundle-version="3.6.0",
org.eclipse.ui;bundle-version="3.7.0",
- org.eclipse.ltk.core.refactoring;bundle-version="3.5.201",
- org.eclipse.wst.validation;bundle-version="1.2.302"
+ org.eclipse.ltk.core.refactoring;bundle-version="3.5.200",
+ org.eclipse.wst.validation;bundle-version="1.2.300"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Eclipse-RegisterBuddy: org.apache.log4j
14 years, 4 months
JBoss Tools SVN: r37222 - in trunk/ws/plugins: org.jboss.tools.ws.jaxrs.ui/META-INF and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: xcoulon
Date: 2011-12-12 10:26:54 -0500 (Mon, 12 Dec 2011)
New Revision: 37222
Modified:
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/META-INF/MANIFEST.MF
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/META-INF/MANIFEST.MF
Log:
Fixing JBIDE-10446 - JBoss Tools cannot be installed because of JBoss JAX-RS Tools
https://issues.jboss.org/browse/JBIDE-10446
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/META-INF/MANIFEST.MF 2011-12-12 15:15:56 UTC (rev 37221)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/META-INF/MANIFEST.MF 2011-12-12 15:26:54 UTC (rev 37222)
@@ -21,7 +21,7 @@
org.eclipse.core.commands;bundle-version="3.6.0";visibility:=reexport,
org.eclipse.ui;bundle-version="3.7.0";visibility:=reexport,
org.eclipse.ltk.core.refactoring;bundle-version="3.5.200";visibility:=reexport,
- org.eclipse.wst.validation;bundle-version="1.2.302";visibility:=reexport
+ org.eclipse.wst.validation;bundle-version="1.2.300";visibility:=reexport
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: javax.ws.rs,
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/META-INF/MANIFEST.MF 2011-12-12 15:15:56 UTC (rev 37221)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/META-INF/MANIFEST.MF 2011-12-12 15:26:54 UTC (rev 37222)
@@ -32,8 +32,8 @@
org.eclipse.ui.editors;bundle-version="3.7.0",
org.eclipse.core.commands;bundle-version="3.6.0",
org.eclipse.ui;bundle-version="3.7.0",
- org.eclipse.ltk.core.refactoring;bundle-version="3.5.201",
- org.eclipse.wst.validation;bundle-version="1.2.302"
+ org.eclipse.ltk.core.refactoring;bundle-version="3.5.200",
+ org.eclipse.wst.validation;bundle-version="1.2.300"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: .
14 years, 4 months