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/07/07 17:34:39 UTC
svn commit: rev 22676 - in avalon/trunk/tools/magic/src: main/org/apache/avalon/tools/model main/org/apache/avalon/tools/tasks test/org test/org/apache test/org/apache/avalon test/org/apache/avalon/tools test/org/apache/avalon/tools/model test/org/apache/avalon/tools/model/test
Author: mcconnell
Date: Wed Jul 7 08:34:38 2004
New Revision: 22676
Added:
avalon/trunk/tools/magic/src/test/org/
avalon/trunk/tools/magic/src/test/org/apache/
avalon/trunk/tools/magic/src/test/org/apache/avalon/
avalon/trunk/tools/magic/src/test/org/apache/avalon/tools/
avalon/trunk/tools/magic/src/test/org/apache/avalon/tools/model/
avalon/trunk/tools/magic/src/test/org/apache/avalon/tools/model/test/
avalon/trunk/tools/magic/src/test/org/apache/avalon/tools/model/test/ContextTestCase.java
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/Definition.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Gump.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Home.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Magic.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/MagicPath.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Repository.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Resource.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/XMLDefinitionBuilder.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/AbstractDeliverableTask.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/BarTask.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/DeclareTask.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/FilterTask.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/GumpTask.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/HomeTask.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JarTask.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ReactorTask.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ReplicateTask.java
Log:
Cleanup in the code, test case addition, and some optimization in the gump task.
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 Jul 7 08:34:38 2004
@@ -232,7 +232,9 @@
}
/**
- * Return the concatonal variant of a file and create it if it does not exist.
+ * Return the concatonal variant of a file and ensure that the parent directory
+ * path is created.
+ *
* @param file the file argument
* @return the concatonal variant
*/
@@ -301,7 +303,6 @@
private final Map m_map = new Hashtable();
private String m_key;
- private File m_file;
private File m_src;
private File m_etc;
@@ -521,11 +522,6 @@
// internal
//--------------------------------------------------------------------
- private File getTargetDirectory( final String path )
- {
- return new File( m_target, path );
- }
-
private String resolveKey()
{
if( null != m_key )
@@ -584,15 +580,8 @@
private void setupBuildProperties( final Project project, final File basedir )
{
- if( null == m_file )
- {
- final File build = Context.getFile( basedir, BUILD_PROPERTIES );
- readProperties( project, build );
- }
- else
- {
- readProperties( project, m_file );
- }
+ final File build = Context.getFile( basedir, BUILD_PROPERTIES );
+ readProperties( project, build );
}
private void readProperties( final Project project, final File file ) throws BuildException
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Definition.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Definition.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Definition.java Wed Jul 7 08:34:38 2004
@@ -17,8 +17,6 @@
package org.apache.avalon.tools.model;
-import org.apache.tools.ant.Project;
-
import java.io.File;
/**
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Gump.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Gump.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Gump.java Wed Jul 7 08:34:38 2004
@@ -17,8 +17,6 @@
package org.apache.avalon.tools.model;
-import org.apache.tools.ant.BuildException;
-
/**
* An immutable data object holding supplimentary information required for
* the creation fo gump project defintions.
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Home.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Home.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Home.java Wed Jul 7 08:34:38 2004
@@ -18,12 +18,8 @@
package org.apache.avalon.tools.model;
import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildListener;
-import org.apache.tools.ant.Task;
import org.apache.tools.ant.Location;
import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.Get;
-import org.apache.tools.ant.taskdefs.Property;
import org.apache.tools.ant.types.DataType;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;
@@ -33,11 +29,9 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.FileNotFoundException;
-import java.io.FileInputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.Hashtable;
-import java.util.Date;
/**
* A Home is an immutable data object that aggregates a suite of buildable
@@ -339,14 +333,6 @@
final File anchor = source.getParentFile();
buildLocalList( anchor, elements );
}
- else if( "project".equals( rootElementName ) )
- {
- //
- // its probably a maven project definition
- //
-
- buildFromMavenProject( source, root );
- }
else
{
final String error =
@@ -542,22 +528,6 @@
"resource".equals( tag )
|| "project".equals( tag )
|| "plugin".equals( tag ) );
- }
-
- /**
- * Create a magic index from a maven project file.
- * @param root the root DOM element of the maven project file
- */
- private void buildFromMavenProject( File file, Element root )
- {
- //
- // maven uses the notion of project inheritance which is
- // functionally equivalent to magic's index inclusion
- // .. so the first step is to resolve the any project
- // that the target project extends
- //
-
- throw new UnsupportedOperationException();
}
/*
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Magic.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Magic.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Magic.java Wed Jul 7 08:34:38 2004
@@ -18,20 +18,14 @@
package org.apache.avalon.tools.model;
import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildListener;
-import org.apache.tools.ant.Task;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Property;
import org.apache.tools.ant.taskdefs.optional.net.SetProxy;
import org.apache.tools.ant.types.DataType;
-import org.w3c.dom.Element;
import java.io.File;
-import java.io.IOException;
import java.io.FileNotFoundException;
import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Map;
import java.util.StringTokenizer;
/**
@@ -139,7 +133,7 @@
private final File m_system;
private final Repository m_main;
private final Repository m_docs;
- private final Map m_homes = new Hashtable();
+ //private final Map m_homes = new Hashtable();
//-------------------------------------------------------------
// constructor
@@ -167,12 +161,12 @@
project.setNewProperty( CACHE_KEY, "main" );
final String cachePath = project.getProperty( CACHE_KEY );
final File main = Context.getFile( m_system, cachePath );
- m_main = new Repository( project, main, hosts );
+ m_main = new Repository( main, hosts );
project.setNewProperty( DOCS_KEY, "docs" );
final String docsPath = project.getProperty( DOCS_KEY );
final File docs = Context.getFile( m_system, docsPath );
- m_docs = new Repository( project, docs, hosts );
+ m_docs = new Repository( docs, hosts );
setupProxy( project );
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/MagicPath.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/MagicPath.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/MagicPath.java Wed Jul 7 08:34:38 2004
@@ -21,9 +21,6 @@
import org.apache.tools.ant.Project;
import org.apache.tools.ant.types.Path;
-import java.io.File;
-import java.io.IOException;
-
/**
* An ant datatype that represent a typical ant path created using
* transitive magic dependencies.
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Repository.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Repository.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Repository.java Wed Jul 7 08:34:38 2004
@@ -17,13 +17,7 @@
package org.apache.avalon.tools.model;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-
import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
/**
*
@@ -35,8 +29,7 @@
private final File m_cache;
private final String[] m_hosts;
- public Repository(
- final Project project, final File cache, final String[] hosts )
+ public Repository( final File cache, final String[] hosts )
{
if( null == cache )
{
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Resource.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Resource.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Resource.java Wed Jul 7 08:34:38 2004
@@ -36,6 +36,25 @@
*/
public class Resource
{
+ /**
+ * Return the gump key for the resource taking into consideration any alias declared under
+ * the resource definition.
+ * @param resource the resource from which to return the key
+ * @return the resource key
+ */
+ public static String getKeyForResource( Resource resource )
+ {
+ final String alias = resource.getGump().getAlias();
+ if( null != alias )
+ {
+ return alias;
+ }
+ else
+ {
+ return resource.getKey();
+ }
+ }
+
private static final ResourceRef[] EMPTY_REFS = new ResourceRef[0];
private final String m_key;
@@ -92,10 +111,6 @@
return (ResourceRef[]) list.toArray( new ResourceRef[0] );
}
- // TODO - multiple refs for the same key can be returned here because
- // different projects are making different dependency assumptions - some
- // optimization is need to eliminate duplicates
-
protected void getResourceRefs(
final Project project, final List list, final int mode, final int tag, final boolean flag )
{
@@ -158,7 +173,7 @@
{
final String error =
"Resource defintion " + this + " contains a unknown resource reference ["
- + ure.getKey() + "].";
+ + ure.getKey() + "] (referenced by project '" + project.getName() + "'.";
throw new BuildException( error );
}
}
@@ -210,18 +225,6 @@
}
}
- private String getKeyForResource( Resource resource )
- {
- final String alias = resource.getGump().getAlias();
- if( null != alias )
- {
- return alias;
- }
- else
- {
- return resource.getKey();
- }
- }
private File get( final Project project, final File target, final String path )
{
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/XMLDefinitionBuilder.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/XMLDefinitionBuilder.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/XMLDefinitionBuilder.java Wed Jul 7 08:34:38 2004
@@ -230,7 +230,7 @@
final Element child = children[i];
final String key = child.getAttribute( "key" );
final int tag = ResourceRef.getCategory( child.getAttribute( "tag" ) );
- final Policy policy = createPolicy( child, false, false, false );
+ final Policy policy = createPolicy( child, false, false );
refs[i] = new ResourceRef( key, policy, tag );
}
return refs;
@@ -238,11 +238,11 @@
private static Policy createPolicy( final Element element )
{
- return createPolicy( element, true, true, true );
+ return createPolicy( element, true, true );
}
private static Policy createPolicy(
- final Element element, final boolean defBuild, final boolean defTest, final boolean defRuntime )
+ final Element element, final boolean defBuild, final boolean defTest )
{
final boolean build =
ElementHelper.getBooleanAttribute( element, "build", defBuild );
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/AbstractDeliverableTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/AbstractDeliverableTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/AbstractDeliverableTask.java Wed Jul 7 08:34:38 2004
@@ -24,7 +24,6 @@
import org.apache.avalon.tools.model.Home;
import java.io.File;
-import java.io.IOException;
/**
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/BarTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/BarTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/BarTask.java Wed Jul 7 08:34:38 2004
@@ -25,7 +25,6 @@
import org.apache.tools.ant.types.FileSet;
import java.io.File;
-import java.io.IOException;
/**
* Load a goal.
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 Jul 7 08:34:38 2004
@@ -20,19 +20,9 @@
import org.apache.tools.ant.BuildException;
import org.apache.avalon.tools.model.Definition;
-import org.apache.avalon.tools.model.ResourceRef;
-import org.apache.avalon.tools.model.Info;
-import org.apache.avalon.tools.model.Resource;
-import org.apache.avalon.tools.model.Plugin.ListenerDef;
-import org.apache.avalon.tools.model.Plugin.TaskDef;
-import org.apache.avalon.tools.model.Plugin;
-import org.apache.avalon.tools.model.Policy;
import java.io.IOException;
-import java.io.OutputStream;
-import java.io.FileOutputStream;
import java.io.File;
-import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.List;
import java.util.ArrayList;
@@ -428,7 +418,7 @@
private File getEmbeddedRoot( String target )
{
- if( MAIN.equals( m_target ) )
+ if( MAIN.equals( target ) )
{
return getContext().getClassesDirectory();
}
@@ -495,8 +485,6 @@
protected void writeContainer( final String pad, final Writer writer, final Definition def )
throws IOException
{
- final Info info = def.getInfo();
-
writer.write( "\n\n" + pad + "<container name=\"" + getName( def ) + "\">" );
if( null != m_service )
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/DeclareTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/DeclareTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/DeclareTask.java Wed Jul 7 08:34:38 2004
@@ -33,8 +33,6 @@
import java.io.File;
import java.io.OutputStreamWriter;
import java.io.Writer;
-import java.util.List;
-import java.util.ArrayList;
/**
* Create meta-data for a plugin.
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/FilterTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/FilterTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/FilterTask.java Wed Jul 7 08:34:38 2004
@@ -20,7 +20,6 @@
import java.io.File;
import org.apache.avalon.tools.model.Definition;
-import org.apache.avalon.tools.model.Policy;
import org.apache.avalon.tools.model.Resource;
import org.apache.avalon.tools.model.ResourceRef;
import org.apache.avalon.tools.model.MagicPath;
@@ -182,6 +181,7 @@
String root = cache.toString();
MagicPath path = new MagicPath( getProject() );
path.setMode( "RUNTIME" );
+ path.setKey( def.getKey() );
String sequence = path.toString();
String[] translation = Path.translatePath( getProject(), sequence );
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/GumpTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/GumpTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/GumpTask.java Wed Jul 7 08:34:38 2004
@@ -465,7 +465,7 @@
"\n <!-- external references -->" );
}
String key = resource.getKey();
- String alias = getKeyForResource( resource );
+ String alias = Resource.getKeyForResource( resource );
writer.write(
"\n <depend property=\"gump.resource." + key
+ "\" project=\"" + alias + "\"" );
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/HomeTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/HomeTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/HomeTask.java Wed Jul 7 08:34:38 2004
@@ -17,16 +17,13 @@
package org.apache.avalon.tools.tasks;
-import org.apache.avalon.tools.model.Context;
import org.apache.avalon.tools.model.Definition;
import org.apache.avalon.tools.model.Info;
import org.apache.avalon.tools.model.Home;
import org.apache.avalon.tools.model.Magic;
-import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import java.io.File;
-import java.io.FileNotFoundException;
/**
* Load a goal.
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 Jul 7 08:34:38 2004
@@ -67,9 +67,7 @@
private static final String ERROR_KEY = "project.test.error";
private static final String FAILURE_KEY = "project.test.failure";
- private File m_test;
-
- public void init() throws BuildException
+ public void init() throws BuildException
{
if( !isInitialized() )
{
@@ -81,8 +79,6 @@
project.setNewProperty( TEST_ENV_KEY, "" + TEST_ENV_VALUE );
project.setNewProperty( HALT_ON_ERROR_KEY, "" + HALT_ON_ERROR_VALUE );
project.setNewProperty( HALT_ON_FAILURE_KEY, "" + HALT_ON_FAILURE_VALUE );
-
- m_test = getContext().getTestDirectory();
}
}
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JarTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JarTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JarTask.java Wed Jul 7 08:34:38 2004
@@ -24,7 +24,6 @@
import org.apache.tools.ant.taskdefs.ManifestException;
import java.io.File;
-import java.io.IOException;
/**
* Load a goal.
@@ -108,11 +107,13 @@
if( null != def.getInfo().getVersion() )
{
- // TODO: validate that the version is a dewy version
+ // TODO: add the declaration of the spec version
+ // to the Info object and validate that it is a
+ // a dewey decimal
- addAttribute(
+ addAttribute(
main, "Specification-Version",
- def.getInfo().getVersion() );
+ "0.0.0" );
}
else
{
@@ -125,10 +126,9 @@
main, "Implementation-Vendor-Id",
"org.apache.avalon" );
- // TODO: get a real implementation version id
-
addAttribute(
- main, "Implementation-Version", "UNKNOWN" );
+ main, "Implementation-Version",
+ def.getInfo().getVersion() );
final String classpath = getProject().getProperty( JAR_CLASSPATH_KEY );
if( null != classpath )
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ReactorTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ReactorTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ReactorTask.java Wed Jul 7 08:34:38 2004
@@ -26,18 +26,11 @@
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Ant;
import org.apache.tools.ant.taskdefs.Sequential;
-import org.apache.tools.ant.types.DirSet;
-import org.apache.tools.ant.types.FileList;
-import org.apache.tools.ant.types.FileSet;
-import org.apache.tools.ant.types.Path;
import java.io.File;
-import java.io.FileInputStream;
import java.io.IOException;
-import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
-import java.util.Properties;
/**
@@ -271,11 +264,6 @@
{
throw new BuildException( ioe );
}
- }
-
- private Context getContext()
- {
- return m_context;
}
private Home getHome()
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ReplicateTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ReplicateTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ReplicateTask.java Wed Jul 7 08:34:38 2004
@@ -18,30 +18,17 @@
package org.apache.avalon.tools.tasks;
import org.apache.avalon.tools.model.Context;
-import org.apache.avalon.tools.model.Definition;
-import org.apache.avalon.tools.model.ResourceRef;
import org.apache.avalon.tools.model.Home;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.Ant;
-import org.apache.tools.ant.taskdefs.Sequential;
-import org.apache.tools.ant.types.DirSet;
-import org.apache.tools.ant.types.FileList;
import org.apache.tools.ant.types.FileSet;
import org.apache.tools.ant.types.Path;
import org.apache.tools.ant.taskdefs.Copy;
-import org.apache.tools.ant.types.FileSet;
import org.apache.tools.ant.taskdefs.Mkdir;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
/**
@@ -52,9 +39,6 @@
*/
public class ReplicateTask extends Task
{
- private static final String BANNER =
- "------------------------------------------------------------------------";
-
private File m_todir;
private String m_id;
private Context m_context;
@@ -176,11 +160,6 @@
mkdir.setDir( dir );
mkdir.init();
mkdir.execute();
- }
-
- private Context getContext()
- {
- return m_context;
}
private Home getHome()
Added: avalon/trunk/tools/magic/src/test/org/apache/avalon/tools/model/test/ContextTestCase.java
==============================================================================
--- (empty file)
+++ avalon/trunk/tools/magic/src/test/org/apache/avalon/tools/model/test/ContextTestCase.java Wed Jul 7 08:34:38 2004
@@ -0,0 +1,259 @@
+/*
+ * Copyright 2004 Apache Software Foundation
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ *
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.avalon.tools.model.test;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.avalon.tools.model.Context;
+
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.BuildException;
+
+
+/**
+ * ContextTestCase.
+ *
+ * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
+ * @version CVS $ Revision: 1.1 $
+ */
+public class ContextTestCase extends TestCase
+{
+ private Context m_context;
+
+ public void setUp()
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ m_context = Context.getContext( project );
+ }
+
+ public ContextTestCase ( String name )
+ {
+ super( name );
+ }
+
+ public void testCanonicalFile() throws Exception
+ {
+ File abc = new File( "abc" );
+ File xyz = new File( abc, "xyz" );
+ File canonical = Context.getFile( new File( "abc" ), "xyz" );
+ String path = canonical.toString();
+ String alt = xyz.getCanonicalPath();
+ assertEquals( path, alt );
+ }
+
+ public void testCanonicalFileWithCreation() throws Exception
+ {
+ File test = new File( System.getProperty( "project.dir" ));
+ File file = Context.getFile( test, "junk/abc", true );
+ assertTrue( file.getParentFile().exists() );
+ }
+
+ public void testSignature() throws Exception
+ {
+ String signature = Context.getSignature();
+ assertEquals( 15, signature.length() );
+ assertEquals( 8, signature.indexOf( "." ) );
+ }
+
+ public void testDefaultKey() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ String key = context.getKey();
+ assertTrue( "test".equals( key ) );
+ }
+
+ public void testKeyFromProperty() throws Exception
+ {
+ Project project = new Project();
+ project.setProperty( "project.key", "xyz" );
+ Context context = Context.getContext( project );
+ String key = context.getKey();
+ assertTrue( "xyz".equals( key ) );
+ }
+
+ public void testSrcDirectory() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ File test = context.getSrcDirectory();
+ File dir = new File( System.getProperty( "user.dir" ) );
+ File src = new File( dir, "src" );
+ assertEquals( src, test );
+ }
+
+ public void testEtcDirectory() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ File test = context.getEtcDirectory();
+ File dir = new File( System.getProperty( "user.dir" ) );
+ File etc = new File( dir, "etc" );
+ assertEquals( etc, test );
+ }
+
+ public void testBuildDirectory() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ File test = context.getBuildDirectory();
+ File dir = new File( System.getProperty( "user.dir" ) );
+ File target = new File( dir, "target" );
+ File build = new File( target, "build" );
+ assertEquals( build, test );
+ }
+
+ public void testTargetDirectory() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ File test = context.getTargetDirectory();
+ File dir = new File( System.getProperty( "user.dir" ) );
+ File target = new File( dir, "target" );
+ assertEquals( target, test );
+ }
+
+ public void testDeliverablesDirectory() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ File test = context.getDeliverablesDirectory();
+ File dir = new File( System.getProperty( "user.dir" ) );
+ File target = new File( dir, "target" );
+ File deliverables = new File( target, "deliverables" );
+ assertEquals( deliverables, test );
+ }
+
+ public void testClassesDirectory() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ File test = context.getClassesDirectory();
+ File dir = new File( System.getProperty( "user.dir" ) );
+ File target = new File( dir, "target" );
+ File classes = new File( target, "classes" );
+ assertEquals( classes, test );
+ }
+
+ public void testTestClassesDirectory() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ File test = context.getTestClassesDirectory();
+ File dir = new File( System.getProperty( "user.dir" ) );
+ File target = new File( dir, "target" );
+ File classes = new File( target, "test-classes" );
+ assertEquals( classes, test );
+ }
+
+ public void testTestReportsDirectory() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ File test = context.getTestReportsDirectory();
+ File dir = new File( System.getProperty( "user.dir" ) );
+ File target = new File( dir, "target" );
+ File reports = new File( target, "test-reports" );
+ assertEquals( reports, test );
+ }
+
+ public void testTempDirectory() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ File test = context.getTempDirectory();
+ File dir = new File( System.getProperty( "user.dir" ) );
+ File target = new File( dir, "target" );
+ File temp = new File( target, "temp" );
+ assertEquals( temp, test );
+ }
+
+ public void testTestDirectory() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ File test = context.getTestDirectory();
+ File dir = new File( System.getProperty( "user.dir" ) );
+ File target = new File( dir, "target" );
+ File testDir = new File( target, "test" );
+ assertEquals( testDir, test );
+ }
+
+ public void testDocsDirectory() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ File test = context.getDocsDirectory();
+ File dir = new File( System.getProperty( "user.dir" ) );
+ File target = new File( dir, "target" );
+ File docs = new File( target, "docs" );
+ assertEquals( docs, test );
+ }
+
+ public void testPathReservation() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ File dir = context.setBuildPath( "key", "gizmo" );
+ File reserved = context.getBuildPath( "key" );
+ assertEquals( dir, reserved );
+ }
+
+ public void testImplicitPathReservation() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ File dir = context.setBuildPath( "gizmo" );
+ File reserved = context.getBuildPath( "gizmo" );
+ assertEquals( dir, reserved );
+ }
+
+ public void testDuplicatePathReservation() throws Exception
+ {
+ Project project = new Project();
+ project.setName( "test" );
+ Context context = Context.getContext( project );
+ File dir = context.setBuildPath( "key", "gizmo" );
+ try
+ {
+ context.setBuildPath( "key", "widget" );
+ fail( "build path reservation failed" );
+ }
+ catch( BuildException be )
+ {
+ // expected
+ }
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org