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]> 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]> 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]> 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]> 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]> 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]> 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]> 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]> 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]> 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://repository.apache.org/content/groups/snapshots/org/apache/datasketches/%252526source%25253Dgmail-imap%252526ust%25253D1626472557000000%252526usg%25253DAOvVaw2ropAlkfYzKFBNVxduUwHm%2526source%253Dgmail-imap%2526ust%253D1626473317000000%2526usg%253DAOvVaw2XzzitEqlgUU_DwnzUD6qE%26source%3Dgmail-imap%26ust%3D1626721420000000%26usg%3DAOvVaw3jul9wTMp1jhZN-2t-gZUX&source=gmail-imap&ust=1626978674000000&usg=AOvVaw05LfymFkmAL6GpTChtBqlI> >>>>> 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%25253Dhttp://repository.apache.org/content/groups/snapshots/org/apache/datasketches/.lastUpdated%2525253D1625854499312%252526source%25253Dgmail-imap%252526ust%25253D1626472557000000%252526usg%25253DAOvVaw0V0lZQnMhTvqogOHBwW7Xh%2526source%253Dgmail-imap%2526ust%253D1626473317000000%2526usg%253DAOvVaw0HxRrCpM1A83hYCHwrpZxu%26source%3Dgmail-imap%26ust%3D1626721420000000%26usg%3DAOvVaw2UcqPMdCHRg5CZfJUsIiYp&source=gmail-imap&ust=1626978674000000&usg=AOvVaw0TQqr10-_nXvzZtt3_adfH> >>>>> 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%25253Dhttp://repository.apache.org/content/groups/snapshots/org/apache/datasketches/.error%2525253D%252526source%25253Dgmail-imap%252526ust%25253D1626472557000000%252526usg%25253DAOvVaw1bOghQQaqPVA0g29hbDYSg%2526source%253Dgmail-imap%2526ust%253D1626473317000000%2526usg%253DAOvVaw0cycrZM7NX9X9VhR_fgRTA%26source%3Dgmail-imap%26ust%3D1626721420000000%26usg%3DAOvVaw1eT8UXnch8Xg2ZWWC_X34X&source=gmail-imap&ust=1626978674000000&usg=AOvVaw0MLJl5K3qOV2sEDhszqRDu> >>>>> (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]> 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]> 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://repository.apache.org/content/groups/snapshots/org/apache/datasketches/%25252526source%2525253Dgmail-imap%25252526ust%2525253D1626465263000000%25252526usg%2525253DAOvVaw0zU9ASggdO53YTS6qMd0Bs%252526source%25253Dgmail-imap%252526ust%25253D1626472557000000%252526usg%25253DAOvVaw2YXDOOchjoKno5SYKbsC0l%2526source%253Dgmail-imap%2526ust%253D1626473317000000%2526usg%253DAOvVaw0pqXemU9jqjhcLDEZ_VyZC%26source%3Dgmail-imap%26ust%3D1626721420000000%26usg%3DAOvVaw300347HftUcKUf-wTEjBy-&source=gmail-imap&ust=1626978674000000&usg=AOvVaw3VZIN0iceODaebUbQYCnfq> >>>>>> 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]> 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://repository.apache.org/content/groups/snapshots/org/apache/datasketches/%25252526source%2525253Dgmail-imap%25252526ust%2525253D1626465263000000%25252526usg%2525253DAOvVaw0zU9ASggdO53YTS6qMd0Bs%252526source%25253Dgmail-imap%252526ust%25253D1626472557000000%252526usg%25253DAOvVaw2YXDOOchjoKno5SYKbsC0l%2526source%253Dgmail-imap%2526ust%253D1626473317000000%2526usg%253DAOvVaw0pqXemU9jqjhcLDEZ_VyZC%26source%3Dgmail-imap%26ust%3D1626721420000000%26usg%3DAOvVaw300347HftUcKUf-wTEjBy-&source=gmail-imap&ust=1626978674000000&usg=AOvVaw3VZIN0iceODaebUbQYCnfq> >>>>>>> ) >>>>>>> >>>>>>> >>>>>>> I'm not sure how to resolve this. I'm wondering if I am missing a >>>>>>> toolchain in my environment. >>>>>>> >>>>>>> Lee. >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >> <ImportIntoEclipse.md> > > >
