You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Stephen Connolly <st...@gmail.com> on 2017/04/03 11:09:07 UTC

Re: maven-integration-testing git commit: Add some exotic test environments

It would be good if somebody could contribute some others, e.g. freebsd
especially

I can probably tweak this to give solaris-10-jdk8 (and rename current one
to solaris-10-jdk7)

I am looking into a good base image for solaris-11

For the linuxes, we can probably use Dockerfiles instead as they are faster
to provision, but for the non-linux based OSes I think Vagrantfile is the
best solution

On 3 April 2017 at 12:00, <st...@apache.org> wrote:

> Repository: maven-integration-testing
> Updated Branches:
>   refs/heads/master 5c8219531 -> 09bc7b54c
>
>
> Add some exotic test environments
>
>
> Project: http://git-wip-us.apache.org/repos/asf/maven-integration-
> testing/repo
> Commit: http://git-wip-us.apache.org/repos/asf/maven-integration-
> testing/commit/09bc7b54
> Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-
> testing/tree/09bc7b54
> Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-
> testing/diff/09bc7b54
>
> Branch: refs/heads/master
> Commit: 09bc7b54c8a00a3716174a25ecd67faac594bca8
> Parents: 5c82195
> Author: Stephen Connolly <st...@gmail.com>
> Authored: Mon Apr 3 11:59:22 2017 +0100
> Committer: Stephen Connolly <st...@gmail.com>
> Committed: Mon Apr 3 11:59:34 2017 +0100
>
> ----------------------------------------------------------------------
>  environments/README.md                          | 38 ++++++++++++++
>  environments/solaris-10/.gitignore              |  2 +
>  environments/solaris-10/Makefile                | 30 +++++++++++
>  environments/solaris-10/Vagrantfile             | 54 ++++++++++++++++++++
>  environments/solaris-10/admin                   | 10 ++++
>  .../solaris-10/apache-maven-3.3.9.patch         | 22 ++++++++
>  6 files changed, 156 insertions(+)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/maven-integration-
> testing/blob/09bc7b54/environments/README.md
> ----------------------------------------------------------------------
> diff --git a/environments/README.md b/environments/README.md
> new file mode 100644
> index 0000000..dde0617
> --- /dev/null
> +++ b/environments/README.md
> @@ -0,0 +1,38 @@
> +<!---
> +Licensed to the Apache Software Foundation (ASF) under one
> +or more contributor license agreements.  See the NOTICE file
> +distributed with this work for additional information
> +regarding copyright ownership.  The ASF licenses this file
> +to you under the Apache License, Version 2.0 (the
> +"License"); you may not use this file except in compliance
> +with the License.  You may obtain a copy of the License at
> +
> +  http://www.apache.org/licenses/LICENSE-2.0
> +
> +Unless required by applicable law or agreed to in writing,
> +software distributed under the License is distributed on an
> +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> +KIND, either express or implied.  See the License for the
> +specific language governing permissions and limitations
> +under the License.
> +-->
> +Integration Test Environments
> +=============================
> +
> +This directory contains [Vagrant](https://www.vagrantup.com/)
> definitions for the more exotic test environments.
> +
> +The test environments all require [Virtualbox](https://www.
> virtualbox.org/wiki/Downloads) as the vargrant provider.
> +
> +NOTE: Where there are additional downloads required to populate the base
> box image, there will be a `Makefile` in the environment directory.
> +In these cases you will need to run `make build` before `vagrant up` will
> work.
> +
> +For most unixes the test procedure will be something like:
> +
> +    $ vagrant ssh
> +    $ git clone https://git-wip-us.apache.org/repos/asf/maven.git
> +    $ cd maven
> +    $ mvn clean verify -D
> +    $ cd ..
> +    $ git clone https://git-wip-us.apache.org/
> repos/asf/maven-integration-testing.git
> +    $ cd maven-integration-testing
> +    $ mvn clean install -Prun-its -Dmaven.repo.local=$HOME/work/repo
> -DmavenDistro=$HOME/maven/apache-maven/target/apache-maven-...-bin.zip
>
> http://git-wip-us.apache.org/repos/asf/maven-integration-
> testing/blob/09bc7b54/environments/solaris-10/.gitignore
> ----------------------------------------------------------------------
> diff --git a/environments/solaris-10/.gitignore
> b/environments/solaris-10/.gitignore
> new file mode 100644
> index 0000000..3b82691
> --- /dev/null
> +++ b/environments/solaris-10/.gitignore
> @@ -0,0 +1,2 @@
> +*.Z
> +*.gz
>
> http://git-wip-us.apache.org/repos/asf/maven-integration-
> testing/blob/09bc7b54/environments/solaris-10/Makefile
> ----------------------------------------------------------------------
> diff --git a/environments/solaris-10/Makefile b/environments/solaris-10/
> Makefile
> new file mode 100644
> index 0000000..35c6719
> --- /dev/null
> +++ b/environments/solaris-10/Makefile
> @@ -0,0 +1,30 @@
> +# Licensed to the Apache Software Foundation (ASF) under one
> +# or more contributor license agreements.  See the NOTICE file
> +# distributed with this work for additional information
> +# regarding copyright ownership.  The ASF licenses this file
> +# to you under the Apache License, Version 2.0 (the
> +# "License"); you may not use this file except in compliance
> +# with the License.  You may obtain a copy of the License at
> +#
> +#   http://www.apache.org/licenses/LICENSE-2.0
> +#
> +# Unless required by applicable law or agreed to in writing,
> +# software distributed under the License is distributed on an
> +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> +# KIND, either express or implied.  See the License for the
> +# specific language governing permissions and limitations
> +# under the License.
> +
> +clean:
> +       rm -f jdk-7u80-solaris-i586.tar.Z jdk-7u80-solaris-x64.tar.Z
> apache-maven-3.3.9-bin.tar.gz
> +
> +jdk-7u80-solaris-i586.tar.Z:
> +       wget --no-check-certificate --no-cookies --header "Cookie:
> oraclelicense=accept-securebackup-cookie" http://download.oracle.com/
> otn-pub/java/jdk/7u80-b15/jdk-7u80-solaris-i586.tar.Z
> +
> +jdk-7u80-solaris-x64.tar.Z:
> +       wget --no-check-certificate --no-cookies --header "Cookie:
> oraclelicense=accept-securebackup-cookie" http://download.oracle.com/
> otn-pub/java/jdk/7u80-b15/jdk-7u80-solaris-x64.tar.Z
> +
> +apache-maven-3.3.9-bin.tar.gz:
> +       wget --no-check-certificate https://archive.apache.org/
> dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
> +
> +build: jdk-7u80-solaris-i586.tar.Z jdk-7u80-solaris-x64.tar.Z
> apache-maven-3.3.9-bin.tar.gz
>
> http://git-wip-us.apache.org/repos/asf/maven-integration-
> testing/blob/09bc7b54/environments/solaris-10/Vagrantfile
> ----------------------------------------------------------------------
> diff --git a/environments/solaris-10/Vagrantfile
> b/environments/solaris-10/Vagrantfile
> new file mode 100644
> index 0000000..893bd53
> --- /dev/null
> +++ b/environments/solaris-10/Vagrantfile
> @@ -0,0 +1,54 @@
> +# -*- mode: ruby -*-
> +# vi: set ft=ruby :
> +#
> +# Licensed to the Apache Software Foundation (ASF) under one
> +# or more contributor license agreements.  See the NOTICE file
> +# distributed with this work for additional information
> +# regarding copyright ownership.  The ASF licenses this file
> +# to you under the Apache License, Version 2.0 (the
> +# "License"); you may not use this file except in compliance
> +# with the License.  You may obtain a copy of the License at
> +#
> +#   http://www.apache.org/licenses/LICENSE-2.0
> +#
> +# Unless required by applicable law or agreed to in writing,
> +# software distributed under the License is distributed on an
> +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> +# KIND, either express or implied.  See the License for the
> +# specific language governing permissions and limitations
> +# under the License.
> +
> +Vagrant.configure("2") do |config|
> +  config.vm.box = "tnarik/solaris10-minimal"
> +
> +  config.vm.provider "virtualbox" do |v|
> +    v.memory = 2048
> +    v.cpus = 2
> +  end
> +
> +  config.vm.provision "file", source:"jdk-7u80-solaris-i586.tar.Z",
> destination:"jdk-7u80-solaris-i586.tar.Z"
> +  config.vm.provision "file", source:"jdk-7u80-solaris-x64.tar.Z",
> destination:"jdk-7u80-solaris-x64.tar.Z"
> +  config.vm.provision "file", source:"apache-maven-3.3.9-bin.tar.gz",
> destination:"apache-maven-3.3.9-bin.tar.gz"
> +  config.vm.provision "file", source:"apache-maven-3.3.9.patch",
> destination:"apache-maven-3.3.9.patch"
> +  config.vm.provision "file", source:"admin", destination:"admin"
> +  config.vm.provision "shell", inline: <<-SHELL
> +    sudo pkgadd -d http://get.opencsw.org/now
> -a/export/home/vagrant/admin CSWpkgutil &&\
> +    sudo /opt/csw/bin/pkgutil -U &&\
> +    sudo /opt/csw/bin/pkgutil -y -i git &&\
> +    zcat jdk-7u80-solaris-i586.tar.Z | tar xf - > /dev/null 2>&1 &&\
> +    sudo pkgadd -n -a/export/home/vagrant/admin -d . SUNWj7rt SUNWj7dev
> SUNWj7cfg SUNWj7man > /dev/null 2>&1 &&\
> +    zcat jdk-7u80-solaris-x64.tar.Z | tar xf - > /dev/null 2>&1 &&\
> +    sudo pkgadd -n -a/export/home/vagrant/admin -d . SUNWj7rtx SUNWj7dvx
> > /dev/null 2>&1 &&\
> +    rm -rf jdk-7u80-solaris-i586.tar.Z jdk-7u80-solaris-x64.tar.Z
> SUNWj7rt SUNWj7jmp SUNWj7dev SUNWj7cfg SUNWj7man SUNWj7rtx SUNWj7dvx
> SUNWj7dmx COPYRIGHT LICENSE README.html THIRDPARTYLICENSEREADME.txt admin >
> /dev/null 2>&1 &&\
> +    gunzip -c apache-maven-3.3.9-bin.tar.gz | sudo sh -c "cd /opt; tar xf
> - " 2>&1 &&\
> +    sudo patch -i apache-maven-3.3.9.patch /opt/apache-maven-3.3.9/bin/mvn
> &&\
> +    sudo ln -s /opt/apache-maven-3.3.9/bin/mvn /usr/bin/mvn &&\
> +    rm -rf apache-maven-3.3.9-bin.tar.gz apache-maven-3.3.9.patch &&\
> +    sudo sh -c "echo JAVA_HOME= >> /etc/profile" &&\
> +    sudo sh -c "echo export JAVA_HOME >> /etc/profile" &&\
> +    sudo sh -c "echo MAVEN_HOME=/opt/apache-maven-3.3.9 >> /etc/profile"
> &&\
> +    sudo sh -c "echo export MAVEN_HOME >> /etc/profile" &&\
> +    sudo sh -c "echo PATH=${MAVEN_HOME}/bin:${PATH} >> /etc/profile" &&\
> +    sudo sh -c "echo export PATH >> /etc/profile"
> +  SHELL
> +end
>
> http://git-wip-us.apache.org/repos/asf/maven-integration-
> testing/blob/09bc7b54/environments/solaris-10/admin
> ----------------------------------------------------------------------
> diff --git a/environments/solaris-10/admin b/environments/solaris-10/admin
> new file mode 100644
> index 0000000..07b56b2
> --- /dev/null
> +++ b/environments/solaris-10/admin
> @@ -0,0 +1,10 @@
> +mail=overwrite
> +partial=nocheck
> +runlevel=nocheck
> +idepend=nocheck
> +rdepend=nocheck
> +space=nocheck
> +setuid=nocheck
> +conflict=nocheck
> +action=nocheck
> +basedir=default
>
> http://git-wip-us.apache.org/repos/asf/maven-integration-
> testing/blob/09bc7b54/environments/solaris-10/apache-maven-3.3.9.patch
> ----------------------------------------------------------------------
> diff --git a/environments/solaris-10/apache-maven-3.3.9.patch
> b/environments/solaris-10/apache-maven-3.3.9.patch
> new file mode 100644
> index 0000000..e6d436c
> --- /dev/null
> +++ b/environments/solaris-10/apache-maven-3.3.9.patch
> @@ -0,0 +1,22 @@
> +200,203c200,201
> +<   local basedir
> +<   local wdir
> +<   basedir="$(pwd)"
> +<   wdir="$(pwd)"
> +---
> +>   basedir=`pwd`
> +>   wdir=`pwd`
> +209c207
> +<     wdir="$(cd "$wdir/.."; pwd)"
> +---
> +>     wdir=`cd "$wdir/.."; pwd`
> +217c215
> +<     echo "$(tr -s '\n' ' ' < "$1")"
> +---
> +>     echo "`tr -s '\n' ' ' < "$1"`"
> +221,222c219,220
> +< MAVEN_PROJECTBASEDIR="${MAVEN_BASEDIR:-$(find_maven_basedir)}"
> +< MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config")
> $MAVEN_OPTS"
> +---
> +> MAVEN_PROJECTBASEDIR="${MAVEN_BASEDIR:-`find_maven_basedir`}"
> +> MAVEN_OPTS="`concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config"`
> $MAVEN_OPTS"
>
>