[root]/proposal/myrmidon/src/java/org/apache/myrmidon/components/classloader
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 14 (100.0%) | 302 (100.0%) | 21.5 |
adammurdoch | 9 (64.3%) | 300 (99.3%) | 33.3 |
donaldp | 4 (28.6%) | 1 (0.3%) | 0.2 |
darrell | 1 (7.1%) | 1 (0.3%) | 1.0 |
zappity zap
0 lines of code changed in:
Changed container config from Parameters to Context, to allow Objects to
be used in the config:
* All services that used to implement Parameterizable now implement Contextualizable.
* Changed 'myrmidon.home' to a File, and the paths to File[].
* DefaultEmbeddor now deploys Antlibs from all directories in 'myrmidon.lib.path',
rather than just a single dir. Can't specify alternative service
implementations (temporarily broken).
* Added 'myrmidon.antlib.path', which DefaultWorkspace uses to search for <import>-ed
antlibs.
* Replaced --task-lib-dir with --antlib-path, which appends directories to
'myrmidon.antlib.path'
* Added --ext-path, which appends directories to 'myrmidon.ext.path'.
* DefaultClassLoaderManager now uses the container config to locate the shared
classloader, rather than using the context classloader.
9 lines of code changed in:
* Split up todo.types.PathUtil.
- Moved generic formatting to aut.nativelib.PathUtil.
- Moved FileList util methods to framework.file.FileListUtil.
- Moved addExtDirs() to DefaultCompilerAdaptor.
- myrmidon.components.* no longer depend on todo.*
* Removed all usages of Commandline.toString(), size() and getCommandline(),
excluding Execute.
1 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.
159 lines of code changed in:
final static --> static final to follow JLS recomendations
1 lines of code changed in:
* Added new task <ant-call> to core, which can execute a named target
in the current project, or any referenced project.
* <ant1.ant> now works by executing AntTask.
* Fixed minor bug in DefaultClassloaderManager which was causing NPEs
in URLClassLoader.
* DefaultTaskContext now removes properties when they are set to null.
(rather than throwing a NPE inside HashMap).
1 lines of code changed in:
* Added ClassLoaderManager.createClassLoader( File[] ), to create a
ClassLoader from a class-path.
* Moved responsibility for creation of ClassLoaders out of the tasks, and into
the ClassLoaderManager, which caches them, and resolves extension dependencies.
* Added PathUtil.createClassLoader() convenience method to create a ClassLoader
from a Path.
* Changed the PathUtil methods to use the more general FileList, rather than Path.
* Added 'classpath' attribute to the <*-available> conditions.
82 lines of code changed in:
Move ClassLoaderManager and DefaultClassLoaderManager into their own packages.
49 lines of code changed in: