1 package org.codehaus.mojo.wagon;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.File;
23 import java.util.List;
24
25 import org.apache.maven.artifact.Artifact;
26 import org.apache.maven.artifact.factory.ArtifactFactory;
27 import org.apache.maven.artifact.repository.ArtifactRepository;
28 import org.apache.maven.artifact.resolver.ArtifactResolver;
29 import org.apache.maven.plugin.AbstractMojo;
30 import org.apache.maven.plugin.MojoExecutionException;
31 import org.apache.maven.plugins.annotations.Component;
32 import org.apache.maven.plugins.annotations.Mojo;
33 import org.apache.maven.plugins.annotations.Parameter;
34 import org.codehaus.plexus.util.FileUtils;
35
36
37
38
39 @Mojo( name = "update-maven-3" , requiresProject = false)
40 public class UpdateMaven3Mojo
41 extends AbstractMojo
42 {
43
44 @Component
45 private ArtifactResolver artifactResolver;
46
47 @Component
48 private ArtifactFactory artifactFactory;
49
50 @Parameter( defaultValue = "${project.remoteArtifactRepositories}")
51 private List<ArtifactRepository> remoteRepositories;
52
53 @Parameter( defaultValue = "${localRepository}")
54 private ArtifactRepository localRepository;
55
56
57
58
59 @Parameter( property = "commonsIoVersion", defaultValue = "2.2")
60 private String commonsIoVersion = "2.2";
61
62
63
64
65 @Parameter( property = "commonsLangVersion", defaultValue = "2.6")
66 private String commonsLangVersion = "2.6";
67
68
69
70
71 @Parameter( property = "jsoupVersion", defaultValue = "1.7.2")
72 private String jsoupVersion = "1.7.2";
73
74 @Override
75 public void execute()
76 throws MojoExecutionException
77 {
78 updateMavenLib( this.artifactFactory.createBuildArtifact( "commons-io", "commons-io", commonsIoVersion, "jar" ) );
79 updateMavenLib( this.artifactFactory.createBuildArtifact( "commons-lang", "commons-lang", commonsLangVersion,
80 "jar" ) );
81 updateMavenLib( this.artifactFactory.createBuildArtifact( "org.jsoup", "jsoup", jsoupVersion, "jar" ) );
82 }
83
84 private void updateMavenLib( Artifact artifact )
85 throws MojoExecutionException
86 {
87 try
88 {
89 File mavenLibDir = new File( System.getProperty( "maven.home" ), "lib/ext" );
90 artifactResolver.resolve( artifact, remoteRepositories, localRepository );
91 this.getLog().info( "Copy " + artifact.getFile() + " to " + mavenLibDir );
92 FileUtils.copyFileToDirectory( artifact.getFile(), mavenLibDir );
93 }
94 catch ( Exception e )
95 {
96 throw new MojoExecutionException( "Unable to download artifact", e );
97 }
98
99 }
100 }