ShrinkWrap Resolver 3.0.1 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 3.0.1 release of the ShrinkWrap Resolver component!

What is ShrinkWrap Resolver?

The ShrinkWrap Resolvers project provides a Java API to obtain artifacts from a repository system. This is handy to include third party libraries available in any Maven repository in your test archive. ShrinkWrap Resolvers additionally allow you to reuse all the configuration you've already specified in the Maven build file, making packaging of an application archive much easier job.

Release details

Component ShrinkWrap Resolver
Version 3.0.1 view tag
Release date 2017-12-07
Released by Matous Jobanek
Compiled against

Published artifacts org.jboss.shrinkwrap.resolver

  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-bom pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-api jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-spi jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-depchain pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-api-maven jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-impl-maven jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-api-maven-archive jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-spi-maven jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-spi-maven-archive jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-impl-maven-archive jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-api-maven-embedded jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-impl-maven-embedded jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-impl-gradle jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-api-gradle-embedded-archive jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-gradle-depchain pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-impl-gradle-embedded-archive jar javadoc pom

Release notes and resolved issues 2

Enhancement
  • SHRINKRES-283 - Provided shaded fat jar of shrinkwrap-resolver-impl-maven
Bug
  • SHRINKRES-284 - It shouldn't contain a CDI API dependency in the set of transitive dependencies

Thanks to the following list of contributors: Matous Jobanek, Glenn

Arquillian Container Weld Root POM 2.0.0.Final Released

The Arquillian team is proud to announce the 2.0.0.Final release of the Arquillian Container Weld Root POM component!

What is Arquillian?

Arquillian is open source software that empowers you to test JVM-based applications more effectively. Created to defend the software galaxy from bugs, Arquillian brings your test to the runtime so you can focus on testing your application's behavior rather than managing the runtime. Using Arquillian, you can develop a comprehensive suite of tests from the convenience of your IDE and run them in any IDE, build tool or continuous integration environment.

Release details

Component Arquillian Container Weld Root POM
Modules
Version 2.0.0.Final view tag
Release date 2017-12-07
Released by Bartosz Majsak
Compiled against

Published artifacts org.jboss.arquillian.container

  • org.jboss.arquillian.container » arquillian-weld-embedded jar javadoc pom

Release notes and resolved issues 1

Bug
  • ARQ-2165 - Properties are not loaded correctly when searching for /META-INF

Thanks to the following list of contributors: Bartosz Majsak, Tomas Remes, John D. Ament

Arquillian Container SE 1.0.2.Final Released

The Arquillian team is proud to announce the 1.0.2.Final release of the Arquillian Container SE component!

What is Arquillian?

Arquillian is open source software that empowers you to test JVM-based applications more effectively. Created to defend the software galaxy from bugs, Arquillian brings your test to the runtime so you can focus on testing your application's behavior rather than managing the runtime. Using Arquillian, you can develop a comprehensive suite of tests from the convenience of your IDE and run them in any IDE, build tool or continuous integration environment.

Release details

Component Arquillian Container SE
Version 1.0.2.Final view tag
Release date 2017-12-01
Released by Tomáš Remeš
Compiled against

Published artifacts org.jboss.arquillian.container

  • org.jboss.arquillian.container » container-se-api jar javadoc pom
  • org.jboss.arquillian.container » container-se-managed jar javadoc pom
  • org.jboss.arquillian.container » container-se-server jar javadoc pom
  • org.jboss.arquillian.container » container-se-tests jar javadoc pom

Release notes and resolved issues 0

Thanks to the following list of contributors: Tomas Remes, Bartosz Majsak

Arquillian Container Chameleon 1.0.0.Beta3 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 1.0.0.Beta3 release of the Arquillian Container Chameleon component!

What’s new in this release

Support for WildFly 11

With this release we bring support for latest version of WildFly container. We would like to take this opportunity to highlight how easy it is to get support for a custom container if it’s not defined by Chameleon itself.

Prior to this release, if you needed support for WildFly 11, there were just two things you had to do in order to use it with Chameleon:

  • create a containers.yml file (like the snippet below)
  • point Chameleon to load it, instead of the default one
