ShrinkWrap 1.1.0-alpha-4 Released

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

The Arquillian team is proud to announce the 1.1.0-alpha-4 release of the ShrinkWrap component!

What is ShrinkWrap?

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 ShrinkWrap
Version 1.1.0-alpha-4 view tag
Release date 2012-08-16
Released by Andrew Lee Rubinger
Compiled against
  • JUnit – 4.8.2

Published artifacts org.jboss.shrinkwrap

  • org.jboss.shrinkwrap » shrinkwrap-api jar javadoc pom
  • org.jboss.shrinkwrap » shrinkwrap-api-nio2 jar javadoc pom
  • org.jboss.shrinkwrap » shrinkwrap-bom pom
  • org.jboss.shrinkwrap » shrinkwrap-depchain pom
  • org.jboss.shrinkwrap » shrinkwrap-depchain-java7 pom
  • org.jboss.shrinkwrap » shrinkwrap-impl-base jar javadoc pom
  • org.jboss.shrinkwrap » shrinkwrap-impl-nio2 jar javadoc pom
  • org.jboss.shrinkwrap » shrinkwrap-spi jar javadoc pom

Release notes and resolved issues 6

Feature Request
Bug
  • SHRINKWRAP-416 - Should not be able to overwrite an existing directory
  • SHRINKWRAP-417 - Archive.move() does not work for directories
  • SHRINKWRAP-419 - UnsupportedOperationException: EnterpriseArchive does not support classes
Task

Thanks to the following list of contributors: Andrew Lee Rubinger

Arquillian Transaction Extension 1.0.0.Alpha1 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.Alpha1 release of the Arquillian Transaction Extension component!

Motivation

Until this point, the only special transaction support in Arquillian has come from the Arquillian Persistence Extension. But as the extension universe expand, the need for other extensions to interact with transactions expand as well. To avoid you having to deal with the individual extensions transaction support in different ways, different apis, we concluded it was time to make Transactions it’s own top level extension.

Usage

The current API takes a declarative approach to configure the transactional behavior of the Test case. By annotating the TestClass or the TestMethod with @Transactional you control how the transaction should be handled after TestMethod execution.
Should Arquillian COMMIT, ROLLBACK or DISABLE the transaction for this method?

Example:

@RunWith(Arquillian.class)
@Transactional
public class GreeterTestClass {

    public void defaultTest() throws Exception {
        // test code
    }

    @Transactional(TransactionMode.ROLLBACK)
    public void rollbackTest() throws Exception {
        // test code
    }
}

SPI integration

The extension itself does not come with any implementation for a concrete transaction API, the implementations will be provided by separate modules. During execution, the transactional handling is delegated to a TransactionProvider service implementation which is registered within Arquillian. The SPI defines a set of transaction lifecycle events ((Before|After)Transaction(Started|Ended)) and a separate transactional scope (@TransactionScope) which is bound to the executing transaction.

Implementations

Besides the JTA implementation provided by the Arquillian Persistence Extension, the next extensions which will provide support is the Spring Extension. More details to come.

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 Transaction Extension
Version 1.0.0.Alpha1 view tag
Release date 2012-08-13
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.extension

  • org.jboss.arquillian.extension » arquillian-transaction-api jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-spi jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-impl-base jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-bom pom

Release notes and resolved issues 2

The basic setup for rollback/commit on a TestClass with multiple Manager implementation

Feature Request
  • ARQ-1033 - Extract the transaction support out of Arquillian Persistence Extension

Thanks to the following list of contributors: Aslak Knutsen, Jakub Narloch

ShrinkWrap 1.1.0-alpha-3 Released

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

The Arquillian team is proud to announce the 1.1.0-alpha-3 release of the ShrinkWrap component!

What is ShrinkWrap?

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 ShrinkWrap
Version 1.1.0-alpha-3 view tag
Release date 2012-08-06
Released by Andrew Lee Rubinger
Compiled against
  • JUnit – 4.8.2

Published artifacts org.jboss.shrinkwrap

  • org.jboss.shrinkwrap » shrinkwrap-api jar javadoc pom
  • org.jboss.shrinkwrap » shrinkwrap-bom pom
  • org.jboss.shrinkwrap » shrinkwrap-depchain pom
  • org.jboss.shrinkwrap » shrinkwrap-impl-base jar javadoc pom
  • org.jboss.shrinkwrap » shrinkwrap-spi jar javadoc pom

Release notes and resolved issues 4

