You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Stephen Colebourne <sc...@btopenworld.com> on 2009/02/14 12:12:55 UTC

[io] Binary compatible

I reviewed some of HEAD of IO last night. It is currently binary 
incompatible with the 1.x series, yet the package name has not changed. 
  I am not comfortable with that at all. The 2.0 release needs to either 
change package name, or revert to binary compatibility.

One of these two must be true:
1) a user can upgrade safely to [io] v2.0 just by dropping in the new 
jar irrespective of what version other open source projects compile against
2) a user can have two versions of [io] in their classpath without 
having comflicts.

Stephen

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [io] Binary compatible

Posted by Niall Pemberton <ni...@gmail.com>.
On Sat, Feb 14, 2009 at 2:16 PM, Jukka Zitting <ju...@gmail.com> wrote:
> Hi,
>
> On Sat, Feb 14, 2009 at 1:17 PM, Jukka Zitting <ju...@gmail.com> wrote:
>> org.apache.commons.io:
>> Bad
>> method org.apache.commons.io.FileUtils.copyFileToDirectory(java.io.File,
>> java.io.File): type void in io-1.4, but type java.io.File in io-trunk
>> method org.apache.commons.io.FileUtils.copyFileToDirectory(java.io.File,
>> java.io.File, boolean): type void in io-1.4, but type java.io.File in
>> io-trunk
>
> I reopened IO-157 that introduced the new return value.

I have reverted this

Niall

>> org.apache.commons.io.output:
>> Bad
>> method org.apache.commons.io.output.NullWriter.append(char): throws
>> java.io.IOException in io-1.4, but doesn't throw java.io.IOException
>> in io-trunk
>> method org.apache.commons.io.output.NullWriter.append(java.lang.CharSequence):
>> throws java.io.IOException in io-1.4, but doesn't throw
>> java.io.IOException in io-trunk
>> method org.apache.commons.io.output.NullWriter.append(java.lang.CharSequence,
>> int, int): throws java.io.IOException in io-1.4, but doesn't throw
>> java.io.IOException in io-trunk
>
> These don't break binary compatibility, and I don't believe that there
> is any affected source code out there (the affected code would be
> explicitly equivalent to a no-op).
>
> BR,
>
> Jukka Zitting
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [io] Binary compatible

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

On Sat, Feb 14, 2009 at 1:17 PM, Jukka Zitting <ju...@gmail.com> wrote:
> org.apache.commons.io:
> Bad
> method org.apache.commons.io.FileUtils.copyFileToDirectory(java.io.File,
> java.io.File): type void in io-1.4, but type java.io.File in io-trunk
> method org.apache.commons.io.FileUtils.copyFileToDirectory(java.io.File,
> java.io.File, boolean): type void in io-1.4, but type java.io.File in
> io-trunk

I reopened IO-157 that introduced the new return value.

> org.apache.commons.io.output:
> Bad
> method org.apache.commons.io.output.NullWriter.append(char): throws
> java.io.IOException in io-1.4, but doesn't throw java.io.IOException
> in io-trunk
> method org.apache.commons.io.output.NullWriter.append(java.lang.CharSequence):
> throws java.io.IOException in io-1.4, but doesn't throw
> java.io.IOException in io-trunk
> method org.apache.commons.io.output.NullWriter.append(java.lang.CharSequence,
> int, int): throws java.io.IOException in io-1.4, but doesn't throw
> java.io.IOException in io-trunk

These don't break binary compatibility, and I don't believe that there
is any affected source code out there (the affected code would be
explicitly equivalent to a no-op).

BR,

Jukka Zitting

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [io] Binary compatible

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

On Sat, Feb 14, 2009 at 12:48 PM, Jukka Zitting <ju...@gmail.com> wrote:
> On Sat, Feb 14, 2009 at 12:12 PM, Stephen Colebourne
> <sc...@btopenworld.com> wrote:
>> I reviewed some of HEAD of IO last night. It is currently binary
>> incompatible with the 1.x series, yet the package name has not changed.
>
> What incompatibilities are there? Can we fix them?

Japitools reports the following five issues:

<report>
org.apache.commons.io:
Bad
method org.apache.commons.io.FileUtils.copyFileToDirectory(java.io.File,
java.io.File): type void in io-1.4, but type java.io.File in io-trunk
method org.apache.commons.io.FileUtils.copyFileToDirectory(java.io.File,
java.io.File, boolean): type void in io-1.4, but type java.io.File in
io-trunk

org.apache.commons.io.output:
Bad
method org.apache.commons.io.output.NullWriter.append(char): throws
java.io.IOException in io-1.4, but doesn't throw java.io.IOException
in io-trunk
method org.apache.commons.io.output.NullWriter.append(java.lang.CharSequence):
throws java.io.IOException in io-1.4, but doesn't throw
java.io.IOException in io-trunk
method org.apache.commons.io.output.NullWriter.append(java.lang.CharSequence,
int, int): throws java.io.IOException in io-1.4, but doesn't throw
java.io.IOException in io-trunk
</report>

All look like fairly simple things to fix.

BR,

Jukka Zitting

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [io] Binary compatible

Posted by Stephen Colebourne <sc...@btopenworld.com>.
Jukka Zitting wrote:
> On Sat, Feb 14, 2009 at 12:12 PM, Stephen Colebourne
> <sc...@btopenworld.com> wrote:
>> I reviewed some of HEAD of IO last night. It is currently binary
>> incompatible with the 1.x series, yet the package name has not changed.
> 
> What incompatibilities are there? Can we fix them?

I thought I saw some in HexDump too. I may have been mistaken...

Stephen

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [io] Binary compatible

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

On Sat, Feb 14, 2009 at 12:12 PM, Stephen Colebourne
<sc...@btopenworld.com> wrote:
> I reviewed some of HEAD of IO last night. It is currently binary
> incompatible with the 1.x series, yet the package name has not changed.

What incompatibilities are there? Can we fix them?

BR,

Jukka Zitting

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org