- name: WildFly
  versionExpression: 11.*
  adapters:
    - type: remote
      coordinates: org.wildfly.arquillian:wildfly-arquillian-container-remote:2.1.0.Final
      adapterClass: org.jboss.as.arquillian.container.remote.RemoteDeployableContainer
    - type: managed
      coordinates: org.wildfly.arquillian:wildfly-arquillian-container-managed:2.1.0.Final
      adapterClass: org.jboss.as.arquillian.container.managed.ManagedDeployableContainer
      configuration:
        jbossHome: ${dist}
    - type: embedded
      coordinates: org.wildfly.arquillian:wildfly-arquillian-container-embedded:2.1.0.Final
      adapterClass: org.jboss.as.arquillian.container.embedded.EmbeddedDeployableContainer
      configuration: 
         jbossHome: ${dist}
         modulePath: ${dist}/modules
  defaultType: managed
  dist:
    coordinates: org.wildfly:wildfly-dist:zip:${version}
  exclude:
    - org.jboss.arquillian.test:*
    - org.jboss.arquillian.testenricher:*
    - org.jboss.arquillian.container:*
    - org.jboss.arquillian.core:*
    - org.jboss.arquillian.config:*
    - org.jboss.arquillian.protocol:*
    - org.jboss.shrinkwrap.api:*
    - org.jboss.shrinkwrap:*
    - org.jboss.shrinkwrap.descriptors:*
    - org.jboss.shrinkwrap.resolver:*
    - "*:wildfly-arquillian-testenricher-msc"

and then run the build using command such as:

mvn clean install -Darq.container.chameleon.configuration.chameleonContainerConfigurationFile=${PWD}/containers.yml -Darq.container.chameleon.configuration.chameleonTarget=wildfly:11.0.0.Final:managed

This way you can also easily contribute support for your favorite container and become Arquillian Hero forever!

GlassFish containers

We brought support for latest GlassFish 5 server, you can use it as follows:

  • glassfish:5.0:managed
  • glassfish:5.0:remote

In addition we depracated support for GlassFish 4.0 in favor of GlassFish 4.1.

What is Arquillian Container Chameleon?

The Chameleon container can quickly adapt to your needs of testing against several containers (JBoss AS / JBoss EAP / WildFly / GlassFish) or even switching between different modes (Managed / Remote / Embedded) without requiring additional dependency configuration.

Release details

Component Arquillian Container Chameleon
Version 1.0.0.Beta3 view tag
Release date 2017-11-29
Released by Bartosz Majsak
Compiled against

Published artifacts org.arquillian.container

  • org.arquillian.container » arquillian-chameleon-container-model jar javadoc pom
  • org.arquillian.container » arquillian-container-chameleon jar javadoc pom

Release notes and resolved issues 2

Other

Thanks to the following list of contributors: Bartosz Majsak, Rod Mackenzie

Smart Testing 0.0.5 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 0.0.5 release of the Smart Testing component!

Highlights of this release

In this release we ship several API improvements making integration with 3rd party tools much easier.

Smart Testing API

The Smart Testing tool consists of three parts:

  • Core
  • Maven extension
  • Surefire provider integration

Both the Surefire provider integration and the Maven extension are implemented only for the usage in Maven builds. They take care of the integration and invoke Smart Testing API provided by Core.

The Core contains the main logic that is responsible for selecting/ordering and applying corresponding strategies. This logic is exposed by Smart Testing API. If you want to use the logic in your environment or as an integration with some third-party library, you need to have the dependency of Smart Testing Core on your classpath:

<dependency>
    <groupId>org.arquillian.smart.testing</groupId>
    <artifactId>core</artifactId>
    <version>${smart.testing.version}</version>
</dependency>

plus all dependencies of strategies you want to use for the prioritization:

<dependency>
    <groupId>org.arquillian.smart.testing</groupId>
    <artifactId>strategy-${strategy.name}</artifactId>
    <version>${smart.testing.version}</version>
</dependency>

Having these dependencies specified, you can start using the API. The starting point is SmartTesting class that provides you a fluent API:

SmartTesting
    .with(className -> isTest(className), configuration)
    .in("path/to/my/project")
    .applyOnClasses(suite);

The first method with takes as the first parameter a function that says which class is a test and which not. The second parameter is a configuration that should be used. The configuration file can be loaded using:

ConfigurationLoader.load(projectDir)

The second method in sets path to the project where the tests will be executed in.
Last method is either applyOnClasses or applyOnNames. It invokes the prioritization process and returns a prioritized set of TestSelection classes. This class contains class name and list of strategies that are applied to it. If you want to get only the names or classes then use the method SmartTesting.getNames(selection) or SmartTesting.getClasses(selection) respectively.

With it, you should be able to use the Smart Testing logic in your test suites without being limited to the Maven builds.

What’s next

We continue improving the tool so watch out for more!

What is Smart Testing?

Smart Testing is a tool that speeds up the test running phase by reordering test execution plan to increase a probability of fail-fast execution and thus give you faster feedback about your project’s health.

Release details

Component Smart Testing
Version 0.0.5 view tag
Release date 2017-11-28
Released by Matous Jobanek
Compiled against

Published artifacts org.arquillian.smart.testing

Release notes and resolved issues 4

Component: Core

Thanks to the following list of contributors: Matous Jobanek, Bartosz Majsak