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>

Reply via email to