locationtech / geogig

GeoGig project
Other
402 stars 80 forks source link

Remove dependency on geotools except for the geotools modules #478

Closed groldan closed 5 years ago

groldan commented 5 years ago

Geogig doesn't (or shouldn't) really need geotools except when interacting with it (e.g. importing/exporting data, implementing a geotools datastore).

Moreover, as a library, for the cases where that's not necessary, it'd be better not to carry over all the transitive dependencies that depending on geotools implies.

groldan commented 5 years ago

Current branch reduces dependencies as this:

After

com.google.code.gson:gson:jar:2.4:compile
com.google.guava:failureaccess:jar:1.0.1:compile
com.google.guava:guava:jar:27.1-jre:compile
com.google.inject:guice:jar:no_aop:4.2.2:compile
com.ning:compress-lzf:jar:1.0.3:compile
javax.inject:javax.inject:jar:1:compile
net.jpountz.lz4:lz4:jar:1.3.0:compile
org.eclipse.jdt:org.eclipse.jdt.annotation:jar:1.1.0:compile
org.locationtech.geogig:geogig-api:jar:2.0-SNAPSHOT:compile
org.locationtech.geogig:geogig-metadata:jar:2.0-SNAPSHOT:compile
org.locationtech.jts:jts-core:jar:1.16.1:compile
org.slf4j:slf4j-api:jar:1.7.5:compile

Before

com.fasterxml.jackson.core:jackson-core:jar:2.9.9:compile
com.google.code.findbugs:jsr305:jar:3.0.2:compile
com.google.errorprone:error_prone_annotations:jar:2.2.0:compile
com.google.guava:failureaccess:jar:1.0.1:compile
com.google.guava:guava:jar:27.1-jre:compile
com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
com.google.inject.extensions:guice-multibindings:jar:4.2.2:compile
com.google.inject:guice:jar:no_aop:4.2.2:compile
com.google.j2objc:j2objc-annotations:jar:1.1:compile
commons-collections:commons-collections:jar:3.2.2:compile
commons-pool:commons-pool:jar:1.5.4:compile
com.ning:compress-lzf:jar:1.0.3:compile
javax.inject:javax.inject:jar:1:compile
javax.measure:unit-api:jar:1.0:compile
javax.media:jai_core:jar:1.1.3:compile
net.jpountz.lz4:lz4:jar:1.3.0:compile
net.sf.geographiclib:GeographicLib-Java:jar:1.49:compile
org.apache.commons:commons-lang3:jar:3.8.1:compile
org.apache.commons:commons-text:jar:1.6:compile
org.apache.xml:xml-commons-resolver:jar:1.2:compile
org.checkerframework:checker-qual:jar:2.5.2:compile
org.codehaus.mojo:animal-sniffer-annotations:jar:1.17:compile
org.eclipse.jdt:org.eclipse.jdt.annotation:jar:1.1.0:compile
org.ejml:ejml-core:jar:0.34:compile
org.ejml:ejml-ddense:jar:0.34:compile
org.geotools:gt-cql:jar:22-SNAPSHOT:compile
org.geotools:gt-epsg-hsql:jar:22-SNAPSHOT:compile
org.geotools:gt-main:jar:22-SNAPSHOT:compile
org.geotools:gt-metadata:jar:22-SNAPSHOT:compile
org.geotools:gt-opengis:jar:22-SNAPSHOT:compile
org.geotools:gt-referencing:jar:22-SNAPSHOT:compile
org.geotools:gt-xml:jar:22-SNAPSHOT:compile
org.hsqldb:hsqldb:jar:2.4.1:compile
org.jdom:jdom2:jar:2.0.6:compile
org.locationtech.geogig:geogig-api:jar:2.0-SNAPSHOT:compile
org.locationtech.jts:jts-core:jar:1.16.1:compile
org.slf4j:slf4j-api:jar:1.7.5:compile
si.uom:si-quantity:jar:0.7.1:compile
si.uom:si-units-java8:jar:0.7.1:compile
systems.uom:systems-common-java8:jar:0.7.2:compile
tec.uom.lib:uom-lib-common:jar:1.0.2:compile
tec.uom:uom-se:jar:1.0.8:compile
groldan commented 5 years ago

Fixed at 3cb1d35e739defb654e58561bef5a901006c9681