Browse Source

Begin to cleanup tasks

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270480 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Donald 23 years ago
parent
commit
9d5b717a0d
10 changed files with 356 additions and 378 deletions
  1. +78
    -189
      proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/Coverage.java
  2. +43
    -0
      proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/CoverageStreamHandler.java
  3. +19
    -0
      proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/Finalsnapshot.java
  4. +19
    -0
      proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/Javavm.java
  5. +19
    -0
      proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/Recordfromstart.java
  6. +78
    -189
      proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/sitraka/Coverage.java
  7. +43
    -0
      proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/sitraka/CoverageStreamHandler.java
  8. +19
    -0
      proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/sitraka/Finalsnapshot.java
  9. +19
    -0
      proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/sitraka/Javavm.java
  10. +19
    -0
      proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/sitraka/Recordfromstart.java

+ 78
- 189
proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/Coverage.java View File

@@ -10,11 +10,9 @@ package org.apache.tools.ant.taskdefs.optional.sitraka;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Random;
import org.apache.myrmidon.api.TaskException;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.taskdefs.exec.Execute;
@@ -23,7 +21,6 @@ import org.apache.tools.ant.taskdefs.exec.LogStreamHandler;
import org.apache.tools.ant.types.Argument;
import org.apache.tools.ant.types.Commandline;
import org.apache.tools.ant.types.CommandlineJava;
import org.apache.tools.ant.types.EnumeratedAttribute;
import org.apache.tools.ant.types.FileSet;
import org.apache.tools.ant.types.Path;

