Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-dev] Re: Adding and testing a new batch script

If you can provide scripts that will work for everyone and
tests to prove that (and promise to support it), then cool.
Otherwise, putting command-line scripts for LTW in the bin dir
is not a good idea.  If we can't provide something that works
for everyone, it will be a headache to maintain and support,
since this promises to be a high-traffic feature.

We can provide an easy "out of the box" experience with
a testable Ant build script and a sample scripts in the
documentation.  Most everyone who uses it will have to
modify the script for their usage anyway.

For most users, the script will be different depending on
whether they are running pre-1.4, 1.4, and (Sun's?) 1.5 or
later and their own host of options (including multiply-
quoted property definitions and more parameters than DOS
supports?).  So an example that works under controlled
conditions is supportable and useful, but a general-purpose
script is probably not.

Aspectwerkz (and java-assist and JMangler and...) were cited as
examples of weaving classloaders, and AW was cited for usability.
But that doesn't mean we should deliver scripts as AW does,
if our OOB experience is just as good.  As you noted, theirs works
in pre-1.4 VM's using bootclasspath and/or hotswap to replace
the system class loader, which we're not going to propose to
users.  So AW has a strong reason to use a script that we
don't, and if we provide a script we'll have to answer the
question "Why doesn't this work on 1.3?" or "How do I pass
these option?" or "Your script failed to handle this
really long command line" lots of times.

Wes

Matthew Webster wrote:




It seems like we can just tell people how to do this,...

I think we should take our lead from other AOP projects like AspectWerkz
that offer a command line script "aspectwerkz" to perform binary weaving.
Also there are quite a few options to be supplied to the JVM so providing a
script will help people to get it right.


I'd recommend instead updating the examples/build.xml ..

We certainly need to do this especially to show people how to build aspect
libraries suitable for LTW. The approach is slightly different from binary
weaving where it is popular to compile a concrete aspect that extends the
library at the same time as weaving.  This must be done ahead of time for
LTW.


If you keep it in, would you name it something less likely to be confused

with ajc ...
Agreed but perhaps something a little shorter like "aj-launcher.bat"

Matthew Webster
AOSD Project
Java Technology Centre, MP146
IBM Hursley Park, Winchester,  SO21 2JN, England
Telephone: +44 196 2816139 (external) 246139 (internal)
Email: Matthew Webster/UK/IBM @ IBMGB, matthew_webster@xxxxxxxxxx
http://w3.hursley.ibm.com/~websterm/

_______________________________________________
aspectj-dev mailing list
aspectj-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/aspectj-dev




Back to the top