Open MatousJobanek opened 6 years ago
I have been checking the dependencies on parent pom and I have seen next ones being not test
scope:
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>${version.javassist}</version>
</dependency>
<dependency>
<groupId>org.jgrapht</groupId>
<artifactId>jgrapht-core</artifactId>
<version>${version.jgrapht}</version>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${version.snakeyaml}</version>
</dependency>
<dependency>
<groupId>io.github.lukehutch</groupId>
<artifactId>fast-classpath-scanner</artifactId>
<version>${version.fast-classpath-scanner}</version>
</dependency>
So I am not sure if we can provide our own implementation of something, maybe jgraph
, but we have some for classpath and bytecode manipulation which I am not sure if we should implement ourselves.
Issue Overview
As we add our dependencies to the user's pom file we should be as less intrusive as possible. To avoid any dependency conflicts and classloading issues we use shaded jars with relocations - for more information see these issues: #277 #279 To minimize the shaded fat jar and the classes and libraries we bring to the user's project, try to minimize dependencies and libraries that we use in our project. If it is possible, replace it with our implementation.