@@ -38,68 +35,32 @@ import org.apache.tools.ant.types.Path;
*
* @author <a href="sbailliez@imediation.com">Stephane Bailliez</a>
*/
public class Coverage extends Task
public class Coverage
extends Task
{

protected Commandline cmdl = new Commandline();

protected CommandlineJava cmdlJava = new CommandlineJava();

protected String function = "coverage";

protected boolean applet = false;

/**
* this is a somewhat annoying thing, set it to never
*/
protected String exitPrompt = "never";

protected Filters filters = new Filters();

protected String finalSnapshot = "coverage";

protected String recordFromStart = "coverage";

protected boolean trackNatives = false;

protected int warnLevel = 0;

protected ArrayList filesets = new ArrayList();

protected File home;

protected File inputFile;

protected File javaExe;

protected String seedName;

protected File snapshotDir;

protected Socket socket;

protected Triggers triggers;

protected String vm;

protected File workingDir;


//---------------- the tedious job begins here

public Coverage()
{
}

/**
* default to false unless file is htm or html
*
* @param value The new Applet value
*/
public void setApplet( boolean value )
{
applet = value;
}
private String m_exitPrompt = "never";

private Filters m_filters = new Filters();
private String m_finalSnapshot = "coverage";
private String m_recordFromStart = "coverage";
private boolean m_trackNatives;
private int m_warnLevel = 0;
private ArrayList m_filesets = new ArrayList();
private File m_home;
private File m_inputFile;
private File m_javaExe;
private String m_seedName;
private File m_snapshotDir;
private Socket m_socket;
private Triggers m_triggers;
private String m_vm;
private File m_workingDir;

/**
* classname to run as standalone or runner for filesets
@@ -118,7 +79,7 @@ public class Coverage extends Task
*/
public void setExitprompt( String value )
{
exitPrompt = value;
m_exitPrompt = value;
}

/**
@@ -128,11 +89,9 @@ public class Coverage extends Task
*/
public void setFinalsnapshot( String value )
{
finalSnapshot = value;
m_finalSnapshot = value;
}

//--------- setters used via reflection --

/**
* set the coverage home directory where are libraries, jars and jplauncher
*
@@ -140,17 +99,17 @@ public class Coverage extends Task
*/
public void setHome( File value )
{
home = value;
m_home = value;
}

public void setInputfile( File value )
{
inputFile = value;
m_inputFile = value;
}

public void setJavaexe( File value )
{
javaExe = value;
m_javaExe = value;
}

/**
@@ -160,7 +119,7 @@ public class Coverage extends Task
*/
public void setRecordfromstart( Recordfromstart value )
{
recordFromStart = value.getValue();
m_recordFromStart = value.getValue();
}

/**
@@ -170,17 +129,17 @@ public class Coverage extends Task
*/
public void setSeedname( String value )
{
seedName = value;
m_seedName = value;
}

public void setSnapshotdir( File value )
{
snapshotDir = value;
m_snapshotDir = value;
}

public void setTracknatives( boolean value )
{
trackNatives = value;
m_trackNatives = value;
}

/**
@@ -190,17 +149,17 @@ public class Coverage extends Task
*/
public void setVm( Javavm value )
{
vm = value.getValue();
m_vm = value.getValue();
}

public void setWarnlevel( Integer value )
{
warnLevel = value.intValue();
m_warnLevel = value.intValue();
}

public void setWorkingdir( File value )
{
workingDir = value;
m_workingDir = value;
}

/**
@@ -210,7 +169,7 @@ public class Coverage extends Task
*/
public void addFileset( FileSet fs )
{
filesets.add( fs );
m_filesets.add( fs );
}

/**
@@ -235,11 +194,9 @@ public class Coverage extends Task

public Filters createFilters()
{
return filters;
return m_filters;
}

//

/**
* the jvm arguments
*
@@ -252,20 +209,20 @@ public class Coverage extends Task

public Socket createSocket()
{
if( socket == null )
if( m_socket == null )
{
socket = new Socket();
m_socket = new Socket();
}
return socket;
return m_socket;
}

public Triggers createTriggers()
{
if( triggers == null )
if( m_triggers == null )
{
triggers = new Triggers();
m_triggers = new Triggers();
}
return triggers;
return m_triggers;
}

/**
@@ -278,19 +235,19 @@ public class Coverage extends Task
{
File paramfile = null;
// if an input file is used, all other options are ignored...
if( inputFile == null )
if( m_inputFile == null )
{
checkOptions();
paramfile = createParamFile();
}
else
{
paramfile = inputFile;
paramfile = m_inputFile;
}
try
{
// we need to run Coverage from his directory due to dll/jar issues
cmdl.setExecutable( new File( home, "jplauncher" ).getAbsolutePath() );
cmdl.setExecutable( new File( m_home, "jplauncher" ).getAbsolutePath() );
cmdl.createArgument().setValue( "-jp_input=" + paramfile.getAbsolutePath() );

// use the custom handler for stdin issues
@@ -313,7 +270,7 @@ public class Coverage extends Task
finally
{
//@todo should be removed once switched to JDK1.2
if( inputFile == null && paramfile != null )
if( m_inputFile == null && paramfile != null )
{
paramfile.delete();
}
@@ -331,35 +288,35 @@ public class Coverage extends Task
throws TaskException
{
ArrayList params = new ArrayList();
params.add( "-jp_function=" + function );
if( vm != null )
params.add( "-jp_function=coverage" );
if( m_vm != null )
{
params.add( "-jp_vm=" + vm );
params.add( "-jp_vm=" + m_vm );
}
if( javaExe != null )
if( m_javaExe != null )
{
params.add( "-jp_java_exe=" + resolveFile( javaExe.getPath() ) );
params.add( "-jp_java_exe=" + resolveFile( m_javaExe.getPath() ) );
}
params.add( "-jp_working_dir=" + workingDir.getPath() );
params.add( "-jp_snapshot_dir=" + snapshotDir.getPath() );
params.add( "-jp_record_from_start=" + recordFromStart );
params.add( "-jp_warn=" + warnLevel );
if( seedName != null )
params.add( "-jp_working_dir=" + m_workingDir.getPath() );
params.add( "-jp_snapshot_dir=" + m_snapshotDir.getPath() );
params.add( "-jp_record_from_start=" + m_recordFromStart );
params.add( "-jp_warn=" + m_warnLevel );
if( m_seedName != null )
{
params.add( "-jp_output_file=" + seedName );
params.add( "-jp_output_file=" + m_seedName );
}
params.add( "-jp_filter=" + filters.toString() );
if( triggers != null )
params.add( "-jp_filter=" + m_filters.toString() );
if( m_triggers != null )
{
params.add( "-jp_trigger=" + triggers.toString() );
params.add( "-jp_trigger=" + m_triggers.toString() );
}
if( finalSnapshot != null )
if( m_finalSnapshot != null )
{
params.add( "-jp_final_snapshot=" + finalSnapshot );
params.add( "-jp_final_snapshot=" + m_finalSnapshot );
}
params.add( "-jp_exit_prompt=" + exitPrompt );
params.add( "-jp_exit_prompt=" + m_exitPrompt );
//params.add("-jp_append=" + append);
params.add( "-jp_track_natives=" + trackNatives );
params.add( "-jp_track_natives=" + m_trackNatives );
//.... now the jvm
// arguments
String[] vmargs = cmdlJava.getVmCommand().getArguments();
@@ -397,50 +354,50 @@ public class Coverage extends Task
throws TaskException
{
// check coverage home
if( home == null || !home.isDirectory() )
if( m_home == null || !m_home.isDirectory() )
{
throw new TaskException( "Invalid home directory. Must point to JProbe home directory" );
}
home = new File( home, "coverage" );
File jar = new File( home, "coverage.jar" );
m_home = new File( m_home, "coverage" );
File jar = new File( m_home, "coverage.jar" );
if( !jar.exists() )
{
throw new TaskException( "Cannot find Coverage directory: " + home );
throw new TaskException( "Cannot find Coverage directory: " + m_home );
}

// make sure snapshot dir exists and is resolved
if( snapshotDir == null )
if( m_snapshotDir == null )
{
snapshotDir = new File( "." );
m_snapshotDir = new File( "." );
}
snapshotDir = resolveFile( snapshotDir.getPath() );
if( !snapshotDir.isDirectory() || !snapshotDir.exists() )
m_snapshotDir = resolveFile( m_snapshotDir.getPath() );
if( !m_snapshotDir.isDirectory() || !m_snapshotDir.exists() )
{
throw new TaskException( "Snapshot directory does not exists :" + snapshotDir );
throw new TaskException( "Snapshot directory does not exists :" + m_snapshotDir );
}
if( workingDir == null )
if( m_workingDir == null )
{
workingDir = new File( "." );
m_workingDir = new File( "." );
}
workingDir = resolveFile( workingDir.getPath() );
m_workingDir = resolveFile( m_workingDir.getPath() );

// check for info, do your best to select the java executable.
// JProbe 3.0 fails if there is no javaexe option. So
if( javaExe == null && ( vm == null || "java2".equals( vm ) ) )
if( m_javaExe == null && ( m_vm == null || "java2".equals( m_vm ) ) )
{
String version = System.getProperty( "java.version" );
// make we are using 1.2+, if it is, then do your best to
// get a javaexe
if( !version.startsWith( "1.1" ) )
{
if( vm == null )
if( m_vm == null )
{
vm = "java2";
m_vm = "java2";
}
// if we are here obviously it is java2
String home = System.getProperty( "java.home" );
boolean isUnix = File.separatorChar == '/';
javaExe = isUnix ? new File( home, "bin/java" ) : new File( home, "/bin/java.exe" );
m_javaExe = isUnix ? new File( home, "bin/java" ) : new File( home, "/bin/java.exe" );
}
}
}
@@ -458,7 +415,7 @@ public class Coverage extends Task
throws TaskException
{
//@todo change this when switching to JDK 1.2 and use File.createTmpFile()
File file = createTmpFile();
File file = File.createTempFile( "jpcoverage", "tmp" );
getLogger().debug( "Creating parameter file: " + file );

// options need to be one per line in the parameter file
@@ -500,72 +457,4 @@ public class Coverage extends Task
}
return file;
}

/**
* create a temporary file in the current dir (For JDK1.1 support)
*
* @return Description of the Returned Value
*/
protected File createTmpFile()
{
final long rand = ( new Random( System.currentTimeMillis() ) ).nextLong();
File file = new File( "jpcoverage" + rand + ".tmp" );
return file;
}

public static class Finalsnapshot extends EnumeratedAttribute
{
public String[] getValues()
{
return new String[]{"coverage", "none", "all"};
}
}

public static class Javavm extends EnumeratedAttribute
{
public String[] getValues()
{
return new String[]{"java2", "jdk118", "jdk117"};
}
}

public static class Recordfromstart extends EnumeratedAttribute
{
public String[] getValues()
{
return new String[]{"coverage", "none", "all"};
}
}

/**
* specific pumper to avoid those nasty stdin issues
*/
static class CoverageStreamHandler
extends LogStreamHandler
{
CoverageStreamHandler( OutputStream output, OutputStream error )
{
super( output, error );
}

/**
* there are some issues concerning all JProbe executable In our case a
* 'Press ENTER to close this window..." will be displayed in the
* current window waiting for enter. So I'm closing the stream right
* away to avoid problems.
*
* @param os The new ProcessInputStream value
*/
public void setProcessInputStream( OutputStream os )
{
try
{
os.close();
}
catch( IOException ignored )
{
}
}
}

}

