Skip to content

jarjar_runner.sh fails incorrectly on jars that contain files ending in ~ #137

@thirtyseven

Description

@thirtyseven

Issue

When jarjar_runner.sh processes a jar that contains a file ending in ~, it fails.

BUILD.bazel:

jarjar_library(
        name="test_shaded",
        rules=[],
        jars=["test2.jar"]
)

Steps to reproduce:

mkdir jar
cd jar
touch test~ build-data.properties
jar cf test2.jar *
bazel build :test_shaded
INFO: Analyzed target //:test_shaded (0 packages loaded, 0 targets configured).
INFO: Found 1 target...

ERROR: /Users/*snip*/BUILD.bazel:11:15: Action test_shaded.jar failed: (Exit 1): bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
Error: duplicate files in merged jar: test~
Target //:test_shaded failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 0.191s, Critical Path: 0.09s
INFO: 2 processes: 2 internal.
FAILED: Build did NOT complete successfully

Possible solution

It should be simple to use comm to filter out any files from duplicate_files that are present in any of the source jars.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P4bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions