You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@river.apache.org by Peter Firmstone <ji...@zeus.net.au> on 2009/03/19 01:17:34 UTC

Re: RIVER-272 ClassDep Replacement Solutions?

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/%3C47CDB435.9020707@cheiron.org%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.

Re: RIVER-272 ClassDep Replacement Solutions?

Posted by Peter Firmstone <ji...@zeus.net.au>.
Peter Firmstone wrote:
> 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/%3C47CDB435.9020707@cheiron.org%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 ;)
I'll grab the Source (thanks for the link Patrick), if someone with the 
access privileges can set up a namespace / path on River? Bantam (I 
wasn't aware of this) is designed to host jini services on a JEE server 
or web / servlet  container.  Perhaps this section of Bantam code would 
be better utilised if moved / merged into River?  We should probably 
discuss with the author on the Bantam site?

Peter Firmstone.

>
> 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.
>


Re: RIVER-272 ClassDep Replacement Solutions?

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On Thu, Mar 19, 2009 at 1:17 AM, Peter Firmstone <ji...@zeus.net.au> wrote:
> Can someone action a River project location to work on the new code?

Just pick up a spot in the source tree where you think this would fit
best and submit a patch with the relevant changes. I'll take it up and
commit the patch unless one of the normal River committers gets there
first.

Also, a few good patches will most likely earn you (or anyone
interested) committership, so keep them coming. :-)

> For now can we include the ASM Library with River, at least until it's API
> stabilises?

ASM is fine from a licensing perspective.

BR,

Jukka Zitting

Re: RIVER-272 ClassDep Replacement Solutions?

Posted by Peter Firmstone <ji...@zeus.net.au>.
Jukka Zitting wrote:
> Hi,
>
> On Wed, Mar 25, 2009 at 12:52 AM, Peter Firmstone <ji...@zeus.net.au> wrote:
>   
>> Yep, that's the intent, I thought I'd save Tim the hassle of checking for
>> namespace or class name conflicts before uploading the code onto Jira.
>>     
>
> There's no need for code in Jira to be in perfect condition. In fact
> the issue tracker is a perfect place for exchanging incomplete patches
> before they are ready to be committed in svn.
>
> Another reason for preferring to get the code in the issue tracker as
> early as possible is that then we'll have a better record of who wrote
> or modified which parts of the code.
>
> BR,
>
> Jukka Zitting
>
>   
Ok, Tim, you wouldn't mind uploading the code through Jira?  I'll get a 
copy from there.

Cheers,

Peter.

Re: RIVER-272 ClassDep Replacement Solutions?

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On Wed, Mar 25, 2009 at 12:52 AM, Peter Firmstone <ji...@zeus.net.au> wrote:
> Yep, that's the intent, I thought I'd save Tim the hassle of checking for
> namespace or class name conflicts before uploading the code onto Jira.

There's no need for code in Jira to be in perfect condition. In fact
the issue tracker is a perfect place for exchanging incomplete patches
before they are ready to be committed in svn.

Another reason for preferring to get the code in the issue tracker as
early as possible is that then we'll have a better record of who wrote
or modified which parts of the code.

BR,

Jukka Zitting

Re: RIVER-272 ClassDep Replacement Solutions?

Posted by Peter Firmstone <ji...@zeus.net.au>.
Tim Blackman wrote:
> On Mar 24, 2009, at 7:52 PM, Peter Firmstone wrote:
>
>>>>>> Can you zip it and email it to me directly?  I was thinking the 
>>>>>> namespace
>>>>>> should remain in the tools directory, what were your thoughts?  
>>>>>> I'll upload
>>>>>> it onto jira when I make sure it doesn't clobber anything.
>>>>>
>>>>> OK.  I'll give it a once over and then send it to you via private 
>>>>> mail.
>>>>
>>>> Unless there's something confidential in the code, it would be good to
>>>> use Jira for this. Then there's a chance that someone else gives the
>>>> code a look and perhaps contributes something related. Also, having
>>>> the evolution recorded in the issue tracker or svn can be highly
>>>> valuable later on when someone wants to understand the history of the
>>>> code.
>>>
>>> Yup, looks like Peter has volunteered to do the Jira part.
>>
>> Yep, that's the intent, I thought I'd save Tim the hassle of checking 
>> for namespace or class name conflicts before uploading the code onto 
>> Jira.
>
> I've attached my code to the RIVER-272 issue in Jira.
>
> - Tim
>
Thanks Tim,

Cheers,

Peter.

Re: RIVER-272 ClassDep Replacement Solutions?

Posted by Tim Blackman <Ti...@sun.com>.
On Mar 24, 2009, at 7:52 PM, Peter Firmstone wrote:

>>>>> Can you zip it and email it to me directly?  I was thinking the  
>>>>> namespace
>>>>> should remain in the tools directory, what were your thoughts?   
>>>>> I'll upload
>>>>> it onto jira when I make sure it doesn't clobber anything.
>>>>
>>>> OK.  I'll give it a once over and then send it to you via private  
>>>> mail.
>>>
>>> Unless there's something confidential in the code, it would be  
>>> good to
>>> use Jira for this. Then there's a chance that someone else gives the
>>> code a look and perhaps contributes something related. Also, having
>>> the evolution recorded in the issue tracker or svn can be highly
>>> valuable later on when someone wants to understand the history of  
>>> the
>>> code.
>>
>> Yup, looks like Peter has volunteered to do the Jira part.
>
> Yep, that's the intent, I thought I'd save Tim the hassle of  
> checking for namespace or class name conflicts before uploading the  
> code onto Jira.

