clj-easy / graal-docs

Scripts and tips to get Clojure latest working with GraalVM latest
Eclipse Public License 1.0
387 stars 20 forks source link

Freshen docs #59

Closed lread closed 1 year ago

lread commented 1 year ago

Turf ./CLJ-1242. We worked hard on this and should be proud, but it is no longer relevant since the Clojure core team has resolved the issue.

Converted remaining docs from .md to .adoc. For consistency. And 'cause I like adoc.

Rephrase, reword where it seemed it would help. Fix broken links.

Examples now use clj-easy's graal-build-time instead of the now deprecated --initialize-at-build-time.

README

Hello world

Turfed ./resources/*.java - this was for old reflection tips that are no longer relevant for current versions of Clojure and GraalVM.

Closes #58

lread commented 1 year ago

@borkdude I'm sure there will be lee-typos, but I think this is a good freshen pass.

Are you interested in reviewing at all before I merge?

borkdude commented 1 year ago

@lread I skimmed the text and trust your judgement and good taste in general, so go ahead and feel free to ping me if you have specific questions.

lread commented 1 year ago

Thanks @borkdude, I'll make one more review pass and see if any questions pop up.

lread commented 1 year ago

One thing I have not looked into yet is that for current docs we show an GraalVM tracing agent generated reflection config as:

[
{
  "name":"java.lang.String",
  "allPublicMethods":true
},
{
  "name":"java.lang.reflect.Method",
  "methods":[{"name":"canAccess","parameterTypes":["java.lang.Object"] }]
},
{
  "name":"java.util.Properties",
  "allPublicMethods":true
}
]

But as I reviewed and reran examples, I now see:

[
{
  "name":"java.lang.String",
  "queryAllPublicMethods":true,
  "methods":[{"name":"toUpperCase","parameterTypes":[] }]
},
{
  "name":"java.lang.reflect.Method",
  "methods":[{"name":"canAccess","parameterTypes":["java.lang.Object"] }]
},
{
  "name":"java.util.concurrent.atomic.AtomicBoolean",
  "fields":[{"name":"value"}]
},
{
  "name":"java.util.concurrent.atomic.AtomicReference",
  "fields":[{"name":"value"}]
}
]

But I am not too concerned at the moment, perhaps someone else can dig into this if they are interested.

I'm going to go ahead and merge.