Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jakarta.ee-community] Help wanted: improved signature test tool
  • From: Mark Thomas <markt@xxxxxxxxxx>
  • Date: Fri, 14 Feb 2020 19:20:52 +0000
  • Autocrypt: addr=markt@xxxxxxxxxx; prefer-encrypt=mutual; keydata= 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
  • Delivered-to: jakarta.ee-community@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/jakarta.ee-community>
  • List-help: <mailto:jakarta.ee-community-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/jakarta.ee-community>, <mailto:jakarta.ee-community-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/jakarta.ee-community>, <mailto:jakarta.ee-community-request@eclipse.org?subject=unsubscribe>
  • User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1

On 14/02/2020 16:45, Andy Guibert wrote:
>>  Not true. Apache Tomcat ships its own ALv2 licensed API JARs and I don't
>> see that changing any time soon.
> 
> JavaEE API jars were CDDL/GPL licensed, but JakartaEE API jars are EPLv2
> licensed which are far more permissive. With the new EPLv2 licesned API
> jars, will Tomcat still need to repackage as APLv2?

It isn't a repackaging. It is an independent implementation.

And yes, I think Tomcat will continue to provide those JARs.

During the development phase of a spec iteration, being able to
experiment with variations of the API without having to wait for an
upstream release is very useful. For example, the feedback obtained via
Tomcat during the development of the HttpServletMapping API.

Yes there is a maintenance cost but that is outweighed by the benefits.
If that balance changes, I expect the decision will be revisited. But,
as I said, I don't see that changing any time soon.

Mark


> 
> On Fri, Feb 14, 2020 at 8:44 AM Mark Thomas <markt@xxxxxxxxxx
> <mailto:markt@xxxxxxxxxx>> wrote:
> 
>     On 14/02/2020 14:19, Andy Guibert wrote:
>     > Hi Bill,
>     >
>     > When I was porting JSON-B TCK tests out of the JT harness I came
>     across
>     > this topic. IIRC SigTest is part of the TCK because in the old days of
>     > JavaEE we didn't actually ship an API jar that implementations could
>     > include -- all of the implementations had to write up the API
>     > classes/interfaces themselves.
>     >
>     > Nowadays all of the implementations just pull in the API jars from
>     Maven
>     > Central and expose them in the runtime,
> 
>     Not true. Apache Tomcat ships its own ALv2 licensed API JARs and I don't
>     see that changing any time soon.
> 
>     > so SigTest doesn't really
>     > provide any testing value for implementations.
> 
>     Because of the above, I disagree.
> 
>     Mark
> 
> 
>     > However, SigTest can be useful for detecting API changes as specs
>     > evolve, particularly to make sure we follow semantic versioning
>     rules in
>     > the API. For this, I suggest we use a maven plugin called
>     > "bnd-baseline-maven-plugin" [1]. This plugin essentially scans the
>     > produced API jar at build time and compares it to the previous version
>     > to ensure that semantic versioning rules are followed.
>     >
>     >
>     [1] https://github.com/bndtools/bnd/tree/master/maven/bnd-baseline-maven-plugin
>     >
>     > --
>     > Andy
>     >
>     > On Thu, Feb 13, 2020 at 7:38 PM Bill Shannon
>     <bill.shannon@xxxxxxxxxx <mailto:bill.shannon@xxxxxxxxxx>
>     > <mailto:bill.shannon@xxxxxxxxxx <mailto:bill.shannon@xxxxxxxxxx>>>
>     wrote:
>     >
>     >     -- Background
>     >
>     >     Part of our TCK test suites is a signature test that verifies that
>     >     the API
>     >     signatures of an implementation match what's expected from the
>     >     specification.
>     >     The signature test is based on a file that records the API
>     >     signatures.  The
>     >     sigtest tool [1] (part of the OpenJDK project) is used to generate
>     >     the signature
>     >     file base on a "reference implementation" - an implementation that
>     >     is believed
>     >     to exhibit the correct signatures.
>     >
>     >     The recorded signatures include every field and method in every
>     >     class and
>     >     interface in the API, as well as the information for every
>     superclass or
>     >     interface.  A consequence of this is that it records the
>     signatures of
>     >     every JDK class used by the API.
>     >
>     >     That means that a different signature file is needed to test
>     an API on
>     >     JDK 12 vs JDK 11 (for example), even though the API works
>     identically on
>     >     both.  There's no way to say "this API requires JDK 11 or newer".
>     >
>     >     There are some features in the sigtest tool that seem like
>     they should
>     >     work to limit the recorded signatures to only the API being
>     tested, or
>     >     to exclude the signatures for JDK classes, but these features
>     have never
>     >     worked the way I wanted them to work.  I've tried for years to
>     convince
>     >     the sigtest team of what I wanted, but their perspective is
>     that of
>     >     testing
>     >     the JDK itself, which obviously never has this problem.
>     >
>     >
>     >     -- Help Wanted
>     >
>     >     I'd love it if someone in the Jakarta EE community could work
>     with the
>     >     sigtest team, explain to them what's needed, and help them
>     make the
>     >     existing
>     >     features work as needed, or create new features to do what we
>     need.
>     >
>     >     Worst case, someone could fork the sigtest tool and add the
>     feature that
>     >     we need.  The obvious disadvantage of this approach is that
>     the tool
>     >     would need to be kept up to date with every new JDK release. 
>     We need
>     >     a long term solution, not a one-off solution.
>     >
>     >     If you're interested, you should start by familiarizing yourself
>     >     with the
>     >     existing sigtest tool, try it out with a few APIs, then contact me
>     >     for more
>     >     background.
>     >
>     >     Thanks for any help!
>     >
>     >
>     >     P.S.  I've filed a bug [2] against the platform TCK that can
>     be used
>     >     to track
>     >     any work in this area.
>     >
>     >
>     >     [1] https://wiki.openjdk.java.net/display/CodeTools/sigtest
>     >     [2] https://github.com/eclipse-ee4j/jakartaee-tck/issues/156
>     >     _______________________________________________
>     >     jakarta.ee-community mailing list
>     >     jakarta.ee-community@xxxxxxxxxxx
>     <mailto:jakarta.ee-community@xxxxxxxxxxx>
>     >     <mailto:jakarta.ee-community@xxxxxxxxxxx
>     <mailto:jakarta.ee-community@xxxxxxxxxxx>>
>     >     To change your delivery options, retrieve your password, or
>     >     unsubscribe from this list, visit
>     >     https://www.eclipse.org/mailman/listinfo/jakarta.ee-community
>     >
>     >
>     > _______________________________________________
>     > jakarta.ee-community mailing list
>     > jakarta.ee-community@xxxxxxxxxxx
>     <mailto:jakarta.ee-community@xxxxxxxxxxx>
>     > To change your delivery options, retrieve your password, or
>     unsubscribe from this list, visit
>     > https://www.eclipse.org/mailman/listinfo/jakarta.ee-community
>     >
> 
>     _______________________________________________
>     jakarta.ee-community mailing list
>     jakarta.ee-community@xxxxxxxxxxx
>     <mailto:jakarta.ee-community@xxxxxxxxxxx>
>     To change your delivery options, retrieve your password, or
>     unsubscribe from this list, visit
>     https://www.eclipse.org/mailman/listinfo/jakarta.ee-community
> 
> 
> _______________________________________________
> jakarta.ee-community mailing list
> jakarta.ee-community@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/jakarta.ee-community
> 



Back to the top