Dear all,

According to my discussion with JTS committer Jim and Martin, both JTS PRs
could be partially or completely avoided by adopting the following methods:

1. For Check UserData in Geometry Equals
https://github.com/locationtech/jts/pull/633 , in Sedona RDD JoinQuery, I
will try to use HashMap as an intermediate step because HashMap allows
self-defined hash key. The new method will be added here:
https://github.com/apache/incubator-sedona/blob/master/core/src/main/java/org/apache/sedona/core/spatialOperator/JoinQuery.java#L88
2. For Change Access Modifier and Add setter and getter
https://github.com/locationtech/jts/pull/634 , I will add a package-private
RTree/QuadTree class in Sedona, which should be under the same folder of
JTS, to expose the internals of JTS indices.

If both methods work, I believe we probably will not need to change JTS and
can directly use JTS in Maven Centrl. I will try out the solutions in the
next few days.

Thanks,
Jia

On Mon, Nov 16, 2020 at 2:30 PM Jim Hughes <[email protected]> wrote:

> Hi Jia,
>
> Thanks for putting up the PRs.  Martin and I have commented on them.  If
> you are interested in a more real-time discussion than the PRs, Martin
> and I are both in the JTS Gitter (https://gitter.im/locationtech/jts).
>
> To ask directly, please do not fork JTS.  You will be unable to publish
> 1.16.2 artifacts on Maven central.  Finding another way to do this will
> cause confusion.
>
> Cheers,
>
> Jim
>
> On 11/16/20 2:28 AM, Jia Yu wrote:
> > Dear all,
> >
> > Thanks for all your suggestions.
> >
> > 1. To completely solve the long-overdue JTS issue, I made a Sedona PR and
> > two JTS PRs. @Jim Hughes <[email protected]> , @Paweł Kociński
> > <[email protected]> , I, and probably Martin from JTS will take
> > care of these PRs in the coming days.
> > (1) Sedona PR: https://github.com/apache/incubator-sedona/pull/488
> > (2) JTS PR: https://github.com/locationtech/jts/pull/633
> > https://github.com/locationtech/jts/pull/634
> >
> > 2. To move forward with the first release, I have deleted the "SNAPSHOT"
> in
> > my JTS 1.16 fork.
> > Most likely, we have to move forward with my JTS 1.16 fork in the first
> > Sedona release because of the conflict among JTStoGeoJSON, GeoTools, and
> > JTS 1.17.
> > So @Netanel Malka <[email protected]>  could you please do another
> > dry-run on the Sedona first release on this Sedona branch:
> sedona-1.0-doc:
> > https://github.com/apache/incubator-sedona/tree/sedona-1.0-doc
> >
> > Thanks,
> > Jia
> >
> > On Thu, Nov 12, 2020 at 11:36 AM Jim Hughes <[email protected]> wrote:
> >
> >> Hi Mo,
> >>
> >> I can definitely help.  The first step will be for Jia to push a PR for
> >> the JTS changes.  (Since they are his changes, I cannot do this on his
> >> behalf.)
> >>
> >>   From talking to the lead JTS developer, he wanted to see the previous
> >> PR (from months/a year+ ago) split up.  I think the initial PR should be
> >> used to discuss what changes are sensible for JTS and where we'll need
> >> to push some of the changes to Sedona.
> >>
> >> Concretely, I noticed that the Sedona JTS fork changes the toString on
> >> Geometry to include printing out the userData.  I imagine that may cause
> >> trouble for downstream JTS users, so it'd be good to find an
> >> alternative.  One suggestion would to be add a static method in Sedona
> >> for printing a Geometry with its userData object.
> >>
> >> Cheers,
> >>
> >> Jim
> >>
> >> On 11/12/20 12:32 PM, Mohamed Sarwat wrote:
> >>> Folks,
> >>>
> >>> I totally agree with Jim on that. Jim, would you like to take the lead
> >> on that - I trust that you can bring this task to completion. Jia, would
> >> you please let us know how we can incorporate the changes into the JTS
> >> master branch?
> >>> Thanks,
> >>>
> >>>> On Nov 12, 2020, at 10:10 AM, Jim Hughes <[email protected]> wrote:
> >>>>
> >>>> Hi all,
> >>>>
> >>>> As a JTS committer, I have tried to request that the Sedona project
> >> discuss the desired changes to JTS previously.  I'd still encourage
> that.
> >>>> JTS is an active project and I feel that maintaining a fork of JTS is
> >> unnecessary and inappropriate.
> >>>> Cheers,
> >>>>
> >>>> Jim
> >>>>
> >>>>> On 11/11/20 9:04 PM, Felix Cheung wrote:
> >>>>> Ah. You will need to publish it in order for the dependency chain to
> >> work
> >>>>> on Maven Central
> >>>>>
> >>>>> However, since you are not the project owner there you might need to
> >>>>> publish that under a different artifact id.
> >>>>>
> >>>>> In general, it would be best to avoid hard forking another project
> like
> >>>>> this.
> >>>>>
> >>>>>
> >>>>>> On Wed, Nov 11, 2020 at 1:05 PM Jia Yu <[email protected]>
> wrote:
> >>>>>>
> >>>>>> Hi Netanel,
> >>>>>>
> >>>>>> That links to this git submodule:
> >>>>>> https://github.com/jiayuasu/jts/blob/1.16.x/modules/core/pom.xml#L6
> >>>>>>
> >>>>>> I can easily fix this by changing the version number here to 1.16.2
> >>>>>> excluding "SNAPSHOT":
> >>>>>> https://github.com/jiayuasu/jts/blob/1.16.x/modules/core/pom.xml#L6
> >>>>>>
> >>>>>> Will this solve the problem?
> >>>>>>
> >>>>>> On Wed, Nov 11, 2020 at 7:40 AM Netanel Malka <[email protected]
> >
> >>>>>> wrote:
> >>>>>>
> >>>>>>> Hi Folks,
> >>>>>>>
> >>>>>>> I tried to make a release (dry-run) following by
> >>>>>>> publishing-maven-artifacts
> >>>>>>> <https://infra.apache.org/publishing-maven-artifacts.html>, and I
> >>>>>>> encountered an issue.
> >>>>>>>
> >>>>>>> On sedona-core, we have jts-core as a dependency with the SNAPSHOT
> >>>>>>> version.
> >>>>>>> (link
> >>>>>>> <
> >>>>>>>
> >>
> https://github.com/apache/incubator-sedona/blob/2e60fc07b0eae78ccae3876d970e677fc9319c40/core/pom.xml#L37
> >>>>>>> )
> >>>>>>>
> >>>>>>> As a prerequisite to the release process, we cannot have
> >> dependencies in a
> >>>>>>> SNAPSHOT version.
> >>>>>>>
> >>>>>>>
> >>>>>>> Do you have any clue about how to solve this?
> >>>>>>>
> >>>>>>>
> >>>>>>> On Mon, 9 Nov 2020 at 21:22, Netanel Malka <[email protected]>
> >> wrote:
> >>>>>>>> OK. Thanks Felix.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Updates:
> >>>>>>>>
> >>>>>>>>     *
> >>>>>>>>     *   Opened a ticket for INFRA to Enable Nexus Access For
> Sedona<
> >>>>>>>> https://issues.apache.org/jira/browse/INFRA-21085>
> >>>>>>>>     *   Followed this<
> >>>>>>>> https://infra.apache.org/publishing-maven-artifacts.html> guide
> to
> >> test
> >>>>>>>> the maven release process
> >>>>>>>>     *   I hope to create a PR soon for adjusting the build to
> deploy
> >> to
> >>>>>>> the
> >>>>>>>> ASF Nexus repository
> >>>>>>>>     *   The key that signs the artifacts were created and tested.
> >>>>>>>>
> >>>>>>>> Do we want to create a candidate release for the current master
> >> branch?
> >>>>>>>> Netanel Malka,
> >>>>>>>> Big Data Consultant
> >>>>>>>> [Description: Description: Description: Description:
> >>>>>>>> cid:[email protected]]
> >>>>>>>> ________________________________
> >>>>>>>> From: Felix Cheung <[email protected]>
> >>>>>>>> Sent: Wednesday, November 4, 2020 19:57
> >>>>>>>> To: [email protected]
> >>>>>>>> Cc: Jinxuan Wu; Mohamed Sarwat; Netanel Malka; Paweł Kociński;
> >> Zongsi
> >>>>>>> Zhang
> >>>>>>>> Subject: Re: First Sedona release
> >>>>>>>>
> >>>>>>>> 1) No you don’t need KEYS file in github only on the release share
> >>>>>>>> https://dist.apache.org/repos/dist/dev/incubator/
> >>>>>>>>
> >>>>>>>> 2) as podling you add to
> >>>>>>>> https://dist.apache.org/repos/dist/dev/incubator/
> >>>>>>>> When you commit via svn you will be able to add a “directory” for
> >> Sedona
> >>>>>>>> 2a) for release, you basically do a svn rename to move from dev to
> >>>>>>> release
> >>>>>>>> “path”
> >>>>>>>>
> >>>>>>>> 3) if you have java based artifacts, yes. You will publish to
> Nexus,
> >>>>>>>> staging first and when release is signed off, you can click on the
> >>>>>>>> interface to make it official, which then automatically sync to
> >> Maven
> >>>>>>>> central.
> >>>>>>>>
> >>>>>>>> Here is a script for example that does release signing and
> >> publication
> >>>>>>> to
> >>>>>>>> Nexus (and staging before release)
> >>>>>>>>
> >>>>>>>>
> >>
> https://github.com/apache/spark/blob/master/dev/create-release/release-build.sh
> >>>>>>>> On Wed, Nov 4, 2020 at 2:50 AM Netanel Malka <
> [email protected]
> >>>>>>> <mailto:
> >>>>>>>> [email protected]>> wrote:
> >>>>>>>> Hi,
> >>>>>>>>
> >>>>>>>> I followed the release-signing
> >>>>>>>> <https://infra.apache.org/release-signing.html> doc and created a
> >> key
> >>>>>>> for
> >>>>>>>> signing and hashing.
> >>>>>>>>
> >>>>>>>> I have a few questions:
> >>>>>>>>
> >>>>>>>>      1. Should the KEYS file also be added to the project root
> >> directory
> >>>>>>> on
> >>>>>>>>      Github? ( I saw it in Apache Ant)
> >>>>>>>>      2. I saw in release-policy_upload-ci
> >>>>>>>>      <http://www.apache.org/legal/release-policy.html#upload-ci>
> >> that we
> >>>>>>>> need
> >>>>>>>>      to add a release candidate to
> >>>>>>> https://dist.apache.org/repos/dist/*dev*/
> >>>>>>>> <TLP
> >>>>>>>>      name>/. However, there does not seem to be a directory with
> >> Sedona as
> >>>>>>>> the
> >>>>>>>>      TLP name. How may we be able to get a directory with that
> name?
> >> (Also
> >>>>>>>> for
> >>>>>>>>      the *release*)
> >>>>>>>>      3. Do we need to push the artifacts also to ASF Nexus
> Repository
> >>>>>>> (beside
> >>>>>>>>      Maven Central)?
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Thanks.
> >>>>>>>>
> >>>>>>>> On Mon, 2 Nov 2020 at 19:21, Netanel Malka <[email protected]
> >>>>>>> <mailto:
> >>>>>>>> [email protected]>> wrote:
> >>>>>>>>
> >>>>>>>>> Thanks Felix.
> >>>>>>>>>
> >>>>>>>>> I would be delighted to help.
> >>>>>>>>> I can start with the GPG.
> >>>>>>>>>    Can I test it on a some artifact, or I need to wait for the
> first
> >>>>>>>> release?
> >>>>>>>>> On Mon, 2 Nov 2020 at 03:17, Felix Cheung <
> [email protected]
> >>>>>>>> <mailto:[email protected]>> wrote:
> >>>>>>>>>> Great progress!
> >>>>>>>>>>
> >>>>>>>>>> To add,
> >>>>>>>>>> A) I’d strongly recommend the WIP disclaimer - it would be much
> >>>>>>> easier
> >>>>>>>> to
> >>>>>>>>>> pass with in the first release
> >>>>>>>>>> https://incubator.apache.org/policy/incubation.html#disclaimers
> >>>>>>>>>>
> >>>>>>>>>> B) more info in signing, checksum
> >>>>>>>>>> https://infra.apache.org/release-signing.html
> >>>>>>>>>>
> >>>>>>>>>> C) signing key should be individual’s and (public key )
> published
> >> and
> >>>>>>>> also
> >>>>>>>>>> listed in KEYS file - KEYS file  should be located next to the
> >>>>>>> staging
> >>>>>>>>>> (and
> >>>>>>>>>> later release) location, see above
> >>>>>>>>>>
> >>>>>>>>>> D) “correct place” - this is in reference to ASF officIal
> staging
> >>>>>>> server
> >>>>>>>>>> http://www.apache.org/legal/release-policy.html#stage
> >>>>>>>>>> And can be “uploaded” by committing to svn
> >>>>>>>>>> http://www.apache.org/legal/release-policy.html#upload-ci
> >>>>>>>>>>
> >>>>>>>>>> E) python / PyPI -
> >>>>>>>>>> https://incubator.apache.org/guides/distribution.html#pypi
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> On Sun, Nov 1, 2020 at 2:17 PM Jia Yu <[email protected]<mailto:
> >>>>>>>> [email protected]>> wrote:
> >>>>>>>>>>> Hi Netanel, Pawel and other committers,
> >>>>>>>>>>>
> >>>>>>>>>>> While Pawel is working on Python code of Sedona 1.0, let's
> focus
> >> on
> >>>>>>>>>> other
> >>>>>>>>>>> parts required by the release. Netanel, can you help me with
> all
> >>>>>>> the
> >>>>>>>> ASF
> >>>>>>>>>>> incubator requirement items that are not DONE?
> >>>>>>>>>>>
> >>>>>>>>>>> *Here is a checklist for our first Sedona release*
> >>>>>>>>>>>
> >>>>>>>>>>> *ASF incubator requirement
> >>>>>>>>>>> (https://incubator.apache.org/guides/releasemanagement.html
> >>>>>>>>>>> <https://incubator.apache.org/guides/releasemanagement.html>,
> we
> >>>>>>>>>> probably
> >>>>>>>>>>> should read ASF release requirement as well):*
> >>>>>>>>>>>
> >>>>>>>>>>> 1 .Include the word incubating in the release file name: DONE.
> >>>>>>> Please
> >>>>>>>>>> see
> >>>>>>>>>>> the POM.xml in all directories.
> >>>>>>>>>>>
> >>>>>>>>>>> 2. Include an ASF LICENSE and NOTICE file: DONE. Please see the
> >>>>>>> GitHub
> >>>>>>>>>>> repo.
> >>>>>>>>>>>
> >>>>>>>>>>> 3. Have valid checksums or signatures: I believe signature
> should
> >>>>>>> be
> >>>>>>>>>> done
> >>>>>>>>>>> by the GPG key. Not sure about the checksum. I am also not sure
> >>>>>>> about
> >>>>>>>>>> the
> >>>>>>>>>>> GPG key requirement of ASF. I use GPG key to sign releases of
> >>>>>>> GeoSpark
> >>>>>>>>>> in
> >>>>>>>>>>> the past.
> >>>>>>>>>>>
> >>>>>>>>>>> 4. Be placed in the correct place on the ASF’s infrastructure:
> we
> >>>>>>>> should
> >>>>>>>>>>> place our releases in two places: Maven, and PyPi. Not sure how
> >> to
> >>>>>>>>>> relate
> >>>>>>>>>>> them to ASF.
> >>>>>>>>>>>
> >>>>>>>>>>> 5. Have a KEYS file to validate the release: this should be the
> >>>>>>> public
> >>>>>>>>>> key
> >>>>>>>>>>> of our GPG key?
> >>>>>>>>>>>
> >>>>>>>>>>> *Sedona requirement*
> >>>>>>>>>>>
> >>>>>>>>>>> 1. Python path name, file headers, and jars
> >>>>>>>>>>> 2. Project website docs: documentation should use the name,
> >>>>>>> Sedona, in
> >>>>>>>>>> all
> >>>>>>>>>>> tutorials. We should also include the situation of GeoTools
> >>>>>>>>>> dependencies.
> >>>>>>>>>>> Thanks,
> >>>>>>>>>>> Jia
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> On Wed, Oct 14, 2020 at 10:08 PM Jia Yu <[email protected]
> >> <mailto:
> >>>>>>>> [email protected]>> wrote:
> >>>>>>>>>>>> Hi folks,
> >>>>>>>>>>>>
> >>>>>>>>>>>> We will be working on the first Sedona. Please see the JIRA
> >>>>>>> ticket
> >>>>>>>>>> here:
> >>
> https://issues.apache.org/jira/projects/SEDONA/issues/SEDONA-3?filter=allopenissues
> >>>>>>>>>>>> Do you think there are any outstanding issues to be fixed as
> >>>>>>> well?
> >>>>>>>>>>>> Thanks,
> >>>>>>>>>>>> Jia
> >>>>>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>> Best regards,
> >>>>>>>>> Netanel Malka.
> >>>>>>>>>
> >>>>>>>> --
> >>>>>>>> Best regards,
> >>>>>>>> Netanel Malka.
> >>>>>>>>
> >>>>>>> --
> >>>>>>> Best regards,
> >>>>>>> Netanel Malka.
> >>>>>>>
> >>
>
>

Reply via email to