Enhancement
  • SHRINKWRAP-411 - API inconsistency - allow to delete Class or Package from the Archive
Feature Request
Bug
  • SHRINKWRAP-377 - ZipExporter.exportTo(java.io.File target) does not fail when target exists.
  • SHRINKWRAP-407 - Archive.toString might throw java.lang.IndexOutOfBoundsException

Thanks to the following list of contributors: Andrew Lee Rubinger, Tommy Tynjä, Ralf Battenfeld, Pedro Kowalski, Marek Goldmann, Ivan Pazmino, Eric Lefevre-ardant, Davide D'alto

ShrinkWrap Descriptors 2.0.0-alpha-4 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-4 release of the ShrinkWrap Descriptors component!

What is ShrinkWrap Descriptors?

The Shrinkwrap Descriptor project provides an uniformed fluent API for creating and modifying Java EE deployment descriptors on the fly. Starting from the very early JEE 1.3 to the brand new Java EE 7 version, the descriptor project includes almost all official deployment descriptors. Several vendor specific deployment descriptors, mostly JBoss related, are covered as well.

Release details

Component ShrinkWrap Descriptors
Version 2.0.0-alpha-4 view tag
Release date 2012-08-06
Released by Andrew Lee Rubinger
Compiled against
  • JUnit – 4.8.1

Published artifacts org.jboss.shrinkwrap.descriptors

  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-api-base jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-api-javaee jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-api-jboss jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-api-misc jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-ant jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-bom pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-depchain pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-gen jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-impl-base jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-impl-javaee jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-impl-jboss jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-impl-misc jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-spi jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-test jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-test-util jar javadoc pom
  • org.jboss.shrinkwrap.descriptors » shrinkwrap-descriptors-metadata-parser-test jar javadoc pom

Release notes and resolved issues 7

Feature Request
Bug
  • SHRINKDESC-115 - Descriptors 2.0 module creates duplicate <alternatives/> entries (test case attached)
  • SHRINKDESC-121 - WebFragmentDescriptor defaultFileName should be web-fragment.xml
  • SHRINKDESC-128 - Missing attributes
Task
  • SHRINKDESC-105 - Re-enable and expand MetadataParserTestCase
  • SHRINKDESC-118 - Fix Jetty7TestCase So It Doesn't Require Network Connection and Access to www.eclipse.org

Thanks to the following list of contributors: Ralf Battenfeld, Andrew Lee Rubinger

Arquillian Core 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 Core component!

Another little maintenance release in the Arquillian 1.0 series.

The @Deployment can now be defined on private and protected methods. The same package and protected support is applicable to the SPI level for service and observer implementations.

@Deployment
static JavaArchive createDeployment() {
   ...
}

Using environment variables in arquillian.xml is now possible via the property expression ENV.name

<container qualifier="example">
   <property name="jbossHome">${ENV.JBOSS_HOME}</property>
</container>

Ever run into this exception? “UnsupportedOperationException: Multiple WebArchives found in X.ear. Can not determine which to enrich.”
The exception happens when the Servlet Protocol in Arquillian attempts to enrich an EnterpriseArchive for in-container testing, but multiple WebArchives were found in the Deployment, and it can’t determine which you want to test. With the help of Robert Panzer this is now supported. You can give a Protocol a hint to which Archive is under test by using the new Testable.archiveToTest(Archive) method.

@Deployment
static EnterpriseArchive create() {
   return ShrinkWrap.create(EnterpriseArchive.class)
      .addAsModule(...some..war..)
      .addAsModule(
         Testable.archiveToTest(
            ShrinkWrap.create(WebArchive.class)
               .addXYZ(...)
         )
      );
}

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.0.2.Final view tag
Release date 2012-07-23
Released by Aslak Knutsen
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 9

Maintenance release + Multi war support

Enhancement
  • ARQ-920 - Support @Deployment on non-public member (method or field)
  • ARQ-921 - Make environment variables available for property replacement in configuration
Feature Request
  • ARQ-990 - Update dependencies to simplify downstream Fedora Packaging
  • ARQ-1024 - Support package private implementation
  • ARQ-1035 - Should support enriching a specific module in a multi module deployment
Bug
  • ARQ-376 - Environment configuration is overridden by arquillian.xml
  • ARQ-620 - arquillian-core-impl-base needs a non-optional dependency on jboss-logmanager
Task
  • ARQ-956 - Remove dependency on jboss-logging in JMX protocol

Thanks to the following list of contributors: Aslak Knutsen, Thomas Diesler, Robert.panzer, Dan Allen