[arquillian-issues] [JBoss JIRA] (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

Geoffrey De Smet (JIRA) jira-events at lists.jboss.org
Wed May 2 04:02:23 EDT 2012


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

Geoffrey De Smet commented on ARQ-576:
--------------------------------------

@Dan +10 to whatever stops us (the users) of having to reinvent the wheel in each of our build scripts to do make it work :)
+1 that it needs to work in intellij/eclipse/netbeans too by skipping the build - which indeed makes it a better idea to do in arquillian itself during the test suite setup

The downloadUrl should it indeed be configurable, but it would be nice if arquillian comes with a community-maintained mapping from appServerVersion (managed server gav?) to downloadUrl, which makes configuring that downloadUrl optional (configuration by exception).
                
> 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
>            Assignee: Davide D'Alto
>            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.tomcat6.version}/bin/apache-tomcat-${managed-appserver.tomcat6.version}.zip"
>                     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.
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 arquillian-issues mailing list