+ 43
- 0
proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/CoverageStreamHandler.java View File

@@ -0,0 +1,43 @@
/*
* 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.taskdefs.optional.sitraka;

import org.apache.tools.ant.taskdefs.exec.LogStreamHandler;
import java.io.OutputStream;
import java.io.IOException;

/**
* specific pumper to avoid those nasty stdin issues
*/
class CoverageStreamHandler
extends LogStreamHandler
{
CoverageStreamHandler( OutputStream output, OutputStream error )
{
super( output, error );
}

/**
* there are some issues concerning all JProbe executable In our case a
* 'Press ENTER to close this window..." will be displayed in the
* current window waiting for enter. So I'm closing the stream right
* away to avoid problems.
*
* @param os The new ProcessInputStream value
*/
public void setProcessInputStream( OutputStream os )
{
try
{
os.close();
}
catch( IOException ignored )
{
}
}
}

+ 19
- 0
proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/Finalsnapshot.java View File

@@ -0,0 +1,19 @@
/*
* 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.taskdefs.optional.sitraka;

import org.apache.tools.ant.types.EnumeratedAttribute;

public class Finalsnapshot
extends EnumeratedAttribute
{
public String[] getValues()
{
return new String[]{"coverage", "none", "all"};
}
}

+ 19
- 0
proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/Javavm.java View File

@@ -0,0 +1,19 @@
/*
* 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.taskdefs.optional.sitraka;

import org.apache.tools.ant.types.EnumeratedAttribute;

public class Javavm
extends EnumeratedAttribute
{
public String[] getValues()
{
return new String[]{"java2", "jdk118", "jdk117"};
}
}

+ 19
- 0
proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/sitraka/Recordfromstart.java View File

@@ -0,0 +1,19 @@
/*
* 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.taskdefs.optional.sitraka;

import org.apache.tools.ant.types.EnumeratedAttribute;

public class Recordfromstart
extends EnumeratedAttribute
{
public String[] getValues()
{
return new String[]{"coverage", "none", "all"};
}
}

+ 78
- 189
proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/sitraka/Coverage.java View File

@@ -10,11 +10,9 @@ package org.apache.tools.ant.taskdefs.optional.sitraka;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Random;
import org.apache.myrmidon.api.TaskException;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.taskdefs.exec.Execute;
@@ -23,7 +21,6 @@ import org.apache.tools.ant.taskdefs.exec.LogStreamHandler;
import org.apache.tools.ant.types.Argument;
import org.apache.tools.ant.types.Commandline;
import org.apache.tools.ant.types.CommandlineJava;
import org.apache.tools.ant.types.EnumeratedAttribute;
import org.apache.tools.ant.types.FileSet;
import org.apache.tools.ant.types.Path;

@@ -38,68 +35,32 @@ import org.apache.tools.ant.types.Path;
*
* @author <a href="sbailliez@imediation.com">Stephane Bailliez</a>
*/
public class Coverage extends Task
public class Coverage
extends Task
{

protected Commandline cmdl = new Commandline();

protected CommandlineJava cmdlJava = new CommandlineJava();

protected String function = "coverage";

protected boolean applet = false;

/**
* this is a somewhat annoying thing, set it to never
*/
protected String exitPrompt = "never";

protected Filters filters = new Filters();

protected String finalSnapshot = "coverage";

protected String recordFromStart = "coverage";

protected boolean trackNatives = false;

protected int warnLevel = 0;

protected ArrayList filesets = new ArrayList();

protected File home;

protected File inputFile;

protected File javaExe;

protected String seedName;

protected File snapshotDir;

protected Socket socket;

protected Triggers triggers;

protected String vm;

protected File workingDir;


//---------------- the tedious job begins here

public Coverage()
{
}

/**
* default to false unless file is htm or html
*
* @param value The new Applet value
*/
public void setApplet( boolean value )
{
applet = value;
}
private String m_exitPrompt = "never";

private Filters m_filters = new Filters();
private String m_finalSnapshot = "coverage";
private String m_recordFromStart = "coverage";
private boolean m_trackNatives;
private int m_warnLevel = 0;
private ArrayList m_filesets = new ArrayList();
private File m_home;
private File m_inputFile;
private File m_javaExe;
private String m_seedName;
private File m_snapshotDir;
private Socket m_socket;
private Triggers m_triggers;
private String m_vm;
private File m_workingDir;

/**
* classname to run as standalone or runner for filesets
@@ -118,7 +79,7 @@ public class Coverage extends Task
*/
public void setExitprompt( String value )
{
exitPrompt = value;
m_exitPrompt = value;
}

/**
@@ -128,11 +89,9 @@ public class Coverage extends Task
*/
public void setFinalsnapshot( String value )
{
finalSnapshot = value;
m_finalSnapshot = value;
}

//--------- setters used via reflection --

/**
* set the coverage home directory where are libraries, jars and jplauncher
*
@@ -140,17 +99,17 @@ public class Coverage extends Task
*/
public void setHome( File value )
{
home = value;
m_home = value;
}

public void setInputfile( File value )
{
inputFile = value;
m_inputFile = value;
}

public void setJavaexe( File value )
{
javaExe = value;
m_javaExe = value;
}

/**
@@ -160,7 +119,7 @@ public class Coverage extends Task
*/
public void setRecordfromstart( Recordfromstart value )
{
recordFromStart = value.getValue();
m_recordFromStart = value.getValue();
}

/**
@@ -170,17 +129,17 @@ public class Coverage extends Task
*/
public void setSeedname( String value )
{
seedName = value;
m_seedName = value;
}

public void setSnapshotdir( File value )
{
snapshotDir = value;
m_snapshotDir = value;
}

public void setTracknatives( boolean value )
{
trackNatives = value;
m_trackNatives = value;
}

/**
@@ -190,17 +149,17 @@ public class Coverage extends Task
*/
public void setVm( Javavm value )
{
vm = value.getValue();
m_vm = value.getValue();
}

public void setWarnlevel( Integer value )
{
warnLevel = value.intValue();
m_warnLevel = value.intValue();
}

public void setWorkingdir( File value )
{
workingDir = value;
m_workingDir = value;
}

/**
@@ -210,7 +169,7 @@ public class Coverage extends Task
*/
public void addFileset( FileSet fs )
{
filesets.add( fs );
m_filesets.add( fs );
}

/**
@@ -235,11 +194,9 @@ public class Coverage extends Task

public Filters createFilters()
{
return filters;
return m_filters;
}

//

/**
* the jvm arguments
*
@@ -252,20 +209,20 @@ public class Coverage extends Task

public Socket createSocket()
{
if( socket == null )
if( m_socket == null )
{
socket = new Socket();
m_socket = new Socket();
}
return socket;
return m_socket;
}

public Triggers createTriggers()
{
if( triggers == null )
if( m_triggers == null )
{
triggers = new Triggers();
m_triggers = new Triggers();
}
return triggers;
return m_triggers;
}

/**
@@ -278,19 +235,19 @@ public class Coverage extends Task
{
File paramfile = null;
// if an input file is used, all other options are ignored...
if( inputFile == null )
if( m_inputFile == null )
{
checkOptions();
paramfile = createParamFile();
}
else
{
paramfile = inputFile;
paramfile = m_inputFile;
}
try
{
// we need to run Coverage from his directory due to dll/jar issues
cmdl.setExecutable( new File( home, "jplauncher" ).getAbsolutePath() );
cmdl.setExecutable( new File( m_home, "jplauncher" ).getAbsolutePath() );
cmdl.createArgument().setValue( "-jp_input=" + paramfile.getAbsolutePath() );

// use the custom handler for stdin issues
@@ -313,7 +270,7 @@ public class Coverage extends Task
finally
{
//@todo should be removed once switched to JDK1.2
if( inputFile == null && paramfile != null )
if( m_inputFile == null && paramfile != null )
{
paramfile.delete();
}
@@ -331,35 +288,35 @@ public class Coverage extends Task
throws TaskException
{
ArrayList params = new ArrayList();
params.add( "-jp_function=" + function );
if( vm != null )
params.add( "-jp_function=coverage" );
if( m_vm != null )
{
params.add( "-jp_vm=" + vm );
params.add( "-jp_vm=" + m_vm );
}
if( javaExe != null )
if( m_javaExe != null )
{
params.add( "-jp_java_exe=" + resolveFile( javaExe.getPath() ) );
params.add( "-jp_java_exe=" + resolveFile( m_javaExe.getPath() ) );
}
params.add( "-jp_working_dir=" + workingDir.getPath() );
params.add( "-jp_snapshot_dir=" + snapshotDir.getPath() );
params.add( "-jp_record_from_start=" + recordFromStart );
params.add( "-jp_warn=" + warnLevel );
if( seedName != null )
params.add( "-jp_working_dir=" + m_workingDir.getPath() );
params.add( "-jp_snapshot_dir=" + m_snapshotDir.getPath() );
params.add( "-jp_record_from_start=" + m_recordFromStart );
params.add( "-jp_warn=" + m_warnLevel );
if( m_seedName != null )
{
params.add( "-jp_output_file=" + seedName );
params.add( "-jp_output_file=" + m_seedName );
}
params.add( "-jp_filter=" + filters.toString() );
if( triggers != null )
params.add( "-jp_filter=" + m_filters.toString() );
if( m_triggers != null )
{
params.add( "-jp_trigger=" + triggers.toString() );
params.add( "-jp_trigger=" + m_triggers.toString() );
}
if( finalSnapshot != null )
if( m_finalSnapshot != null )
{
params.add( "-jp_final_snapshot=" + finalSnapshot );
params.add( "-jp_final_snapshot=" + m_finalSnapshot );
}
params.add( "-jp_exit_prompt=" + exitPrompt );
params.add( "-jp_exit_prompt=" + m_exitPrompt );
//params.add("-jp_append=" + append);
params.add( "-jp_track_natives=" + trackNatives );
params.add( "-jp_track_natives=" + m_trackNatives );
//.... now the jvm
// arguments
String[] vmargs = cmdlJava.getVmCommand().getArguments();
@@ -397,50 +354,50 @@ public class Coverage extends Task
throws TaskException
{
// check coverage home
if( home == null || !home.isDirectory() )
if( m_home == null || !m_home.isDirectory() )
{
throw new TaskException( "Invalid home directory. Must point to JProbe home directory" );
}
home = new File( home, "coverage" );
File jar = new File( home, "coverage.jar" );
m_home = new File( m_home, "coverage" );
File jar = new File( m_home, "coverage.jar" );
if( !jar.exists() )
{
throw new TaskException( "Cannot find Coverage directory: " + home );
throw new TaskException( "Cannot find Coverage directory: " + m_home );
}

// make sure snapshot dir exists and is resolved
if( snapshotDir == null )
if( m_snapshotDir == null )
{
snapshotDir = new File( "." );
m_snapshotDir = new File( "." );
}
snapshotDir = resolveFile( snapshotDir.getPath() );
if( !snapshotDir.isDirectory() || !snapshotDir.exists() )
m_snapshotDir = resolveFile( m_snapshotDir.getPath() );
if( !m_snapshotDir.isDirectory() || !m_snapshotDir.exists() )
{
throw new TaskException( "Snapshot directory does not exists :" + snapshotDir );
throw new TaskException( "Snapshot directory does not exists :" + m_snapshotDir );
}
if( workingDir == null )
if( m_workingDir == null )
{
workingDir = new File( "." );
m_workingDir = new File( "." );
}
workingDir = resolveFile( workingDir.getPath() );
m_workingDir = resolveFile( m_workingDir.getPath() );

// check for info, do your best to select the java executable.
// JProbe 3.0 fails if there is no javaexe option. So
if( javaExe == null && ( vm == null || "java2".equals( vm ) ) )
if( m_javaExe == null && ( m_vm == null || "java2".equals( m_vm ) ) )
{
String version = System.getProperty( "java.version" );
// make we are using 1.2+, if it is, then do your best to
// get a javaexe
if( !version.startsWith( "1.1" ) )
{
if( vm == null )
if( m_vm == null )
{
vm = "java2";
m_vm = "java2";
}
// if we are here obviously it is java2
String home = System.getProperty( "java.home" );
boolean isUnix = File.separatorChar == '/';
javaExe = isUnix ? new File( home, "bin/java" ) : new File( home, "/bin/java.exe" );
m_javaExe = isUnix ? new File( home, "bin/java" ) : new File( home, "/bin/java.exe" );
}
}
}
@@ -458,7 +415,7 @@ public class Coverage extends Task
throws TaskException
{
//@todo change this when switching to JDK 1.2 and use File.createTmpFile()
File file = createTmpFile();
File file = File.createTempFile( "jpcoverage", "tmp" );
getLogger().debug( "Creating parameter file: " + file );

// options need to be one per line in the parameter file
@@ -500,72 +457,4 @@ public class Coverage extends Task
}
return file;
}

/**
* create a temporary file in the current dir (For JDK1.1 support)
*
* @return Description of the Returned Value
*/
protected File createTmpFile()
{
final long rand = ( new Random( System.currentTimeMillis() ) ).nextLong();
File file = new File( "jpcoverage" + rand + ".tmp" );
return file;
}

public static class Finalsnapshot extends EnumeratedAttribute
{
public String[] getValues()
{
return new String[]{"coverage", "none", "all"};
}
}

public static class Javavm extends EnumeratedAttribute
{
public String[] getValues()
{
return new String[]{"java2", "jdk118", "jdk117"};
}
}

public static class Recordfromstart extends EnumeratedAttribute
{
public String[] getValues()
{
return new String[]{"coverage", "none", "all"};
}
}

/**
* specific pumper to avoid those nasty stdin issues
*/
static class CoverageStreamHandler
extends LogStreamHandler
{
CoverageStreamHandler( OutputStream output, OutputStream error )
{
super( output, error );
}

/**
* there are some issues concerning all JProbe executable In our case a
* 'Press ENTER to close this window..." will be displayed in the
* current window waiting for enter. So I'm closing the stream right
* away to avoid problems.
*
* @param os The new ProcessInputStream value
*/
public void setProcessInputStream( OutputStream os )
{
try
{
os.close();
}
catch( IOException ignored )
{
}
}
}

}

