// Path: src/main/java/com/github/alexcojocaru/mojo/elasticsearch/v2/configuration/ArtifactException.java
// public class ArtifactException extends Exception {
// 
//     private static final long serialVersionUID = -3217334010123902842L;
// 
//     public ArtifactException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
//     public ArtifactException(Throwable cause) {
//         super(cause);
//     }
// 
//     public ArtifactException(String message) {
//         super(message);
//     }
// 
// }
// 
// Path: src/main/java/com/github/alexcojocaru/mojo/elasticsearch/v2/configuration/PluginArtifactInstaller.java
// public interface PluginArtifactInstaller
// {
// 
//     void installArtifact(ElasticsearchArtifact artifact, File file) throws ArtifactException;
// 
// }


import java.io.File;
import org.apache.maven.plugin.logging.Log;
import org.eclipse.aether.RepositorySystem;
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.artifact.Artifact;
import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.installation.InstallRequest;
import org.eclipse.aether.installation.InstallationException;
import com.github.alexcojocaru.mojo.elasticsearch.v2.configuration.ArtifactException;
import com.github.alexcojocaru.mojo.elasticsearch.v2.configuration.PluginArtifactInstaller;
package com.github.alexcojocaru.mojo.elasticsearch.v2;




/**
 * @author Alex Cojocaru
 */
public class MyArtifactInstaller
        implements PluginArtifactInstaller
{
    private final RepositorySystem repositorySystem;
    private final RepositorySystemSession repositorySession;
    private final Log log;

    public MyArtifactInstaller(RepositorySystem repositorySystem,
            RepositorySystemSession repositorySession,
            Log log)
    {
        this.repositorySystem = repositorySystem;
        this.repositorySession = repositorySession;
        this.log = log;
    }

    @Override
// Path: src/main/java/com/github/alexcojocaru/mojo/elasticsearch/v2/configuration/ArtifactException.java
// public class ArtifactException extends Exception {
// 
//     private static final long serialVersionUID = -3217334010123902842L;
// 
//     public ArtifactException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
//     public ArtifactException(Throwable cause) {
//         super(cause);
//     }
// 
//     public ArtifactException(String message) {
//         super(message);
//     }
// 
// }
// 
// Path: src/main/java/com/github/alexcojocaru/mojo/elasticsearch/v2/configuration/PluginArtifactInstaller.java
// public interface PluginArtifactInstaller
// {
// 
//     void installArtifact(ElasticsearchArtifact artifact, File file) throws ArtifactException;
// 
// }


// Path: src/main/java/com/github/alexcojocaru/mojo/elasticsearch/v2/MyArtifactInstaller.java
import java.io.File;
import org.apache.maven.plugin.logging.Log;
import org.eclipse.aether.RepositorySystem;
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.artifact.Artifact;
import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.installation.InstallRequest;
import org.eclipse.aether.installation.InstallationException;
import com.github.alexcojocaru.mojo.elasticsearch.v2.configuration.ArtifactException;
import com.github.alexcojocaru.mojo.elasticsearch.v2.configuration.PluginArtifactInstaller;

package com.github.alexcojocaru.mojo.elasticsearch.v2;




/**
 * @author Alex Cojocaru
 */
public class MyArtifactInstaller
        implements PluginArtifactInstaller
{
    private final RepositorySystem repositorySystem;
    private final RepositorySystemSession repositorySession;
    private final Log log;

    public MyArtifactInstaller(RepositorySystem repositorySystem,
            RepositorySystemSession repositorySession,
            Log log)
    {
        this.repositorySystem = repositorySystem;
        this.repositorySession = repositorySession;
        this.log = log;
    }

    @Override
    public void installArtifact(ElasticsearchArtifact artifact, File file) throws ArtifactException