public RepositorySystemSession newSystemSession(RepositorySystem sys, Settings settings) { DefaultRepositorySystemSession session = new MavenRepositorySystemSession(); Map<String, Object> configProps = new LinkedHashMap<String, Object>(); putAllEnvProperties(configProps); session.setConfigProperties(configProps); session.setOffline(settings.isOffline()); // session.setUserProperties(settings.getUserProperties()); LocalRepository localRepo = new LocalRepository(getDefaultLocalRepoDir(settings)); session.setLocalRepositoryManager(sys.newLocalRepositoryManager(localRepo)); // session.setProxySelector(getProxySelector()); session.setMirrorSelector(getMirrorSelector(settings)); // session.setAuthenticationSelector(getAuthSelector()); session.setCache(new DefaultRepositoryCache()); // session.setRepositoryListener(new AntRepositoryListener(task)); // session.setWorkspaceReader(ProjectWorkspaceReader.getInstance()); return session; }
/** Default repository session. */ public static MavenRepositorySystemSession newSession(RepositorySystem system) throws Exception { final LocalRepository localRepo = newRepoLocal(); final MavenRepositorySystemSession session = new MavenRepositorySystemSession(); session.setLocalRepositoryManager(system.newLocalRepositoryManager(localRepo)); return session; }
private MavenRepositorySystemSession setupRepoSession(RepositorySystem repoSystem) { MavenRepositorySystemSession session = new MavenRepositorySystemSession(); LocalRepository localRepo = new LocalRepository(OSUtils.getUserHomeDir().getAbsolutePath() + "/.m2/repository"); session.setLocalRepositoryManager(repoSystem.newLocalRepositoryManager(localRepo)); session.setOffline(false); session.setTransferErrorCachingEnabled(false); session.setNotFoundCachingEnabled(false); return session; }
public Maven( @Nullable Metadata.Repository snapshotsRepositoryInfo, @Nullable Metadata.Repository releasesRepositoryInfo) throws SettingsBuildingException { validateRepositoryMetadata(snapshotsRepositoryInfo, "snapshots"); validateRepositoryMetadata(releasesRepositoryInfo, "releases"); final SettingsBuildingRequest request = new DefaultSettingsBuildingRequest() .setGlobalSettingsFile(DEFAULT_GLOBAL_SETTINGS_FILE) .setUserSettingsFile(DEFAULT_USER_SETTINGS_FILE) .setSystemProperties(System.getProperties()); Settings settings = new DefaultSettingsBuilderFactory().newInstance().build(request).getEffectiveSettings(); repositorySystem = new DefaultServiceLocator() .addService(RepositoryConnectorFactory.class, AsyncRepositoryConnectorFactory.class) .addService(RepositoryConnectorFactory.class, FileRepositoryConnectorFactory.class) .addService(VersionResolver.class, DefaultVersionResolver.class) .addService(VersionRangeResolver.class, DefaultVersionRangeResolver.class) .addService(ArtifactDescriptorReader.class, DefaultArtifactDescriptorReader.class) .addService(MetadataGeneratorFactory.class, SnapshotMetadataGeneratorFactory.class) .getService(RepositorySystem.class); String localRepository = settings.getLocalRepository(); if (localRepository == null || localRepository.trim().isEmpty()) { localRepository = new File(MAVEN_USER_HOME, "repository").getAbsolutePath(); } session = new MavenRepositorySystemSession() .setLocalRepositoryManager( repositorySystem.newLocalRepositoryManager(new LocalRepository(localRepository))); releasesRepository = makeRemoteRepository( releasesRepositoryInfo, settings.getServer(releasesRepositoryInfo.getId()), false); snapshotsRepository = makeRemoteRepository( snapshotsRepositoryInfo, settings.getServer(snapshotsRepositoryInfo.getId()), true); }
@Override public BundleInformation installFromRepository(String featureId, boolean start) { org.apache.maven.repository.internal.DefaultServiceLocator locator = new org.apache.maven.repository.internal.DefaultServiceLocator(); locator.addService(RepositoryConnectorFactory.class, WagonRepositoryConnectorFactory.class); locator.setServices(WagonProvider.class, new HttpWagonProvider()); RepositorySystem system = locator.getService(RepositorySystem.class); // RepositorySystem system = null; try { // system = new DefaultPlexusContainer().lookup(RepositorySystem.class); MavenRepositorySystemSession mvnRepository = new MavenRepositorySystemSession(); mvnRepository.setLocalRepositoryManager( system.newLocalRepositoryManager( new LocalRepository(System.getProperty("java.io.tmpdir") + "/repo"))); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(new Dependency(new DefaultArtifact(featureId), JavaScopes.RUNTIME)); collectRequest.addRepository( new RemoteRepository( "central", "default", "http://nexus.motechproject.org/content/repositories/public")); DependencyRequest dependencyRequest = new DependencyRequest( collectRequest, DependencyFilterUtils.classpathFilter(JavaScopes.RUNTIME)); BundleInformation bundleInformation = null; List<ArtifactResult> artifactResults = system.resolveDependencies(mvnRepository, dependencyRequest).getArtifactResults(); List<Bundle> bundlesInstalled = new ArrayList<>(); for (ArtifactResult artifact : artifactResults) { LOG.info("Installing " + artifact); final File bundleFile = artifact.getArtifact().getFile(); FileInputStream fileInputStream = null; try { fileInputStream = new FileInputStream(bundleFile); final File bundleFileToInstall = bundleDirectoryManager.saveBundleStreamToFile(bundleFile.getName(), fileInputStream); final Bundle bundle = installBundleFromFile(bundleFileToInstall, false, false); if (bundle != null) { bundlesInstalled.add(bundle); } } finally { IOUtils.closeQuietly(fileInputStream); } } // start bundles after all bundles installed to avoid any dependency resolution problems. if (start) { for (Bundle bundle : bundlesInstalled) { if (!isFragmentBundle(bundle)) { bundle.start(); } } } return bundleInformation; } catch (Exception e) { LOG.error("Error while installing bundle and dependencies " + featureId, e); throw new MotechException("Cannot install file", e); } }