Sounds like some code needing to move to extensions more than some mojo interactions to me to stick to a simple and maven spirit.
Le sam. 19 nov. 2022 à 13:14, Christoph Läubrich <m...@laeubi-soft.de> a écrit : > > That's a good question. Plugins currently don't interact. > > Is that really something we want ? > > At least there are several places where I wish I could "plug" into an > existing plugin, curently for example surefire allows some limited > extension using test-frameworks but this requires special configuration. > > A good example might be the "set-version" plugin, where in the context > of Tycho one needs to also update versions not only in the > pom.xml/dependency part, the current approach is we actually > copy/replicate what set-version does, but this obviously is far from > optimal. The same applies to jar-plugin (where for example BND plugin > requires special setup/configuration) and even the release-plugin > currently would be something where one needs to do special enhancement > that are hard to maintain and manage. > > That's why I previously mentioned in a "we have one isolated mojo" > scenario everything might looks easy and great, but when it comes to > complex setups it gets complicated fast. > > > I'd rather keep things simple if possible. They can use the Session > > I as well but the problem arises if you want to share more than a simple > string or integer. For example currently Tycho has a project-extension > and also a core-extension part and then people can configure different > mojos ... for sure one can put everything in one big fat jar but that's > really hard to manage and configure, so we have split this up into > smaller mojos. > > Still they need to interact (e.g. to not calculate the same stuff over > and over again)... this mostly works as we export some packages that are > kind of "tycho-api" but as one don't write all from scratch there are of > course other dependencies to consider. Even that works, but we always > see issues with classpath incompatibilities that are really hard to > track, e.g. if version of core-extension do not match 100% version of > plugin used in the pom... And i have totally no clue what would happen > if there is another extension also exporting the same dependency ... > > > Am 19.11.22 um 09:37 schrieb Guillaume Nodet: > > Requiring OSGi for anything user facing in maven is a no-go for me. > > > > Le sam. 19 nov. 2022 à 05:01, Christoph Läubrich <m...@laeubi-soft.de> a > > écrit : > > > >> > Dreaming: but what if not a flag, but some filter(s) for > "capabilities"? > >> > >> OSGi support generic capabilities/requirements model: > >> https://blog.osgi.org/2015/12/using-requirements-and-capabilities.html > >> > >> Just mentioning it ... for sure we one can re-implement this (again) in > >> maven as well, as a prime goal seems not to reuse existing techniques > ;-) > >> > > > > I've been working full time on OSGi for 10 years or so. So I'm quite > aware > > of the benefits... and the costs. > > I don't think we need maven to provide any choice here. > > > > > >> > >> With all this perfect "only m4api" world I'm just wondering how will > >> this work together with extensions (either core or project ones) and how > >> is it supposed to allow different plugins to interact? > >> > > > > That's a good question. Plugins currently don't interact. Is that really > > something we want ? > > I'd rather keep things simple if possible. They can use the Session > > > > > >> Am 18.11.22 um 19:10 schrieb Tamás Cservenák: > >>> Howdy, > >>> > >>> just to describe a bit what I meant under "reversed flag": > >>> > >>> default is iWillBeInChargeOfMyComponents=false, Maven4 behaves as > today. > >>> Plugin classrealm gets (from memory, might be incomplete or wrong): > >>> - m4 API > >>> - m3 "plugin-api" > >>> - javax.inject > >>> - resolver api > >>> - etc as today > >>> > >>> consider that MANY plugins have components, and creating components in > >>> MAJORITY of plugins is easy and should remain easy (and offered "out of > >> the > >>> box"). > >> > >> Sounds good to me. > > > > > >>> but IF iWillBeInChargeOfMyComponents=true, Maven 4 creates a plugin > realm > >>> that has m4 API accessible ONLY, NOTHING MORE. And in that sandbox, the > >>> plugin can do whatever it wants, but still has access to m4 API (that > is > >>> heaven vs earth when compared to m3 state of affairs). > >> > >> Not sure there's any benefit. If we use a custom package for a few DI > > annotation, > > there will be no conflict, so if there's no maven component defined, > > nothing will be done > > and the plugin is still free to use its own DI if it needs. > > > > > >>> === > >>> > >>> in future, when we drop m3 support, this could mean: > >>> > >>> false (default) > >>> - m4 API > >>> - javax.inject > >>> > >>> true > >>> -m4 API > >>> > >>> === > >>> > >>> Dreaming: but what if not a flag, but some filter(s) for > "capabilities"? > >>> values: > >>> - * <- plugin classrealm should have all "capabilities" current Maven > >>> runtime provides > >>> - m4api <- I want maven 4 api ONLY > >>> - m3api, slf4j, jsr330 <- I want to m3 api (would break in m4+ that > >> drops > >>> m3 backward compat), slf4j logging and would use jsr330 components > >>> "capability" > >>> > >>> But this is getting too wild maybe :) > >> > > > > Simple is good. > > > > Not touching maven 3 plugins or they way they are loaded at all, I'd > > propose: > > * define a few annotations in org.apache.maven.api.di package, we > really > > don't need many, maybe just @Inject, @Bean > > * make sure the plugin classloader does only expose the api to maven > > plugins > > * write a simplistic DI framework > > * make sure plugin can use a different DI framework if they need > > > > Guillaume > > > >> T > >>> > >>> On Fri, Nov 18, 2022 at 6:34 PM Tamás Cservenák <ta...@cservenak.net> > >> wrote: > >>> > >>>> Howdy, > >>>> > >>>> Am -1 on this. We just reached the point to (somewhat) undo the "Maven > >>>> downloads the whole world", at least latest plugins by putting Maven > and > >>>> friends in provided scope will not download dozens of versions of > >>>> maven-core and friends... If we do this, at one point we would end up > >> with > >>>> plugins downloading dozens of DI container (or their versions), as > even > >> ASF > >>>> plugins would not be in "lockstep". > >>>> > >>>> OTOH, that said, I like the idea of a flag, but I'd reverse it: a flag > >>>> that would say maven "I will be in charge of my components" (defaults > to > >>>> false, Maven behaves as today). When true, it would mean Mojo wants to > >>>> bootstrap some DI/whatever container of its own, and then, for plugins > >> like > >>>> these, Maven could even "narrow" the list of exported classes? (like > >>>> javax.inject?) > >>>> > >>>> T > >>>> > >>>> On Fri, Nov 18, 2022 at 4:57 PM Guillaume Nodet <gno...@apache.org> > >> wrote: > >>>> > >>>>> Following up on my previous response, and in a more realistic way > than > >>>>> switching to OSGi, I wonder if we should let maven 4 plugins do their > >> own > >>>>> DI injection and only care about the mojos, i.e. not rely on > >> sisu/plexus > >>>>> to > >>>>> create and inject the mojo. Mojos using the v4 api do not need to be > >>>>> injected with other components from maven, they should all come from > >> the > >>>>> api and should be retrieved using Session.getService(xx), or simply > >> using > >>>>> session's shortcut methods. The injection of Project and Session is > >> not > >>>>> controlled by sisu. For the ComponentConfigurator, we could change > the > >>>>> mojo > >>>>> descriptor to have the full configuration class name for mojos that > >>>>> require > >>>>> custom configuration injection, the plugin manager being in charge of > >>>>> instantiating this class and using it as a ComponentConfigurator > >> (which is > >>>>> not part yet of the api btw). > >>>>> > >>>>> Complex plugins which rely on plexus/sisu to do some custom injection > >>>>> would > >>>>> have to be changed to do their own DI, maybe using a simple Guice > >> setup. > >>>>> > >>>>> If that sounds like too big a change for those plugins, we may be > able > >> to > >>>>> add a flag on the mojo descriptor so that those v4-enabled mojos > would > >>>>> trigger a DI injection on behalf of the plugin. But if we have to > >>>>> implement something like that, I would go for a plain CDI-like api, > >> either > >>>>> using guice or another DI library supporting the javax.inject > package, > >> or > >>>>> rather the jakarta.inject package, as it would be nice to switch to > the > >>>>> jakarta version at the same time. Or maybe even plexus if we really > >> need > >>>>> to, but with a limited scope, i.e. no visibility on the maven > >> components, > >>>>> so that plugins are better decoupled from maven-core. > >>>>> > >>>>> Thoughts ? > >>>>> > >>>>> Le jeu. 17 nov. 2022 à 17:48, Guillaume Nodet <gno...@apache.org> a > >>>>> écrit : > >>>>> > >>>>>> I do agree that debugging the provisioning side is *very* > complicated > >>>>> when > >>>>>> there's a problem. > >>>>>> I'd be happy to get rid of sisu/plexus and use a more simple DI > >>>>> framework, > >>>>>> at least for simple plugins. > >>>>>> However, I definitely don't think pushing OSGi to plugins would be a > >>>>> good > >>>>>> idea : the cost and burden on plugin developers would outweigh the > >>>>> benefits. > >>>>>> > >>>>>> For extensions, and for maven itself, that is a different story > >> though. > >>>>>> Maven and extensions could definitely benefit from OSGi, but this > >> would > >>>>> be > >>>>>> a complete breakage and it would be hard to keep some level of > >>>>>> compatibility. > >>>>>> > >>>>>> Le jeu. 17 nov. 2022 à 17:00, Christoph Läubrich < > m...@laeubi-soft.de > >>> > >>>>> a > >>>>>> écrit : > >>>>>> > >>>>>>> > Guess classrealm is fine for maven, it does not bring much > issues > >>>>>>> > >>>>>>> As long as it works, maybe, maybe even if you write a simple maven > >>>>>>> plugin, but for any more complex it is just a complete mess. > >>>>>>> > >>>>>>> Last time I asked on the mailing list how to debug that stuff ... > >>>>>>> complete silence ... > >>>>>>> > >>>>>>> Today I tried to refactor the name of one module of a more complex > >>>>>>> maven-plugin (with core extension), now I end up with > >>>>>>> > >>>>>>> org.apache.maven.InternalErrorException: Internal error: > >>>>>>> com.google.inject.ProvisionException: Unable to provision, see the > >>>>>>> following errors: > >>>>>>> 1) No implementation for org.eclipse.aether.RepositorySystem was > >> bound. > >>>>>>> > >>>>>>> A whole bunch of stack trace but not a little info why the ***** it > >> is > >>>>>>> not happy. Now I need to add random "exportedArtifact" / > >>>>>>> "exportedPackage" stuff to hope finding out where it has lost a > >>>>>>> transitive dependency, also here absolutely no documentation what > >> this > >>>>>>> is supposed to do/work exactly beside some introduction that these > >> xml > >>>>>>> tags exits and reading the code... or probably add maven-compat > >>>>>>> anywhere... or change provided to compile scope (even maven is > >> jelling > >>>>>>> at me that's bad and I will be punished soon)... not counting the > >> many > >>>>>>> times where I messed up the realms because I accidentally trying to > >> use > >>>>>>> XppDom objects in extensions and plugins and something between got > >>>>>>> messed up. > >>>>>>> > >>>>>>> With OSGi i get clear errors for missing requirements, I can > clearly > >>>>>>> share API (or declare I don't want to share it) and can reliable > use > >> it > >>>>>>> without classlaoding problems. > >>>>>>> If one wan't can even implement service filtering that would hide > all > >>>>>>> "illegal implemented API" ... and you can even make sure API is > >>>>>>> (backward) compatible with implementation without waiting for a > >> method > >>>>>>> not found exception or alike. > >>>>>>> > >>>>>>> Beside that I find it often more clear to distinguish between API > >> (that > >>>>>>> is only implemented by the framework) and SPI (that might be > >>>>> implemented > >>>>>>> by extenders). So probably it would be good to have maven-api and > >>>>>>> maven-spi (instead of "maven-core") to make this clear. > >>>>>>> > >>>>>>> Am 16.11.22 um 14:53 schrieb Romain Manni-Bucau: > >>>>>>>> Hi, > >>>>>>>> > >>>>>>>> Guess classrealm is fine for maven, it does not bring much issues > >>>>> (less > >>>>>>>> than OSGi or JPMS to be concrete), the real issue is the stability > >> of > >>>>>>> the > >>>>>>>> exposed API. > >>>>>>>> Thanks the hard work Guillaume did on that for maven 4 I guess it > is > >>>>>>> mainly > >>>>>>>> a matter of deciding what we do for maven 3. > >>>>>>>> Due to the resources and work needed I assume we can just play the > >>>>>>>> status-quo for maven 3. > >>>>>>>> Remaining question is for maven 4 do we drop the compatibilty. I > >>>>> don't > >>>>>>> like > >>>>>>>> much the idea but a compat layer can solve that smoothly for maven > >>>>>> = 4 > >>>>>>> and > >>>>>>>> limit the work needed, no? > >>>>>>>> > >>>>>>>> Romain Manni-Bucau > >>>>>>>> @rmannibucau <https://twitter.com/rmannibucau> | Blog > >>>>>>>> <https://rmannibucau.metawerx.net/> | Old Blog > >>>>>>>> <http://rmannibucau.wordpress.com> | Github < > >>>>>>> https://github.com/rmannibucau> | > >>>>>>>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book > >>>>>>>> < > >>>>>>> > >>>>> > >> > https://www.packtpub.com/application-development/java-ee-8-high-performance > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> Le mer. 16 nov. 2022 à 13:00, Christoph Läubrich < > >>>>> m...@laeubi-soft.de> > >>>>>>> a > >>>>>>>> écrit : > >>>>>>>> > >>>>>>>>> If you really like to separate API and get out of the > >>>>> ClassRealm-Hell > >>>>>>>>> OSGi would be much more suitable: > >>>>>>>>> > >>>>>>>>> https://issues.apache.org/jira/browse/MNG-7518 > >>>>>>>>> > >>>>>>>>> Am 16.11.22 um 12:30 schrieb Gary Gregory: > >>>>>>>>>> As much as I dislike JPMS, maybe Maven 4 should migrate to Java > 9 > >>>>> or > >>>>>>> 11 > >>>>>>>>> and > >>>>>>>>>> adopt JPMS to better define its public APIs. > >>>>>>>>>> > >>>>>>>>>> Gary > >>>>>>>>>> > >>>>>>>>>> On Wed, Nov 16, 2022, 05:06 Tamás Cservenák < > ta...@cservenak.net> > >>>>>>> wrote: > >>>>>>>>>> > >>>>>>>>>>> Yes, to define rules is quite easy, but to make our users to > obey > >>>>>>> them > >>>>>>>>> is > >>>>>>>>>>> tricky :D > >>>>>>>>>>> > >>>>>>>>>>> In general, I guess, we should. For this reason JapiCmp has > been > >>>>>>> used in > >>>>>>>>>>> Resolver since 1.9.0 (as noted on refd page end). > >>>>>>>>>>> > >>>>>>>>>>> But while this was "kinda simple" to achieve in Resolver, I am > >>>>> really > >>>>>>>>>>> unsure if it is doable in Maven (sans 4 API) :( > >>>>>>>>>>> > >>>>>>>>>>> Ultimately, this was the whole reason for API: > >>>>>>>>>>> - users "grabbed" whatever could get hold on and used > >>>>>>>>>>> - maven progress was really hindered by this, as that meant > >>>>> modifying > >>>>>>>>> (even > >>>>>>>>>>> internal) interfaces without breaking clients was impossible, > so > >>>>> we > >>>>>>> went > >>>>>>>>>>> with tricks, and more tricks and even more tricks that now pays > >>>>> back. > >>>>>>>>>>> > >>>>>>>>>>> The other day we had a question on ML about 4-alpha > compatibility > >>>>>>>>> breakage, > >>>>>>>>>>> and from mail it was clear that the package of the referred > class > >>>>> was > >>>>>>>>>>> having "internal" in it. I mean, developers should really take > >>>>> care > >>>>>>> of > >>>>>>>>> what > >>>>>>>>>>> they import. > >>>>>>>>>>> > >>>>>>>>>>> This is another huge plus for Takari lifecycle, it FORBIDS > >>>>>>> compilation > >>>>>>>>>>> against "encapsulated" internal classes.... > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>> > >> > http://takari.io/book/40-lifecycle.html#enforcing-dependency-usage-during-compilation > >>>>>>>>>>> > >>>>>>>>>>> T > >>>>>>>>>>> > >>>>>>>>>>> On Wed, Nov 16, 2022 at 10:44 AM Konrad Windszus < > >> k...@apache.org > >>>>>> > >>>>>>>>> wrote: > >>>>>>>>>>> > >>>>>>>>>>>> I guess this is the easy part, the tricky question remains: Do > >> we > >>>>>>> need > >>>>>>>>> to > >>>>>>>>>>>> make sure that all Maven 3 API interfaces/classes stay 100% > >>>>>>> backwards > >>>>>>>>>>>> compatible until we reach 4.100/5.0/whatever? > >>>>>>>>>>>> > >>>>>>>>>>>> This wasn't handled consistently in master till now, e.g. the > >>>>>>> classes > >>>>>>>>>>>> generated from > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>> > >> > https://github.com/apache/maven/blob/master/maven-plugin-api/src/main/mdo/lifecycle.mdo > >>>>>>>>>>>> are now immutable, i.e. lack setter methods in Maven 4. > >>>>>>>>>>>> My change in > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>> > >> > https://github.com/apache/maven/pull/827/files#diff-2324c8cead0ad922c829a8ca450764aa149d6efdfe7f841e64210f20efd148acR77 > >>>>>>>>>>>> was not backwards compatible (removed a method on an interface > >>>>> which > >>>>>>>>> may > >>>>>>>>>>>> have been implemented by extensions...) > >>>>>>>>>>>> > >>>>>>>>>>>> Konrad > >>>>>>>>>>>> > >>>>>>>>>>>> On 2022/11/16 09:35:15 Tamás Cservenák wrote: > >>>>>>>>>>>>> Unsure we want to deprecate all of Maven :) > >>>>>>>>>>>>> > >>>>>>>>>>>>> But yes, in general, 3.x "Maven API" was "all that users can > >>>>> grab" > >>>>>>>>>>> sadly, > >>>>>>>>>>>>> and is probably our major source of problems and reason we > >>>>> started > >>>>>>>>>>> Maven > >>>>>>>>>>>> 4 > >>>>>>>>>>>>> API. > >>>>>>>>>>>>> > >>>>>>>>>>>>> IMO, I'd consider them as "whole", and just say "starting > with > >>>>>>> Maven > >>>>>>>>>>>>> 4.100/5.0/whatever" the maven-core (any class out of it) is > NOT > >>>>>>>>>>>> ACCESSIBLE > >>>>>>>>>>>>> ANYMORE FROM PLUGINS. > >>>>>>>>>>>>> And done. > >>>>>>>>>>>>> > >>>>>>>>>>>>> Just as an example, here is what Maven Resolver has to say > >> about > >>>>>>> same > >>>>>>>>>>>> topic > >>>>>>>>>>>>> (part of not-yet-released, vote is in process 1.9.1 version): > >>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>> > >> > https://maven.apache.org/resolver-archives/resolver-LATEST/api-compatibility.html > >>>>>>>>>>>>> > >>>>>>>>>>>>> HTH > >>>>>>>>>>>>> T > >>>>>>>>>>>>> > >>>>>>>>>>>>> On Wed, Nov 16, 2022 at 10:26 AM Konrad Windszus < > >>>>> k...@apache.org> > >>>>>>>>>>>> wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>>> I see now there is already > >>>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>> > >> > https://github.com/apache/maven/blob/master/api/maven-api-meta/src/main/java/org/apache/maven/api/annotations/Provider.java > >>>>>>>>>>>>>> but to me the javadoc is not explicit enough. It should > state: > >>>>>>> Only > >>>>>>>>>>>> Maven > >>>>>>>>>>>>>> is allowed to implement/extend types with this annotation. > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> Konrad > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> On 2022/11/16 09:20:11 Konrad Windszus wrote: > >>>>>>>>>>>>>>> Hi, > >>>>>>>>>>>>>>> Unfortunately Maven 3 didn’t define a proper API. In effect > >>>>>>>>>>>> everything > >>>>>>>>>>>>>> somehow exposed through class loaders was considered API by > >>>>>>>>>>>>>> plugin/extension developers. > >>>>>>>>>>>>>>> For Maven 4 a completely separate API was established in > >>>>> package > >>>>>>>>>>>>>> “org.apache.maven.api”, but what about the old packages used > >>>>> and > >>>>>>>>>>>> exported > >>>>>>>>>>>>>> in Maven 3? > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> For example in the context of > >>>>>>>>>>>>>> https://issues.apache.org/jira/browse/MNG-7588 < > >>>>>>>>>>>>>> https://issues.apache.org/jira/browse/MNG-7588> I want to > >>>>> evolve > >>>>>>> the > >>>>>>>>>>>>>> package “org.apache.maven.plugin.descriptor”. > >>>>>>>>>>>>>>> We already figured out that this particular package > (although > >>>>> not > >>>>>>>>>>>> part > >>>>>>>>>>>>>> of the Maven 4 API) is used from both Maven Core as well as > >>>>> Maven > >>>>>>>>>>>> Plugin > >>>>>>>>>>>>>> Tools, therefore this probably needs to stay backwards > >>>>> compatible. > >>>>>>>>>>>>>>> What about others like > >>>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>> > >> > https://github.com/apache/maven/blob/master/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginManager.java > >>>>>>>>>>>> ? > >>>>>>>>>>>>>> < > >>>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>> > >> > https://github.com/apache/maven/blob/master/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginManager.java > >>>>>>>>>>>>>> ?> > >>>>>>>>>>>>>>> This interface should IMHO never been implemented outside > >>>>> Maven > >>>>>>>>>>> Core > >>>>>>>>>>>> but > >>>>>>>>>>>>>> in fact it was exposed to all plugins/extensions (via > >>>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>> > >> > https://github.com/apache/maven/blob/a6b1ebb1cd40ca4b288fdeb30c6d2460323aa25b/maven-core/src/main/resources/META-INF/maven/extension.xml#L40 > >>>>>>>>>>>>>> < > >>>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>> > >> > https://github.com/apache/maven/blob/a6b1ebb1cd40ca4b288fdeb30c6d2460323aa25b/maven-core/src/main/resources/META-INF/maven/extension.xml#L40 > >>>>>>>>>>>>>>> ). > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> There are three options coming to my mind: > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> 1. Deprecate the interfaces we don’t consider API and > create > >>>>> new > >>>>>>>>>>> ones > >>>>>>>>>>>>>> for Maven 4 which are not exported! > >>>>>>>>>>>>>>> 2. Modify the existing interfaces in a backwards compatible > >>>>> way > >>>>>>>>>>> (but > >>>>>>>>>>>>>> somehow add a marker that they should not be implemented > >>>>> outside > >>>>>>>>>>> core) > >>>>>>>>>>>>>>> 3. Modify the existing interfaces in a backwards > compatible > >>>>> way > >>>>>>>>>>> (but > >>>>>>>>>>>>>> somehow add a marker that they should not be implemented > >>>>> outside > >>>>>>>>>>> core) > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> For all three options we somehow need to come up with a > list > >>>>> of > >>>>>>>>>>>>>> classes/interfaces currently being exported through the API > >>>>> class > >>>>>>>>>>>> loader, > >>>>>>>>>>>>>> which should be considered private and agree on an > >>>>>>> Annotation/Javadoc > >>>>>>>>>>>> for > >>>>>>>>>>>>>> that (something like > >>>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>> > >> > https://github.com/mulesoft/api-annotations/blob/40b258afeff6560241dee5001ed00f1deb392e47/src/main/java/org/mule/api/annotation/NoImplement.java#L29 > >>>>>>>>>>>>>> < > >>>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>> > >> > https://github.com/mulesoft/api-annotations/blob/40b258afeff6560241dee5001ed00f1deb392e47/src/main/java/org/mule/api/annotation/NoImplement.java#L29 > >>>>>>>>>>>>> > >>>>>>>>>>>>>> or > https://wiki.eclipse.org/API_Javadoc_tags#The_New_Solution > >>>>> < > >>>>>>>>>>>>>> https://wiki.eclipse.org/API_Javadoc_tags#The_New_Solution> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> WDYT? > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> Konrad > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>> > --------------------------------------------------------------------- > >>>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > >>>>>>>>>>>>>> For additional commands, e-mail: dev-h...@maven.apache.org > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>> > --------------------------------------------------------------------- > >>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > >>>>>>>>>>>> For additional commands, e-mail: dev-h...@maven.apache.org > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>> --------------------------------------------------------------------- > >>>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > >>>>>>>>> For additional commands, e-mail: dev-h...@maven.apache.org > >>>>>>>>> > >>>>>>>>> > >>>>>>>> > >>>>>>> > >>>>>>> > --------------------------------------------------------------------- > >>>>>>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > >>>>>>> For additional commands, e-mail: dev-h...@maven.apache.org > >>>>>>> > >>>>>>> > >>>>>> > >>>>>> -- > >>>>>> ------------------------ > >>>>>> Guillaume Nodet > >>>>>> > >>>>>> > >>>>> > >>>>> -- > >>>>> ------------------------ > >>>>> Guillaume Nodet > >>>>> > >>>> > >>> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > >> For additional commands, e-mail: dev-h...@maven.apache.org > >> > >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > >