[root]/proposal/myrmidon/src/java/org/apache/myrmidon/api
metadata
(0 files, 0 lines)
metainfo
(0 files, 0 lines)
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 101 (100.0%) | 699 (100.0%) | 6.9 |
donaldp | 87 (86.1%) | 641 (91.7%) | 7.3 |
adammurdoch | 13 (12.9%) | 57 (8.2%) | 4.3 |
ehatcher | 1 (1.0%) | 1 (0.1%) | 1.0 |
zappity zap
0 lines of code changed in:
Made getProeprties() throw an exception on error
2 lines of code changed in:
Update javadocs.
0 lines of code changed in:
Added TaskContext.verbose(), and fixed up the usages of info() and warn().
22 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.
12 lines of code changed in:
Some refactoring of framework.Execute:
* Moved the general-purpose logging and validation code from Exec task to
Execute.
* Removed Execute's constructor, replaced with a TaskContext passed to
Execute.execute().
* If no ExecOutputHandler is provided, Execute routes the process' stdout
and stderr via TaskContext's log methods.
* Removed a bunch of debug messages from tasks, as Execute now takes care of this.
* Replaced a bunch of return code == 0 checks, with calls to
Execute.setReturnCode( 0 ).
0 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.
2 lines of code changed in:
Move the generic log() methods back into LogLevel. The reason for this is to remove yet another Avalon dependency from the api package.
I also think that usage of the log() methods except in really rare circumstances leads to poor programming idioms. Hopefully there will only be a handful of tasks that use it (like <log/>) and thus it is not universal enough to be in the TaskContext.
58 lines of code changed in:
* AbstractTask no longer extends AbstractLogEnabled.
* DefaultExecutor no longer log enables Tasks.
* Added TaskContext.log( LogLevel, ... ) methods.
* Moved LogLevel to myrmidon.api package.
17 lines of code changed in:
Push logging methods into TaskContext.
88 lines of code changed in:
Merge Context back into TaskContext
27 lines of code changed in:
Remove scoping for the time being as it wasn't really being used
0 lines of code changed in:
Decouple exceptions from CascadingException
18 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.
2 lines of code changed in:
Remove unused import
0 lines of code changed in:
add a getPropertys() method to context so that some tasks (like Junit) can grab a *copy* of all the propertys
7 lines of code changed in:
Made the TaskCOntext not extend avalons context interface
1 lines of code changed in:
Inlined a large number of methods from AbstractTask
0 lines of code changed in:
Javadoc fixes.
2 lines of code changed in:
Add version tags
4 lines of code changed in:
(36 more)