Graphene 1.0.0.CR3 Released & How To Migrate from Ajocado

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.CR3 release of the Graphene component!

The project Ajocado has been renamed to Graphene.

The first release under the new name waits for you in Maven repositories.

Migration Path

Fortunately, the migration to new name in your project is very smooth, you can even continue to use original APIs.

Java Classes

The packages of the Java classes have not been renamed, the only change is addition of three new interfaces/utilities and deprecation of the old ones:

  • Ajocado → Graphene
  • AjaxSelenium → GrapheneSelenium
  • AjocadoConfiguration → GrapheneConfiguration
  • AjocadoContext → GrapheneSeleniumContextM
  • AjocadoConfigurationContext → GrapheneConfigurationContext

The original names has been deprecated, but it doesn’t prevent to use current tests as they are – the deprecated classes will continue to be part of the project.

Configuration

The simple change in the arquillian.xml descriptor is needed, you just need to change ajocado to graphene:

<extension qualifier="graphene">
    ...
</extension>

Maven Artifacts

The most significant change underwent dependency system, so let me talk a more little bit about that:

In Ajocado CR2, there was only one dependency necessary to import all the JUnit/TestNG and all Arquillian dependencies.

In Graphene CR3, you need to manage several dependencies – however it makes your usage of dependencies little more cleaner, since you know exactly what dependencies are imported.

At first, you need to import JUnit/TestNG dependency:

Test Framework

JUnit

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.8.2</version>
    <scope>test</scope>
</dependency>

TestNG

<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>5.14.6</version>
    <scope>test</scope>
</dependency>

Additionally, you need to choose between using Graphene as standalone or use Arquillian integration with containers:

Standalone Usage

In this mode, you don’t use integration with containers, you need to manage the container and deployment at own:

Arquillian JUnit Standalone

<dependency>
    <groupId>org.jboss.arquillian.junit</groupId>
    <artifactId>arquillian-junit-standalone</artifactId>
    <version>1.0.0.CR7</version>
    <scope>test</scope>
</dependency>

Arquillian TestNG Standalone

<dependency>
    <groupId>org.jboss.arquillian.testng</groupId>
    <artifactId>arquillian-testng-standalone</artifactId>
    <version>1.0.0.CR7</version>
    <scope>test</scope>
</dependency>

Container usage

In the container mode, you need to provide deployable archive (@Deployment) and the whole lifecycle of the container and deployment will be managed by Arquillian:

Arquillian JUnit Container

<dependency>
    <groupId>org.jboss.arquillian.junit</groupId>
    <artifactId>arquillian-junit-container</artifactId>
    <version>1.0.0.CR7</version>
    <scope>test</scope>
</dependency>

Arquillian TestNG Container

<dependency>
    <groupId>org.jboss.arquillian.testng</groupId>
    <artifactId>arquillian-testng-container</artifactId>
    <version>1.0.0.CR7</version>
    <scope>test</scope>
</dependency>

Graphene Dependency Chain

And finally it’s necessary to import Arquillian Graphene dependency chain, which includes all other necessary dependencies (Graphene, Drone, Selenium):

Graphene Dependency Chain

<dependency>
    <groupId>org.jboss.arquillian.graphene</groupId>
    <artifactId>arquillian-graphene</artifactId>
    <version>1.0.0.CR3</version>
    <type>pom</type>
    <scope>test</scope>
</dependency>

What’s next?

We are preparing to release Final later soon, the same as other dependencies in Arquillian ecosystem.

Thanks all the people who helped to test migration (Jan Papousek, Karel Piwko), so it is now pretty smooth.

Project Links

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 Graphene
Version 1.0.0.CR3 view tag
Release date 2012-03-15
Released by Lukas Fryc
Compiled against

Published artifacts org.jboss.arquillian.graphene

  • org.jboss.arquillian.graphene » arquillian-graphene-parent pom
  • org.jboss.arquillian.graphene » arquillian-graphene-api jar javadoc pom
  • org.jboss.arquillian.graphene » arquillian-graphene-impl jar javadoc pom
  • org.jboss.arquillian.graphene » arquillian-graphene-drone jar javadoc pom
  • org.jboss.arquillian.graphene » arquillian-graphene pom

Release notes and resolved issues 15

Component Upgrade
  • ARQGRA-21 - Upgrade Arquillian Core, Arquillian Drone and Shrinkwrap
  • ARQGRA-23 - Upgrade to JBoss Parent version 8
Enhancement
  • ARQGRA-32 - Remove javassist dependency
  • ARQGRA-33 - Classes Point, Dimension and Offset should override default equals and hashCode
  • ARQGRA-36 - Split arquillian-testng/junit to support -standalone and -container version
Feature Request
  • ARQGRA-54 - Thread-Local Contexts section in docs should be more clean even for people not so familiar with given topic
  • ARQGRA-59 - support for configurating arquillian.xml during runtime for matrix browser compability jobs
  • ARQGRA-61 - Umbrella: Rename the project to Graphene
Task
  • ARQGRA-97 - Remove repositories definition from pom.xml
  • ARQGRA-106 - Review usage of Shrinkwrap version definition
Sub-task
  • ARQGRA-88 - Test migration path for renaming Ajocado to Graphene
  • ARQGRA-89 - Rename project to Graphene - wiki/docs
  • ARQGRA-90 - Blog about renaming to Graphene
  • ARQGRA-91 - Rename JIRA project name to ARQGRA
  • ARQGRA-92 - Rename GitHub repository to arquillian-graphene

Thanks to the following list of contributors: Lukas Fryc, Juraj Huska, Karel Piwko, Pavol Pitonak

Arquillian Container GlassFish 1.0.0.CR3 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.CR3 release of the Arquillian Container GlassFish component!

