# Copyright 2011 MaestroDev # # Licensed 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. Carlos Sanchez <csanchez@maestrodev.com> http://www.maestrodev.com 2010-03-01 A puppet recipe for Apache Maven, to download artifacts from a Maven repository It uses Apache Maven command line to download the artifacts. === Buildr version === There is also an Apache Buildr version, but it requires to have Buildr installed before running Puppet And you would need to enable pluginsync in both master and clients http://docs.puppetlabs.com/guides/plugins_in_modules.html#enabling-pluginsync Usage maven { "/tmp/myfile": id => "groupId:artifactId:version:packaging:classifier", repos => ["id::layout::http://repo.acme.com","http://repo2.acme.com"], } or maven { "/tmp/myfile": groupid => "org.apache.maven", artifactid => "maven-core", version => "2.2.1", packaging => "jar", classifier => "sources", repos => ["id::layout::http://repo.acme.com","http://repo2.acme.com"], } Examples # =============== Begin setup =============== $repo1 = { id => "myrepo", username => "myuser", password => "mypassword", url => "http://repo.acme.com", } # Install Maven class { "maven::maven": version => "2.2.1", } -> # Create a settings.xml with the repo creedentials class { "maven::settings" : servers => [$repo1], } # =============== End setup =============== maven { "/tmp/maven-core-2.2.1.jar": id => "org.apache.maven:maven-core:2.2.1:jar", repos => ["central::default::http://repo1.maven.apache.org/maven2","http://mirrors.ibiblio.org/pub/mirrors/maven2"], } maven { "/tmp/maven-core-2.2.1-sources.jar": groupid => "org.apache.maven", artifactid => "maven-core", version => "2.2.1", classifier => "sources", }
jrawlings/puppet-maven
A puppet recipe for Apache Maven, to download artifacts from a Maven repository
Ruby