You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2004/06/30 15:22:16 UTC
svn commit: rev 22323 - in avalon/trunk/tools/magic/src/main/org/apache/avalon/tools: model tasks
Author: mcconnell
Date: Wed Jun 30 06:22:15 2004
New Revision: 22323
Modified:
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Context.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/BlockTask.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java
Log:
Update the standard layout to map closer to the maven targets directory structure by moving the test classes directory from target/test/classes to target/test-classes. Also updated the block task to support multi-target output (e.g. generating a block into deliverables and generating an embedded block uising one statement).
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Context.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Context.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Context.java Wed Jun 30 06:22:15 2004
@@ -44,10 +44,11 @@
public static final String TARGET = "target";
public static final String BUILD = "build";
public static final String CLASSES = "classes";
+ public static final String DELIVERABLES = "deliverables";
public static final String TEST_CLASSES = "test-classes";
+ public static final String TEST_REPORTS = "test-reports";
public static final String TEMP = "temp";
public static final String TEST = "test";
- public static final String DELIVERABLES = "deliverables";
public static final String DOCS = "docs";
private static final String USER_PROPERTIES = "user.properties";
@@ -100,6 +101,7 @@
private File m_deliverables;
private File m_classes;
private File m_testClasses;
+ private File m_testReports;
private File m_temp;
private File m_docs;
private File m_test;
@@ -144,6 +146,7 @@
m_temp = setBuildPath( TEMP );
m_test = setBuildPath( TEST );
m_testClasses = setBuildPath( TEST_CLASSES );
+ m_testReports = setBuildPath( TEST_REPORTS );
m_docs = setBuildPath( DOCS );
project.addReference( KEY, this );
@@ -216,6 +219,11 @@
public File getTestClassesDirectory()
{
return m_testClasses;
+ }
+
+ public File getTestReportsDirectory()
+ {
+ return m_testReports;
}
public File getTempDirectory()
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/BlockTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/BlockTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/BlockTask.java Wed Jun 30 06:22:15 2004
@@ -52,6 +52,7 @@
{
private String m_name;
private String m_classname;
+ private String m_profile;
public Component()
{
@@ -67,6 +68,11 @@
m_classname = classname;
}
+ public void setProfile( final String profile )
+ {
+ m_profile = profile;
+ }
+
public String getName()
{
return m_name;
@@ -76,11 +82,17 @@
{
return m_classname;
}
+
+ public String getProfile()
+ {
+ return m_profile;
+ }
}
private String m_target;
private String m_container;
private List m_components = new ArrayList();
+ private boolean m_standalone = true;
public void setName( final String name )
{
@@ -110,6 +122,16 @@
}
}
+ /**
+ * Optional attribute indicating that the block is to be generated
+ * as a standalone block.
+ */
+ public void setStandalone( final boolean flag )
+ {
+ m_standalone = flag;
+ }
+
+
private String getName( Definition def )
{
if( null == m_container )
@@ -161,6 +183,21 @@
super.setType( BLOCK );
}
+ public void execute()
+ {
+ if( null != m_target )
+ {
+System.out.println( "EMBEDDED: " + getPluginFile() );
+ super.execute(); // generate the embedded block
+ m_target = null;
+ }
+ if( m_standalone )
+ {
+System.out.println( "STANDALONE: " + getPluginFile() );
+ super.execute(); // generate the standalone block
+ }
+ }
+
protected void writePlugin( final Writer writer, final Definition def )
throws IOException
{
@@ -187,8 +224,18 @@
private void writeComponent( final Writer writer, final Component component )
throws IOException
{
- writer.write(
- "\n <component name=\"" + component.getName() + "\" class=\""
- + component.getClassname() + "\"/>\n" );
+ if( null == component.getProfile() )
+ {
+ writer.write(
+ "\n <component name=\"" + component.getName() + "\" class=\""
+ + component.getClassname() + "\"/>\n" );
+ }
+ else
+ {
+ writer.write(
+ "\n <component name=\"" + component.getName() + "\" profile=\""
+ + component.getProfile() + "\"\n class=\""
+ + component.getClassname() + "\"/>\n" );
+ }
}
}
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java Wed Jun 30 06:22:15 2004
@@ -49,9 +49,6 @@
public static final String TEST_ENV_KEY = "project.test.env";
public static final String TEST_ENV_VALUE = "env";
- public static final String TEST_TMP_KEY = "project.test.temp";
- public static final String TEST_TMP_VALUE = "temp";
-
public static final String DEBUG_KEY = "project.test.compile.debug";
public static final boolean DEBUG_VALUE = true;
@@ -82,7 +79,6 @@
project.setNewProperty( FORK_KEY, "" + FORK_VALUE );
project.setNewProperty( TEST_SRC_KEY, "" + TEST_SRC_VALUE );
project.setNewProperty( TEST_ENV_KEY, "" + TEST_ENV_VALUE );
- project.setNewProperty( TEST_TMP_KEY, "" + TEST_TMP_VALUE );
project.setNewProperty( HALT_ON_ERROR_KEY, "" + HALT_ON_ERROR_VALUE );
project.setNewProperty( HALT_ON_FAILURE_KEY, "" + HALT_ON_FAILURE_VALUE );
@@ -220,8 +216,9 @@
{
final Project project = getProject();
- final File base = new File( m_test, "temp" );
- copyUnitTestResource( base );
+ final File working = getContext().getTestDirectory();
+ mkDir( working );
+ copyUnitTestResource( working );
final FileSet fileset = new FileSet();
fileset.setDir( src );
@@ -237,10 +234,10 @@
if( getForkProperty() )
{
junit.setFork( true );
- junit.setDir( base );
+ junit.setDir( project.getBaseDir() );
}
junit.setShowOutput( true );
- junit.setTempdir( base );
+ junit.setTempdir( working );
junit.setReloading( true );
junit.setFiltertrace( true );
junit.createClasspath().add( classpath );
@@ -251,7 +248,7 @@
getBooleanProperty(
HALT_ON_FAILURE_KEY, HALT_ON_FAILURE_VALUE ) );
- final File reports = new File( m_test, "reports" );
+ final File reports = getContext().getTestReportsDirectory();
mkDir( reports );
final BatchTest batch = junit.createBatchTest();
@@ -272,7 +269,7 @@
final Environment.Variable work = new Environment.Variable();
work.setKey( WORK_DIR_KEY );
- work.setValue( base.toString() );
+ work.setValue( working.toString() );
junit.addSysproperty( work );
final Environment.Variable basedir = new Environment.Variable();
@@ -285,7 +282,7 @@
cache.setValue( getCachePath() );
junit.addSysproperty( cache );
- final File policy = new File( base, "security.policy" );
+ final File policy = new File( working, "security.policy" );
if( policy.exists() )
{
final Environment.Variable security = new Environment.Variable();
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org