You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by jl...@apache.org on 2013/05/22 11:36:47 UTC

svn commit: r1485133 - in /ant/easyant/core/trunk: bin/easyant bin/easyant.bat src/main/java/org/apache/easyant/core/EasyAntConstants.java src/main/java/org/apache/easyant/core/EasyAntMagicNames.java src/main/java/org/apache/easyant/core/EasyAntMain.java

Author: jlboudart
Date: Wed May 22 09:36:47 2013
New Revision: 1485133

URL: http://svn.apache.org/r1485133
Log:
[PATCH] EASYANT-53: Easyant batch file/shell script will allow to
 specify the -configfile option from outside, ${easyant.home}/easyant-conf.xml
 will still be the default easyant conf file if the option is missing.
patch applied from Tim Enderling thanks again for the fix

Modified:
    ant/easyant/core/trunk/bin/easyant
    ant/easyant/core/trunk/bin/easyant.bat
    ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntConstants.java
    ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntMagicNames.java
    ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntMain.java

Modified: ant/easyant/core/trunk/bin/easyant
URL: http://svn.apache.org/viewvc/ant/easyant/core/trunk/bin/easyant?rev=1485133&r1=1485132&r2=1485133&view=diff
==============================================================================
--- ant/easyant/core/trunk/bin/easyant (original)
+++ ant/easyant/core/trunk/bin/easyant Wed May 22 09:36:47 2013
@@ -371,8 +371,10 @@ else
   fi
 fi
 
-#set default EASYANT_ARGS
-EASYANT_ARGS="-configfile \"$EASYANT_HOME/easyant-conf.xml\" -lib \"$EASYANT_HOME/lib\" -main org.apache.easyant.core.EasyAntMain -Deasyant.home=\"$EASYANT_HOME\" $EASYANT_ARGS"
+
+#set default EASYANT_ARGS and EASYANT_OPTS
+EASYANT_ARGS="-lib \"$EASYANT_HOME/lib\" -main org.apache.easyant.core.EasyAntMain $EASYANT_ARGS"
+EASYANT_OPTS="-Deasyant.home=\"$EASYANT_HOME\" $EASYANT_OPTS"
 
 ant_exec_command="exec \"$JAVACMD\" $ANT_OPTS $EASYANT_OPTS -classpath \"$LOCALCLASSPATH\" -Dant.home=\"$ANT_HOME\" -Dant.library.dir=\"$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher $ANT_ARGS $EASYANT_ARGS -cp \"$CLASSPATH\""
 if $ant_exec_debug ; then

Modified: ant/easyant/core/trunk/bin/easyant.bat
URL: http://svn.apache.org/viewvc/ant/easyant/core/trunk/bin/easyant.bat?rev=1485133&r1=1485132&r2=1485133&view=diff
==============================================================================
--- ant/easyant/core/trunk/bin/easyant.bat (original)
+++ ant/easyant/core/trunk/bin/easyant.bat Wed May 22 09:36:47 2013
@@ -33,7 +33,8 @@ goto end
 
 :run
 rem set the default parameters for easyant
-set EASYANT_ARGS=-lib "%EASYANT_HOME%\lib" -main org.apache.easyant.core.EasyAntMain -configfile %EASYANT_HOME%/easyant-conf.xml -Deasyant.home=%EASYANT_HOME% %EASYANT_ARGS%
+set EASYANT_ARGS=-lib "%EASYANT_HOME%\lib" -main org.apache.easyant.core.EasyAntMain %EASYANT_ARGS%
+set EASYANT_OPTS=-Deasyant.home=%EASYANT_HOME% %EASYANT_OPTS%
 
 
 rem This part is fully inspirated by ant's script with some easyant customisation

Modified: ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntConstants.java
URL: http://svn.apache.org/viewvc/ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntConstants.java?rev=1485133&r1=1485132&r2=1485133&view=diff
==============================================================================
--- ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntConstants.java (original)
+++ ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntConstants.java Wed May 22 09:36:47 2013
@@ -78,6 +78,12 @@ public interface EasyAntConstants {
     public static final String DEFAULT_GLOBAL_EASYANT_IVYSETTINGS = "${easyant.home}/easyant-ivysettings.xml";
 
     /**
+     * Default location of global easyant config file
+     */
+    public static final String DEFAULT_GLOBAL_EASYANT_CONF_FILE = "easyant-conf.xml";
+
+    
+    /**
      * Default value for pre module targets
      */
     public static final String DEFAULT_PRE_MODULE_TARGETS = "clean";

Modified: ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntMagicNames.java
URL: http://svn.apache.org/viewvc/ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntMagicNames.java?rev=1485133&r1=1485132&r2=1485133&view=diff
==============================================================================
--- ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntMagicNames.java (original)
+++ ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntMagicNames.java Wed May 22 09:36:47 2013
@@ -28,6 +28,13 @@ import org.apache.easyant.tasks.CoreRevi
  */
 public interface EasyAntMagicNames {
 
+
+    /**
+     * property for easyant home directory. Value: {@value}
+     */
+    public static final String EASYANT_HOME = "easyant.home";
+
+    
     /**
      * property for easyant file name. Value: {@value}
      */

Modified: ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntMain.java
URL: http://svn.apache.org/viewvc/ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntMain.java?rev=1485133&r1=1485132&r2=1485133&view=diff
==============================================================================
--- ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntMain.java (original)
+++ ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntMain.java Wed May 22 09:36:47 2013
@@ -293,15 +293,32 @@ public class EasyAntMain implements AntM
         if (line.hasOption("buildconf")) {
             easyAntConfiguration.getActiveBuildConfigurations().add(line.getOptionValue("buildconf"));
         }
+        
+        File easyantConfFile = null;
+
         if (line.hasOption("configfile")) {
+            easyantConfFile = new File(line.getOptionValue("configfile").replace('/', File.separatorChar));
+        } else {
+            // if no command line switch is specified check the default location
+
+            File easyantHome = new File(System.getProperty(EasyAntMagicNames.EASYANT_HOME).replace('/',
+                    File.separatorChar));
+            File defaultGlobalEasyantConfFile = new File(easyantHome, EasyAntConstants.DEFAULT_GLOBAL_EASYANT_CONF_FILE);
+
+            if (defaultGlobalEasyantConfFile.exists()) {
+                easyantConfFile = defaultGlobalEasyantConfFile;
+            }
+        }
+
+        if (easyantConfFile != null) {
             try {
-                File easyantConfFile = new File(line.getOptionValue("configfile").replace('/', File.separatorChar));
                 easyAntConfiguration = EasyantConfigurationFactory.getInstance().createConfigurationFromFile(
                         easyAntConfiguration, easyantConfFile.toURI().toURL());
             } catch (Exception e) {
                 throw new BuildException(e);
             }
         }
+            
         if (line.hasOption("listener")) {
             easyAntConfiguration.getListeners().addElement(line.getOptionValue("listener"));
         }