Skip to content

Commit

Permalink
Do not use local repo (NixOS#19)
Browse files Browse the repository at this point in the history
Adds dependency on commons-io for FileUtils.getTempDirectory()
  • Loading branch information
charles-dyfis-net committed Dec 4, 2018
1 parent 3d5de64 commit 21d0d7f
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 8 deletions.
5 changes: 5 additions & 0 deletions pom.xml
Expand Up @@ -37,6 +37,11 @@
</properties>

<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
Expand Down
32 changes: 24 additions & 8 deletions src/main/java/org/nixos/mvn2nix/Mvn2NixMojo.java
Expand Up @@ -23,6 +23,12 @@

package org.nixos.mvn2nix;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.file.Files;
import java.util.List;
import java.util.ArrayList;
import java.util.Set;
Expand All @@ -31,11 +37,6 @@
import java.util.HashMap;
import java.util.Collection;
import java.util.Iterator;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.MalformedURLException;
Expand All @@ -45,6 +46,8 @@
import javax.json.Json;
import javax.json.stream.JsonGenerator;

import org.apache.commons.io.FileUtils;
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.Mojo;
Expand All @@ -56,6 +59,7 @@

import org.eclipse.aether.RepositorySystem;
import org.eclipse.aether.DefaultRepositorySystemSession;
import org.eclipse.aether.repository.LocalRepository;
import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
import org.eclipse.aether.resolution.ArtifactDescriptorResult;
import org.eclipse.aether.resolution.ArtifactDescriptorException;
Expand Down Expand Up @@ -500,15 +504,27 @@ private void handleDependency(Dependency dep,
@Override
public void execute() throws MojoExecutionException
{

repoSession = new DefaultRepositorySystemSession(repoSession);
ParentPOMPropagatingArtifactDescriptorReaderDelegate d = new
ParentPOMPropagatingArtifactDescriptorReaderDelegate();
repoSession.setConfigProperty(
ArtifactDescriptorReaderDelegate.class.getName(),
d);
repoSession.setReadOnly();

MavenProject parent = project.getParent();
repoSession.setUpdatePolicy(ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS);
try {
File tempDirectory = java.nio.file.Files.createTempDirectory(
FileUtils.getTempDirectory().toPath(),
"mvnEmptyRepo").toFile();
tempDirectory.deleteOnExit();
repoSession.setLocalRepositoryManager(repoSystem.newLocalRepositoryManager(repoSession,
new LocalRepository(tempDirectory)));
} catch (IOException e) {
throw new MojoExecutionException("Creating temporary local repository", e);
}
repoSession.setReadOnly();

MavenProject parent = project.getParent();
while(parent != null){
Artifact art = new DefaultArtifact(parent.getGroupId(),
parent.getArtifactId(),
Expand Down

0 comments on commit 21d0d7f

Please sign in to comment.