|
From: <caw...@us...> - 2007-08-08 14:10:43
|
Revision: 2937
http://rubyeclipse.svn.sourceforge.net/rubyeclipse/?rev=2937&view=rev
Author: cawilliams
Date: 2007-08-08 07:10:42 -0700 (Wed, 08 Aug 2007)
Log Message:
-----------
add boolean flag to installgem so we can decide whether to install with dependencies
Modified Paths:
--------------
trunk/com.aptana.rdt/src/com/aptana/rdt/core/gems/IGemManager.java
trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java
Modified: trunk/com.aptana.rdt/src/com/aptana/rdt/core/gems/IGemManager.java
===================================================================
--- trunk/com.aptana.rdt/src/com/aptana/rdt/core/gems/IGemManager.java 2007-08-08 14:10:19 UTC (rev 2936)
+++ trunk/com.aptana.rdt/src/com/aptana/rdt/core/gems/IGemManager.java 2007-08-08 14:10:42 UTC (rev 2937)
@@ -20,9 +20,24 @@
*/
public Set<Gem> getRemoteGems();
+ /**
+ * Install the supplied gem including it's dependencies
+ *
+ * @param gem
+ * @return
+ */
public boolean installGem(Gem gem);
/**
+ * Install teh supplied gem
+ *
+ * @param gem
+ * @param includeDependencies
+ * @return
+ */
+ public boolean installGem(Gem gem, boolean includeDependencies);
+
+ /**
* Removes or uninstalls the supplied gem.
*
* @param gem
Modified: trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java
===================================================================
--- trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java 2007-08-08 14:10:19 UTC (rev 2936)
+++ trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java 2007-08-08 14:10:42 UTC (rev 2937)
@@ -61,6 +61,7 @@
public class GemManager implements IGemManager {
+ private static final String INCLUDE_DEPENDENCIES_SWITCH = "-y";
private static final String LOCAL_SWITCH = "-l";
private static final String LIST_COMMAND = "list";
private static final String INSTALL_COMMAND = "install";
@@ -446,10 +447,17 @@
/*
* (non-Javadoc)
- *
- * @see com.aptana.rdt.internal.gems.IGemManager#installGem(com.aptana.rdt.internal.gems.Gem)
+ * @see com.aptana.rdt.core.gems.IGemManager#installGem(com.aptana.rdt.core.gems.Gem)
*/
public boolean installGem(final Gem gem) {
+ return installGem(gem, true);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see com.aptana.rdt.core.gems.IGemManager#installGem(com.aptana.rdt.core.gems.Gem, boolean)
+ */
+ public boolean installGem(final Gem gem, boolean includeDependencies) {
if (!isRubyGemsInstalled()) return false;
try {
String command = INSTALL_COMMAND + " " + gem.getName();
@@ -457,6 +465,9 @@
&& gem.getVersion().trim().length() > 0) {
command += " " + VERSION_SWITCH + " " + gem.getVersion();
}
+ if (includeDependencies) {
+ command += " " + INCLUDE_DEPENDENCIES_SWITCH;
+ }
ILaunchConfiguration config = createGemLaunchConfiguration(command, true);
final ILaunch launch = config.launch(ILaunchManager.RUN_MODE, null);
Job job = new Job("Installing gem " + gem.getName()) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|