+ 43
- 0
proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/sitraka/CoverageStreamHandler.java View File

@@ -0,0 +1,43 @@
/*
* 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.taskdefs.optional.sitraka;

import org.apache.tools.ant.taskdefs.exec.LogStreamHandler;
import java.io.OutputStream;
import java.io.IOException;

/**
* specific pumper to avoid those nasty stdin issues
*/
class CoverageStreamHandler
extends LogStreamHandler
{
CoverageStreamHandler( OutputStream output, OutputStream error )
{
super( output, error );
}

/**
* there are some issues concerning all JProbe executable In our case a
* 'Press ENTER to close this window..." will be displayed in the
* current window waiting for enter. So I'm closing the stream right
* away to avoid problems.
*
* @param os The new ProcessInputStream value
*/
public void setProcessInputStream( OutputStream os )
{
try
{
os.close();
}
catch( IOException ignored )
{
}
}
}

+ 19
- 0
proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/sitraka/Finalsnapshot.java View File

@@ -0,0 +1,19 @@
/*
* 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.taskdefs.optional.sitraka;

import org.apache.tools.ant.types.EnumeratedAttribute;

public class Finalsnapshot
extends EnumeratedAttribute
{
public String[] getValues()
{
return new String[]{"coverage", "none", "all"};
}
}

+ 19
- 0
proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/sitraka/Javavm.java View File

@@ -0,0 +1,19 @@
/*
* 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.taskdefs.optional.sitraka;

import org.apache.tools.ant.types.EnumeratedAttribute;

public class Javavm
extends EnumeratedAttribute
{
public String[] getValues()
{
return new String[]{"java2", "jdk118", "jdk117"};
}
}

+ 19
- 0
proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/optional/sitraka/Recordfromstart.java View File

@@ -0,0 +1,19 @@
/*
* 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.taskdefs.optional.sitraka;

import org.apache.tools.ant.types.EnumeratedAttribute;

public class Recordfromstart
extends EnumeratedAttribute
{
public String[] getValues()
{
return new String[]{"coverage", "none", "all"};
}
}

Loading…
Cancel
Save