google / guice

Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 11 and above, brought to you by Google.
https://github.com/google/guice
Apache License 2.0
12.46k stars 1.66k forks source link

Mention guice-async-extension in Third Party Modules section #1288

Open skuzzle opened 4 years ago

skuzzle commented 4 years ago

I've built an extension that allows to mark guice managed methods to be either run asynchronously or periodically. I'd be happy if it were listed in the Thrid Party Modules section of the wiki.

https://github.com/skuzzle/guice-async-extension

GedMarc commented 4 years ago

Does your addon ship with a module-info?

skuzzle commented 4 years ago

Not yet but it has an Automatic-Module-Name manifest entry named de.skuzzle.inject.async

GedMarc commented 4 years ago

mm, it looks good -

Can I add it to the guicedee suite? I'd have to throw in a module-info (purely modular)

www.guicedee.com

https://search.maven.org/artifact/com.guicedee.services/guice https://search.maven.org/search?q=com.guicedee.services.extensions

skuzzle commented 4 years ago

That should do as automatic modules behave just like real ones where simply all packages are exported. I will happily assist you in case you encounter any issues but that should better be discussed in a separate ticket in my repository

GedMarc commented 4 years ago

@skuzzle Not at all, they do not behave like "real" ones in any shape or form. An automatic module name is little more than a name reservation, and does sweet absolute nothing in terms of modularity. You cannot, for instance, enforce modularization, and for instance, you cannot, at all, actually build a JRE distributable from any JDK 9 and up without an actual module-info, and as usual, you should never run a JDK in production. Always a JRE.

Please do not make the mistake of thinking an automatic module names matters in any way with regards to modularity. It's a name reservation and a backwards compatibility waste of time.

Yes agreed, it should be performed on your repository.