Skip to content

Use gradle default dependency management and create shadow/fat jar by using existing tools #253

@circlesmiler

Description

@circlesmiler

JVarKit seems to be designed as a standalone command line tool. Therefore, all dependencies are packed into the executable jar file which is exactly what you want for using it in the most simple way on the terminal. Nice. :-)

But: If you want to use JVarKit as a library in your own project you are in trouble, because all external dependencies are packed into the jar and can collide with different library versions of your project. Normally gradle would try to handle this, but it can not "see" the dependencies in the jvarkit.jar file.

Solution: Use the "normal" dependency management in your project and use existing tools that pack the external libraries into the jar.

Question: Are there any reasons why this was not done on the first place? Otherwise, I could try to provide a PR for this.

What do you think? :-)

PS: When I look into the build.gradle file there seems to be a lot of thinks going on. I could imagine that it is not possible to use this project as a library in other projects. But maybe you could explain the problem/the requirements.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions