You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by do...@apache.org on 2001/12/30 07:46:37 UTC
cvs commit: jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types SysProperties.java CommandlineJava.java
donaldp 01/12/29 22:46:37
Modified: proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs
ExecuteJava.java
proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/junit
JUnitTask.java
proposal/myrmidon/src/main/org/apache/tools/ant/types
CommandlineJava.java
Added: proposal/myrmidon/src/main/org/apache/tools/ant/types
SysProperties.java
Log:
Made SysProeprties a top level class.
Revision Changes Path
1.7 +3 -2 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java
Index: ExecuteJava.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ExecuteJava.java 30 Dec 2001 03:33:58 -0000 1.6
+++ ExecuteJava.java 30 Dec 2001 06:46:37 -0000 1.7
@@ -16,6 +16,7 @@
import org.apache.tools.ant.types.Commandline;
import org.apache.tools.ant.types.CommandlineJava;
import org.apache.tools.ant.types.Path;
+import org.apache.tools.ant.types.SysProperties;
/*
* @author thomas.haas@softwired-inc.com
@@ -25,7 +26,7 @@
{
private Commandline m_javaCommand;
private Path m_classpath;
- private CommandlineJava.SysProperties m_sysProperties;
+ private SysProperties m_sysProperties;
public void setClasspath( final Path classpath )
{
@@ -37,7 +38,7 @@
m_javaCommand = javaCommand;
}
- public void setSystemProperties( final CommandlineJava.SysProperties sysProperties )
+ public void setSystemProperties( final SysProperties sysProperties )
{
m_sysProperties = sysProperties;
}
1.21 +2 -1 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
Index: JUnitTask.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- JUnitTask.java 30 Dec 2001 03:33:58 -0000 1.20
+++ JUnitTask.java 30 Dec 2001 06:46:37 -0000 1.21
@@ -28,6 +28,7 @@
import org.apache.tools.ant.types.EnumeratedAttribute;
import org.apache.tools.ant.types.EnvironmentVariable;
import org.apache.tools.ant.types.Path;
+import org.apache.tools.ant.types.SysProperties;
/**
* Ant task to run JUnit tests. <p>
@@ -686,7 +687,7 @@
getLogger().warn( "dir attribute ignored if running in the same VM" );
}
- CommandlineJava.SysProperties sysProperties = commandline.getSystemProperties();
+ SysProperties sysProperties = commandline.getSystemProperties();
if( sysProperties != null )
{
sysProperties.setSystem();
1.12 +0 -95 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/CommandlineJava.java
Index: CommandlineJava.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/CommandlineJava.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- CommandlineJava.java 30 Dec 2001 01:14:59 -0000 1.11
+++ CommandlineJava.java 30 Dec 2001 06:46:37 -0000 1.12
@@ -7,13 +7,8 @@
*/
package org.apache.tools.ant.types;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Properties;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.framework.Os;
-import org.apache.myrmidon.framework.exec.Environment;
-import org.apache.myrmidon.framework.exec.ExecException;
import org.apache.tools.ant.Project;
/**
@@ -301,96 +296,6 @@
{
return "java";
}
- }
-
- /**
- * Specialized EnvironmentData class for System properties
- *
- * @author RT
- */
- public static class SysProperties extends EnvironmentData implements Cloneable
- {
- Properties sys = null;
-
- public void setSystem()
- throws TaskException
- {
- try
- {
- Properties p = new Properties( sys = System.getProperties() );
-
- for( Iterator e = m_variables.iterator(); e.hasNext(); )
- {
- EnvironmentVariable v = (EnvironmentVariable)e.next();
- p.put( v.getKey(), v.getValue() );
- }
- System.setProperties( p );
- }
- catch( SecurityException e )
- {
- throw new TaskException( "Cannot modify system properties", e );
- }
- }
-
- public String[] getJavaVariables()
- throws TaskException
- {
- String props[] = new String[ 0 ];
- try
- {
- props = Environment.toNativeFormat( super.getVariables() );
- }
- catch( final ExecException ee )
- {
- throw new TaskException( ee.getMessage(), ee );
- }
-
- if( props == null )
- return null;
-
- for( int i = 0; i < props.length; i++ )
- {
- props[ i ] = "-D" + props[ i ];
- }
- return props;
- }
-
- public Object clone()
- {
- try
- {
- SysProperties c = (SysProperties)super.clone();
- c.m_variables.addAll( (ArrayList)m_variables.clone() );
- return c;
- }
- catch( CloneNotSupportedException e )
- {
- return null;
- }
- }
-
- public void restoreSystem()
- throws TaskException
- {
- if( sys == null )
- throw new TaskException( "Unbalanced nesting of SysProperties" );
-
- try
- {
- System.setProperties( sys );
- sys = null;
- }
- catch( SecurityException e )
- {
- throw new TaskException( "Cannot modify system properties", e );
- }
- }
-
- public int size()
- {
- return m_variables.size();
- }
-
}
}
1.1 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/SysProperties.java
Index: SysProperties.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.tools.ant.types;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Properties;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.framework.exec.ExecException;
/**
* Specialized EnvironmentData class for System properties
*/
public class SysProperties
extends EnvironmentData
implements Cloneable
{
private Properties m_system;
public void setSystem()
throws TaskException
{
try
{
Properties p = new Properties( m_system = System.getProperties() );
for( Iterator e = m_variables.iterator(); e.hasNext(); )
{
EnvironmentVariable v = (EnvironmentVariable)e.next();
p.put( v.getKey(), v.getValue() );
}
System.setProperties( p );
}
catch( SecurityException e )
{
throw new TaskException( "Cannot modify system properties", e );
}
}
public String[] getJavaVariables()
throws TaskException
{
String props[] = new String[ 0 ];
try
{
props = toNativeFormat( super.getVariables() );
}
catch( final ExecException ee )
{
throw new TaskException( ee.getMessage(), ee );
}
if( props == null )
return null;
for( int i = 0; i < props.length; i++ )
{
props[ i ] = "-D" + props[ i ];
}
return props;
}
public Object clone()
{
try
{
SysProperties c = (SysProperties)super.clone();
c.m_variables.addAll( (ArrayList)m_variables.clone() );
return c;
}
catch( CloneNotSupportedException e )
{
return null;
}
}
public void restoreSystem()
throws TaskException
{
if( m_system == null )
throw new TaskException( "Unbalanced nesting of SysProperties" );
try
{
System.setProperties( m_system );
m_system = null;
}
catch( SecurityException e )
{
throw new TaskException( "Cannot modify system properties", e );
}
}
public int size()
{
return m_variables.size();
}
private String[] toNativeFormat( final Properties environment )
throws ExecException
{
final ArrayList newEnvironment = new ArrayList();
final Iterator keys = environment.keySet().iterator();
while( keys.hasNext() )
{
final String key = (String)keys.next();
final String value = environment.getProperty( key );
newEnvironment.add( key + '=' + value );
}
return (String[])newEnvironment.toArray( new String[ newEnvironment.size() ] );
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>