[root]/proposal/myrmidon/src/java/org/apache/myrmidon/frontends
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 69 (100.0%) | 1181 (100.0%) | 17.1 |
donaldp | 41 (59.4%) | 672 (56.9%) | 16.3 |
adammurdoch | 27 (39.1%) | 486 (41.2%) | 18.0 |
sbailliez | 1 (1.4%) | 23 (1.9%) | 23.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.
89 lines of code changed in:
* Rolled back change to PropertyResolver.resolveProperties(), so that it
uses a TaskContext again. Added some regression tests.
* Changed Embeddor.createWorkspace() to use a Map, rather than a Parameters,
to supply initial workspace properties. Initial properties can be Objects,
rather than only Strings. Got rid of the Object -> String convertion from
<ant> and <antcall>.
* Generalised ExecutionFrame, so that it can represent any execution scope
(root, workspace, project, task, inherited, etc), rather than just task scope:
- Replaced getTaskContext() with getPropertyStore().
- Replaced getTypeManager() with getServiceManager().
* Executor is now responsible for creating TaskContext.
* Changed DefaultExecutor to use the configurer provided by the execution frame.
* Added ExecutionContainer, a lifecycle interface which is used to supply the
root execution frame to a service which executes tasks (directly or indirectly).
* Changed interaction between DefaultEmbeddor and workspaces. Embeddor is now
responsible for creating the base property store for workspaces. ExecutionContainer
is used to pass this to workspaces. Parameterizable is now used to pass
container params to workspaces (which matches how it is used with all the
other services).
5 lines of code changed in:
* Added --type command-line option, which specifies which ProjectBuilder to use.
* Use ConvertingProjectBuilder for .ant files as well as .xml files.
23 lines of code changed in:
Add EOL between error message and stack trace.
2 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.
91 lines of code changed in:
final static --> static final to follow JLS recomendations
25 lines of code changed in:
Include more of the stack trace on error.
1 lines of code changed in:
* Added --debug command-line option.
* Changed --log-level to map logging levels so that they match the TaskContext
log methods.
21 lines of code changed in:
Update javadocs.
5 lines of code changed in:
Actually make this work by toString()ing the embeddor properties
3 lines of code changed in:
Made embeddor not implement the framework lifecycle stages
34 lines of code changed in:
* Use the shared classloader as the parent of antlib classloaders, rather
than using the container classloader.
* DefaultWorkspace and ExecManagerFactory figure out myrmidon.home using
their parameters, rather than using system properties.
* Split embeddor/workspace/project handling code out of CLIMain into a new
EmbeddedAnt helper class. CLIMain is now responsible for setting up the
logger, and command-line option handling. EmbeddedAnt is responsible for
starting the embeddor, building the project, and executing targets (and
cleaning-up). Should make it considerably simpler to embed myrmidon.
82 lines of code changed in:
Constant can be static
2 lines of code changed in:
More refactoring of framework.Execute:
* By default, execute() checks the return code of the process against 0.
This can be changed using setReturnCode() and setIgnoreReturnCode().
* Default working directory is now the project's base directory.
* Tidied up tasks to reflect the new defaults.
AbstractTask:
* Made getBaseDirectory() and getService() protected.
Logging:
* Extracted AbstractLogger out of BasicLogger, and changed RoutingLogger to
extend AbstractLogger, rather than BasicLogger.
* RoutingLogger now uses a wrapped Logger to determine which message types
are enabled, so that it respects the logging level set on the command-line.
Kinda hacky, but better than writing out all the debug messages.
* Changed LoggingExecOutputHandler to use warn log level, rather than info.
Again, a hacky fix to get logging of external command output happening when
not running in verbose mode.
6 lines of code changed in:
Make the output from runtime clearer
1 lines of code changed in:
Remove LogKit dependencies from workspace package by introducing alternate logger implementation to do routing.
2 lines of code changed in:
Make LogKit an optional part not required by default frontend. Replace it with a basic console logger instead
169 lines of code changed in:
* Some fixes to the command-line launcher:
* Was not exiting with non-zero exit code when the build failed.
* Fix the error reporting so that the entire exception chain is reported.
* Only print out stack traces when in verbose or debug mode.
* Wrap all exceptions thrown during task initialisation and execution with
a general 'task failed' exception.
* Another <property> testcase.
110 lines of code changed in:
Wrap block with finally to make sure System.exit is called and with correct exitCode
6 lines of code changed in:
(27 more)