jiayuasu commented on PR #735:
URL: https://github.com/apache/incubator-sedona/pull/735#issuecomment-1356683199

   @Kimahriman 
   
   Please feel free to correct me if I am wrong since I am not 100% confident 
about the current POM setting.
   
   1. The reason why we provide a shaded jar for python-adapter is that some 
Sedona users actually manually download the jar from ASF dist and manually 
upload it to its environment. Since this step has no maven involved, a shaded 
jar will be helpful for them. This happens to both Scala/Java/Python users in 
Spark and Flink.
   2. The majority of Flink users are using Java and pure SQL. Some of them 
might use Scala. Few of them are using Python.
   3. I can create something like edu-ucar wrapper to bring it to the Maven 
Central. But I don't want to put it to compile scope because (1) it depends on 
the Google guava which might have incompatible API across versions (2) it is 
quite large (3.3 MB itself) and only a few people use it.
   
   BTW, in Sedona doc, we explain that what dependency should be called if you 
want to use Sedona jar with others: 
https://sedona.apache.org/setup/maven-coordinates/#use-sedona-and-third-party-jars-separately
   
   # Your new proposal
   
   Based on your proposal, users will now interact with the following jars. Can 
you please confirm?
   
   All Spark / Flink dependency must be `provided` in any cases.
   
   ## Spark users:
   
   * Scala/Java user option 1: use Maven to manage dependency
        * sedona-core: with some compile scope dependencies but not shaded
        * sedona-sql: with some compile scope dependencies but not shaded
        * sedona-viz: with some compile scope dependencies but not shaded
   Users no longer need to manually add other dependencies (jts, geojson2jts, 
geotools-wrapper). geotools-wrapper is now a compile scope dependency.
   
   * Scala/Java user option 2: manually download jar and upload jar, no Maven
        * sedona-python-adapter: a shaded jar like what we have now
        * geotools-wrapper: a shaded jar that consists of all geotools 
dependency
   
   * Python user option: follow `Scala/Java user option 2`
   
   ## Flink users:
   
   * Scala/Java user option 1: use Maven to manage dependency
        * sedona-core: with some compile scope dependencies but not shaded
        * sedona-flink: with some compile scope dependencies but not shaded
   
   * Scala/Java user option 2: use Maven to manage dependency
        * sedona-python-adapter: a shaded jar like what we have now
        * geotools-wrapper: a shaded jar that consists of all geotools 
dependency
   
   ## Final thoughts
   
   It was a headache for me to get the POM right for publishing a release. 
Before we accept such a big change to the POM, we need to test by publishing 
SNAPSHOTS (https://sedona.apache.org/community/snapshot/) and try with the 
existing projects in `example` folder


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to