Skip to content

Enrice/puppet-maven

 
 

Repository files navigation

maven

Build Status

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with maven
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.

Overview

Simple Puppet module for managing Apache Maven. Tested on osfamily Redhat

Module Description

Installs Maven from system package or tar.gz, manages a users settings.xml

Setup

What maven affects

  • By default, maven installation in /opt/apache-maven-VERSION
  • $HOME/.m2/settings.xml for user

Setup Requirements

Maven is java based and thus requires java to be installed to function. When installing from tar.gz the module also requires wget, tar and gzip To minimize the dependencies these are expected to be installed outside of the maven scope

Beginning with maven

puppet module install unibet-maven

Usage

Install maven from upstream:

class { '::maven':
  package_ensure  => '3.1.1'
}

Install maven from upstream using a specific download mirror:

class { '::maven':
  package_ensure  => '3.1.1',
  wget_url        => 'http://apache.rediris.es/maven/maven-3'
}

Install maven from some custom package:

class { '::maven':
  install_from_package  => true,
  package               => 'my-maven-package',
  package_ensure        => present
}

Manage settings.xml for user1:


::maven::settings { 'user1':
  path    => '/home',
  mirrors => [
    {
      id        => 'proxy',
      name      => 'My proxy',
      url       => 'http://nexus.example.com/path',
      mirror_of => '*'
    }
  ],
  profiles  => [
    {
      id                => 'default',
      active_by_default => true
      properties        => [
        {
          key   => 'property1',
          value => 'value1'
        }
      ],
      repositories  => [
        {
          id        => 'my-repo', 
          url       => 'http://nexus.example.com/my-repo',
          layout    => 'default',
          releases  => true,
          snapshots => false
        }
      ],
      plugin_repositories => [
        {
          id        => 'my-plugin-repo',
          url       => 'http://nexus.example.com/my-plugin-repo',
          layout    => 'default',
          releases  => true,
          snapshots => false
        }
      ],
    },
  ],
  servers => [
    {
      id  => 'my-repo',
      username  => 'LOGIN',
      password  => 'PW'
    }
  ],
}

Reference

  • Classes: maven
  • Defines: maven::settings

See class / define docs and usage

Limitations

Only tested on OS family Redhat

Development

Pull requests are welcome.

About

Puppet module for managing maven

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Puppet 55.9%
  • Ruby 29.1%
  • HTML 15.0%