unitsofmeasurement / unit-tck

JSR 385 - Technology Compatibility Kit (TCK)
Other
6 stars 5 forks source link

Document Service Loader mechanism for ServiceConfiguration #48

Closed keilw closed 1 year ago

keilw commented 1 year ago

The ServiceConfiguration can be customized by a TCK test suite using the standard Java Service Loader mechanism, but it is not so well documented as are command line arguments, etc.

desruisseaux commented 1 year ago

Needs to be documented where?

keilw commented 1 year ago

Actually not sure, if there is any need for this, as #43 wasn't merged. Please check and close if appropriate.

desruisseaux commented 1 year ago

Indeed there is nothing to document about #43. But the use of ServiceLoader is a different topic, applicable to the existing code. I do not know if it is documented somewhere.

keilw commented 1 year ago

Then do you plan to document that somewhere? I'll freeze the API today as all tasks there have completed, but either in the spec document or Wiki (so far only exists for Indriya) or somewhere else please feel free to document it. Btw. do you mean the JDK ServiceLoader or ServiceProvider? Which of course go hand in hand. Both ServiceProvider and Services are mentioned in the Spec document, so maybe best to say more about them there if you can.

desruisseaux commented 1 year ago

I was thinking to JDK ServiceLoader. We use it in a classical way, so maybe there is no need to document (the real reason is that I'm not familiar enough with what documentation we have at which location for knowing what would be the appropriate place).

keilw commented 1 year ago

Please have a look at the specification. There is probably a good place, in fact a few newer methods like ServiceProvider.of() were not even fully documented. Of course there's the JavaDoc, so we don't have to put every single explanation into the spec, but if there is something conceptual about the SPI or how to use ServiceLoader (also the new Jigsaw ways of doing that in the module-info could be worth mentioning) then the spec seems a good choice.

keilw commented 1 year ago

@desruisseaux Any progress documenting what you feel is appropriate in the spec? I set this to iteration 16, ideally we should be able to propose a maintenance review before summer, or in time before the EC Telco on 8/8, Last time the review finished by the end of 2020, followed by a review ballot until Jan 11, 2021. I think the long duration before the MR1 was published was due to a misunderstanding or some files PMO did not have yet, I trust we can get it out sooner this time. So the spec should be finalized no later than end of June.

desruisseaux commented 1 year ago

I had a quick look at the specification. It said "The default mechanism is based on the java.util.ServiceLoader class". This is the only reference that I found to ServiceLoader, and I found no reference to META-INF. It may be okay to leave as-is. This is standard Jigsaw mechanism, with plenty of resources on internet explaining how it works.

keilw commented 1 year ago

Ok thanks, then I'll close this one. There is a JPMS ticket for the TCK: #47 and we might demonstrate how to use JPMS in unit-tck-usage or one of the demos.