mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-05 01:50:56 +07:00
ModuleExtendedModel now exposes per configuration artifacts.
Change-Id: I105b34c96bb53ac93218aac3ffd92119a014bae8
This commit is contained in:
committed by
Vladislav.Soroka
parent
a8fa207faf
commit
4d04fdaf23
@@ -20,6 +20,8 @@ import org.gradle.tooling.model.DomainObjectSet;
|
||||
import java.io.File;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @deprecated Use {@link com.intellij.openapi.externalSystem.model.ExternalProject} model instead.
|
||||
@@ -77,4 +79,11 @@ public interface ModuleExtendedModel extends Serializable {
|
||||
* @return the compiler output directories.
|
||||
*/
|
||||
ExtIdeaCompilerOutput getCompilerOutput();
|
||||
|
||||
/**
|
||||
* The artifacts per configuration.
|
||||
*
|
||||
* @return a mapping between the name of a configuration and the files associated with it.
|
||||
*/
|
||||
Map<String, Set<File>> getArtifactsByConfiguration();
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@ package org.jetbrains.plugins.gradle.tooling.builder;
|
||||
|
||||
import org.gradle.api.Project;
|
||||
import org.gradle.api.Task;
|
||||
import org.gradle.api.artifacts.Configuration;
|
||||
import org.gradle.api.artifacts.ConfigurationContainer;
|
||||
import org.gradle.api.tasks.SourceSet;
|
||||
import org.gradle.api.tasks.SourceSetContainer;
|
||||
import org.gradle.api.tasks.SourceSetOutput;
|
||||
@@ -175,6 +177,17 @@ public class ModuleExtendedModelBuilderImpl implements ModelBuilderService {
|
||||
|
||||
moduleVersionModel.setContentRoots(Collections.<ExtIdeaContentRoot>singleton(contentRoot));
|
||||
moduleVersionModel.setCompilerOutput(compilerOutput);
|
||||
|
||||
ConfigurationContainer configurations = project.getConfigurations();
|
||||
SortedMap<String, Configuration> configurationsByName = configurations.getAsMap();
|
||||
|
||||
Map<String, Set<File>> artifactsByConfiguration = new HashMap<String, Set<File>>();
|
||||
for (Map.Entry<String, Configuration> configurationEntry : configurationsByName.entrySet()) {
|
||||
Set<File> files = configurationEntry.getValue().getAllArtifacts().getFiles().getFiles();
|
||||
artifactsByConfiguration.put(configurationEntry.getKey(), files);
|
||||
}
|
||||
moduleVersionModel.setArtifactsByConfiguration(artifactsByConfiguration);
|
||||
|
||||
return moduleVersionModel;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ import org.jetbrains.plugins.gradle.model.ModuleExtendedModel;
|
||||
import java.io.File;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
@@ -38,6 +39,7 @@ public class ModuleExtendedModelImpl implements ModuleExtendedModel {
|
||||
private List<File> myArtifacts;
|
||||
private Set<ExtIdeaContentRoot> myContentRoots;
|
||||
private ExtIdeaCompilerOutput myCompilerOutput;
|
||||
private Map<String, Set<File>> myArtifactsByConfiguration;
|
||||
|
||||
public ModuleExtendedModelImpl(String name, String group, String version, File buildDir) {
|
||||
myName = name;
|
||||
@@ -94,4 +96,13 @@ public class ModuleExtendedModelImpl implements ModuleExtendedModel {
|
||||
public void setCompilerOutput(ExtIdeaCompilerOutput compilerOutput) {
|
||||
myCompilerOutput = compilerOutput;
|
||||
}
|
||||
|
||||
public void setArtifactsByConfiguration(Map<String, Set<File>> artifactsByConfiguration) {
|
||||
myArtifactsByConfiguration = artifactsByConfiguration;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Set<File>> getArtifactsByConfiguration() {
|
||||
return myArtifactsByConfiguration == null ? Collections.<String, Set<File>>emptyMap() : myArtifactsByConfiguration;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user