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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions