You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Mark Struberg (JIRA)" <ji...@codehaus.org> on 2011/08/05 20:32:42 UTC

[jira] Created: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Rewrite Plexus Utils classes at the ASF from scratch
----------------------------------------------------

                 Key: MSANDBOX-51
                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
             Project: Maven 2.x Sandbox
          Issue Type: New Feature
            Reporter: Mark Struberg


plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.

The strategy is the following:

1. create unit tests for the existing plexus classes
2. create a new implementation from scratch
3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Issue Comment Edited: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "Michael Nitschke (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=281536#comment-281536 ] 

Michael Nitschke edited comment on MSANDBOX-51 at 10/18/11 9:22 AM:
--------------------------------------------------------------------

I agree (/)
with the submitted patch.

Mike/Michael

      was (Author: minirich):
    I agree (/)
  
> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>         Attachments: diff.txt, plexus-utils-tck.patch, plexus-utils-tck.patch
>
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "Michael Nitschke (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Nitschke updated MSANDBOX-51:
-------------------------------------

    Attachment: plexus-utils-tck.patch

I agree (/)

> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>         Attachments: diff.txt, plexus-utils-tck.patch, plexus-utils-tck.patch
>
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Issue Comment Edited: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=275842#comment-275842 ] 

Mark Struberg edited comment on MSANDBOX-51 at 8/15/11 2:41 AM:
----------------------------------------------------------------

The problem with Os.java is that plexus-utils got forked off a very old version of ant. The Ant version has much improved yet and got the fields made private, etc. So it's not really easy to just bridge.

If possible, then we should use commons projects and bridge over to them. I'll try to look at the Os.java from commons.

My main 'aha-effect' was that most of the plexus-utils classes are only wrongly declared (C) The Codehaus. This really got only very lately replaced the original '(c) Apache Software Foundation' as most classes are forks from:

 * Ant
 * commons
 * Velocity
 * Anakia
 * maven-utils-1.x

And as such it's legally and also politically no problem to just take the sources back to the ASF SVN and we are _not_ forced to rewrite everything from scratch without looking at the original sources.


*edit* I'm *not* blaming Codehaus for anything, they just provided the hosting and have nothing to do with changing the license headers.

      was (Author: struberg):
    The problem with Os.java is that plexus-utils got forked off a very old version of ant. The Ant version has much improved yet and got the fields made private, etc. So it's not really easy to just bridge.

If possible, then we should use commons projects and bridge over to them. I'll try to look at the Os.java from commons.

My main 'aha-effect' was that most of the plexus-utils classes are only wrongly declared (C) The Codehaus. This really got only very lately replaced the original '(c) Apache Software Foundation' as most classes are forks from:

 * Ant
 * commons
 * Velocity
 * Anakia
 * maven-utils-1.x

And as such it's legally and also politically no problem to just take the sources back to the ASF SVN and we are _not_ forced to rewrite everything from scratch without looking at the original sources.

  
> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "James Saunders (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Saunders updated MSANDBOX-51:
-----------------------------------

    Attachment: plexus-utils-tck.patch

> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>         Attachments: diff.txt, plexus-utils-tck.patch
>
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "Brett Porter (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=275845#comment-275845 ] 

Brett Porter commented on MSANDBOX-51:
--------------------------------------

right, if there are originals in the ASF SVN we can certainly copy that across (probably with history) - but I'm suggesting it should be an exceptional case. I don't think Maven wants to take on maintaining any of this code unless we've exhausted any other options.

Are there any other cases at the moment that are copied / rewritten instead of bridged to existing code?

> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "Brett Porter (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=275636#comment-275636 ] 

Brett Porter commented on MSANDBOX-51:
--------------------------------------

I thought it was largely delegating to commons? In most cases, they also have the same ancestry but have been improved more significantly since.

> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=275495#comment-275495 ] 

Mark Struberg commented on MSANDBOX-51:
---------------------------------------

It seems that a big part of the plexus code is actually coming from the Apache Avalon project and only got copied over.
Some classes, like Os.java are almost 1:1 copies of ASF originated sources!.

To reduce the amount of work, it is suggested to take the ASF original code, copy it over to our new sandbox project and apply the maven codestyle.

The code needs proper testing of course to ensure that there has no incompatibility been introduced.

> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=275655#comment-275655 ] 

Mark Struberg commented on MSANDBOX-51:
---------------------------------------

Yes, there are classes which are currently in Ant and in commons and mostly maintained by the same committers.

What I wanted to make clear is that quite a lot of the plexus-utils project is just a copy (+singular modifications) of ASF internal projects. So there is not much IP issue with those classes.

> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "Brett Porter (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=275837#comment-275837 ] 

Brett Porter commented on MSANDBOX-51:
--------------------------------------

I think it is important to avoid forking anything, unless we expect to maintain it going forward. In the case of this class, it might be better to bridge to commons-exec: http://svn.apache.org/viewvc/commons/proper/exec/trunk/src/main/java/org/apache/commons/exec/OS.java?revision=672325&view=markup, or Ant itself (we can use shade to reduce the impact of the dependency tree).

> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=275542#comment-275542 ] 

Mark Struberg commented on MSANDBOX-51:
---------------------------------------

After talking with Stefan Bodewig (which shows up as @author in lots of the sources) and other commons guys I found out that a good part of the plexus-utils sources originally did came from ant. They then got pulled over to Avalon and plexus took them either from there or directly from Ant.

> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=275842#comment-275842 ] 

