Skip to content

Don't handle *.gwtar and other normal files ending with *ar as archives #82

@phbreitbach

Description

@phbreitbach

The tool handles everything with file suffix *ar as a potential Java archive:

System.err output on an example with *.gwtar
-- Problem: D:.m2\repository\com\google\gwt\gwt-user\2.7.0\gwt-user-2.7.0.jar!/com/google/gwt/user/User.gwtar - java.lang.RuntimeException: Inner-zip - could not find ZIP magic number: D:.m2\repository\com\google\gwt\gwt-user\2.7.0\gwt-user-2.7.0.jar!/com/google/gwt/user/User.gwtar

Another example with a service file called ComponentRegistrar
-- Problem: C:\Users\XYZ\AppData\Roaming\JetBrains\IntelliJIdea2020.2\plugins\Kotlin\kotlinc\lib\allopen-compiler-plugin.jar!/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar - java.lang.RuntimeException: Inner-zip - could not find ZIP magic number: C:\Users\XYZ\AppData\Roaming\JetBrains\IntelliJIdea2020.2\plugins\Kotlin\kotlinc\lib\allopen-compiler-plugin.jar!/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar

Snippet from method fileType:

} else if ("zip".equalsIgnoreCase(suffix)
    || "jpi".equalsIgnoreCase(suffix)
    || "hpi".equalsIgnoreCase(suffix)
    || suffix.endsWith("ar")) {
  return 0;
}

*.gwtar seems to be some proprietary file of GWT maybe similar to a *.class file (haven't had the time to research on that up to now ...
ComponentRegistrar is obviously not a ZIP

So the detection of file suffixes which are regarded as ZIP needs to be refined I think ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions