Display a warning.
I don't understand very well the code - but we take the name from
"references" ( which is specified by the user ), and assume that
all of them exist. For some reason that's not allways true.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273734 13f79535-47bb-0310-9956-ffa450edef68
Input is calling setNewProperty - but if defaultValue and value are null
we'll get NPE
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273732 13f79535-47bb-0310-9956-ffa450edef68
There is no standard for how jsp generates names - and jasper
changes from time to time :-)
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273728 13f79535-47bb-0310-9956-ffa450edef68
This is just the first round, it can be improved - not sure what's
the best way to deal with classpath specific issues in path.
The problem is that CLASSPATH ( as given in the system property,
and added in concatSystemPath ) may contain relative paths,
and they are relative to user.dir, not the project basedir.
Since gump is using relative paths, the launched java didn't find
the classes it needed, returning the strange -1 error.
Of course, the test suite could be more informative too :-)
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273727 13f79535-47bb-0310-9956-ffa450edef68
The test relies on the order of attributes ( cr set before eol ). Probably
other tasks are in the same situation.
The original change tried to reduce the dependencies on SAX - we may
use DOM or direct API calls in future, and the code will become very
complex. I just used the same thing that SAX is using ( 2 Vectors to
preserve the order ). We could also pick one ( SAX2 attributes ) and use
it in all cases.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273725 13f79535-47bb-0310-9956-ffa450edef68
embed-optional will build optiona-dynprop.jar containing the dynamic
properties and XMLDOM.
Main will just display a message - the hooks are not needed with ant1.6,
only for ant1.5. ( the component helper is not yet in 1.6, but
it's easier )
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273724 13f79535-47bb-0310-9956-ffa450edef68
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