arquillian / arquillian-core

Arquillian provides a component model for integration tests, which includes dependency injection and container life cycle management. Instead of managing a runtime in your test, Arquillian brings your test to the runtime.
http://arquillian.org
Apache License 2.0
369 stars 195 forks source link

Jakarta Protocols 1.9.0 are missing #592

Closed lprimak closed 2 weeks ago

lprimak commented 2 weeks ago

Arquillian core 1.9.0 has been released. However, Jakarta protocol JARs are sill 1.8.1

Please release 1.9.0 versions of these JARs.

Thank you

jamezp commented 2 weeks ago

Why do the Jakarta protocols need a new release? They are a separate project with a separate BOM.

lprimak commented 2 weeks ago

If that was true, the protocol version would be 1.0, not 1.8.1 This is not a coincidence :) The "new" BOM was "introduced" in 1.8.1 (a minor version) which breaks semantic versioning.

In any case, if the protocols versions are going to mirror Core versions, their versions need to be consistent. If not, they can't be confusing like this, i.e. they should start with 1.0, not 1.8.x

hantsy commented 2 weeks ago

I encountered the same issue when upgrading to Aruqillian 1.9.0.Final

Some problems were encountered while processing the POMs:
Error:  'dependencies.dependency.version' for org.jboss.arquillian.protocol:arquillian-protocol-servlet-jakarta:jar is missing
hantsy commented 2 weeks ago

Why do the Jakarta protocols need a new release? They are a separate project with a separate BOM.

I was using the BOM in my projects to manage the dependency versions.

<dependency>
    <groupId>org.jboss.arquillian</groupId>
    <artifactId>arquillian-bom</artifactId>
    <version>${arquillian-bom.version}</version>
    <scope>import</scope>
    <type>pom</type>
</dependency>
starksm64 commented 2 weeks ago

So as of the 1.9.0.Final release of arquillian-core, arquillian-jarkarta is not in the bom, and neither are the shrinkwrap dependencies. Only arquillian-core artifacts are in there.

The 1.8.1.Final release of the does include its own bom, but since it refers to the 1.7.1.Final bom for arquillian-core, it should be updated.

We should really just give it a version number like 10.0.0.Final to refer to the versions of the Jakarta APIs.

This is the type of bom import that needs to be done as of arquillian-core 1.9.0.Final:

            <dependency>
                <groupId>org.junit</groupId>
                <artifactId>junit-bom</artifactId>
                <version>5.10.1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap.resolver</groupId>
                <artifactId>shrinkwrap-resolver-bom</artifactId>
                <version>${version.shrinkwrap}</version>
                <scope>test</scope>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap.resolver</groupId>
                <artifactId>shrinkwrap-resolver-depchain</artifactId>
                <version>${version.shrinkwrap}</version>
                <type>pom</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian</groupId>
                <artifactId>arquillian-bom</artifactId>
                <version>${version.arquillian_core}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian.jakarta</groupId>
                <artifactId>arquillian-jakarta-bom</artifactId>
                <version>${version.arquillian_jakarta}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
lprimak commented 2 weeks ago

Yup. 10.0.0 should work great!

hantsy commented 2 weeks ago

Yup. 10.0.0 should work great!

@starksm64 It is OK to align the Jakarta variant to the Jakarta EE version.

But another issue we will face is that the servlet protocol is versioned in aquillian.xml, which means we can use a general Servlet as protocol name and discard the version number. Because the servlet version is aligned with Jakarta EE version by default.

starksm64 commented 2 weeks ago

10.0.0.Final is released. https://github.com/arquillian/arquillian-jakarta/releases/tag/10.0.0.Final