I've attached my code to the RIVER-272 issue in Jira.

- Tim

Re: RIVER-272 ClassDep Replacement Solutions?

Posted by Peter Firmstone <ji...@zeus.net.au>.
Tim Blackman wrote:
> On Mar 24, 2009, at 7:18 AM, Jukka Zitting wrote:
>
>>>> Can you zip it and email it to me directly?  I was thinking the 
>>>> namespace
>>>> should remain in the tools directory, what were your thoughts?  
>>>> I'll upload
>>>> it onto jira when I make sure it doesn't clobber anything.
>>>
>>> OK.  I'll give it a once over and then send it to you via private mail.
>>
>> Unless there's something confidential in the code, it would be good to
>> use Jira for this. Then there's a chance that someone else gives the
>> code a look and perhaps contributes something related. Also, having
>> the evolution recorded in the issue tracker or svn can be highly
>> valuable later on when someone wants to understand the history of the
>> code.
>
> Yup, looks like Peter has volunteered to do the Jira part.
>
> - Tim
>
Yep, that's the intent, I thought I'd save Tim the hassle of checking 
for namespace or class name conflicts before uploading the code onto Jira.



Re: RIVER-272 ClassDep Replacement Solutions?

Posted by Peter Firmstone <ji...@zeus.net.au>.
Tim Blackman wrote:
> On Mar 24, 2009, at 7:18 AM, Jukka Zitting wrote:
>
>>>> Can you zip it and email it to me directly?  I was thinking the 
>>>> namespace
>>>> should remain in the tools directory, what were your thoughts?  
>>>> I'll upload
>>>> it onto jira when I make sure it doesn't clobber anything.
>>>
>>> OK.  I'll give it a once over and then send it to you via private mail.
>>
>> Unless there's something confidential in the code, it would be good to
>> use Jira for this. Then there's a chance that someone else gives the
>> code a look and perhaps contributes something related. Also, having
>> the evolution recorded in the issue tracker or svn can be highly
>> valuable later on when someone wants to understand the history of the
>> code.
>
> Yup, looks like Peter has volunteered to do the Jira part.
>
> - Tim
>


Re: RIVER-272 ClassDep Replacement Solutions?

Posted by Tim Blackman <Ti...@sun.com>.
On Mar 24, 2009, at 7:18 AM, Jukka Zitting wrote:

>>> Can you zip it and email it to me directly?  I was thinking the  
>>> namespace
>>> should remain in the tools directory, what were your thoughts?   
>>> I'll upload
>>> it onto jira when I make sure it doesn't clobber anything.
>>
>> OK.  I'll give it a once over and then send it to you via private  
>> mail.
>
> Unless there's something confidential in the code, it would be good to
> use Jira for this. Then there's a chance that someone else gives the
> code a look and perhaps contributes something related. Also, having
> the evolution recorded in the issue tracker or svn can be highly
> valuable later on when someone wants to understand the history of the
> code.

Yup, looks like Peter has volunteered to do the Jira part.

- Tim


Re: RIVER-272 ClassDep Replacement Solutions?

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On Tue, Mar 24, 2009 at 12:00 PM, Tim Blackman <Ti...@sun.com> wrote:
> On Mar 23, 2009, at 11:11 PM, Peter Firmstone wrote:
>> Can you zip it and email it to me directly?  I was thinking the namespace
>> should remain in the tools directory, what were your thoughts?  I'll upload
>> it onto jira when I make sure it doesn't clobber anything.
>
> OK.  I'll give it a once over and then send it to you via private mail.

Unless there's something confidential in the code, it would be good to
use Jira for this. Then there's a chance that someone else gives the
code a look and perhaps contributes something related. Also, having
the evolution recorded in the issue tracker or svn can be highly
valuable later on when someone wants to understand the history of the
code.

BR,

Jukka Zitting

Re: RIVER-272 ClassDep Replacement Solutions?

Posted by Tim Blackman <Ti...@sun.com>.
On Mar 23, 2009, at 11:11 PM, Peter Firmstone wrote:

>>> 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.
>>
>> For the record, I found my code from a 2006 effort that looks like  
>> it implements ClassDep using ASM.  I'm happy to provide it to a  
>> good home.
>
> Thanks Tim,  that'd be a great help.
>
> Can you zip it and email it to me directly?  I was thinking the  
> namespace should remain in the tools directory, what were your  
> thoughts?  I'll upload it onto jira when I make sure it doesn't  
> clobber anything.

OK.  I'll give it a once over and then send it to you via private mail.

- Tim


Re: RIVER-272 ClassDep Replacement Solutions?

Posted by Peter Firmstone <ji...@zeus.net.au>.
Tim Blackman wrote:
> On Mar 18, 2009, at 8:17 PM, Peter Firmstone wrote:
>
>> 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.
>
> For the record, I found my code from a 2006 effort that looks like it 
> implements ClassDep using ASM.  I'm happy to provide it to a good home.
>
> - Tim
>
Thanks Tim,  that'd be a great help.

Can you zip it and email it to me directly?  I was thinking the 
namespace should remain in the tools directory, what were your 
thoughts?  I'll upload it onto jira when I make sure it doesn't clobber 
anything.

Cheers,

Peter.

Re: RIVER-272 ClassDep Replacement Solutions?

Posted by Tim Blackman <Ti...@sun.com>.
On Mar 18, 2009, at 8:17 PM, Peter Firmstone wrote:

> 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.

For the record, I found my code from a 2006 effort that looks like it  
implements ClassDep using ASM.  I'm happy to provide it to a good home.

- Tim