[root]/proposal/myrmidon/src/test/org/apache/myrmidon
components
(0 files, 0 lines)
builder
(0 files, 0 lines)
test
(0 files, 0 lines)
classloader
(0 files, 0 lines)
test
(0 files, 0 lines)
libs
(0 files, 0 lines)
extn
(0 files, 0 lines)
shared
(0 files, 0 lines)
unshared
(0 files, 0 lines)
configurer
(0 files, 0 lines)
data
(0 files, 0 lines)
test
(0 files, 0 lines)
data
(0 files, 0 lines)
deployer
(0 files, 0 lines)
test
(0 files, 0 lines)
embeddor
(0 files, 0 lines)
test
(0 files, 0 lines)
property
(0 files, 0 lines)
test
(0 files, 0 lines)
role
(0 files, 0 lines)
test
(0 files, 0 lines)
service
(0 files, 0 lines)
test
(0 files, 0 lines)
workspace
(0 files, 0 lines)
framework
(0 files, 0 lines)
conditions
(0 files, 0 lines)
test
(0 files, 0 lines)
file
(0 files, 0 lines)
test
(0 files, 0 lines)
interfaces
(0 files, 0 lines)
model
(0 files, 0 lines)
test
(0 files, 0 lines)
type
(0 files, 0 lines)
test
(0 files, 0 lines)
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 36 (100.0%) | 513 (100.0%) | 14.2 |
adammurdoch | 23 (63.9%) | 366 (71.3%) | 15.9 |
donaldp | 13 (36.1%) | 147 (28.7%) | 11.3 |
zappity zap
0 lines of code changed in:
Renamed DependencyMetricsTest -> DependencyMetricsTestCase, so that it gets run.
0 lines of code changed in:
VFS Additions:
* Added FileSelector, which allows files to be chosen when doing recursive
operations. Added a couple of implementations. Added a selector parameter
to FileObject.delete() and copy().
* Added FileObject.replicateFile(), which converts a FileObject into a local File.
* Moved replication code out of the Zip provider, into a shared FileReplicator
component. The implemenation is pretty brain-dead, but at very least should
properly clean up temporary files in ant_vfs_cache. Also, local files will
no longer be replicated, but used directly.
* Added FileName.getRelativeName(), and NameScope.DESCENDENT_OR_SELF.
* Now handles providers which are LogEnabled and Disposable.
* Made the local file provider pluggable.
* Providers are now responsible for thier own caching.
* FTP and Zip providers clean up properly. Fixed FTP directory delete.
24 lines of code changed in:
ClassLoader hierarchy changes:
* Use multi-parent ClassLoaders for antlibs and extensions, so that each
extension jar is loaded by a single ClassLoader in the hierarchy. Allows
classes from extensions to be shared across dependent antlibs and extensions.
* Changed contract of ClassLoaderManager.createClassLoader( File[] ), so that
it creates a new ClassLoader each time it is called.
* Changed ExtensionManager, so that it no longer extends PackageRepository.
* Added a few test cases for DefaultClassLoaderManager.
* Moved responsibility for checking myrmidon.home and building the various paths,
from DefaultEmbeddor and DefaultExtensionManager to EmbeddedAnt. Use the
platform path separator for the paths, rather than the | char.
* Use EmbeddedAnt in AbstractProjectTest, rather than using an Embeddor directly.
* AbstractComponentTest was not parameterising or initialising the test
components.
47 lines of code changed in:
Condition changes:
* Split <is-set> into <is-set> and <is-true> conditions. <is-true> uses the
converter to determine whether something is 'true', so is a little fussy.
* Moved <uptodate> and <equals> into antlib, and made <uptodate> a condition.
* Added <type-available> condition, which checks whether a particular
type is defined.
* Fixed <not> to actually work.
* Added test cases for some of the conditions.
2 lines of code changed in:
* Migrated all tests into packages other than the one they are testing. The reason for this is that all the tests are BlackBox, using public APIs and there is no reason to have the testcases in the same package as the actual code. Thus all test code is in a sub-package from the code it actually tests.
ie Test code for package foo is located in package foo.test
* Migrated all the test data into the same hierarchy so that there is only one place where you have to look for test data.
This required that resource retrieval be hackled a little because no longer in same package as tested code/
33 lines of code changed in:
TypeManager changes:
* Reverted TypeManager to reference roles by name, rather than type.
* DefaultTypeManager now uses the RoleManager to determine a role's type, to
use for doing instanceof checks.
* DefaultMasterConverter, InstantiatingServiceManager, and VfsManager no
longer look up a TypeFactory in their service() method.
* Added ROLE field to several interfaces.
16 lines of code changed in:
Project Model:
* Removed "if" and "unless" conditions from targets.
* Moved parsing of "project->target" dependencies out of DefaultWorkspace,
into DefaultProjectBuilder.
* DefaultWorkspace now detects cycles in the target dependency graph.
* DefaultWorkspace now executes the implicit target for referenced projects.
* Changes to DefaultProjectBuilder error reporting.
* Added a few more test cases for DefaultProjectBuilder.
Unit Tests:
* Moved AbstractComponentTest.getLogger() up to AbstractMyrmidonTest.
* Removed AbstractComponentTest.setup(). Components are now created on demand.
* Use BasicLogger in unit tests.
46 lines of code changed in:
Test case testNoComponentImplSharing was checking the wrong set of packages.
41 lines of code changed in:
Comment out test while the evolution of ant1 -> myrmidon continues
2 lines of code changed in:
Fix exception checking in unit tests.
3 lines of code changed in:
restyle via IDEA
14 lines of code changed in:
Changes to <property>:
* No longer implements Configurable, uses a set() method instead.
* The property value can be included as the text content of
the <property> element.
* Added test-cases.
* Added some alternative executeTarget() methods to
AbstractProjectTest, to expect a particular set of log messages,
or a particular failure.
71 lines of code changed in:
Replaced usage of Avalon Context with Myrmidon specific Context:
* Moved read-only property and resolve methods from TaskContext to new Context
interface. TaskContext now extends the new Context interface.
* Changed the Configurer methods to use the new Context. Both implementations
use the supplied Context to do property resolution.
* Renamed TaskContext.getPropertys() -> getProperties().
* Moved PropertyUtil from configurer to workspace package, as that is now
the only place it is used.
* Changed PropertyUtil to work with the new Context.
RoleManager:
* A default implementation for a role can now be specified. Currently
can only do this programatically.
DefaultMasterConverter:
* Removed MasterConverter interface. It is now identified by the Converter
role.
* Now caches the converter instances.
* Changed the converter search algorithm to traverse the *source* class
hierarchy, including all interfaces. Chooses the most specialised
conversion, and fails if there is more than one such choice.
DefaultConfigurer:
* Attempts to convert references, if the type does not match the expected type.
* Changed handling of nested elements, for named adders/setters:
* If the method type can be mapped to a role, and that role has a default
implementation, then use that default implementation.
* Otherwise, if the method type is an interface, fail.
* Otherwise, create an instance using no-args constructor.
* Changed handling of nested elements, for typed adders/setters:
* If the method type can be mapped to a role, and the element name is
a type of that role, then use that role to create the instance.
* Otherwise, use the type factory for the generic data-type role.
* Attempt to convert the instance if it is not of the expected type.
* Added a bunch of test cases for new functionality.
* Renamed all the ConfigTest classes to have descriptive names.
Misc:
* Renamed package framework.factorys -> framework.factories.
* Made tests work when fork = false.
3 lines of code changed in:
Removed AntServiceManager:
* Renamed DefaultAntServiceManager to InstantiatingServiceManager. This
implementation now sets-up the service factories and service instances
(log enable, service, parameterise, initialise).
* Rearranged the service heirarchy, so that services deployed from a
service descriptor are visible in the root context (passed to workspaces
and project builders).
* Service factories are registered using the role name, not the role class name.
* Added unit tests for InstantiatingServiceManager.
Changes to DefaultConfigurer error messages:
* All exceptions thrown by DefaultConfigurer indicate which configuration
element the error happened in.
* Updated DefaultConfigurer test cases, to check nested error messages
where appropriate.
24 lines of code changed in:
* Added AbstractProjectTest, which allows a sub-class test case to execute
targets from project files.
* AbstractMyrmidonTest.getTestResource() now asserts that the resource exists.
5 lines of code changed in:
* Added test cases for DefaultEmbeddor.
* Target start and finish events are now fired for a project's implicit target.
* Unit tests now run against a dummy myrmidon install.
* Tidy-up some error messages.
81 lines of code changed in:
Changes to DefaultDeployer:
* Got rid of <converters> element from antlib descriptor. Converters are
now defined in the <types> element.
* Moved (most of) the role-specific knowledge from Deployment back to DefaultDeployer.
* Split out ClassLoader management into DefaultClassLoaderManager. This is
living in the deployer package for now.
* Tidied-up the component set-up and clean-up in DefaultEmbeddor. Added
the ClassLoaderManager component.
* Added test for TypeDeployer.deployAll().
Changes to unit tests:
* Added AbstractMyrmidonTest, which takes care of locating test resources.
* Changed the VFS, type factory, and deployer tests to use AbstractMyrmidonTest.
3 lines of code changed in:
Refactored dependecy tests so that myrmidon can not depend on antlib or the old ant tree.
72 lines of code changed in:
Add in a unit test that validates the dependency relationships between different packages.
26 lines of code changed in: