diff options
-rw-r--r-- | rpm/org.eclipse.linuxtools.rpm.createrepo/icons/refresh.gif | bin | 0 -> 327 bytes | |||
-rw-r--r-- | rpm/org.eclipse.linuxtools.rpm.createrepo/plugin.properties | 3 | ||||
-rw-r--r-- | rpm/org.eclipse.linuxtools.rpm.createrepo/plugin.xml | 23 | ||||
-rw-r--r-- | rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/handler/CreaterepoCommandHandler.java (renamed from rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/handler/CreaterepoExecuteCommandHandler.java) | 13 | ||||
-rw-r--r-- | rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/rpm/createrepo/CreaterepoPreferenceConstants.java | 3 | ||||
-rw-r--r-- | rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/rpm/createrepo/CreaterepoProject.java | 19 |
6 files changed, 55 insertions, 6 deletions
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/icons/refresh.gif b/rpm/org.eclipse.linuxtools.rpm.createrepo/icons/refresh.gif Binary files differnew file mode 100644 index 0000000000..3ca04d06ff --- /dev/null +++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/icons/refresh.gif diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/plugin.properties b/rpm/org.eclipse.linuxtools.rpm.createrepo/plugin.properties index 3b2549f5b4..417a89cc75 100644 --- a/rpm/org.eclipse.linuxtools.rpm.createrepo/plugin.properties +++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/plugin.properties @@ -18,4 +18,5 @@ contentType.name = Repo File Content Type delta.preference.name = Deltas nature.name = Createrepo Nature -execute.command = Execute Command +execute.command = Execute +update.command = Update diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/plugin.xml b/rpm/org.eclipse.linuxtools.rpm.createrepo/plugin.xml index 617bc9da06..e516a4d3b2 100644 --- a/rpm/org.eclipse.linuxtools.rpm.createrepo/plugin.xml +++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/plugin.xml @@ -56,9 +56,23 @@ locationURI="toolbar:formsToolbar"> <command commandId="org.eclipse.linuxtools.rpm.createrepo.executeCommand" + icon="icons/refresh.gif" + style="push" + tooltip="%update.command"> + <parameter + name="executionType" + value="refresh"> + </parameter> + </command> + <command + commandId="org.eclipse.linuxtools.rpm.createrepo.executeCommand" icon="icons/run_exc.gif" style="push" - tooltip="%execute.command"> + tooltip="%main.name"> + <parameter + name="executionType" + value="createrepo"> + </parameter> </command> </menuContribution> </extension> @@ -67,12 +81,17 @@ <command id="org.eclipse.linuxtools.rpm.createrepo.executeCommand" name="%execute.command"> + <commandParameter + id="executionType" + name="executionType" + optional="false"> + </commandParameter> </command> </extension> <extension point="org.eclipse.ui.handlers"> <handler - class="org.eclipse.linuxtools.internal.rpm.createrepo.handler.CreaterepoExecuteCommandHandler" + class="org.eclipse.linuxtools.internal.rpm.createrepo.handler.CreaterepoCommandHandler" commandId="org.eclipse.linuxtools.rpm.createrepo.executeCommand"> </handler> </extension> diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/handler/CreaterepoExecuteCommandHandler.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/handler/CreaterepoCommandHandler.java index 36949cf6eb..b37173376d 100644 --- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/handler/CreaterepoExecuteCommandHandler.java +++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/internal/rpm/createrepo/handler/CreaterepoCommandHandler.java @@ -22,7 +22,6 @@ import org.eclipse.linuxtools.internal.rpm.createrepo.Activator; import org.eclipse.linuxtools.internal.rpm.createrepo.Messages; import org.eclipse.linuxtools.rpm.createrepo.CreaterepoProject; import org.eclipse.linuxtools.rpm.createrepo.CreaterepoUtils; -import org.eclipse.linuxtools.rpm.createrepo.ICreaterepoConstants; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPage; @@ -30,7 +29,10 @@ import org.eclipse.ui.PlatformUI; import org.eclipse.ui.console.MessageConsoleStream; import org.eclipse.ui.ide.ResourceUtil; -public class CreaterepoExecuteCommandHandler extends AbstractHandler { +/** + * Handle the execution of the Update and Execute button. + */ +public class CreaterepoCommandHandler extends AbstractHandler { /* * (non-Javadoc) @@ -38,6 +40,7 @@ public class CreaterepoExecuteCommandHandler extends AbstractHandler { */ @Override public Object execute(ExecutionEvent event) throws ExecutionException { + final String executionType = event.getParameter("executionType"); //$NON-NLS-1$ try { IWorkbench wb = PlatformUI.getWorkbench(); IWorkbenchPage wbPage = wb.getActiveWorkbenchWindow().getActivePage(); @@ -51,7 +54,11 @@ public class CreaterepoExecuteCommandHandler extends AbstractHandler { monitor.beginTask(Messages.CreaterepoProject_executeCreaterepo, IProgressMonitor.UNKNOWN); MessageConsoleStream os = CreaterepoUtils.findConsole(Messages.CreaterepoProject_consoleName) .newMessageStream(); - return project.createrepo(os); + if (executionType.equals("refresh")) { //$NON-NLS-1$ + return project.update(os); + } else { + return project.createrepo(os); + } } catch (CoreException e) { Activator.logError(Messages.Createrepo_errorExecuting, e); } finally { diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/rpm/createrepo/CreaterepoPreferenceConstants.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/rpm/createrepo/CreaterepoPreferenceConstants.java index 0fb1398521..59f5f0edaa 100644 --- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/rpm/createrepo/CreaterepoPreferenceConstants.java +++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/rpm/createrepo/CreaterepoPreferenceConstants.java @@ -47,6 +47,9 @@ public final class CreaterepoPreferenceConstants { /****/ public static final String PREF_VERBOSE = "verbose"; //$NON-NLS-1$ /****/ public static final String PREF_PROFILE = "profile"; //$NON-NLS-1$ + // Misc + /****/ public static final String PREF_UPDATE = "update"; //$NON-NLS-1$ + /* * Preference Values. */ diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/rpm/createrepo/CreaterepoProject.java b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/rpm/createrepo/CreaterepoProject.java index ea8aca42a4..bfff0d5e2f 100644 --- a/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/rpm/createrepo/CreaterepoProject.java +++ b/rpm/org.eclipse.linuxtools.rpm.createrepo/src/org/eclipse/linuxtools/rpm/createrepo/CreaterepoProject.java @@ -152,6 +152,25 @@ public class CreaterepoProject { } /** + * Execute the createrepo command with a call to update. + * + * @param os Direct execution stream to this. + * @return The status of the execution. + * @throws CoreException Thrown when failure to execute command. + */ + public IStatus update(OutputStream os) throws CoreException { + if (!getContentFolder().exists()) { + createContentFolder(); + } + Createrepo createrepo = new Createrepo(); + List<String> commands = getCommandArguments(); + commands.add(ICreaterepoConstants.DASH.concat(CreaterepoPreferenceConstants.PREF_UPDATE)); + IStatus result = createrepo.execute(os, this, commands); + getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor); + return result; + } + + /** * Get the project. * * @return The project. |