convert install mojo to new execute().

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163660 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Brett Leslie Porter 2005-03-22 13:30:48 +00:00
parent 092c2f75cf
commit 964aa52888
2 changed files with 48 additions and 70 deletions

View File

@ -1,64 +0,0 @@
package org.apache.maven.plugin.install;
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* 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.
*/
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.DefaultArtifact;
import org.apache.maven.artifact.installer.ArtifactInstaller;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.plugin.AbstractPlugin;
import org.apache.maven.plugin.PluginExecutionRequest;
import org.apache.maven.plugin.PluginExecutionResponse;
import org.apache.maven.project.MavenProject;
import java.io.File;
/**
* @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
* @version $Id$
*/
public abstract class AbstractInstallMojo
extends AbstractPlugin
{
public void execute( PluginExecutionRequest request, PluginExecutionResponse response )
throws Exception
{
MavenProject project = (MavenProject) request.getParameter( "project" );
ArtifactInstaller artifactInstaller = (ArtifactInstaller) request.getParameter( "installer" );
ArtifactRepository localRepository = (ArtifactRepository) request.getParameter( "localRepository" );
// Install the POM
Artifact pomArtifact = new DefaultArtifact( project.getGroupId(), project.getArtifactId(),
project.getVersion(), "pom" );
File pom = new File( project.getFile().getParentFile(), "pom.xml" );
artifactInstaller.install( pom, pomArtifact, localRepository );
//Install artifact
if ( !"pom".equals( project.getPackaging() ) )
{
Artifact artifact = new DefaultArtifact( project.getGroupId(), project.getArtifactId(),
project.getVersion(), project.getPackaging() );
artifactInstaller.install( project.getBuild().getDirectory(), artifact, localRepository );
}
}
}

View File

@ -16,34 +16,76 @@
* limitations under the License.
*/
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.DefaultArtifact;
import org.apache.maven.artifact.installer.ArtifactInstallationException;
import org.apache.maven.artifact.installer.ArtifactInstaller;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.plugin.AbstractPlugin;
import org.apache.maven.plugin.PluginExecutionException;
import org.apache.maven.project.MavenProject;
import java.io.File;
/**
* @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
* @version $Id$
* @goal install
*
* @description installs project's main artifact in local repository
*
* @parameter name="project"
* type="org.apache.maven.project.MavenProject"
* required="true"
* validator=""
* expression="#project"
* description=""
*
* @parameter name="installer"
* type="org.apache.maven.artifact.installer.ArtifactInstaller"
* required="true"
* validator=""
* expression="#component.org.apache.maven.artifact.installer.ArtifactInstaller"
* description=""
*
* @parameter name="localRepository"
* type="org.apache.maven.artifact.repository.ArtifactRepository"
* required="true"
* validator=""
* expression="#localRepository"
* description=""
*
*/
public class InstallMojo
extends AbstractInstallMojo
extends AbstractPlugin
{
private MavenProject project;
private ArtifactInstaller installer;
private ArtifactRepository localRepository;
public void execute()
throws PluginExecutionException
{
// Install the POM
Artifact pomArtifact = new DefaultArtifact( project.getGroupId(), project.getArtifactId(),
project.getVersion(), "pom" );
File pom = new File( project.getFile().getParentFile(), "pom.xml" );
try
{
installer.install( pom, pomArtifact, localRepository );
//Install artifact
if ( !"pom".equals( project.getPackaging() ) )
{
Artifact artifact = new DefaultArtifact( project.getGroupId(), project.getArtifactId(),
project.getVersion(), project.getPackaging() );
installer.install( project.getBuild().getDirectory(), artifact, localRepository );
}
}
catch ( ArtifactInstallationException e )
{
// TODO: install exception that does not give a trace
throw new PluginExecutionException( "Error installing artifact", e );
}
}
}