Mark Struberg commented on MSANDBOX-51:
---------------------------------------

The problem with Os.java is that plexus-utils got forked off a very old version of ant. The Ant version has much improved yet and got the fields made private, etc. So it's not really easy to just bridge.

If possible, then we should use commons projects and bridge over to them. I'll try to look at the Os.java from commons.

My main 'aha-effect' was that most of the plexus-utils classes are only wrongly declared (C) The Codehaus. This really got only very lately replaced the original '(c) Apache Software Foundation' as most classes are forks from:

 * Ant
 * commons
 * Velocity
 * Anakia
 * maven-utils-1.x

And as such it's legally and also politically no problem to just take the sources back to the ASF SVN and we are _not_ forced to rewrite everything from scratch without looking at the original sources.


> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Issue Comment Edited: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "James Saunders (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=280889#comment-280889 ] 

James Saunders edited comment on MSANDBOX-51 at 10/8/11 2:00 PM:
-----------------------------------------------------------------

Hi Mark,

I have created a test for the SelectorUtils class.
I enclose the svn diff as requested.
Also enclosed as patch created in eclipse.

      was (Author: james.saunders):
    Hi Mark,

I have created a test for the SelectorUtils class.
I enclose the svn diff as requested.
  
> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>         Attachments: diff.txt, plexus-utils-tck.patch
>
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=282507#comment-282507 ] 

Mark Struberg commented on MSANDBOX-51:
---------------------------------------

patch applied, thanks James and Michael!

> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>         Attachments: diff.txt, plexus-utils-tck.patch, plexus-utils-tck.patch
>
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Issue Comment Edited: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=275842#comment-275842 ] 

Mark Struberg edited comment on MSANDBOX-51 at 8/15/11 2:42 AM:
----------------------------------------------------------------

The problem with Os.java is that plexus-utils got forked off a very old version of ant. The Ant version has much improved yet and got the fields made private, etc. So it's not really easy to just bridge.

If possible, then we should use commons projects and bridge over to them. I'll try to look at the Os.java from commons.

My main 'aha-effect' was that most of the plexus-utils classes are only wrongly declared (C) The Codehaus. This really got only very lately replaced the original '(c) Apache Software Foundation' as most classes are forks from:

 * Ant
 * commons
 * Velocity
 * Anakia
 * maven-utils-1.x

And as such it's legally and also politically no problem to just take the sources back to the ASF SVN and we are _not_ forced to rewrite everything from scratch without looking at the original sources.


*edit*: I'm _not_ blaming Codehaus for anything, they just provided the hosting and have nothing to do with changing the license headers.

      was (Author: struberg):
    The problem with Os.java is that plexus-utils got forked off a very old version of ant. The Ant version has much improved yet and got the fields made private, etc. So it's not really easy to just bridge.

If possible, then we should use commons projects and bridge over to them. I'll try to look at the Os.java from commons.

My main 'aha-effect' was that most of the plexus-utils classes are only wrongly declared (C) The Codehaus. This really got only very lately replaced the original '(c) Apache Software Foundation' as most classes are forks from:

 * Ant
 * commons
 * Velocity
 * Anakia
 * maven-utils-1.x

And as such it's legally and also politically no problem to just take the sources back to the ASF SVN and we are _not_ forced to rewrite everything from scratch without looking at the original sources.


*edit* I'm *not* blaming Codehaus for anything, they just provided the hosting and have nothing to do with changing the license headers.
  
> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "James Mark Saunders (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=280889#comment-280889 ] 

James Mark Saunders commented on MSANDBOX-51:
---------------------------------------------

Hi Mark,

I have created a test for the SelectorUtils class.
I enclose the svn diff as requested.

> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "James Mark Saunders (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Mark Saunders updated MSANDBOX-51:
----------------------------------------

    Attachment: diff.txt

> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>         Attachments: diff.txt
>
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MSANDBOX-51) Rewrite Plexus Utils classes at the ASF from scratch

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MSANDBOX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=275846#comment-275846 ] 

Mark Struberg commented on MSANDBOX-51:
---------------------------------------

I think I've touched 5 classes yet and 4 of them are clearly forked from ASF projects and still 90% of that code remaining.

Check this locations for obvious hits:
* http://maven.apache.org/maven-1.x/xref/org/apache/maven/util/
* http://svn.apache.org/repos/asf/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/
* http://svn.apache.org/repos/asf/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/condition/
* http://svn.apache.org/repos/asf/commons/proper/exec/trunk/src/main/java/org/apache/commons/exec/

Of coure, sometimes you also have to grab back into the CVS archive. A good indicator is the @author tag. Commons dropped that around 2004, but plexus-utils most times still have them. An example: All classes with @author Stefan Bodewig are most certainly 1:1 forks from Ant.


> Rewrite Plexus Utils classes at the ASF from scratch
> ----------------------------------------------------
>
>                 Key: MSANDBOX-51
>                 URL: https://jira.codehaus.org/browse/MSANDBOX-51
>             Project: Maven 2.x Sandbox
>          Issue Type: New Feature
>            Reporter: Mark Struberg
>
> plexus-utils are 85% written by ASF committers, but we still don't have a IP cleared history.
> For cleaning this up we aim to rewrite those classes from scratch in ASF maven sandbox.
> The strategy is the following:
> 1. create unit tests for the existing plexus classes
> 2. create a new implementation from scratch
> 3. the new implementation must be a binary API compatible drop-in replacement

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira