Hi, On Tue, Apr 6, 2021 at 7:22 PM Raymond Augé <raymond.a...@liferay.com.invalid> wrote:
> Great news! I'm both sad that the annotations caused you pain (the complete > opposite was intended) and happy that you managed to work around the > problem. > > It's not by coincidence that BND uses the intermediate state of the > manifest to go between the annotations and the module info. However, I > wasn't sure that this would cover all cases particularly w.r.t. the service > loader handling. However, it appears it does. > I am not sure how exactly BND works but at [1] I see that ServiceConsumer annotation has retention policy CLASS. Would it be possible to use SOURCE instead ? This way at compile time it could be used to generate module-info.class and be discarded, i.e. the annotation won't be in the API .class 1. https://github.com/bndtools/bnd/blob/ba0bd37c2c33afe4ccfd8660b1a37b1c1ac52eaa/biz.aQute.bnd.annotation/src/aQute/bnd/annotation/spi/ServiceConsumer.java#L33 > > Sincerely, > Ray > > > On Tue, Apr 6, 2021 at 10:39 AM Mark Thomas <ma...@apache.org> wrote: > > > On 02/04/2021 13:58, Raymond Augé wrote: > > > I just wanted to make a note that removing the annotation will also > mean > > > that the module-info.java will need to be manually managed since bnd > also > > > generated that based on the annotations. > > > > Good news. I compared the module-info.class files for the EL API jar and > > the WebSocket API jar between the 9.0.45 release (that used the > > annotation) and a current build from source (that doesn't use the > > annotation) and they are identical. On that basis I think we have a > > working solution. > > > > Mark > > > > > > > > > > Just FYI, > > > - Ray > > > > > > On Thu, Apr 1, 2021 at 4:40 AM Jean-Louis MONTEIRO <jeano...@gmail.com > > > > > wrote: > > > > > >> That's awesome news. > > >> > > >> I'm glad it's something that can be achieved without too much effort. > > >> I understand and buy the pragmatic approach. > > >> > > >> But at the same time, if we can do a step forward and get even closer > to > > >> being certified, that'd be great. > > >> > > >> Le jeu. 1 avr. 2021 à 10:06, Mark Thomas <ma...@apache.org> a écrit : > > >> > > >>> I've been playing with this a bit more and it appears we can simply > > >>> hard-code the "Require-Capability" header in el-api.jar.bnd > > >>> > > >>> Having taken the time to look at the actual values generated for > these > > >>> API JARs, this does look like something that would be simple to > > maintain > > >>> manually - especially for the API JARs where adding a new use of > > >>> ServiceLoader is likely to happen fairly rarely. > > >>> > > >>> We should be able to remove the Bnd annotation in > > >>> - 10.0.x for 10.0.6 onwards > > >>> - 9.0.x for 9.0.46 onwards > > >>> > > >>> We'll certainly do this for the API JARs. I think we'll leave it in > > >>> place for the implementation JARs > > >>> > > >>> I have a few things on my TODO list at the moment but I don't see > why I > > >>> shouldn't be able to get this done for the May set of releases. > > >>> > > >>> Mark > > >>> > > >>> > > >>> On 01/04/2021 08:24, Romain Manni-Bucau wrote: > > >>>> Hi, > > >>>> > > >>>> AFAIK TomEE will try to be certified and will try to not fork as > much > > >> as > > >>>> possible Tomcat code so can be neat to solve it in particular when > > >>>> relatively easy: > > >>>> > > >>>> 1. compile tomcat classes with bnd as of today > > >>>> 2. run bnd to get the manifest.mf ( > > >>>> 3. post process tomcat classes to remove bnd from the .class > > >>>> 4. jar it > > >>>> > > >>>> should solve the process and does not look crazy compared to what > > >> tomcat > > >>>> already does, no? > > >>>> > > >>>> Alternative is indeed to drop bnd since the manifest is quite easy > to > > >>> write > > >>>> manually or with an ant task to filter the version for tomcat case, > at > > >>>> least for spec jars (it is harder for the impl but here bnd is > fine). > > >>>> > > >>>> 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 jeu. 1 avr. 2021 à 09:19, Mark Thomas <ma...@apache.org> a > écrit : > > >>>> > > >>>>> On 31/03/2021 20:14, Volodymyr Siedlecki wrote: > > >>>>>> Hello, > > >>>>>> > > >>>>>> It appears the TCK Signature tests will not be relaxed (see 1 & > 2), > > >>>>>> and I'm wondering how Tomcat will proceed with the bnd annotation > in > > >>>>>> the EL API? Will it be removed in the next release? > > >>>>> > > >>>>> Currently, there are no plans to change the Tomcat code. > > >>>>> > > >>>>> We do run the TCKs but take a pragmatic view of any failures. For > > >>>>> example, the Servlet TCK test that tests setting a context path in > > >>>>> web.xml always fails because Tomcat always overrides any such > > setting. > > >>>>> The Servlet spec allows this setting to be overridden but the TCK > > test > > >>>>> doesn't consider the possibility that a container will always do > > this. > > >>>>> Therefore we simply treat this as an expected failure. Full details > > >> for > > >>>>> all the TCKs we run can be found on the Wiki: > > >>>>> > > >>>>> https://cwiki.apache.org/confluence/display/TOMCAT/Jakarta+EE+TCKs > > >>>>> > > >>>>> The EL signature test failure is another example of a failure that > we > > >>>>> consider can be safely ignored. > > >>>>> > > >>>>> Tomcat does not, and has not for many, many years, formally > certified > > >>>>> against the Jakarta EE / Java EE TCKs. I am not aware of any user > > >>>>> request at any point in that time to complete formal certification. > > >>>>> Therefore, I expect that Tomcat will continue following its current > > >>>>> pragmatic approach to the TCKs. > > >>>>> > > >>>>> Mark > > >>>>> > > >>>>> > --------------------------------------------------------------------- > > >>>>> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > > >>>>> For additional commands, e-mail: dev-h...@tomcat.apache.org > > >>>>> > > >>>>> > > >>>> > > >>> > > >>> > > >>> --------------------------------------------------------------------- > > >>> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > > >>> For additional commands, e-mail: dev-h...@tomcat.apache.org > > >>> > > >>> > > >> > > >> -- > > >> Jean-Louis > > >> > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > > For additional commands, e-mail: dev-h...@tomcat.apache.org > > > > > > -- > *Raymond Augé* (@rotty3000) > Senior Software Architect *Liferay, Inc.* (@Liferay) > OSGi Fellow >