Peter Jones wrote:
On Wed, Mar 18, 2009 at 07:27:32AM -0400, Tim Blackman wrote:
On Mar 17, 2009, at 7:27 PM, Peter Firmstone wrote:
What are our options? Your thoughts? Are there other options?
1. Find an Apache Licensed compiler rewrite ClassDep?
2. Ask Sun to License the tools.jar code subset under the Apache
License?
3. Move the functionality of ClassDep outside of River. We could host
a project "Java Class Dependency Tool" on SourceForge that combined
ClassDep with Apache v2 License and GPLv2 with Classpath Exception
under GPLv3 with Classpath exception. We can then provide a download
link for that project on the apache river download site?
4. Do nothing for now.
I don't know if it is practical for now, but I've experimented with
rewriting the functionality of ClassDep using a byte code analysis tool
-- I used ASM, but there are others. I thought this produced a cleaner
result and would mean not depending on tools.jar.
Agreed-- for option 1, ClassDep doesn't actually need anything like a
full Java source code compiler, just a decent class file reader.
-- Peter
I was looking through the thread
<http://mail-archives.apache.org/mod_mbox/incubator-river-dev/200803.mbox/%[email protected]%3e>
Mark provided, there was a comment on ASM's API , breaking between
releases, however over time I would expect this to stabilise as the
project matures, so don't think the issue is a show stopper. Initial
impressions of ASM - I like the simplicity of the ASM API.
Tim's already got experimental code, is there somewhere, he can upload
it to, on River, so we can all work on it? The original ClassDep can be
left as is for backward compatibility and comparison for now and be
marked @Depreciated and replaced with a Facade or Proxy ClassDep when
it's replacement is fully functional.
Patrick mentioned the Bantam Project has a Class Dependency Analyser. Is
there a Volunteer / Committer, familiar with it's location, prepared to
copy all code the Class Dependency Analyser requires and upload it to
the River project site? Good opportunity to test the functionality of
their Class Dependency Analyser ;)
Can someone action a River project location to work on the new code?
For now can we include the ASM Library with River, at least until it's
API stabilises? We might also consider using a different namespace for
the ASM Library to prevent it stepping on other versions in user code.
What are your thoughts?
Cheers,
Peter Firmstone.