Uploaded image for project: 'Arquillian'
  1. Arquillian
  2. 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

    XMLWordPrintable

Details

    • Feature Request
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • Maven Plugin
    • None

    Description

      See ARQ-574.

      Now we have to copy paste something like this, per managed container:

        <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>
      

      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.

      Attachments

        Issue Links

          Activity

            People

              ddalto@redhat.com Davide D'Alto (Inactive)
              gdesmet@redhat.com Geoffrey De Smet (Inactive)
              Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: