Martin Andersson created SEDONA-212:
---------------------------------------

             Summary: Move shading to separate maven modules
                 Key: SEDONA-212
                 URL: https://issues.apache.org/jira/browse/SEDONA-212
             Project: Apache Sedona
          Issue Type: Improvement
            Reporter: Martin Andersson


Shading makes it impossible for mavens dependency resolution mechanism to work 
since dependencies are stripped from the pom.xml and bundled with the jar file. 
Shading can lead to unpredictable behavior with multiple versions or wrong 
versions of dependencies on the classpath. Those errors are usually hard to 
track down and fix for end users.

A few examples: 
 * In SEDONA-210 if shading wasn't involved scala-collection-compat could be 
excluded by the user in sbt.
 * We see the same problem with org.datasyslab.sernetcdf, although not caused 
by Sedona. In it's shaded jar it pulls in an old version of hadoop. Sedona also 
pulls in hadoop. With two version on the classpath we see unpredictable 
behavior.
 * Adding geotools to a Sedona project is hard without the, out of tree, 
geotoolswrapper. Geotools pulls in JTS. If the JTS version shaded into Sedona 
jars differs from the version pulled by geotools it's a coin toss which version 
is used.

 

I propose we move shading from the parent pom.xml to two separate modules: 
sedona-spark-shaded and sedona-flink-shaded. In Python and R environments that 
don't have access to a full jvm build tool (like mvn, gradle and sbt) the 
shaded jars can be used as a convenience. In jvm projects it probably makes 
more sense to use the non shaded dependencies lika sedona-sql and sedona-flink.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to