Directory proposal/sandbox/embed/

Directory Created:
2002-02-22 23:28
Directory Deleted:
2002-10-04 22:16
Total Files:
0
Deleted Files:
18
Lines of Code:
0

Browse with ViewVC

[root]/proposal/sandbox/embed

Lines of Code

proposal/sandbox/embed/ Lines of Code

Developers

Author Changes Lines of Code Lines per Change
costin 67 (100.0%) 2632 (100.0%) 39.2

Most Recent Commits

costin 2002-10-04 22:16

Remove the old embed proposal.

0 lines of code changed in:

costin 2002-07-24 23:00

Added a bit more info :-)



The next major step for this will be a set of hooks to allow ant to

be more JMX friendly - one very straightforward way to embed ant

is by using MBeans to represent the components.



In addition ant should be able to use MBeans as tasks and in

the build process.

27 lines of code changed in:

  • proposal/sandbox/embed: README (+27 -1)
costin 2002-07-24 22:18

Finally, make all AntHandlers 'stateless' and make sure all the state is in

AntContext.



Started the cleanup process.



The reason for 'stateless' model is not performance, but having a cleaner

model. It is very hard to track things on the stack or in different

handlers.



The next major step will be to try to reorganize the DataType/Task/UnknownTask

creation.



So far all features ( sax2, import, dynamic prop, classloader ) seem to work

fine with 1.5 - at least on all projects I'm working on.

157 lines of code changed in:

costin 2002-07-20 02:39

A bit of cleanup, remove duplicated code.



Implement the 'projectName.target' instead of super. I'm still trying

to find a way to allow Import task to hook in and support whatever

policy it wants.

141 lines of code changed in:

costin 2002-07-19 19:37

Improve debugging ( to find the super. problems with import ).

Smaller fixes.

29 lines of code changed in:

costin 2002-07-19 18:10

Implement the change in handling the top-level target before

executing other targets ( which is closer to the original

behavior ).



Import started to work a bit - but it complain about

circular dep on super.mb2, still investigating.

3 lines of code changed in:

costin 2002-07-19 18:02

Import task, first version.

5 lines of code changed in:

costin 2002-07-19 18:02

Added import-related info to AntXmlContext.

Made few fields public - the whole thing will be refactored with

proper getter/setters after things are stable.



Added import processing ( the patch was modified a bit ).

193 lines of code changed in:

costin 2002-07-18 20:47

Merged all the changes from ProjectHelper.



The only thing not merged is 'description' - I would rather add a

'description' task, it's cleaner.

45 lines of code changed in:

costin 2002-07-16 22:17

First version of the <systemPath>.



You need to include ant-sax2.jar in ant/lib, define a <path id='foo'> that includes

all the jars that you need ( junit.jar, etc ) and then use

<systemPath pathRef='foo' /> to create the loader and reload all optional tasks.



After this step all optional tasks will work in the same way as if you have

included the jars from the <path> definition in ant/lib.



I did some basic tests and seems to work fine - note that <taskdef> will

work as before, i.e. if you explicitely define tasks that need optional

jars ( or redefine optional task ), you'll have the old behavior ( i.e.

require things in CLASSPATH ).



I'll try to find what changes are need for <import> and re-do the build

for ant-sax2, then do more testings.

14 lines of code changed in:

costin 2002-07-14 01:15

A small refactoring, getting to a more 'real' interface for the dynamic

properties.



This is not final, of course.



PropertyHelper will implement all property manipulation. Eventually in

ant1.6 the static methods in various places should just wrap and

call this. In 1.6 the property storage can also be migrated to this

class.



It should be possible by a task or embedding application to replace

the whole mechanism - no need for discovery on this one, it can be

done by a task.



The PropertyInterceptor will be used to plug different sources

for the property. I'm thinking to just have tasks/types implementing

this interface automatically get registered - it's the simpler

solution for tasks developers ( I think ).

16 lines of code changed in:

costin 2002-07-13 16:46

