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.
* @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();
}
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;
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;
}
import java.io.File;
import java.util.Collections;
import java.util.List;
+import java.util.Map;
import java.util.Set;
/**
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;
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;
+ }
}