Created
February 4, 2014 04:44
-
-
Save jimbaker/8798273 to your computer and use it in GitHub Desktop.
Translation of InstallArtifacts.java from aether-demo-snippets
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# analog to InstallArtifacts.java | |
# run from aether-demo-snippets dir; relies on target/, pom.xml | |
from java.io import File | |
from org.eclipse.aether import RepositorySystem | |
from org.apache.maven.repository.internal import MavenRepositorySystemUtils | |
from org.eclipse.aether.artifact import DefaultArtifact | |
from org.eclipse.aether.installation import InstallRequest | |
from org.eclipse.aether.spi.connector import RepositoryConnectorFactory | |
from org.eclipse.aether.util.artifact import SubArtifact | |
from org.eclipse.aether.repository import LocalRepository | |
from org.eclipse.aether.connector.basic import BasicRepositoryConnectorFactory | |
# need to get SPI (service provider implementation), transport; | |
# note this is resolved by the maven build process itself! | |
from org.eclipse.aether.spi.connector.transport import TransporterFactory | |
from org.eclipse.aether.transport.file import FileTransporterFactory | |
from org.eclipse.aether.transport.http import HttpTransporterFactory | |
# some basic wiring | |
locator = MavenRepositorySystemUtils.newServiceLocator() | |
locator.addService(RepositoryConnectorFactory, BasicRepositoryConnectorFactory) | |
locator.addService(TransporterFactory, FileTransporterFactory) | |
locator.addService(TransporterFactory, HttpTransporterFactory) | |
system = locator.getService(RepositorySystem) | |
session = MavenRepositorySystemUtils.newSession() | |
localRepo = LocalRepository("target/local-repo") # assumes directory is created | |
session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo)) | |
# describe the install; pom.xml is in aether-demo-snippets | |
jarArtifact = DefaultArtifact("test", "org.eclipse.aether.examples", "", "jar", "0.1-SNAPSHOT") | |
jarArtifact = jarArtifact.setFile(File( "src/main/data/demo.jar" )) | |
pomArtifact = SubArtifact(jarArtifact, "", "pom") | |
pomArtifact = pomArtifact.setFile(File("pom.xml")) | |
# and actually do it | |
installRequest = InstallRequest() | |
installRequest.addArtifact(jarArtifact).addArtifact(pomArtifact) | |
system.install(session, installRequest) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment