use of org.gradle.plugins.ide.internal.resolver.model.IdeExtendedRepoFileDependency in project gradle by gradle.
the class WtpClasspathAttributeSupport method collectFilesFromConfigs.
private static Set<File> collectFilesFromConfigs(Set<Configuration> configs, Set<Configuration> minusConfigs) {
Set<File> resultFiles = Sets.newHashSet();
IdeDependenciesExtractor extractor = new IdeDependenciesExtractor();
Collection<IdeExtendedRepoFileDependency> dependencies = extractor.resolvedExternalDependencies(configs, minusConfigs);
for (IdeExtendedRepoFileDependency dependency : dependencies) {
resultFiles.add(dependency.getFile());
}
Collection<IdeLocalFileDependency> localDependencies = extractor.extractLocalFileDependencies(configs, minusConfigs);
for (IdeLocalFileDependency dependency : localDependencies) {
resultFiles.add(dependency.getFile());
}
return resultFiles;
}
use of org.gradle.plugins.ide.internal.resolver.model.IdeExtendedRepoFileDependency in project gradle by gradle.
the class WtpComponentFactory method getEntriesFromLibraries.
private List<WbDependentModule> getEntriesFromLibraries(Set<Configuration> plusConfigurations, Set<Configuration> minusConfigurations, EclipseWtpComponent wtp, String deployPath) {
IdeDependenciesExtractor extractor = new IdeDependenciesExtractor();
//below is not perfect because we're skipping the unresolved dependencies completely
//however, it should be better anyway. Sometime soon we will hopefully change the wtp component stuff
Collection<IdeExtendedRepoFileDependency> externals = extractor.resolvedExternalDependencies(plusConfigurations, minusConfigurations);
Collection<IdeLocalFileDependency> locals = extractor.extractLocalFileDependencies(plusConfigurations, minusConfigurations);
Collection<File> libFiles = Lists.newArrayList();
for (IdeExtendedRepoFileDependency dependency : externals) {
libFiles.add(dependency.getFile());
}
for (IdeLocalFileDependency dependency : locals) {
libFiles.add(dependency.getFile());
}
List<WbDependentModule> libraryEntries = Lists.newArrayList();
for (File file : libFiles) {
libraryEntries.add(createWbDependentModuleEntry(file, wtp.getFileReferenceFactory(), deployPath));
}
return libraryEntries;
}
use of org.gradle.plugins.ide.internal.resolver.model.IdeExtendedRepoFileDependency in project gradle by gradle.
the class EclipseDependenciesCreator method createLibraryDependencies.
private List<AbstractClasspathEntry> createLibraryDependencies() {
ArrayList<AbstractClasspathEntry> libraries = Lists.newArrayList();
boolean downloadSources = classpath.isDownloadSources();
boolean downloadJavadoc = classpath.isDownloadJavadoc();
Collection<IdeExtendedRepoFileDependency> repoFileDependencies = dependenciesExtractor.extractRepoFileDependencies(classpath.getProject().getDependencies(), classpath.getPlusConfigurations(), classpath.getMinusConfigurations(), downloadSources, downloadJavadoc);
for (IdeExtendedRepoFileDependency dependency : repoFileDependencies) {
libraries.add(createLibraryEntry(dependency.getFile(), dependency.getSourceFile(), dependency.getJavadocFile(), classpath, dependency.getId()));
}
Collection<IdeLocalFileDependency> localFileDependencies = dependenciesExtractor.extractLocalFileDependencies(classpath.getPlusConfigurations(), classpath.getMinusConfigurations());
for (IdeLocalFileDependency it : localFileDependencies) {
libraries.add(createLibraryEntry(it.getFile(), null, null, classpath, null));
}
return libraries;
}
use of org.gradle.plugins.ide.internal.resolver.model.IdeExtendedRepoFileDependency in project gradle by gradle.
the class IdeaDependenciesProvider method getExternalDependencies.
private Set<Dependency> getExternalDependencies(IdeaModule ideaModule, GeneratedIdeaScope scope) {
if (ideaModule.isOffline()) {
return Collections.emptySet();
}
Collection<Configuration> plusConfigurations = getPlusConfigurations(ideaModule, scope);
Collection<Configuration> minusConfigurations = getMinusConfigurations(ideaModule, scope);
Set<Dependency> dependencies = Sets.newLinkedHashSet();
Collection<IdeExtendedRepoFileDependency> ideRepoFileDependencies = dependenciesExtractor.extractRepoFileDependencies(ideaModule.getProject().getDependencies(), plusConfigurations, minusConfigurations, ideaModule.isDownloadSources(), ideaModule.isDownloadJavadoc());
for (IdeExtendedRepoFileDependency dependency : ideRepoFileDependencies) {
dependencies.add(toLibraryDependency(dependency, ideaModule, scope));
}
return dependencies;
}
use of org.gradle.plugins.ide.internal.resolver.model.IdeExtendedRepoFileDependency in project gradle by gradle.
the class IdeDependenciesExtractor method downloadAuxiliaryArtifacts.
private static void downloadAuxiliaryArtifacts(DependencyHandler dependencyHandler, Multimap<ComponentIdentifier, IdeExtendedRepoFileDependency> dependencies, List<Class<? extends Artifact>> artifactTypes) {
if (artifactTypes.isEmpty()) {
return;
}
ArtifactResolutionQuery query = dependencyHandler.createArtifactResolutionQuery();
query.forComponents(dependencies.keySet());
@SuppressWarnings("unchecked") Class<? extends Artifact>[] artifactTypesArray = (Class<? extends Artifact>[]) artifactTypes.toArray(new Class<?>[0]);
query.withArtifacts(JvmLibrary.class, artifactTypesArray);
Set<ComponentArtifactsResult> componentResults = query.execute().getResolvedComponents();
for (ComponentArtifactsResult componentResult : componentResults) {
for (IdeExtendedRepoFileDependency dependency : dependencies.get(componentResult.getId())) {
for (ArtifactResult sourcesResult : componentResult.getArtifacts(SourcesArtifact.class)) {
if (sourcesResult instanceof ResolvedArtifactResult) {
dependency.addSourceFile(((ResolvedArtifactResult) sourcesResult).getFile());
}
}
for (ArtifactResult javadocResult : componentResult.getArtifacts(JavadocArtifact.class)) {
if (javadocResult instanceof ResolvedArtifactResult) {
dependency.addJavadocFile(((ResolvedArtifactResult) javadocResult).getFile());
}
}
}
}
}
Aggregations