Some of the highlights in this release

  • Support for a managed GlassFish container.
    With this release, you can have Arquillian manage the lifecycle of the GlassFish container.
  • Support for GlassFish 3.1.2.
    The release enables you to use Arquillian against a remote or a managed GlassFish 3.1.2 container.
  • The sunResourcesXml property for the embedded GlassFish container, is now deprecated. It is preserved for backward compatibility. You are encouraged to use the resourcesXml property instead.

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 GlassFish
Modules
Version 1.0.0.CR3 view tag
Release date 2012-03-15
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.container

  • org.jboss.arquillian.container » arquillian-glassfish-common jar javadoc pom
  • org.jboss.arquillian.container » arquillian-glassfish-managed-3.1 jar javadoc pom
  • org.jboss.arquillian.container » arquillian-glassfish-remote-3.1 jar javadoc pom
  • org.jboss.arquillian.container » arquillian-glassfish-embedded-3.1 jar javadoc pom

Release notes and resolved issues 7

GlassFish Managed Container

Enhancement
  • ARQ-780 - Change configuration property sunResourcesXml to glassfishResourcesXml
Feature Request
  • ARQ-322 - Implement a GlassFish 3.1 managed container adapter
Bug
  • ARQ-569 - Archive for remote GF-3.1 should not be saved to disk prior to deployment
  • ARQ-624 - Initialization of the extension for remote Glassfish fails when the remote domain configuration does not match the expected configuration
  • ARQ-643 - Arquillian fails to execute in-container tests when the serverHttps property is enabled for remote Glassfish containers
  • ARQ-658 - Deployment of an EnterpriseArchive onto remote GlassFish fails, when the contextRoot recorded in GlassFish, does not start with a slash

Thanks to the following list of contributors: Vineet Reynolds, Aslak Knutsen, Dan Allen, Pedro Kowalski

Arquillian Maven Plugin 1.0.0.Alpha2 Released

The Arquillian team is proud to announce the 1.0.0.Alpha2 release of the Arquillian Maven Plugin 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 Maven Plugin
Version 1.0.0.Alpha2 view tag
Release date 2012-03-14
Released by Aslak Knutsen
Compiled against

Release notes and resolved issues 3

Support for Maven lifecycle binding

Feature Request
  • ARQ-502 - Support arquillian.xml configuration in Maven Plugin
  • ARQ-708 - Should support keeping container alive between execution phases

Thanks to the following list of contributors: Aslak Knutsen, Davide D'alto

ShrinkWrap Resolver 2.0.0-alpha-1 Released

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

The Arquillian team is proud to announce the 2.0.0-alpha-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 2.0.0-alpha-1 view tag
Release date 2012-03-05
Released by Andrew Lee Rubinger
Compiled against
  • JUnit – 4.8.2

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-api-maven jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-depchain pom
  • org.jboss.shrinkwrap.resolver » resolver-maven-plugin-tests jar javadoc pom
  • org.jboss.shrinkwrap.resolver » shrinkwrap-resolver-impl-maven jar javadoc pom
  • org.jboss.shrinkwrap.resolver.test » shrinkwrap-resolver-impl-maven-test-jar-sample jar javadoc pom
  • org.jboss.shrinkwrap.resolver.test » shrinkwrap-resolver-impl-maven-test-ear-sample-test jar javadoc pom

Release notes and resolved issues 17

Feature Request
  • SHRINKRES-6 - Support resolving Artifacts directly from Workspace
  • SHRINKRES-8 - MavenResolver does not take settings.xml specified on command line into account when resolving repositories
  • SHRINKRES-21 - Create a Maven plugin for ShrinkWrap
  • SHRINKRES-43 - MavenResolver and MavenImporter should support profiles
Bug
  • SHRINKRES-2 - ShrinkWrap MavenResolver unable to resolve version from parent POM.
  • SHRINKRES-3 - EmptyStackException when adding a exclusion before a artifact using MavenDependencyResolver
  • SHRINKRES-13 - Investigate failing CI jobs for MavenImporter
  • SHRINKRES-17 - Plugin (Environment) Integration depends upon a settings.xml file to exist
  • SHRINKRES-20 - Application.xml generated during EAR tests is malformed
  • SHRINKRES-22 - Disable repository activation in fluent API
  • SHRINKRES-23 - Fix missing reporting plugin version
  • SHRINKRES-29 - Artifacts from dependencyManagement imported pom not resolved
  • SHRINKRES-31 - ShrinkWrap fails to resolve artifact co-ordinate with version implicit from loaded pom
Task
Sub-task

Thanks to the following list of contributors: Karel Piwko, Andrew Lee Rubinger, Carlo De Wolf, Tair Sabirgaliev, José Rodolfo Freitas, Samuel Santos, Sachin Patil, Aslak Knutsen, Davide D'alto

Arquillian OSGi 1.0.2.Final 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.2.Final release of the Arquillian OSGi component!

What is Arquillian OSGi?

ShrinkWrap is the simplest way to create archives in Java. Using the fluent and intuitive ShrinkWrap API, developers may assemble JARs, WARs, and EARs to be deployed directly by Arquillian during testing.

Release details

Component Arquillian OSGi
Modules
Version 1.0.2.Final view tag
Release date 2012-03-01
Released by Thomas Diesler
Compiled against

Published artifacts org.jboss.arquillian.testenricher

  • org.jboss.arquillian.testenricher » arquillian-testenricher-osgi jar javadoc pom
  • org.jboss.arquillian.protocol » arquillian-protocol-osgi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-osgi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-osgi-embedded jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-osgi-remote jar javadoc pom

Thanks to the following list of contributors: Thomas Diesler