Initial attempt to fix the optional.jar ( for 1.5+ ). The ProjectHelper

will replace all optional tasks, using an AntClassLoader to load

( delegation disabled for the optional package ).



Next step is to add a task that adds jars to the loader for optional.

( like junit.jar, etc ).

42 lines of code changed in:

costin 2002-05-17 23:12

Fixes, build file, get it to work.

25 lines of code changed in:

costin 2002-05-17 21:26

Small update to the SAX2 reader - use a class that extends RuntimeConfigurable

and supports SAX2 attributes.



In addition, the property substitution has few enhancements: if the

property name is not found and it has a special syntax we'll use the

references to compute a value.



This is work in progress, but the intention is to support dom: syntax

for selecting nodes ( similar with XmlProperties, but using 'life'

DOM tree ) and bean: to use getters on the tasks/objects in the reference

table.

147 lines of code changed in:

costin 2002-03-06 16:43

First draft for the 'TaskFactory' hook.



The goal is to make Task/DataType ( or any other ProjectComponent ) creation more modular

and flexible.

0 lines of code changed in:

costin 2002-03-05 21:53

Another version of the SAX2-based project helper ( I can revert back

to the first one, and redo the fixes ).



I fixed the inner class problems, fixed the Attributes->AttributeList conversion.



I also turned the processing from 'implicit' recursive to an explicit

stack. The model is identical with the one used by Axis, and it's much

cleaner and easier to maintain/extend/etc.



Again, I can move back to the first one if anyone has a problem with this

change. I think it's a very good one, but may be too much.

317 lines of code changed in:

costin 2002-03-05 21:03

Jikes ( and gcj ) have some problems dealing with internal non-static classes.



The compiler is required to 'rewrite' the code, removing 'private' and

adding an extra parameter ( try to decompile ProjectHelper and look

at method signatures ). While standard javac seem to work fine, I had

problems with many other compilers ( usually gcj, but now jikes is

complaining as well ).



I manually did what the compiler would do - now it should work

with any compiler.



( the runtime exception was a "Verifier error, expecting object/array on stack" )



I'll do the same thing for the SAX2 helper.

107 lines of code changed in:

costin 2002-03-05 06:46

Quick change to ProjectHelperImpl to use SAX2.



Note that it already had dependencies on SAX2 interfaces, but the original

helper worked with SAX1 parsers too. This one will only work with SAX2.



IMHO SAX2 should be the default, and the old one should be kept

around for backward compat or special cases.



The parser is not using the namespace in any way - it'll use the

RoleFactory plugin to allow use of the namespace in task creation.

331 lines of code changed in:

costin 2002-03-05 05:50

Updated ProjectHelper.



I used the current sources ( with the new comments), and reimplemented

all changes.



The current version doesn't have anything related with the other proposals,

and is functionally equivalent with the old ProjectHelper - except it's

cleaner ( all private and SAX code moved to the helper imple ).



I created a new package, o.a.t.ant.helper to keep the core cleaner -

other helpers may be commited.



The SAX2 based helper is easy to write, but depends on few improvements

on RoleFactory ( createTask with namespace support, etc ).

I'm working on a new implementation of the task factory, with support

for data types and other roles - but that's another story.

731 lines of code changed in:

costin 2002-02-27 06:56

Added the TaskFactory and modified Project.



This is not organized as a 'project' - the files here needs to replace

the ones in the main tree. I'll probably import the rest of the core

and make it a standalone replacement, so it's easy to review.



The goals are to:

- make ant more 'embeddable'

- integrate it better in other tools

- support SAX2 and namespaces

- support pluggable behavior for the XML reader

- support pluggable task factories - the factory will have full control

over the class loader

- better support and integration with existing java beans.



All that while maintaining full compatibility with ant1.4 - all

the code here is just an additional set of hooks, with the previous

behavior preserved and remaining as default.



Eventually this can be refactored into a standalone component

that will implement a task engine for ant1.x.

26 lines of code changed in:

(1 more)

Generated by StatSVN 0.3.2-SNAPSHOT