IDEA project configuration: aether and maven-aether-provider converted to repository libraries

JAR files which were combined into aether-1.0.0-all.jar and maven-aether-provider-3.3.9-all.jar are now included as separate files. Transitive dependencies for some libraries are switched off where it leads to inclusion of libraries which are already added in other modules.
This commit is contained in:
nik
2018-03-30 17:17:08 +03:00
parent 27705e4ea3
commit f5991c1dca
9 changed files with 279 additions and 48 deletions
@@ -9,28 +9,199 @@
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="intellij.platform.annotations.java5" />
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../lib/aether-1.1.0-all.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../lib/maven-aether-provider-3.3.9-all.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="library" exported="" name="http-client" level="project" />
<orderEntry type="library" exported="" name="commons-codec" level="project" />
<orderEntry type="library" exported="" name="commons-logging" level="project" />
<orderEntry type="library" exported="" name="Slf4j" level="project" />
<orderEntry type="module" module-name="intellij.platform.testFramework" scope="TEST" />
<orderEntry type="library" name="Guava" level="project" />
<orderEntry type="module-library" exported="">
<library name="org.eclipse.aether:aether-api" type="repository">
<properties maven-id="org.eclipse.aether:aether-api:1.1.0" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-api/1.1.0/aether-api-1.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-api/1.1.0/aether-api-1.1.0-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="org.eclipse.aether:aether-impl" type="repository">
<properties maven-id="org.eclipse.aether:aether-impl:1.1.0" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-impl/1.1.0/aether-impl-1.1.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-api/1.1.0/aether-api-1.1.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-spi/1.1.0/aether-spi-1.1.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-util/1.1.0/aether-util-1.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-impl/1.1.0/aether-impl-1.1.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-api/1.1.0/aether-api-1.1.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-spi/1.1.0/aether-spi-1.1.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-util/1.1.0/aether-util-1.1.0-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="org.eclipse.aether:aether-connector-basic" type="repository">
<properties maven-id="org.eclipse.aether:aether-connector-basic:1.1.0" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-connector-basic/1.1.0/aether-connector-basic-1.1.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-api/1.1.0/aether-api-1.1.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-spi/1.1.0/aether-spi-1.1.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-util/1.1.0/aether-util-1.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-connector-basic/1.1.0/aether-connector-basic-1.1.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-api/1.1.0/aether-api-1.1.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-spi/1.1.0/aether-spi-1.1.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-util/1.1.0/aether-util-1.1.0-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="org.eclipse.aether:aether-transport-file" type="repository">
<properties maven-id="org.eclipse.aether:aether-transport-file:1.1.0" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-transport-file/1.1.0/aether-transport-file-1.1.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-api/1.1.0/aether-api-1.1.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-spi/1.1.0/aether-spi-1.1.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-util/1.1.0/aether-util-1.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-transport-file/1.1.0/aether-transport-file-1.1.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-api/1.1.0/aether-api-1.1.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-spi/1.1.0/aether-spi-1.1.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-util/1.1.0/aether-util-1.1.0-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="org.eclipse.aether:aether-transport-http" type="repository">
<properties include-transitive-deps="false" maven-id="org.eclipse.aether:aether-transport-http:1.1.0" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-transport-http/1.1.0/aether-transport-http-1.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/eclipse/aether/aether-transport-http/1.1.0/aether-transport-http-1.1.0-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="org.apache.maven:maven-aether-provider" type="repository">
<properties include-transitive-deps="false" maven-id="org.apache.maven:maven-aether-provider:3.3.9" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-aether-provider/3.3.9/maven-aether-provider-3.3.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-aether-provider/3.3.9/maven-aether-provider-3.3.9-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="org.apache.maven:maven-model" type="repository">
<properties maven-id="org.apache.maven:maven-model:3.3.9" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-model/3.3.9/maven-model-3.3.9.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-model/3.3.9/maven-model-3.3.9-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="org.apache.maven:maven-model-builder" type="repository">
<properties include-transitive-deps="false" maven-id="org.apache.maven:maven-model-builder:3.3.9" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-model-builder/3.3.9/maven-model-builder-3.3.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-model-builder/3.3.9/maven-model-builder-3.3.9-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="org.apache.maven:maven-artifact" type="repository">
<properties maven-id="org.apache.maven:maven-artifact:3.3.9" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-artifact/3.3.9/maven-artifact-3.3.9.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-artifact/3.3.9/maven-artifact-3.3.9-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="org.apache.maven:maven-repository-metadata" type="repository">
<properties maven-id="org.apache.maven:maven-repository-metadata:3.3.9" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-repository-metadata/3.3.9/maven-repository-metadata-3.3.9.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-repository-metadata/3.3.9/maven-repository-metadata-3.3.9-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="org.apache.maven:maven-builder-support" type="repository">
<properties maven-id="org.apache.maven:maven-builder-support:3.3.9" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-builder-support/3.3.9/maven-builder-support-3.3.9.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/maven/maven-builder-support/3.3.9/maven-builder-support-3.3.9-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="org.codehaus.plexus:plexus-interpolation" type="repository">
<properties maven-id="org.codehaus.plexus:plexus-interpolation:1.21" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="org.codehaus.plexus:plexus-component-annotations" type="repository">
<properties maven-id="org.codehaus.plexus:plexus-component-annotations:1.6" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
</component>
</module>
@@ -118,6 +118,39 @@ public class ArtifactRepositoryManager {
mySession = session;
}
/**
* Returns list
*/
@SuppressWarnings("UnnecessaryFullyQualifiedName")
public static List<Class> getClassesFromDependencies() {
return Arrays.asList(
org.jetbrains.idea.maven.aether.ArtifactRepositoryManager.class, //this module
org.apache.maven.repository.internal.VersionsMetadataGeneratorFactory.class, //maven-aether-provider
org.apache.maven.artifact.Artifact.class, //maven-artifact
org.apache.commons.lang3.StringUtils.class, //commons-lang3
org.codehaus.plexus.util.Base64.class, //plexus-utils
org.apache.maven.building.Problem.class, //maven-builder-support
org.apache.maven.model.Model.class, //maven-model
org.apache.maven.model.building.ModelBuilder.class, //maven-model-builder
org.apache.maven.artifact.repository.metadata.Metadata.class, //maven-repository-metadata
org.codehaus.plexus.component.annotations.Component.class, //plexus-component-annotations
org.codehaus.plexus.interpolation.Interpolator.class, //plexus-interpolation
org.eclipse.aether.RepositorySystem.class, //aether-api
org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory.class, //aether-connector-basic
org.eclipse.aether.spi.connector.RepositoryConnector.class, //aether-spi
org.eclipse.aether.util.StringUtils.class, //aether-util
org.eclipse.aether.impl.ArtifactResolver.class, //aether-impl
org.eclipse.aether.transport.file.FileTransporterFactory.class, //aether-transport-file
org.eclipse.aether.transport.http.HttpTransporterFactory.class, //aether-transport-http
com.google.common.base.Predicate.class, //guava
org.apache.http.HttpConnection.class, //httpcore
org.apache.http.client.HttpClient.class, //httpclient
org.apache.commons.codec.binary.Base64.class, // commons-codec
org.apache.commons.logging.LogFactory.class, // commons-logging
org.slf4j.Marker.class // slf4j
);
}
public void addRemoteRepository(final String id, final String url) {
myRemoteRepositories.add(createRemoteRepository(id, url));
}
@@ -32,8 +32,9 @@ List<String> projectLibraries = [
]
dependencies {
projectLibraries.each {
def properties = loadProjectLibraryProperties(it)
(projectLibraries.collect { loadProjectLibraryProperties(it) } +
loadModuleLibraryProperties("aether-dependency-resolver/intellij.java.aetherDependencyResolver.iml")
).each { properties ->
buildScriptsDeps(properties.first, { transitive = properties.second })
}
}
@@ -56,7 +57,31 @@ private Tuple2<String, Boolean> loadProjectLibraryProperties(String libraryName)
if (propertiesTags.isEmpty()) {
throw new GradleException("$libraryName project library is not a repository library")
}
def propertiesTag = propertiesTags.first()
//noinspection GrUnresolvedAccess
//noinspection GroovyAssignabilityCheck
loadLibraryProperties(propertiesTags.first())
}
private List<Tuple2<String, Boolean>> loadModuleLibraryProperties(String moduleFileRelativePath) {
File file = new File(project.rootDir, "../../$moduleFileRelativePath")
if (!file.exists()) {
throw new GradleException("Cannot find $moduleFileRelativePath module: $file doesn't exist")
}
def root = new XmlParser().parse(file)
def rootManager = root.component?.find { it.@name == 'NewModuleRootManager'}
if (rootManager == null) {
throw new GradleException("Cannot find 'NewModuleRootManager' component in $file")
}
rootManager.orderEntry.findAll { it.@type == 'module-library' }.collect {
def libraryTag = it.library.first()
if (libraryTag.properties.isEmpty()) {
throw new GradleException("Library '${libraryTag.'@name'}' in $moduleFileRelativePath is not a repository library")
}
//noinspection GroovyAssignabilityCheck
loadLibraryProperties(libraryTag.properties.first())
}
}
private static Tuple2<String, Boolean> loadLibraryProperties(Node propertiesTag) {
new Tuple2(propertiesTag.'@maven-id', propertiesTag.'@include-transitive-deps' != "false")
}
-2
View File
@@ -37,8 +37,6 @@
<include name="asm-all.jar"/>
<include name="picocontainer.jar"/>
<include name="snappy-in-java-*.jar"/>
<include name="aether-*-all.jar"/>
<include name="maven-aether-provider-*-all.jar"/>
<include name="httpclient-*.jar"/>
<include name="httpcore-*.jar"/>
<include name="httpmime-*.jar"/>
@@ -29,6 +29,7 @@ class CommunityStandaloneJpsBuilder {
}
void layoutJps(String targetDir, String buildNumber, @DelegatesTo(LayoutBuilder.LayoutSpec) Closure additionalJars) {
def context = buildContext
new LayoutBuilder(buildContext, false).layout(targetDir) {
zip("standalone-jps-${buildNumber}.zip") {
jar("util.jar") {
@@ -93,8 +94,9 @@ class CommunityStandaloneJpsBuilder {
].each {
projectLibrary(it)
}
moduleLibrary("intellij.java.aetherDependencyResolver", "aether-1.1.0-all.jar")
moduleLibrary("intellij.java.aetherDependencyResolver", "maven-aether-provider-3.3.9-all.jar")
context.findRequiredModule("intellij.java.aetherDependencyResolver").libraryCollection.libraries.each {
jpsLibrary(it)
}
moduleLibrary("intellij.platform.jps.build.javac.rt", "optimizedFileManager.jar")
jar("ant-jps-plugin.jar") { module("intellij.ant.jps") }
@@ -15,7 +15,6 @@
*/
package org.jetbrains.jps.cmdline;
import com.google.common.base.Predicate;
import com.google.protobuf.Message;
import com.intellij.compiler.notNullVerification.NotNullVerifyingInstrumenter;
import com.intellij.openapi.application.PathManager;
@@ -28,9 +27,6 @@ import com.intellij.util.containers.ContainerUtil;
import com.jgoodies.forms.layout.CellConstraints;
import io.netty.util.NetUtil;
import net.n3.nanoxml.IXMLBuilder;
import org.apache.http.HttpConnection;
import org.apache.http.client.HttpClient;
import org.eclipse.aether.artifact.Artifact;
import org.jetbrains.idea.maven.aether.ArtifactRepositoryManager;
import org.jetbrains.jps.builders.impl.java.EclipseCompilerTool;
import org.jetbrains.jps.builders.java.JavaCompilingTool;
@@ -76,20 +72,7 @@ public class ClasspathBootstrap {
cp.addAll(getInstrumentationUtilRoots());
cp.add(getResourcePath(IXMLBuilder.class)); // nano-xml
// aether-based repository libraries support
cp.add(getResourcePath(ArtifactRepositoryManager.class)); // intellij.java.aetherDependencyResolver
final String aetherPath = getResourcePath(Artifact.class); // aether-1.1.0-all.jar
cp.add(aetherPath);
cp.add(FileUtil.toSystemIndependentName(new File(new File(aetherPath).getParentFile(), "maven-aether-provider-3.3.9-all.jar").getAbsolutePath()));
cp.add(getResourcePath(Predicate.class)); // guava
cp.add(getResourcePath(HttpClient.class)); // httpclient
cp.add(getResourcePath(HttpConnection.class)); // httpcore
//noinspection UnnecessaryFullyQualifiedName
cp.add(getResourcePath(org.apache.commons.codec.binary.Base64.class)); // commons-codec
//noinspection UnnecessaryFullyQualifiedName
cp.add(getResourcePath(org.apache.commons.logging.LogFactory.class)); // commons-logging
//noinspection UnnecessaryFullyQualifiedName
cp.add(getResourcePath(org.slf4j.Marker.class)); // slf4j
cp.addAll(ContainerUtil.map(ArtifactRepositoryManager.getClassesFromDependencies(), ClasspathBootstrap::getResourcePath));
cp.addAll(getJavac8RefScannerClasspath());
//don't forget to update CommunityStandaloneJpsBuilder.layoutJps accordingly
Binary file not shown.
Binary file not shown.
@@ -285,10 +285,29 @@ class CommunityLibraryLicenses {
license: "Apache 2.0", url: "http://maven.apache.org/", licenseUrl: "http://www.apache.org/licenses/LICENSE-2.0"),
new LibraryLicense(name: "plexus-util", version: "2.0.6", license: "Apache 2.0", url: "http://maven.apache.org/",
libraryName: 'plexus-utils-2.0.6.jar', licenseUrl: "http://apache.org/licenses/LICENSE-2.0"),
new LibraryLicense(name: "aether", version: "1.1.0", license: "Eclipse Public License 1.0", url: "http://www.eclipse.org/aether/",
libraryName: 'aether-1.1.0-all.jar', licenseUrl: "http://www.eclipse.org/legal/epl-v10.html"),
new LibraryLicense(name: "maven-aether-provider", version: "3.3.9", license: "Apache 2.0", url: "http://maven.apache.org/ref/3.3.9/maven-aether-provider",
libraryName: 'maven-aether-provider-3.3.9-all.jar', licenseUrl: "http://apache.org/licenses/LICENSE-2.0"),
new LibraryLicense(name: "Aether", version: "1.1.0", license: "Eclipse Public License 1.0", url: "http://www.eclipse.org/aether/",
libraryName: 'org.eclipse.aether:aether-api',
additionalLibraryNames: [
'org.eclipse.aether:aether-impl',
'org.eclipse.aether:aether-connector-basic',
'org.eclipse.aether:aether-transport-file',
'org.eclipse.aether:aether-transport-http'
],
licenseUrl: "http://www.eclipse.org/legal/epl-v10.html"),
new LibraryLicense(name: "Maven Aether Provider", version: "3.3.9", license: "Apache 2.0", url: "http://maven.apache.org/ref/3.3.9/maven-aether-provider",
libraryName: 'org.apache.maven:maven-aether-provider',
additionalLibraryNames: [
'org.apache.maven:maven-model',
'org.apache.maven:maven-model-builder',
'org.apache.maven:maven-artifact',
'org.apache.maven:maven-repository-metadata',
'org.apache.maven:maven-builder-support'
],
licenseUrl: "http://apache.org/licenses/LICENSE-2.0"),
new LibraryLicense(name: "Plexus Component Annotations", libraryName: "org.codehaus.plexus:plexus-component-annotations", version: "1.6", license: "Apache 2.0",
url: "https://codehaus-plexus.github.io/plexus-containers/plexus-component-annotations/"),
new LibraryLicense(name: "Plexus Interpolation", libraryName: "org.codehaus.plexus:plexus-interpolation", version: "1.21", license: "Apache 2.0",
url: "https://codehaus-plexus.github.io/plexus-interpolation/"),
new LibraryLicense(name: "Plexus Utils", libraryName: "plexus-utils-1.5.5.jar", version: "1.5.5", license: "Apache 2.0",
url: "http://plexus.codehaus.org/plexus-utils"),
new LibraryLicense(name: "pockets", attachedTo: "intellij.python.helpers", version: "0.3.2", license: "BSD", url: "http://pockets.readthedocs.org/"),