Hi Lee, I’ve found a potential solution to address the relative path issue that you mentioned below. The `relativePath` property on the POM’s <parent> element provides a way to lookup a dependency from a remote repository instead of the default order of precedence.
This change is introduced in https://github.com/apache/datasketches-memory/pull/133 <https://github.com/apache/datasketches-memory/pull/133>. David > On 16 Jul 2021, at 22:16, leerho <[email protected]> wrote: > > Dave, > After this recent merge #132, this problem reappeared: > > Project build error: 'parent.relativePath' of POM > org.apache.datasketches:datasketches-memory:2.0.0-SNAPSHOT > (/Users/lrhodes/dev/git/Apache/datasketches-memory2/datasketches-memory/pom.xml) > points at org.apache.datasketches:datasketches-memory-root > instead of org.apache:apache, > please verify your project structure. > pom.xml /datasketches-memory line 27 Maven pom Loading Problem > > I find this error description puzzling ... because the pom at the "root" of > the project points to org.apache:apache as well as the pom under > datasketches-memory. Clearly it is confused. > > On Fri, Jul 16, 2021 at 5:48 AM David Cromberge > <[email protected] <mailto:[email protected]>> wrote: > Thanks for your help with the Eclipse build, Lee. I’ll merge the fixes we > have made into master and integrate your notes into the documentation > afterwards. > David > >> On 15 Jul 2021, at 19:30, leerho <[email protected] >> <mailto:[email protected]>> wrote: >> >> I cleaned up a few more nits and had to add back the >> SuppressWarnings("restricted"). (this is a continuous loop) >> >> I also have created the following startup documentation for Eclipse: >> Use it as you see fit. >> >> Lee. >> >> On Mon, Jul 12, 2021 at 2:01 PM David Cromberge >> <[email protected] <mailto:[email protected]>> wrote: >> Thank you for testing on the branch that I have created. >> >> Please be aware that I have updated the documentation for toolchains and >> eclipse to further clarify the necessary steps for setting up a local IDE. >> I have already updated the toolchains documentation to explain how a >> developer can setup their local environment variables, (see >> docs/toolchains.md). >> >> Furthermore, to address your Eclipse errors you need to ensure that you have >> installed the requisite JREs in Eclipse, and configured each module to use >> the correct JRE. Unfortunately it does not synchronise correctly with >> Maven. >> It is also necessary to add JPMS module exports for datasketches-java9, to >> provide access to some of the JDK internals (namely, the cleaner). Note >> that the `datasketches-java9-tests` module has been removed as this did not >> play well with Eclipse. >> >> It is my hope that the updates I made earlier today to the documentation >> should be sufficient to correct these errors (see docs/eclipse.md). >> >> I’ve tested these steps on a vanilla zip of the branch on the latest Eclipse >> IDE (June 2021 - see below). If you experience difficulties, I’d be happy >> to jump on a call and summarise any shortcomings on this thread. >> >> David >> >> <Screenshot 2021-07-12 at 21.40.28.png> >> >> >> >> >>> On 12 Jul 2021, at 20:03, leerho <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> I am now testing exclusively from the build-fix-errors branch >>> By removing JDK 10 and 12 from toolchains.xml and from the matrix in >>> maven.yml I was able to successfully execute >>> mvn clean install --toolchains .github/workflows/.toolchains.xml >>> We still need docs to explain that the developer may need to do this based >>> on what JDKs are in the developer's environment. >>> In Eclipse, .gitignore, .project, .classpath, and .settings files appear in >>> all the datasketches-memory* sub maven-module directories. >>> So the root .gitignore file needs to be updated to make sure these files do >>> not propagate into version control. (Attached) >>> Eclipse will still not compile. Attached is the error logs. >>> >>> <Screen Shot 2021-07-12 at 11.12.54 AM.png> >>> >>> On Fri, Jul 9, 2021 at 7:55 PM leerho <[email protected] >>> <mailto:[email protected]>> wrote: >>> More precisely: >>> mvn clean package eclipse:eclipse --toolchains >>> .github/workflows/.toolchains.xml >>> Works. >>> >>> Now I'm going to see if I can get Eclipse working :) >>> >>> >>> On Fri, Jul 9, 2021 at 3:19 PM David Cromberge >>> <[email protected] <mailto:[email protected]>> >>> wrote: >>> OK - >>> >>> I need to investigate exactly how the module dependencies are getting >>> resolved by some plugins, as I had a similar issue with the javadoc plugin >>> and its class paths. >>> >>> To illustrate the point, the eclipse plugin command `mvn clean package >>> eclipse:eclipse` will succeed. >>> >>> As I mentioned, I’ll try and correct these issues as soon as possible via a >>> follow-up PR. >>> >>> >>>> On 9 Jul 2021, at 23:08, leerho <[email protected] >>>> <mailto:[email protected]>> wrote: >>>> >>>> No. Reverting can be messy. I prefer we just keep moving forward ... >>>> It is not a crisis if master isn't perfect, as long as we can fix it >>>> reasonably quickly :) >>>> >>>> >>>> On Fri, Jul 9, 2021 at 3:03 PM David Cromberge >>>> <[email protected] <mailto:[email protected]>> >>>> wrote: >>>> Interesting, I have not yet tested the enclose compatibly in that manner. >>>> I tested using the IDE itself. >>>> >>>> As an update, I have created a new toolchain for the user, and am looking >>>> at the surefire plugin mechanism for scanning dependencies. >>>> >>>> I’ll add the mvn eclipse:eclipse command to the list - I agree, it should >>>> not be scanning maven central. >>>> >>>> Would you prefer I revert the PR merge whilst I address these issues? >>>> >>>> >>>> David >>>> >>>>> On 9 Jul 2021, at 22:55, leerho <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> >>>>> Ok, I removed the <classifier>tests</classifier> from the pom. >>>>> >>>>> As long as the entries in the toolchain match the JDKs I have installed >>>>> and the matrix versions also match then >>>>> >>>>> mvn clean install --toolchains .github/workflows/.toolchains.xml WORKS! >>>>> >>>>> However, when I try: mvn clean eclipse:eclipse --toolchains >>>>> .github/workflows/.toolchains.xml >>>>> it fails with >>>>> [ERROR] Failed to execute goal >>>>> org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce >>>>> (enforce-banned-dependencies) on project datasketches-memory-java8-tests: >>>>> Execution enforce-banned-dependencies of goal >>>>> org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce failed: >>>>> org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException: >>>>> Could not resolve following dependencies: >>>>> [org.apache.datasketches:datasketches-memory-java8:jar:2.0.0-SNAPSHOT >>>>> (test)]: Could not resolve dependencies for project >>>>> org.apache.datasketches:datasketches-memory-java8-tests:jar:2.0.0-SNAPSHOT: >>>>> org.apache.datasketches:datasketches-memory-java8:jar:2.0.0-SNAPSHOT was >>>>> not found in >>>>> https://repository.apache.org/content/groups/snapshots/org/apache/datasketches/ >>>>> >>>>> <https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://www.google.com/url?q%253Dhttps://www.google.com/url?q%25253Dhttps://www.google.com/url?q%2525253Dhttps://repository.apache.org/content/groups/snapshots/org/apache/datasketches/%25252526source%2525253Dgmail-imap%25252526ust%2525253D1626472557000000%25252526usg%2525253DAOvVaw2ropAlkfYzKFBNVxduUwHm%252526source%25253Dgmail-imap%252526ust%25253D1626473317000000%252526usg%25253DAOvVaw2XzzitEqlgUU_DwnzUD6qE%2526source%253Dgmail-imap%2526ust%253D1626721420000000%2526usg%253DAOvVaw3jul9wTMp1jhZN-2t-gZUX%26source%3Dgmail-imap%26ust%3D1626978674000000%26usg%3DAOvVaw05LfymFkmAL6GpTChtBqlI&source=gmail-imap&ust=1627075026000000&usg=AOvVaw3ux8-aAnXzbJkS3uzll11i> >>>>> during a previous attempt. This failure was cached in the local >>>>> repository and resolution is not reattempted until the update interval of >>>>> apache.snapshots has elapsed or updates are forced >>>>> The irony is that I think >>>>> org.apache.datasketches:datasketches-memory-java8:jar:2.0.0-SNAPSHOT >>>>> exists in my .m2: >>>>> (base) datasketches $ pwd >>>>> /Users/lrhodes/.m2/repository/org/apache/datasketches >>>>> (base) datasketches $ tree >>>>> . >>>>> ├── datasketches-memory >>>>> ... >>>>> │ ├── 2.0.0 >>>>> │ │ ├── datasketches-memory-2.0.0.jar.lastUpdated >>>>> │ │ └── datasketches-memory-2.0.0.pom.lastUpdated >>>>> │ ├── 2.0.0-SNAPSHOT >>>>> │ │ ├── _remote.repositories >>>>> │ │ ├── datasketches-memory-2.0.0-SNAPSHOT-javadoc.jar >>>>> │ │ ├── datasketches-memory-2.0.0-SNAPSHOT-sources.jar >>>>> │ │ ├── datasketches-memory-2.0.0-SNAPSHOT-test-sources.jar >>>>> │ │ ├── datasketches-memory-2.0.0-SNAPSHOT-tests.jar >>>>> │ │ ├── datasketches-memory-2.0.0-SNAPSHOT.jar >>>>> │ │ ├── datasketches-memory-2.0.0-SNAPSHOT.pom >>>>> │ │ └── maven-metadata-local.xml >>>>> │ ├── maven-metadata-apache.releases.https.xml >>>>> │ ├── maven-metadata-central.xml >>>>> │ ├── maven-metadata-central.xml.sha1 >>>>> │ ├── maven-metadata-local.xml >>>>> │ └── resolver-status.properties >>>>> ├── datasketches-memory-java8 >>>>> │ └── 2.0.0-SNAPSHOT >>>>> │ ├── datasketches-memory-java8-2.0.0-SNAPSHOT.jar.lastUpdated >>>>> │ └── resolver-status.properties >>>>> ├── datasketches-memory-java8-tests >>>>> │ └── 2.0.0-SNAPSHOT >>>>> │ ├── >>>>> datasketches-memory-java8-tests-2.0.0-SNAPSHOT-tests.jar.lastUpdated >>>>> │ └── resolver-status.properties >>>>> ... >>>>> However when I open the contents of one of those "lastUpdated" files I >>>>> see: >>>>> #NOTE: This is a Maven Resolver internal implementation file, its format >>>>> can be changed without prior notice. >>>>> #Fri Jul 09 11:14:59 PDT 2021 >>>>> https\://repository.apache.org/content/groups/snapshots/org/apache/datasketches/.lastUpdated=1625854499312 >>>>> >>>>> <https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://www.google.com/url?q%253Dhttps://www.google.com/url?q%25253Dhttps://www.google.com/url?q%2525253Dhttp://repository.apache.org/content/groups/snapshots/org/apache/datasketches/.lastUpdated%252525253D1625854499312%25252526source%2525253Dgmail-imap%25252526ust%2525253D1626472557000000%25252526usg%2525253DAOvVaw0V0lZQnMhTvqogOHBwW7Xh%252526source%25253Dgmail-imap%252526ust%25253D1626473317000000%252526usg%25253DAOvVaw0HxRrCpM1A83hYCHwrpZxu%2526source%253Dgmail-imap%2526ust%253D1626721420000000%2526usg%253DAOvVaw2UcqPMdCHRg5CZfJUsIiYp%26source%3Dgmail-imap%26ust%3D1626978674000000%26usg%3DAOvVaw0TQqr10-_nXvzZtt3_adfH&source=gmail-imap&ust=1627075026000000&usg=AOvVaw361Xuf1-ZryCKIxA17b77m> >>>>> https\://repository.apache.org/content/groups/snapshots/org/apache/datasketches/.error= >>>>> >>>>> <https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://www.google.com/url?q%253Dhttps://www.google.com/url?q%25253Dhttps://www.google.com/url?q%2525253Dhttp://repository.apache.org/content/groups/snapshots/org/apache/datasketches/.error%252525253D%25252526source%2525253Dgmail-imap%25252526ust%2525253D1626472557000000%25252526usg%2525253DAOvVaw1bOghQQaqPVA0g29hbDYSg%252526source%25253Dgmail-imap%252526ust%25253D1626473317000000%252526usg%25253DAOvVaw0cycrZM7NX9X9VhR_fgRTA%2526source%253Dgmail-imap%2526ust%253D1626721420000000%2526usg%253DAOvVaw1eT8UXnch8Xg2ZWWC_X34X%26source%3Dgmail-imap%26ust%3D1626978674000000%26usg%3DAOvVaw0MLJl5K3qOV2sEDhszqRDu&source=gmail-imap&ust=1627075026000000&usg=AOvVaw1A5XDxyvM6J3CgCPlLCoJf> >>>>> (blank) >>>>> So it appears to reference the apache repo! Which it should not, I would >>>>> think. >>>>> >>>>> Even though I can get maven to run, so far I haven't been able to get >>>>> Eclipse to run. >>>>> >>>>> Lee. >>>>> >>>>> >>>>> On Fri, Jul 9, 2021 at 1:18 PM David Cromberge >>>>> <[email protected] <mailto:[email protected]>> >>>>> wrote: >>>>> Lee, >>>>> >>>>> Apologies for the issues that you are experiencing with the build. >>>>> >>>>> In order to support multiple versions of the JVM, the multi-release JAR >>>>> is tested using the java8 tests suite. The tests are required as a >>>>> module dependency and reflection is used to run all the tests from the >>>>> java8 tests JAR. >>>>> This process requires the use of a dependency classifier which is >>>>> responsible for these errors. >>>>> >>>>> As a workaround, you can temporarily install the dependency locally, >>>>> using `mvn install`, or you can manually edit the >>>>> datasketches-memory-tests pom.xml to remove the classifier: >>>>> >>>>> <Screenshot 2021-07-09 at 21.16.53.png> >>>>> >>>>> >>>>> Admittedly, it’s not ideal to use the GitHub actions toolchains as a user >>>>> template. >>>>> >>>>> I’ll look into these problems in the interim and create a follow-up pull >>>>> request to address them, >>>>> >>>>> Thank you for your patience, >>>>> David >>>>> >>>>> >>>>>> On 9 Jul 2021, at 20:54, leerho <[email protected] >>>>>> <mailto:[email protected]>> wrote: >>>>>> >>>>>> Hmmm. >>>>>> OK, :-( I read the README, and it says I only need JDK 8,9 and 11 >>>>>> installed. >>>>>> >>>>>> With JAVA_HOME pointing to JDK 11, I tried >>>>>> mvn clean compile --toolchains .github/workflows/.toolchains.xml >>>>>> >>>>>> I get the following errors: >>>>>> [ERROR] Misconfigured toolchain. >>>>>> org.apache.maven.toolchain.MisconfiguredToolchainException: Non-existing >>>>>> JDK home configuration at >>>>>> /Users/lrhodes/dev/git/Apache/datasketches-memory2/${env.JAVA10_HOME} >>>>>> [ERROR] Misconfigured toolchain. >>>>>> org.apache.maven.toolchain.MisconfiguredToolchainException: Non-existing >>>>>> JDK home configuration at >>>>>> /Users/lrhodes/dev/git/Apache/datasketches-memory2/${env.JAVA12_HOME} >>>>>> I think it is telling me I need 10 and 12 installed too. >>>>>> So I temporarily removed 10 and 12 from the matrix test (I don't have >>>>>> those installed), >>>>>> and I removed 10 and 12 from the toolchain. >>>>>> >>>>>> Now it gives me this error: >>>>>> [ERROR] Failed to execute goal >>>>>> org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce >>>>>> (enforce-banned-dependencies) on project datasketches-memory-tests: >>>>>> Execution enforce-banned-dependencies of goal >>>>>> org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce failed: >>>>>> org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException: >>>>>> >>>>>> Could not resolve following dependencies: >>>>>> [org.apache.datasketches:datasketches-memory-java8-tests:jar:tests:2.0.0-SNAPSHOT >>>>>> (test)]: >>>>>> Could not resolve dependencies for project >>>>>> org.apache.datasketches:datasketches-memory-tests:jar:2.0.0-SNAPSHOT: >>>>>> org.apache.datasketches:datasketches-memory-java8-tests:jar:tests:2.0.0-SNAPSHOT >>>>>> >>>>>> was not found in >>>>>> https://repository.apache.org/content/groups/snapshots/org/apache/datasketches/ >>>>>> >>>>>> <https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://www.google.com/url?q%253Dhttps://www.google.com/url?q%25253Dhttps://www.google.com/url?q%2525253Dhttps://www.google.com/url?q%252525253Dhttps://repository.apache.org/content/groups/snapshots/org/apache/datasketches/%2525252526source%252525253Dgmail-imap%2525252526ust%252525253D1626465263000000%2525252526usg%252525253DAOvVaw0zU9ASggdO53YTS6qMd0Bs%25252526source%2525253Dgmail-imap%25252526ust%2525253D1626472557000000%25252526usg%2525253DAOvVaw2YXDOOchjoKno5SYKbsC0l%252526source%25253Dgmail-imap%252526ust%25253D1626473317000000%252526usg%25253DAOvVaw0pqXemU9jqjhcLDEZ_VyZC%2526source%253Dgmail-imap%2526ust%253D1626721420000000%2526usg%253DAOvVaw300347HftUcKUf-wTEjBy-%26source%3Dgmail-imap%26ust%3D1626978674000000%26usg%3DAOvVaw3VZIN0iceODaebUbQYCnfq&source=gmail-imap&ust=1627075026000000&usg=AOvVaw3Xo9OB4F_F1lR0rFUEUC_C> >>>>>> >>>>>> during a previous attempt. This failure was cached in the local >>>>>> repository and resolution is not reattempted until the update interval >>>>>> of apache.snapshots has elapsed or updates are forced >>>>>> Hmm. It should not be trying to locate the 2.0.0-SNAPSHOT from Apache >>>>>> unless it can't find it locally in my .m2. But I can't create it in .m2 >>>>>> unless I do an mvn install; and before I can do a maven install, I need >>>>>> to successfully compile. I'm stuck in a do-loop. >>>>>> >>>>>> Next I tried removing all 9+ versions from both the toolchain and the >>>>>> matrix. I get the same error. >>>>>> >>>>>> Lee. >>>>>> >>>>>> >>>>>> >>>>>> On Fri, Jul 9, 2021 at 12:02 PM leerho <[email protected] >>>>>> <mailto:[email protected]>> wrote: >>>>>> David, >>>>>> After the merge of PR#131 and doing a new clone of : >>>>>> Setting JAVA_HOME to JDK8 >>>>>> mvn clean compile >>>>>> successful compile of java 8, but fails on java 9 >>>>>> Setting JAVA_HOME to JDK11 >>>>>> mvn clean compile >>>>>> Reactor Summary for datasketches-memory-root 2.0.0-SNAPSHOT: >>>>>> [INFO] datasketches-memory-root ........................... SUCCESS [ >>>>>> 0.912 s] >>>>>> [INFO] datasketches-memory-java8 .......................... SUCCESS [ >>>>>> 1.322 s] >>>>>> [INFO] datasketches-memory-java8-tests .................... SUCCESS [ >>>>>> 0.087 s] >>>>>> [INFO] datasketches-memory-java9 .......................... SUCCESS [ >>>>>> 0.602 s] >>>>>> [INFO] datasketches-memory-java9-tests .................... SUCCESS [ >>>>>> 0.191 s] >>>>>> [INFO] datasketches-memory-java11 ......................... SUCCESS [ >>>>>> 0.701 s] >>>>>> [INFO] datasketches-memory ................................ SUCCESS [ >>>>>> 0.182 s] >>>>>> [INFO] datasketches-memory-tests .......................... FAILURE [ >>>>>> 1.201 s] >>>>>> [ERROR] Failed to execute goal >>>>>> org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce >>>>>> (enforce-banned-dependencies) on project datasketches-memory-tests: >>>>>> Execution enforce-banned-dependencies of goal >>>>>> org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce failed: >>>>>> org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException: >>>>>> >>>>>> Could not resolve following dependencies: >>>>>> [org.apache.datasketches:datasketches-memory-java8-tests:jar:tests:2.0.0-SNAPSHOT >>>>>> (test)]: >>>>>> Could not resolve dependencies for project >>>>>> org.apache.datasketches:datasketches-memory-tests:jar:2.0.0-SNAPSHOT: >>>>>> Could not find artifact >>>>>> org.apache.datasketches:datasketches-memory-java8-tests:jar:tests:2.0.0-SNAPSHOT >>>>>> in apache.snapshots >>>>>> (https://repository.apache.org/content/groups/snapshots/org/apache/datasketches/ >>>>>> >>>>>> <https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://www.google.com/url?q%253Dhttps://www.google.com/url?q%25253Dhttps://www.google.com/url?q%2525253Dhttps://www.google.com/url?q%252525253Dhttps://repository.apache.org/content/groups/snapshots/org/apache/datasketches/%2525252526source%252525253Dgmail-imap%2525252526ust%252525253D1626465263000000%2525252526usg%252525253DAOvVaw0zU9ASggdO53YTS6qMd0Bs%25252526source%2525253Dgmail-imap%25252526ust%2525253D1626472557000000%25252526usg%2525253DAOvVaw2YXDOOchjoKno5SYKbsC0l%252526source%25253Dgmail-imap%252526ust%25253D1626473317000000%252526usg%25253DAOvVaw0pqXemU9jqjhcLDEZ_VyZC%2526source%253Dgmail-imap%2526ust%253D1626721420000000%2526usg%253DAOvVaw300347HftUcKUf-wTEjBy-%26source%3Dgmail-imap%26ust%3D1626978674000000%26usg%3DAOvVaw3VZIN0iceODaebUbQYCnfq&source=gmail-imap&ust=1627075026000000&usg=AOvVaw3Xo9OB4F_F1lR0rFUEUC_C>) >>>>>> >>>>>> I'm not sure how to resolve this. I'm wondering if I am missing a >>>>>> toolchain in my environment. >>>>>> >>>>>> Lee. >>>>>> >>>>> >>>> >>> >> >> <ImportIntoEclipse.md> >
