[shrinkwrap-issues] [JBoss JIRA] (SHRINKWRAP-389) Allow ShrinkWrap to overwrite existing ArchivePaths

Aslak Knutsen (JIRA) jira-events at lists.jboss.org
Wed May 30 17:09:18 EDT 2012


    [ https://issues.jboss.org/browse/SHRINKWRAP-389?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12697313#comment-12697313 ] 

Aslak Knutsen commented on SHRINKWRAP-389:
------------------------------------------

the new IllegalOverwriteException is causing some issues for Arquillian.

* The user adds a Package to the Deployment, Arquillian then fail to add the TestClass because it already exist in the user added Package. There is no ClassContainer.contains(Class), so Arquillian has to construct a possible ArchivePath from the Class and check if it exists already before adding. The ArchivePath change depending on Archive Type of course. (Another option is of course a try catch)

* Packaging JUnit is a bit odd. JUnit include parts of hamcrest, but if you add the full hamcrest lib to classpath as well, you now get some of the hamcrest classes twice. A Filter alla this is a possible workaround for multi includes
{code}
new Filter<ArchivePath>() {
  @Override
  public boolean include(ArchivePath path) {
      return !archive.contains(path);
  }
}
{code}


                
> Allow ShrinkWrap to overwrite existing ArchivePaths
> ---------------------------------------------------
>
>                 Key: SHRINKWRAP-389
>                 URL: https://issues.jboss.org/browse/SHRINKWRAP-389
>             Project: ShrinkWrap
>          Issue Type: Feature Request
>            Reporter: Andrew Rubinger
>              Labels: starter
>
> SHRINKWRAP-329 created a fail-fast (as opposed to silent no-op) approach to encountering the following case:
> {code}        // Create the new archive
>         final Archive<?> archive = createNewArchive();
>         // Put in an asset
>         final ArchivePath path = ArchivePaths.create("testPath");
>         archive.add(EmptyAsset.INSTANCE, path);
>         // Now try again with a new asset, and this should fail
>         try {
>             archive.add(new StringAsset("failContent"), path);
>         } catch (final IllegalOverwriteException ioe) {
>             // Good
>             return;
>         }{code}
> We need a feature now to disable this, effectively a boolean flag for each of the archive "add" methods to allow overwriting.  Will encompass API changes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the shrinkwrap-issues mailing list