001/*
002 * Copyright 2007 The Kuali Foundation
003 * 
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 * 
008 * http://www.opensource.org/licenses/ecl2.php
009 * 
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package org.kualigan.maven.plugins.api;
017
018import java.io.File;
019
020import org.apache.maven.plugin.AbstractMojo;
021import org.apache.maven.plugin.MojoExecutionException;
022
023/**
024 * @author Leo Przybylski (leo [at] rsmart.com)
025 */
026public interface PrototypeHelper {
027    String ROLE = PrototypeHelper.class.getName();
028
029    void installArtifact(final File artifact, 
030                         final File sources,
031                         final File mavenHome,
032                         final String groupId,
033                         final String artifactId,
034                         final String version,
035                         final String repositoryId) throws MojoExecutionException;
036
037    File repack(final File file, final String artifactId) throws MojoExecutionException;
038
039    void extractTempPom() throws MojoExecutionException;
040    
041    void setCaller(final AbstractMojo caller);
042    
043    AbstractMojo getCaller();
044
045}