Erik, The file antlib/src/main/org/apache/tools/ant/types/DataTypeAdapterTask.java was not checked in. Notice the new directory.
Can someone take a look, thanks Jose Alberto ----- Original Message ----- From: "Erik Hatcher" <[EMAIL PROTECTED]> To: "Ant Developers List" <[EMAIL PROTECTED]> Sent: Monday, February 11, 2002 3:44 AM Subject: Re: Update to Sandbox/antlib > Done. > > Let me know if I did not get it all checked in appropriately. > > Erik > > ----- Original Message ----- > From: "Jose Alberto Fernandez" <[EMAIL PROTECTED]> > To: "Ant Project List" <[EMAIL PROTECTED]> > Sent: Sunday, February 10, 2002 8:57 PM > Subject: Update to Sandbox/antlib > > > Hi, > > here is the first part of my updates to the antlib sandbox, if a committer > could please open the attached jar in the sandbox and checkin all the new > files I would really appreciate. > > Here is an excerpt of what the new code does: > --------------------------------------------------------- > > This is a new implementation of the <antlib> and <antjar> tasks including > the begining of the reconfiguration of some of the internals of ANT. This > first set of changes is just to prove that the internal changes necessary > can be performed in a backward compatible manner, in particular they pass > (except for cosmetic changes) the testcases for ANT. > > This is what I want to accomplish at the end: > > 1) Antlib/antjar allowing the definition of roles. There are two predefined > roles "task" and "datatype". > The meaning of roles is simillar to that of Peter but the way they work (are > declared) is somewhat different. > A role declaration especifies: > > - a name for the role > > - an interface with only one method which is used be the container to add > elements of that particular role. > > - an optional adapter class that can be used to adapt elements to the > signature of the interface. > > The idea is to reduce guessing by forcing the Task writer to indicate which > roles its task supports. As suppose to guess using introspection. This > definitions are consistent with ANT1.x structure by having the following > predefined roles: > > <role name="task" > class="org.apache.tools.ant.TaskContainer" > adapter="org.apache.tools.ant.TaskAdapter" /> > > <role name="datatype" > class="org.apache.tools.ant.TaskContainer" > adapter="org.apache.tools.ant.types.DataTypeAdapterTask" /> > > As you can see the same interface can be used to define multiple roles, and > by using different adapters it is possible to tackle the issue of datatypes > and the TaskContainer. > > 2) A new way of managing classloaders that gives back certain control to the > user. > Each antlib may specify a "loaderid" which identifies the classloader to use > for this library. > All antlibs in a project identified by the same loader-id will be loaded by > the same classloader. > Loaders in subprojects have as a parent ClassLoader the corresponding on the > parent project. > > I think this is a much better arangement, only if we actually have > conflicting packages, do we need to use different classloaders. > > 3) A new SymbolTable scope structure (in resemblace of the ExecutionFrames > in ANT2 proposals). In this way > role declarations can be inherited from one project to the next instead of > being copied. > > There are provisions for backward compatibility that allow people to think > that we are using the old datastrctures although they have changed. > > 4) I am not using the new fnctionality completely. In particular the code > continues to call the old APIs (with their new implementations) in order to > initialize the projects. In my next iinstallment I will move more of the > code to use the new > functionality removing all the special management for tasks and datatypes, > if I can. > > Once those changes are in, we can see how easy would be to rewrite tasks > like <ejbjar> and <condition> to take advantage of this roles. > > BTW, I am willing to talk about the proos and cons of any one of this > things. And how to make them better. > > Cheers, > > Jose Alberto > > > > > ---------------------------------------------------------------------------- > ---- > > > > -- > > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
