Arquillian Core 1.4.0.Final Released

The Arquillian team is proud to announce the 1.4.0.Final release of the Arquillian Core component!

Extended expression language in Arquillian configuration

In arquillian.xml file, properties are always defined explicitly, as a system property ${myproperty} or as an environment variable ${env.myenvironment}. But in both cases values are set before test execution.

With this release, you can implement your own way of resolving values, not just system properties or environment variables.

You need to register a new Arquillian service in ExtensionBuilder and it must conform following signature:

interface PropertyResolver {
    String getValue(String key);
}

key attribute is the expression set in arquillian.xml file as property value and it returns the resolved value.

You can see how we implement at Arquillian Core the system property/environment variable resolution using this SPI at registration of PropertyResolver and implementing PropertyResolver.

Currently apart from resolving properties from system properties and environment variables, we added a resolution of locations from classpath. For example:

<container qualifier="${arquillian.container:default}">
  <configuration>
    <property name="javaVmArguments">-Djavax.net.ssl.trustStore=${classpath(store.jks)}</property>
  </configuration>
</container>

In this example, property javax.net.ssl.trustStore is going to be set to the absolute location of file store.jks which is relative to root classpath.

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 Core
Version 1.4.0.Final view tag
Release date 2018-02-27
Released by Matous Jobanek
Compiled against

Published artifacts org.jboss.arquillian.core

  • org.jboss.arquillian.core » arquillian-core-api jar javadoc pom
  • org.jboss.arquillian.core » arquillian-core-spi jar javadoc pom
  • org.jboss.arquillian.core » arquillian-core-impl-base jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-api jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-spi jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-impl-base jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-api jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-spi jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-impl-base jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-spi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-impl-base jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-api jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-spi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-impl-base jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-core jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-standalone jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-container jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-core jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-standalone jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-container jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-cdi jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-ejb jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-resource jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-initialcontext jar javadoc pom
  • org.jboss.arquillian.protocol » arquillian-protocol-servlet jar javadoc pom
  • org.jboss.arquillian.protocol » arquillian-protocol-jmx jar javadoc pom
  • org.jboss.arquillian » arquillian-bom pom

Release notes and resolved issues 2

Enhancement
  • ARQ-2177 - Extend expression language in arquillian configuration
Bug
  • ARQ-2175 - DeploymentExceptionHandler can sometimes pass null to transformers

Thanks to the following list of contributors: Matous Jobanek, Matej Novotny, Hemani, Bartosz Majsak, Alex Soto