下面列出了org.slf4j.helpers.NOPLoggerFactory#org.eclipse.aether.spi.locator.ServiceLocator 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
DependencyResolver() {
try {
ServiceLocator serviceLocator = createServiceLocator();
DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
session.setArtifactDescriptorPolicy(new SimpleArtifactDescriptorPolicy(false, false));
this.localRepositoryLocation = Files.createTempDirectory("metadata-validation-m2");
LocalRepository localRepository = new LocalRepository(this.localRepositoryLocation.toFile());
this.repositorySystem = serviceLocator.getService(RepositorySystem.class);
session.setLocalRepositoryManager(
this.repositorySystem.newLocalRepositoryManager(session, localRepository));
session.setReadOnly();
this.repositorySystemSession = session;
}
catch (Exception ex) {
throw new RuntimeException(ex);
}
}
public Resolver(ArtifactConfig config) {
this.modelBuilder =
new DefaultModelBuilderFactory()
.newInstance()
.setProfileSelector(new DefaultProfileSelector())
.setPluginConfigurationExpander(new DefaultPluginConfigurationExpander())
.setPluginManagementInjector(new DefaultPluginManagementInjector())
.setDependencyManagementImporter(new DefaultDependencyManagementImporter())
.setDependencyManagementInjector(new DefaultDependencyManagementInjector());
ServiceLocator locator = AetherUtil.initServiceLocator();
this.repoSys = locator.getService(RepositorySystem.class);
this.localRepo = new LocalRepository(Paths.get(config.mavenLocalRepo).toFile());
this.session = newSession(repoSys, localRepo);
this.buckRepoRoot = Paths.get(Objects.requireNonNull(config.buckRepoRoot));
this.buckThirdPartyRelativePath = Paths.get(Objects.requireNonNull(config.thirdParty));
this.visibility = config.visibility;
this.repos =
config.repositories.stream()
.map(AetherUtil::toRemoteRepository)
.collect(ImmutableList.toImmutableList());
}
public static ServiceLocator initServiceLocator() {
DefaultServiceLocator locator = MavenRepositorySystemUtils.newServiceLocator();
locator.setErrorHandler(
new DefaultServiceLocator.ErrorHandler() {
@Override
public void serviceCreationFailed(Class<?> type, Class<?> impl, Throwable exception) {
throw new RuntimeException(
String.format(
"Failed to initialize service %s, implemented by %s: %s",
type.getName(), impl.getName(), exception.getMessage()),
exception);
}
});
locator.addService(RepositoryConnectorFactory.class, BasicRepositoryConnectorFactory.class);
locator.addService(TransporterFactory.class, HttpTransporterFactory.class);
locator.addService(TransporterFactory.class, FileTransporterFactory.class);
// Use a no-op logger. Leaving this out would introduce a runtime dependency on log4j
locator.addService(ILoggerFactory.class, NOPLoggerFactory.class);
// Also requires log4j
// locator.addService(ILoggerFactory.class, Log4jLoggerFactory.class);
return locator;
}
private static ServiceLocator createServiceLocator() {
DefaultServiceLocator locator = MavenRepositorySystemUtils.newServiceLocator();
locator.addService(RepositorySystem.class, DefaultRepositorySystem.class);
locator.addService(RepositoryConnectorFactory.class, BasicRepositoryConnectorFactory.class);
locator.addService(TransporterFactory.class, DependencyResolver.JarSkippingHttpTransporterFactory.class);
return locator;
}
MavenResolverDependencyManagementVersionResolver(Path cacheLocation) {
ServiceLocator serviceLocator = createServiceLocator();
DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
session.setArtifactDescriptorPolicy(new SimpleArtifactDescriptorPolicy(false, false));
LocalRepository localRepository = new LocalRepository(cacheLocation.toFile());
this.repositorySystem = serviceLocator.getService(RepositorySystem.class);
session.setLocalRepositoryManager(this.repositorySystem.newLocalRepositoryManager(session, localRepository));
session.setReadOnly();
this.repositorySystemSession = session;
}
private static ServiceLocator createServiceLocator() {
DefaultServiceLocator locator = MavenRepositorySystemUtils.newServiceLocator();
locator.addService(RepositorySystem.class, DefaultRepositorySystem.class);
locator.addService(RepositoryConnectorFactory.class, BasicRepositoryConnectorFactory.class);
locator.addService(TransporterFactory.class, HttpTransporterFactory.class);
return locator;
}