RFR: 8336843: Deprecate java.util.zip.ZipError for removal

Chen Liang liach at openjdk.org
Sat Aug 24 16:23:03 UTC 2024


On Sat, 24 Aug 2024 10:16:55 GMT, Eirik Bjørsnøs <eirbjo at openjdk.org> wrote:

>> On a corpus search, found
>> org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/indexing/AddJarFileToIndex.java references ZipError (16 usages)
>> 
>> sbt/internal/inc/zip/ZipCentralDir.java referenced ZipError(was based off an old copy of ZipFS I believe), the file does not seem to be part of the GitHub repository and there are 5 usages
>> 
>> com/aoapps/lang/Throwables.class  and com/aoindustries/lang/Throwables.class (clone of each other I believe) 
>> 
>> com/android/tools/apk/analyzer/internal/ArchiveManagerImpl. ( 1 usage)
>> 
>> 
>> So would be good to also alert those projects if possible
>
>> So would be good to also alert those projects if possible
> 
> I guess the deprecation warning itself is the "official" channel for communicating this type of information. But I agree it doesn't hurt to alert at least some of the larger projects, on a best-effort bases. So I have reached out to the following projects by reporting issues:
> 
> * Eclipse JDT: https://github.com/eclipse-jdt/eclipse.jdt.core/issues/2856
> * SBT / Zinc: https://github.com/sbt/zinc/issues/1385    
> * Android Studio apkparser: https://issuetracker.google.com/issues/361862739

@eirbjo I have updated the CSR to describe the solutions from both our and user sides.

I think you can update the class Javadoc to something like:


/**
 * A legacy error for invalid ZIP format from argument incorrectly regarded as an internal error.
 * This extends {@code InternalError} to maintain compatibility with preexisting client code catching
 * {@code InternalError}.
 * 
 * @deprecated
 * This error is not suitable to indicate an exception for a general ZIP file; use {@link
 * ZipException} instead.
 * <p>
 * {@code ZipError} fell out of use in the reference implementation in release 9 when the native ZIP
 * API was brought over to Java. Its last uses was in ZipFile and the demo zipfs in release 8.
 * <p>
 * Code bases supporting release 8 should update to catch InternalError instead. Old binaries can
 * use bytecode patching to upgrade CONSTANT_Class references to {@code java/util/zip/ZipError} in
 * exception handler ranges to {@code java/lang/InternalError}.
 */

-------------

PR Comment: https://git.openjdk.org/jdk/pull/20642#issuecomment-2308445973


More information about the core-libs-dev mailing list