You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-commits@incubator.apache.org by xa...@apache.org on 2007/04/25 20:53:00 UTC

svn commit: r532481 - in /incubator/ivy/core/trunk: CHANGES.txt src/java/org/apache/ivy/Main.java

Author: xavier
Date: Wed Apr 25 13:52:59 2007
New Revision: 532481

URL: http://svn.apache.org/viewvc?view=rev&rev=532481
Log:
IMPROVEMENT: Allow "main" parameters to be passed directly (instead of using -args flag) (IVY-480) (thanks to Archie Cobbs)

Modified:
    incubator/ivy/core/trunk/CHANGES.txt
    incubator/ivy/core/trunk/src/java/org/apache/ivy/Main.java

Modified: incubator/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/CHANGES.txt?view=diff&rev=532481&r1=532480&r2=532481
==============================================================================
--- incubator/ivy/core/trunk/CHANGES.txt (original)
+++ incubator/ivy/core/trunk/CHANGES.txt Wed Apr 25 13:52:59 2007
@@ -46,6 +46,8 @@
 
    version in SVN
 =====================================
+- IMPROVEMENT: Allow "main" parameters to be passed directly (instead of using -args flag) (IVY-480) (thanks to Archie Cobbs)
+
 - BUG: ivy:install ant task does not fail on error (IVY-475) (thanks to Jeffrey Blatttman)
 
    2.0.0-alpha1-incubating

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/Main.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/Main.java?view=diff&rev=532481&r1=532480&r2=532481
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/Main.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/Main.java Wed Apr 25 13:52:59 2007
@@ -347,8 +347,20 @@
                 }
             }
             if (line.hasOption("main")) {
-                invoke(ivy, cache, md, confs, line.getOptionValue("main"),
-                		line.getOptionValues("args"));
+            	// merge -args and left over args 
+            	String[] fargs = line.getOptionValues("args");
+            	if (fargs == null) {
+            	    fargs = new String[0];
+            	}
+            	String[] extra = line.getArgs();
+            	if (extra == null) {
+            	    extra = new String[0];
+            	}
+            	String[] params = new String[fargs.length + extra.length];
+            	System.arraycopy(fargs, 0, params, 0, fargs.length);
+            	System.arraycopy(extra, 0, params, fargs.length, extra.length);
+            	// invoke with given main class and merged params
+            	invoke(ivy, cache, md, confs, line.getOptionValue("main"), params);
             }
         } catch( ParseException exp ) {
             // oops, something went wrong