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]
