is present, use it.
I think this can be further cleaned up to use the right parent loader
etc. But probably the best would be to just use the loaderRef.
Or just deprecate Definer completely - when we have a good antlib solution
Also added getters ( it's nice to have access to info - especially with
dynamic properties :-)
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273720 13f79535-47bb-0310-9956-ffa450edef68
ProjectHelper delegates for backward compat.
I deprecated some of the methods, easy to revert if you think they
are needed.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273712 13f79535-47bb-0310-9956-ffa450edef68
Project delegates to PropertyHelper ( for backward compatibility ).
As soon as the API is stable ( i.e. do we pass ns ? Object ? )
we can deprecate the methods in Project.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273711 13f79535-47bb-0310-9956-ffa450edef68
This is "slightly" different from embed - if dynamic properties will be
accepted in 1.6, it is better to do it right. Embed uses few hacks to
trick the ProjectHelper.
PropertyHelper includes all the code related with property manipulation
from Project (cut&paste). I added a very simple hook mechanism ( Filter/Valve
like ) for the most common operations.
The API is obviously far from final - someone who really understand "user"
and "inherited" properties should review it and make few changes.
In Project, all properties fields are private - so all can be removed.
The methods related with properties will just delegate to PropertyHelper.
From a user point of view - no visible change ( hopefully :-). Even grant
will continue to work ( but won't be able to use the new features ).
Benefits:
- cleanup of Project. Less code and better organised.
- Property handling will hopefully be cleaner too
- we get to add APIs for namespace support, and maybe support non-string
properties ( JSP-EL like - that needs to be disussed, but IMO it would
be very helpfull ). While refs are Objects, the main distinction is imutability.
Also:
- apps embeding or extending ant can fully customize _all_ aspects of
property processing, including ${} replacement and even the syntax.
- it should be very easy to hook a different storage mechanism ( i.e.
integrated with the embeding app, without requiring copy of properties ).
- it should be possible to avoid copy when creating execution frames
( by using a chain that keeps changes and delegates getters ).
- dynamic properties support ( my original itch :-)
Please wait few days before firing, it seems all tests are passing
and gump works - but I'm sure there are few problems :-)
( I'll commit the change in Project later today )
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273709 13f79535-47bb-0310-9956-ffa450edef68
support imports. The original helper won't work ( because of eval order ),
and embed will fail too ( since it can't use 1.6 features - one of the
goals is to work in ant1.5 ).
I'm ready to move the dynamic properties and the component hooks - I'll
porbably do it this weekend ( most people are in vacation, so fewer
will feel any breakage ). In any case [embed] should now used only
if you want to use (some) new features in ant1.5.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273707 13f79535-47bb-0310-9956-ffa450edef68
the SAX2 Attributes).
- import will use the normal entry point and will not depend on the sax
context. We know we are in an import by looking at the importStack,
that will set ignoreProjectTag flag and we'll reuse the context.
There are few more changes needed to clean up the context ( some fields
are no longer needed, and it needs to use proper getter/setters instead
of the fields ).
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273705 13f79535-47bb-0310-9956-ffa450edef68
The attributes are just stored in a Hashtable, you can construct the
UE/RC tree without using any SAX at all.
I added @deprecated tags to the SAX1 attributes as well.
Also added a (harmless - I hope ) Serializable interface to RC, and
transient to the fields that don't need to be serialized.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273704 13f79535-47bb-0310-9956-ffa450edef68
If importStack has more than one element, ProjectHelper implementations
should know they are inside an import. This can also be used to
display more informative error messages ( i.e. the include path to
a file with errors ).
Removed the SAX2 Attributes and deprecate the SAX1 Attributes methods.
I made a small change to RuntimeConfigurable to make it less SAX-dependent,
ProjectHelper2 will just use a simple Hashtable and RC/ProjectHelper will
be SAX-independent ( except the deprecated methods ). This would allow
better programmatic use of ant and maybe a DOM ProjectHelper.
One interesting note: while SAX is faster, using DOM or caching the
UE/RC tree will greatly optimize <antCall>, where the same file
is parsed on each call.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273703 13f79535-47bb-0310-9956-ffa450edef68
If one already exists, it'll be returned.
The method will register itself for projectEnd notifications.
( this avoids multiple IH and listeners )
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273702 13f79535-47bb-0310-9956-ffa450edef68
We only need the import stack to avoid loops and some
mechanism to let let the helper know we're processing an import.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273701 13f79535-47bb-0310-9956-ffa450edef68
Enable the "Active Link" funktionality by taking care, that XML title tag and project entry name match (just for the few docs, where this wasn't the case anyways)
adding html-version of LICESE
removing faq.vsl by moving that functionality to site.vsl
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273700 13f79535-47bb-0310-9956-ffa450edef68
I can't reproduce the error yet ( my gump works fine ), but
most likely this is the cause of the errors ( classloader changes
couldn't affect anything not using <classloader>).
I'll apply again the patch from Nicola, without making more
changes.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273695 13f79535-47bb-0310-9956-ffa450edef68
Added a small message to display the source of the class ( like the
verbose:class option )
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273690 13f79535-47bb-0310-9956-ffa450edef68
It'll create a new loader or add paths to an existing loader.
The main use is for the core loader - used to load ant regular
and optional tasks.
This is similar with embed, but 90% of the code is not needed for
ant1.6 ( due to the delayed task creation ).
For both import and classloader I changed the name of the class
so embed can still compile.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273688 13f79535-47bb-0310-9956-ffa450edef68
This is almost the same as in embed, except few simplifications
and cleanups.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273687 13f79535-47bb-0310-9956-ffa450edef68
I don't know how this can be included in the junit tests
( at least the part that loads optional tasks ) since the
test env already includes most classes.
In order to test - you need to run this without junit.jar
in ant/lib and to pass the path to junit.jar
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273686 13f79535-47bb-0310-9956-ffa450edef68
I still need to add the .java file and add tests for the
more advanced features.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273685 13f79535-47bb-0310-9956-ffa450edef68
revert sigfile to a String - does not make sense to be a File
Added a testcase with keystore for signjar
PR: 1284, 10754
Submitted by: Jonathan Keller
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273684 13f79535-47bb-0310-9956-ffa450edef68