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] <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://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] <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://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] >>>>> <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://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>
