Hi Stephen,
I accidentally raw your message and noticed you need to shade
commons-* stuff; I don't know if it could help for your purposes, but
I suggest you jarjar'ing[1] commons-* jars via the proposed plugin
because you can even relocate classes inside packages and really avoid
any kind of conflict.
HTH and sorry for interfering!
All the best, have a nice day,
Simo

[1] http://sonatype.github.com/jarjar-maven-plugin/

http://people.apache.org/~simonetripodi/
http://www.99soft.org/



On Wed, May 25, 2011 at 11:32 AM, Stephen Connolly
<stephen.alan.conno...@gmail.com> wrote:
> FYI
>
> here is my thinking on the release plan
>
> first release will shade all the commons-* stuff inside so that we
> don't conflict with anyone using older versions of commons-* and
> should be 100% compatibile (warts and all) with plexus-utils
>
> for the second release we will add a MethodRule that flips the
> @ReproducesPlexusBug test cases so that we can fix them! (i.e. remove
> all the hack code like my infinite loop generator). At this point all
> the methods will be @deprecated with the suggested commons-*
> replacement method (because we will have removed the bugs)
>
> for the third release we will remove the shading
>
> at that point we should have a nice pure shim layer
>
> On 25 May 2011 10:10,  <steph...@apache.org> wrote:
>> Author: stephenc
>> Date: Wed May 25 09:10:46 2011
>> New Revision: 1127446
>>
>> URL: http://svn.apache.org/viewvc?rev=1127446&view=rev
>> Log:
>> Adding an annotation to mark test cases that are verifying (warts and all) 
>> compatibility with Plexus Utils by ensuring the same buggy behaviour
>>
>> Added:
>>    
>> maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/apache/maven/tck/ReproducesPlexusBug.java
>> Modified:
>>    
>> maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/IOUtilTest.java
>>
>> Added: 
>> maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/apache/maven/tck/ReproducesPlexusBug.java
>> URL: 
>> http://svn.apache.org/viewvc/maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/apache/maven/tck/ReproducesPlexusBug.java?rev=1127446&view=auto
>> ==============================================================================
>> --- 
>> maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/apache/maven/tck/ReproducesPlexusBug.java
>>  (added)
>> +++ 
>> maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/apache/maven/tck/ReproducesPlexusBug.java
>>  Wed May 25 09:10:46 2011
>> @@ -0,0 +1,17 @@
>> +package org.apache.maven.tck;
>> +
>> +import java.lang.annotation.ElementType;
>> +import java.lang.annotation.Retention;
>> +import java.lang.annotation.RetentionPolicy;
>> +import java.lang.annotation.Target;
>> +
>> +/**
>> + * This annotation marks test cases where we are testing buggy behaviour we 
>> will want to fix but need to reproduce
>> + * to establish compatibility.
>> + */
>> +@Retention( RetentionPolicy.RUNTIME )
>> +@Target( ElementType.METHOD )
>> +public @interface ReproducesPlexusBug
>> +{
>> +    String value();
>> +}
>>
>> Modified: 
>> maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/IOUtilTest.java
>> URL: 
>> http://svn.apache.org/viewvc/maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/IOUtilTest.java?rev=1127446&r1=1127445&r2=1127446&view=diff
>> ==============================================================================
>> --- 
>> maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/IOUtilTest.java
>>  (original)
>> +++ 
>> maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/IOUtilTest.java
>>  Wed May 25 09:10:46 2011
>> @@ -19,6 +19,7 @@ package org.codehaus.plexus.util;
>>  * under the License.
>>  */
>>
>> +import org.apache.maven.tck.ReproducesPlexusBug;
>>  import org.junit.Test;
>>
>>  import java.io.BufferedInputStream;
>> @@ -393,6 +394,7 @@ public class IOUtilTest
>>     }
>>
>>     @Test( timeout = 150 )
>> +    @ReproducesPlexusBug( "Should not infinite loop" )
>>     public void toStringEmptyByteArrayZeroBufSz()
>>         throws Exception
>>     {
>> @@ -420,6 +422,7 @@ public class IOUtilTest
>>     }
>>
>>     @Test( timeout = 150 )
>> +    @ReproducesPlexusBug( "Should not infinite loop" )
>>     public void toStringByteArrayZeroBufSz()
>>         throws Exception
>>     {
>> @@ -655,6 +658,7 @@ public class IOUtilTest
>>     }
>>
>>     @Test( timeout = 150 )
>> +    @ReproducesPlexusBug( "Should not infinite loop" )
>>     public void toStringEmptyByteArrayValidEncodingZeroBufSz()
>>         throws Exception
>>     {
>> @@ -682,6 +686,7 @@ public class IOUtilTest
>>     }
>>
>>     @Test( timeout = 150 )
>> +    @ReproducesPlexusBug( "Should not infinite loop" )
>>     public void toStringByteArrayValidEncodingZeroBufSz()
>>         throws Exception
>>     {
>> @@ -966,6 +971,7 @@ public class IOUtilTest
>>     }
>>
>>     @Test( timeout = 150 )
>> +    @ReproducesPlexusBug( "Should not infinite loop" )
>>     public void copyInputStreamValidOutputStreamZeroBufSz()
>>         throws Exception
>>     {
>> @@ -1085,6 +1091,7 @@ public class IOUtilTest
>>     }
>>
>>     @Test( timeout = 150 )
>> +    @ReproducesPlexusBug( "Should not infinite loop" )
>>     public void toStringEmptyInputStreamZeroBufSz()
>>         throws Exception
>>     {
>> @@ -1112,6 +1119,7 @@ public class IOUtilTest
>>     }
>>
>>     @Test( timeout = 150 )
>> +    @ReproducesPlexusBug( "Should not infinite loop" )
>>     public void toStringInputStreamZeroBufSz()
>>         throws Exception
>>     {
>> @@ -1356,6 +1364,7 @@ public class IOUtilTest
>>     }
>>
>>     @Test( timeout = 150 )
>> +    @ReproducesPlexusBug( "Should not infinite loop" )
>>     public void toStringEmptyInputStreamValidEncodingZeroBufSz()
>>         throws Exception
>>     {
>> @@ -1383,6 +1392,7 @@ public class IOUtilTest
>>     }
>>
>>     @Test( timeout = 150 )
>> +    @ReproducesPlexusBug( "Should not infinite loop" )
>>     public void toStringInputStreamValidEncodingZeroBufSz()
>>         throws Exception
>>     {
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to