[JBoss JIRA] Created: (ARQ-576) The build script bits that downloads and configures 1 or more managed containers should be extracted to a maven plugin, so we don't need to copy paste that logic
by Geoffrey De Smet (JIRA)
The build script bits that downloads and configures 1 or more managed containers should be extracted to a maven plugin, so we don't need to copy paste that logic
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: ARQ-576
URL: https://issues.jboss.org/browse/ARQ-576
Project: Arquillian
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Maven Plugin
Reporter: Geoffrey De Smet
Priority: Minor
See ARQ-574.
Now we have to copy paste something like this, per managed container:
{code}
<properties>
<managed-appserver.download.dir>${project.basedir}/local/managed-appserver</managed-appserver.download.dir>
<managed-appserver.tomcat6.version>6.0.33</managed-appserver.tomcat6.version>
<managed-appserver.tomcat6.home>${project.build.directory}/apache-tomcat-${managed-appserver.tomcat6.version}</managed-appserver.tomcat6.home>
</properties>
...
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<inherited>false</inherited>
<executions>
<execution><!-- For managed tomcat -->
<phase>generate-test-resources</phase>
<configuration>
<target>
<mkdir dir="${managed-appserver.download.dir}"/>
<get
src="http://archive.apache.org/dist/tomcat/tomcat-6/v${managed-appserver.tomca..."
dest="${managed-appserver.download.dir}" verbose="true" skipexisting="true"/>
<unzip src="${managed-appserver.download.dir}/apache-tomcat-${managed-appserver.tomcat6.version}.zip"
dest="${project.build.directory}"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>process-test-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${managed-appserver.tomcat6.home}/conf</outputDirectory>
<overwrite>true</overwrite>
<resources>
<resource>
<directory>${basedir}/src/test/conf/tomcat6</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<environmentVariables>
<CATALINA_HOME>${managed-appserver.tomcat6.home}</CATALINA_HOME>
</environmentVariables>
</configuration>
</plugin>
{code}
But this changes over time, and since we copy-paste it to our user projects, our copy becomes stale.
If this could be extracted somehow (aslak is not in favor of adding this to the managed container runtimes, so probably a maven plugin),
that would be nice.
Extra optional requirements:
- It should be easy to ask for multiple managed appservers (say jboss 7, tomcat 6, jetty 6 and jboss 6)
- Prefer zips from the maven repo over "download" url's. At least if the maven repo is down we know that a clean build doesn't work.
- What if multiple hudson jobs are testing with arq on the same hudson slave? They can't use the same port!
- I prefer downloading to /local instead of /target, because the latter gets deleted during "mvn clean". Then again, if it comes from ~/.m2/repository, neither is needed.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 7 months
[JBoss JIRA] Created: (ARQ-520) ResolutionException for artifact org.jboss.arquillian.osgi:arquillian-osgi-bundle:jar
by Thomas Diesler (JIRA)
ResolutionException for artifact org.jboss.arquillian.osgi:arquillian-osgi-bundle:jar
-------------------------------------------------------------------------------------
Key: ARQ-520
URL: https://issues.jboss.org/browse/ARQ-520
Project: Arquillian
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: OSGi Containers
Affects Versions: osgi_1.0.0.CR2
Reporter: Thomas Diesler
Assignee: Thomas Diesler
When the JBoss Nexus repo is not defined in ~/.m2/settings.xml we get
org.jboss.shrinkwrap.resolver.api.ResolutionException: Unable to resolve an artifact
at org.jboss.shrinkwrap.resolver.impl.maven.MavenBuilderImpl.resolveAsFiles(MavenBuilderImpl.java:324)
at org.jboss.shrinkwrap.resolver.impl.maven.MavenBuilderImpl.resolveAsFiles(MavenBuilderImpl.java:70)
at org.jboss.shrinkwrap.resolver.impl.maven.MavenBuilderImpl$MavenArtifactBuilderImpl.resolveAsFiles(MavenBuilderImpl.java:471)
at org.jboss.shrinkwrap.resolver.impl.maven.MavenBuilderImpl$MavenArtifactBuilderImpl.resolveAsFiles(MavenBuilderImpl.java:405)
at org.jboss.arquillian.container.osgi.embedded.EmbeddedDeployableContainer.installBundle(EmbeddedDeployableContainer.java:182)
at org.jboss.arquillian.container.osgi.embedded.EmbeddedDeployableContainer.start(EmbeddedDeployableContainer.java:108)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 7 months
[JBoss JIRA] Created: (ARQ-585) Support for adding a beans.xml without discarding the original beans.xml with .mergeAsResource()
by Geoffrey De Smet (JIRA)
Support for adding a beans.xml without discarding the original beans.xml with .mergeAsResource()
------------------------------------------------------------------------------------------------
Key: ARQ-585
URL: https://issues.jboss.org/browse/ARQ-585
Project: Arquillian
Issue Type: Enhancement
Security Level: Public (Everyone can see)
Reporter: Geoffrey De Smet
Priority: Critical
Presume these 2 beans.xml files:
Production code: beans.xml:
{code}
<beans xmlns="http://java.sun.com/xml/ns/javaee" ...>
<!-- 100 lines that change regularly during development -->
</beans>
{code}
Test addition: test-beans.xml:
{code}
<beans xmlns="http://java.sun.com/xml/ns/javaee" ...>
<alternatives>
<class>org.drools.guvnor.server.repository.TestRepositoryStartupService</class>
</alternatives>
</beans>
{code}
Now, for non-test runs (such as in the IDE or in production), only the beans.xml is activated through weld and the test-only alternative should not be activated.
For test runs, the test-only alternative should be activated, yet the rest of the content from beans.xml should be in there too.
So it should be merged to something like this:
{code}
<beans xmlns="http://java.sun.com/xml/ns/javaee" ...>
<!-- 100 lines that change regularly during development -->
<alternatives>
<class>org.drools.guvnor.server.repository.TestRepositoryStartupService</class>
</alternatives>
</beans>
{code}
It would be nice if we do something like mergeAsResource(), shown in this example:
{code}
public static WebArchive createDeployment() {
WebArchive webArchive = ShrinkWrap.create(ExplodedImporter.class, "guvnor-webapp-5.3.0-SNAPSHOT.war")
.importDirectory(new File("target/guvnor-webapp-5.3.0-SNAPSHOT/"))
.as(WebArchive.class)
.mergeAsResource(new File("target/test-classes/META-INF/test-beans.xml"), "META-INF/beans.xml")
.addAsResource(new File("target/test-classes/"), ArchivePaths.create(""))
.addAsLibraries(
DependencyResolvers.use(MavenDependencyResolver.class)
.includeDependenciesFromPom("pom.xml")
.resolveAsFiles(new ScopeFilter("test")));
return webArchive;
}
{code}
Because of maintenance, copying everything from beans.xml to test-beans.xml on every change to beans.xml is NOT an option.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 8 months