From 561379340ffac52c5ccca058e763585f549c944a Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 25 Jul 2022 17:09:40 +0200 Subject: [PATCH] Work in progress specifying license URLs GitOrigin-RevId: c243977b5d01567ce6caf360ac9b93b31ebaca5a --- .../build/CommunityLibraryLicenses.kt | 409 +++++++++--------- .../intellij/build/LibraryLicense.kt | 44 ++ 2 files changed, 240 insertions(+), 213 deletions(-) diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.kt b/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.kt index de46fc5f2186..04862b4d8b1a 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.kt +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.kt @@ -13,192 +13,150 @@ object CommunityLibraryLicenses { @SuppressWarnings("SpellCheckingInspection") val LICENSES_LIST: List = java.util.List.of( LibraryLicense(name = "A fast Java JSON schema validator", libraryName = "json-schema-validator", - url = "https://github.com/networknt/json-schema-validator").apache(), - LibraryLicense(name = "aalto-xml", libraryName = "aalto-xml", url = "https://github.com/FasterXML/aalto-xml/").apache(), - LibraryLicense(name = "AAPT Protos", libraryName = "aapt-proto", url = "https://source.android.com/").apache(), + url = "https://github.com/networknt/json-schema-validator") + .apache("https://github.com/networknt/json-schema-validator/LICENSE"), + LibraryLicense(name = "aalto-xml", libraryName = "aalto-xml", url = "https://github.com/FasterXML/aalto-xml/") + .apache("https://github.com/FasterXML/aalto-xml/blob/master/LICENSE"), + androidDependency(name = "AAPT Protos", libraryName = "aapt-proto"), LibraryLicense(name = "AhoCorasickDoubleArrayTrie", libraryName = "com.hankcs:aho-corasick-double-array-trie", - url = "https://github.com/hankcs/AhoCorasickDoubleArrayTrie").apache(), - LibraryLicense(name = "Am Instrument Data proto", libraryName = "libam-instrumentation-data-proto", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Amazon Ion Java", libraryName = "ion", url = "https://github.com/amzn/ion-java").apache(), - LibraryLicense(name = "android-test-plugin-host-device-info-proto", libraryName = "android-test-plugin-host-device-info-proto", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "android-test-plugin-host-retention-proto", libraryName = "libstudio.android-test-plugin-host-retention-proto", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "android-test-plugin-result-listener-gradle-proto", libraryName = "libstudio.android-test-plugin-result-listener-gradle-proto", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android ADB Lib", libraryName = "precompiled-adblib", url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android AIA Protos", libraryName = "aia-proto", url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Analytics Crash", libraryName = "precompiled-analytics-crash", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Analytics Protos", libraryName = "studio-analytics-proto", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Analytics Shared", libraryName = "precompiled-analytics-shared", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Analytics Tracker", libraryName = "precompiled-analytics-tracker", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Annotations", libraryName = "precompiled-android-annotations", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Apk Analyzer", libraryName = "precompiled-analyzer", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Apk Binary Resources", libraryName = "precompiled-binary-resources", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Apk ZLib", libraryName = "apkzlib", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android App Inspector (Background Task, proto)", libraryName = "background-inspector-proto", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android App Inspector (Network, proto)", libraryName = "network_inspector_java_proto", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Archive Patcher (explainer)", libraryName = "explainer", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Archive Patcher (generator)", libraryName = "generator", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Archive Patcher (shared)", libraryName = "shared", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Baksmali", libraryName = "baksmali", url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Builder Model", libraryName = "precompiled-builder-model", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Chunkio", libraryName = "precompiled-chunkio", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Common Library", libraryName = "precompiled-common", - url = "https://source.android.com/").apache(), + url = "https://github.com/hankcs/AhoCorasickDoubleArrayTrie") + .apache("https://github.com/hankcs/AhoCorasickDoubleArrayTrie#license"), + androidDependency(name = "Am Instrument Data proto", libraryName = "libam-instrumentation-data-proto"), + LibraryLicense(name = "Amazon Ion Java", libraryName = "ion", url = "https://github.com/amzn/ion-java") + .apache("https://github.com/amzn/ion-java/blob/master/LICENSE"), + androidDependency("android-test-plugin-host-device-info-proto"), + androidDependency(name = "android-test-plugin-host-retention-proto", libraryName = "libstudio.android-test-plugin-host-retention-proto"), + androidDependency(name = "android-test-plugin-result-listener-gradle-proto", libraryName = "libstudio.android-test-plugin-result-listener-gradle-proto"), + androidDependency(name = "Android ADB Lib", libraryName = "precompiled-adblib"), + androidDependency(name = "Android AIA Protos", libraryName = "aia-proto"), + androidDependency(name = "Android Analytics Crash", libraryName = "precompiled-analytics-crash"), + androidDependency(name = "Android Analytics Protos", libraryName = "studio-analytics-proto"), + androidDependency(name = "Android Analytics Shared", libraryName = "precompiled-analytics-shared"), + androidDependency(name = "Android Analytics Tracker", libraryName = "precompiled-analytics-tracker"), + androidDependency(name = "Android Annotations", libraryName = "precompiled-android-annotations"), + androidDependency(name = "Android Apk Analyzer", libraryName = "precompiled-analyzer"), + androidDependency(name = "Android Apk Binary Resources", libraryName = "precompiled-binary-resources"), + androidDependency(name = "Android Apk ZLib", libraryName = "apkzlib"), + androidDependency(name = "Android App Inspector (Background Task, proto)", libraryName = "background-inspector-proto"), + androidDependency(name = "Android App Inspector (Network, proto)", libraryName = "network_inspector_java_proto"), + androidDependency(name = "Android Archive Patcher (explainer)", libraryName = "explainer"), + androidDependency(name = "Android Archive Patcher (generator)", libraryName = "generator"), + androidDependency(name = "Android Archive Patcher (shared)", libraryName = "shared"), + androidDependency(name = "Android Baksmali", libraryName = "baksmali"), + androidDependency(name = "Android Builder Model", libraryName = "precompiled-builder-model"), + androidDependency(name = "Android Chunkio", libraryName = "precompiled-chunkio"), + androidDependency(name = "Android Common Library", libraryName = "precompiled-common"), // for android-core-proto module library in intellij.android.core - LibraryLicense(name = "Android Core Protos", libraryName = "libandroid-core-proto", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Data Binding Base Library", libraryName = "precompiled-db-baseLibrary", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Data Binding Base Library Support", libraryName = "precompiled-db-baseLibrarySupport", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Data Binding Compiler", libraryName = "precompiled-db-compiler", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Data Binding Compiler Common", libraryName = "precompiled-db-compilerCommon", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Ddm libapp-processes-proto", libraryName = "libapp-processes-proto", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Ddm Library", libraryName = "precompiled-ddmlib", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Deployer Library", libraryName = "precompiled-deployer", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Deployer Library (libjava_sites)", libraryName = "libjava_sites", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android DEX library", libraryName = "dexlib2", url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android draw9patch library", libraryName = "precompiled-draw9patch", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android dvlib library", libraryName = "precompiled-dvlib", url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Dynamic Layout Inspector", libraryName = "precompiled-dynamic-layout-inspector.common", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Emulator gRPC API", url = "https://source.android.com/", libraryName = "emulator-proto").apache(), - LibraryLicense(name = "Android Flags", libraryName = "precompiled-flags", - url = "https://source.android.com/").apache(), + androidDependency(name = "Android Core Protos", libraryName = "libandroid-core-proto"), + androidDependency(name = "Android Data Binding Base Library", libraryName = "precompiled-db-baseLibrary"), + androidDependency(name = "Android Data Binding Base Library Support", libraryName = "precompiled-db-baseLibrarySupport"), + androidDependency(name = "Android Data Binding Compiler", libraryName = "precompiled-db-compiler"), + androidDependency(name = "Android Data Binding Compiler Common", libraryName = "precompiled-db-compilerCommon"), + androidDependency(name = "Android Ddm libapp-processes-proto", libraryName = "libapp-processes-proto"), + androidDependency(name = "Android Ddm Library", libraryName = "precompiled-ddmlib"), + androidDependency(name = "Android Deployer Library", libraryName = "precompiled-deployer"), + androidDependency(name = "Android Deployer Library (libjava_sites)", libraryName = "libjava_sites"), + androidDependency(name = "Android DEX library", libraryName = "dexlib2"), + androidDependency(name = "Android draw9patch library", libraryName = "precompiled-draw9patch"), + androidDependency(name = "Android dvlib library", libraryName = "precompiled-dvlib"), + androidDependency(name = "Android Dynamic Layout Inspector", libraryName = "precompiled-dynamic-layout-inspector.common"), + androidDependency(name = "Android Emulator gRPC API", libraryName = "emulator-proto"), + androidDependency(name = "Android Flags", libraryName = "precompiled-flags"), LibraryLicense(name = "Android Gradle model", attachedTo = "intellij.android.core", version = "0.4-SNAPSHOT", - url = "https://android.googlesource.com/platform/tools/build/+/master/gradle-model/").apache(), + url = "https://android.googlesource.com/platform/tools/build/+/master/gradle-model/").apache("https://source.android.com/setup/start/licenses"), LibraryLicense(name = "Android Instant Apps SDK API", url = "https://source.android.com/", libraryName = "instantapps-api", - version = LibraryLicense.CUSTOM_REVISION).apache(), - LibraryLicense(name = "Android Jetifier Core", libraryName = "jetifier-core", url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Jimfs library", libraryName = "jimfs", url = "https://github.com/google/jimfs").apache(), - LibraryLicense(name = "Android Layout Api Library", libraryName = "precompiled-layoutlib-api", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Layout Inspector", libraryName = "precompiled-layoutinspector", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Layout Inspector (Compose Proto)", libraryName = "layout_inspector_compose_java_proto", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Layout Inspector (Skia Proto)", libraryName = "layoutinspector-skia-proto", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Layout Inspector (Snapshot Proto)", libraryName = "layout_inspector_snapshot_java_proto", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Layout Inspector (View Proto)", libraryName = "layout_inspector_view_java_proto", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Layout Library", libraryName = "layoutlib", - url = "https://source.android.com/").apache(), + version = LibraryLicense.CUSTOM_REVISION).apache("https://source.android.com/setup/start/licenses"), + androidDependency(name = "Android Jetifier Core", libraryName = "jetifier-core"), + LibraryLicense(name = "Android Jimfs library", libraryName = "jimfs", url = "https://github.com/google/jimfs") + .apache("https://github.com/google/jimfs/blob/master/LICENSE"), + androidDependency(name = "Android Layout Api Library", libraryName = "precompiled-layoutlib-api"), + androidDependency(name = "Android Layout Inspector", libraryName = "precompiled-layoutinspector"), + androidDependency(name = "Android Layout Inspector (Compose Proto)", libraryName = "layout_inspector_compose_java_proto"), + androidDependency(name = "Android Layout Inspector (Skia Proto)", libraryName = "layoutinspector-skia-proto"), + androidDependency(name = "Android Layout Inspector (Snapshot Proto)", libraryName = "layout_inspector_snapshot_java_proto"), + androidDependency(name = "Android Layout Inspector (View Proto)", libraryName = "layout_inspector_view_java_proto"), + androidDependency(name = "Android Layout Library", libraryName = "layoutlib"), LibraryLicense(name = "Android libwebp library", libraryName = "libwebp.jar", url = "https://github.com/webmproject/libwebp", - version = LibraryLicense.CUSTOM_REVISION).apache(), - LibraryLicense(name = "Android Lint Api", libraryName = "precompiled-lint-api", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Lint Checks", libraryName = "precompiled-lint-checks", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Lint Model", libraryName = "precompiled-lint-model", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Manifest Merger", libraryName = "precompiled-manifest-merger", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Manifest Parser", libraryName = "precompiled-manifest-parser", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android MLKit Common Library", libraryName = "precompiled-mlkit-common", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android ninepatch Library", libraryName = "precompiled-ninepatch", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Perf-Logger Library", libraryName = "precompiled-perf-logger", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Perflib Library", libraryName = "precompiled-perflib", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Pixelprobe Library", libraryName = "precompiled-pixelprobe", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Profiler", libraryName = "studio-grpc", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Repository", libraryName = "precompiled-repository", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Resource Repository", libraryName = "precompiled-resource-repository", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Sdk Common", libraryName = "precompiled-sdk-common", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Sdk Lib", libraryName = "precompiled-sdklib", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android STracer", libraryName = "precompiled-tracer", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android USB Devices", libraryName = "precompiled-usb-devices", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Wizard Template", libraryName = "precompiled-wizardTemplate.impl", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Wizard Template Plugin", libraryName = "precompiled-wizardTemplate.plugin", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "Android Zipflinger", libraryName = "precompiled-zipflinger", - url = "https://source.android.com/").apache(), + version = LibraryLicense.CUSTOM_REVISION).newBsd("https://github.com/webmproject/libwebp/blob/main/COPYING"), + androidDependency(name = "Android Lint Api", libraryName = "precompiled-lint-api"), + androidDependency(name = "Android Lint Checks", libraryName = "precompiled-lint-checks"), + androidDependency(name = "Android Lint Model", libraryName = "precompiled-lint-model"), + androidDependency(name = "Android Manifest Merger", libraryName = "precompiled-manifest-merger"), + androidDependency(name = "Android Manifest Parser", libraryName = "precompiled-manifest-parser"), + androidDependency(name = "Android MLKit Common Library", libraryName = "precompiled-mlkit-common"), + androidDependency(name = "Android ninepatch Library", libraryName = "precompiled-ninepatch"), + androidDependency(name = "Android Perf-Logger Library", libraryName = "precompiled-perf-logger"), + androidDependency(name = "Android Perflib Library", libraryName = "precompiled-perflib"), + androidDependency(name = "Android Pixelprobe Library", libraryName = "precompiled-pixelprobe"), + androidDependency(name = "Android Profiler", libraryName = "studio-grpc"), + androidDependency(name = "Android Repository", libraryName = "precompiled-repository"), + androidDependency(name = "Android Resource Repository", libraryName = "precompiled-resource-repository"), + androidDependency(name = "Android Sdk Common", libraryName = "precompiled-sdk-common"), + androidDependency(name = "Android Sdk Lib", libraryName = "precompiled-sdklib"), + androidDependency(name = "Android STracer", libraryName = "precompiled-tracer"), + androidDependency(name = "Android USB Devices", libraryName = "precompiled-usb-devices"), + androidDependency(name = "Android Wizard Template", libraryName = "precompiled-wizardTemplate.impl"), + androidDependency(name = "Android Wizard Template Plugin", libraryName = "precompiled-wizardTemplate.plugin"), + androidDependency(name = "Android Zipflinger", libraryName = "precompiled-zipflinger"), LibraryLicense(name = "AndroidX Compose Compiler (Hosted)", libraryName = "compiler-hosted-1.1.0-SNAPSHOT.jar", version = "1.1.0-SNAPSHOT", - url = "https://source.android.com/").apache(), - LibraryLicense(name = "AndroidX Test Library", libraryName = "utp-core-proto", - url = "https://source.android.com/").apache(), + url = "https://source.android.com/").apache("https://source.android.com/setup/start/licenses"), + androidDependency(name = "AndroidX Test Library", libraryName = "utp-core-proto"), // for androidx-test-core-proto module library in intellij.android.core - LibraryLicense(name = "AndroidX Test Library core protos", libraryName = "androidx-test-core-proto", - url = "https://source.android.com/").apache(), + androidDependency(name = "AndroidX Test Library core protos", libraryName = "androidx-test-core-proto"), LibraryLicense(name = "ANTLR 4.5", libraryName = "compilerCommon.antlr.shaded", - url = "https://www.antlr.org", licenseUrl = "https://www.antlr.org/license.html").newBsd(), + url = "https://www.antlr.org").newBsd("https://www.antlr.org/license.html"), LibraryLicense(name = "ANTLR 4.5 Runtime", libraryName = "compilerCommon.antlr_runtime.shaded", - url = "https://www.antlr.org", licenseUrl = "https://www.antlr.org/license.html").newBsd(), + url = "https://www.antlr.org").newBsd("https://www.antlr.org/license.html"), LibraryLicense(name = "ANTLR 4.9 Runtime", libraryName = "antlr4-runtime-4.9", - url = "https://www.antlr.org", licenseUrl = "https://www.antlr.org/license.html").newBsd(), + url = "https://www.antlr.org").newBsd("https://www.antlr.org/license.html"), LibraryLicense(name = "ap-validation", libraryName = "ap-validation", - url = "https://github.com/JetBrains/ap-validation").apache(), - LibraryLicense(name = "Apache Ant", version = "1.9", libraryName = "Ant", url = "https://ant.apache.org/", - licenseUrl = "https://ant.apache.org/license.html").apache(), - LibraryLicense(name = "Apache Axis", libraryName = "axis-1.4", version = "1.4", url = "https://ws.apache.org/axis/").apache(), + url = "https://github.com/JetBrains/ap-validation").apache("https://github.com/JetBrains/ap-validation/blob/master/LICENSE"), + LibraryLicense(name = "Apache Ant", version = "1.9", libraryName = "Ant", url = "https://ant.apache.org/") + .apache("https://ant.apache.org/license.html"), + LibraryLicense(name = "Apache Axis", libraryName = "axis-1.4", version = "1.4", url = "https://axis.apache.org/axis/") + .apache("http://svn.apache.org/viewvc/axis/axis1/java/trunk/LICENSE?view=markup"), LibraryLicense(name = "Apache Commons BeanUtils", libraryName = "commons-beanutils.jar", version = "1.6", - url = "https://commons.apache.org/beanutils/").apache(), + url = "https://commons.apache.org/beanutils/") + .apache("https://gitbox.apache.org/repos/asf?p=commons-beanutils.git;a=blob_plain;f=LICENSE.txt;hb=HEAD"), LibraryLicense(name = "Apache Commons CLI", libraryName = "commons-cli", - url = "https://commons.apache.org/cli/").apache(), - LibraryLicense(name = "Apache Commons Codec", libraryName = "commons-codec", url = "https://commons.apache.org/codec/").apache(), + url = "https://commons.apache.org/cli/").apache("https://gitbox.apache.org/repos/asf?p=commons-cli.git;a=blob_plain;f=LICENSE.txt;hb=HEAD"), + LibraryLicense(name = "Apache Commons Codec", libraryName = "commons-codec", url = "https://commons.apache.org/codec/") + .apache("https://github.com/apache/commons-codec/blob/master/LICENSE.txt"), LibraryLicense(name = "Apache Commons Collections", libraryName = "commons-collections", - url = "https://commons.apache.org/proper/commons-collections/").apache(), + url = "https://commons.apache.org/proper/commons-collections/") + .apache("https://gitbox.apache.org/repos/asf?p=commons-collections.git;a=blob_plain;f=LICENSE.txt;hb=HEAD"), LibraryLicense(name = "Apache Commons Compress", libraryName = "commons-compress", - url = "https://commons.apache.org/proper/commons-compress/").apache(), + url = "https://commons.apache.org/proper/commons-compress/") + .apache("https://gitbox.apache.org/repos/asf?p=commons-compress.git;a=blob_plain;f=LICENSE.txt;hb=HEAD"), LibraryLicense(name = "Apache Commons Discovery", libraryName = "commons-discovery", - url = "https://jakarta.apache.org/commons/discovery/").apache(), + url = "https://jakarta.apache.org/commons/discovery/") + .apache("https://commons.apache.org/dormant/commons-discovery/license.html"), LibraryLicense(name = "Apache Commons HTTPClient", libraryName = "http-client-3.1", version = "3.1  (with patch by JetBrains)", url = "https://hc.apache.org/httpclient-3.x").apache(), LibraryLicense(name = "Apache Commons Imaging (JetBrains's fork)", libraryName = "commons-imaging", - url = "https://github.com/JetBrains/intellij-deps-commons-imaging").apache(), + url = "https://github.com/JetBrains/intellij-deps-commons-imaging") + .apache("https://github.com/JetBrains/intellij-deps-commons-imaging/blob/master/LICENSE.txt"), LibraryLicense(name = "Apache Commons IO", libraryName = "commons-io", - url = "https://commons.apache.org/io/").apache(), + url = "https://commons.apache.org/io/") + .apache("https://gitbox.apache.org/repos/asf?p=commons-io.git;a=blob_plain;f=LICENSE.txt;hb=HEAD"), LibraryLicense(name = "Apache Commons Lang", libraryName = "commons-lang", - url = "https://commons.apache.org/proper/commons-lang/").apache(), + url = "https://commons.apache.org/proper/commons-lang/") + .apache("https://gitbox.apache.org/repos/asf?p=commons-lang.git;a=blob_plain;f=LICENSE.txt;hb=HEAD"), LibraryLicense(name = "Apache Commons Lang", libraryName = "commons-lang3", - url = "https://commons.apache.org/proper/commons-lang/").apache(), + url = "https://commons.apache.org/proper/commons-lang/") + .apache("https://gitbox.apache.org/repos/asf?p=commons-lang.git;a=blob_plain;f=LICENSE.txt;hb=HEAD"), LibraryLicense(name = "Apache Commons Logging", libraryName = "commons-logging", - url = "https://commons.apache.org/logging/").apache(), + url = "https://commons.apache.org/logging/") + .apache("https://gitbox.apache.org/repos/asf?p=commons-logging.git;a=blob_plain;f=LICENSE.txt;hb=HEAD"), LibraryLicense(name = "Apache Commons Net", libraryName = "commons-net", - url = "https://commons.apache.org/net/").apache(), + url = "https://commons.apache.org/net/") + .apache("https://gitbox.apache.org/repos/asf?p=commons-net.git;a=blob_plain;f=LICENSE.txt;hb=HEAD"), LibraryLicense(name = "Apache Commons Text", libraryName = "org.apache.commons:commons-text:1.8", - url = "https://github.com/apache/commons-text").apache(), - LibraryLicense(name = "Apache Ivy", libraryName = "org.apache.ivy", url = "https://github.com/apache/ant-ivy").apache(), + url = "https://github.com/apache/commons-text") + .apache("https://github.com/apache/commons-text/blob/master/LICENSE.txt"), + LibraryLicense(name = "Apache Ivy", libraryName = "org.apache.ivy", url = "https://github.com/apache/ant-ivy") + .apache("https://github.com/apache/ant-ivy/blob/master/LICENSE"), LibraryLicense(name = "Apache Lucene", libraryName = "lucene-core", url = "https://lucene.apache.org/java", additionalLibraryNames = listOf( @@ -213,36 +171,45 @@ object CommunityLibraryLicenses { "org.apache.lucene:lucene-core:2.4.1" )).apache(), LibraryLicense(name = "Apache Tuweni-Toml", libraryName = "tuweni-toml", - url = "https://github.com/apache/incubator-tuweni/tree/main/toml").apache(), + url = "https://github.com/apache/incubator-tuweni/tree/main/toml") + .apache("https://github.com/apache/incubator-tuweni/blob/main/LICENSE"), LibraryLicense(name = "ASM (JetBrains's fork)", libraryName = "ASM", url = "https://github.com/JetBrains/intellij-deps-asm", - licenseUrl = "https://github.com/JetBrains/intellij-deps-asm/blob/master/LICENSE.txt", - additionalLibraryNames = listOf("asm-capture")).newBsd(), - LibraryLicense(name = "ASM Tools", libraryName = "asm-tools", url = "https://asm.ow2.io", - licenseUrl = "https://asm.ow2.io/license.html").newBsd(), + additionalLibraryNames = listOf("asm-capture")) + .newBsd("https://github.com/JetBrains/intellij-deps-asm/blob/master/LICENSE.txt"), + LibraryLicense(name = "ASM Tools", libraryName = "asm-tools", url = "https://asm.ow2.io", ) + .newBsd("https://asm.ow2.io/license.html"), LibraryLicense(name = "AssertJ fluent assertions", libraryName = "assertJ", - url = "https://joel-costigliola.github.io/assertj/").apache(), + url = "https://github.com/assertj/assertj-core") + .apache("https://github.com/assertj/assertj-core/blob/main/LICENSE.txt"), LibraryLicense(name = "AssertJ Swing", libraryName = "assertj-swing", - url = "https://github.com/assertj/assertj-swing").apache(), - LibraryLicense(name = "Automaton", libraryName = "automaton", url = "https://www.brics.dk/automaton/").simplifiedBsd(), - LibraryLicense(name = "batik", libraryName = "batik-transcoder", url = "https://xmlgraphics.apache.org/batik/").apache(), - LibraryLicense(name = "batik", libraryName = "batik-codec", url = "https://xmlgraphics.apache.org/batik/").apache(), + url = "https://github.com/assertj/assertj-swing") + .apache("https://github.com/assertj/assertj-swing/blob/main/licence-header.txt"), + LibraryLicense(name = "Automaton", libraryName = "automaton", url = "https://www.brics.dk/automaton/") + .simplifiedBsd("https://github.com/cs-au-dk/dk.brics.automaton/blob/master/COPYING"), + LibraryLicense(name = "batik", libraryName = "batik-transcoder", url = "https://xmlgraphics.apache.org/batik/") + .apache("https://xmlgraphics.apache.org/batik/license.html"), + LibraryLicense(name = "batik", libraryName = "batik-codec", url = "https://xmlgraphics.apache.org/batik/") + .apache("https://xmlgraphics.apache.org/batik/license.html"), LibraryLicense(libraryName = "blockmap", - url = "https://github.com/JetBrains/plugin-blockmap-patches").apache(), - LibraryLicense(libraryName = "bouncy-castle-provider", url = "https://bouncycastle.org", - licenseUrl = "https://bouncycastle.org/licence.html").mit(), + url = "https://github.com/JetBrains/plugin-blockmap-patches") + .apache("https://github.com/JetBrains/plugin-blockmap-patches/blob/master/LICENSE"), + LibraryLicense(libraryName = "bouncy-castle-provider", url = "https://bouncycastle.org") + .mit("https://bouncycastle.org/licence.html"), LibraryLicense(name = "Byte Buddy agent", libraryName = "byte-buddy-agent", - url = "https://github.com/raphw/byte-buddy").apache(), + url = "https://github.com/raphw/byte-buddy") + .apache("https://github.com/raphw/byte-buddy/blob/master/LICENSE"), LibraryLicense(name = "caffeine", libraryName = "caffeine", - url = "https://github.com/ben-manes/caffeine", - licenseUrl = "https://github.com/ben-manes/caffeine/blob/master/LICENSE").apache(), - LibraryLicense(name = "CGLib", libraryName = "CGLIB", url = "https://cglib.sourceforge.net/").apache(), + url = "https://github.com/ben-manes/caffeine") + .apache("https://github.com/ben-manes/caffeine/blob/master/LICENSE"), + LibraryLicense(name = "CGLib", libraryName = "CGLIB", url = "https://github.com/cglib/cglib/") + .apache("https://github.com/cglib/cglib/blob/master/LICENSE"), LibraryLicense(name = "classgraph", libraryName = "classgraph", - url = "https://github.com/classgraph/classgraph", - licenseUrl = "https://github.com/codehaus/classworlds/blob/master/classworlds/LICENSE.txt").mit(), + url = "https://github.com/classgraph/classgraph") + .mit("https://github.com/codehaus/classworlds/blob/master/classworlds/LICENSE.txt"), LibraryLicense(name = "classworlds", libraryName = "Maven", transitiveDependency = true, version = "1.1", license = "codehaus", - url = "https://github.com/codehaus/classworlds", - licenseUrl = "https://github.com/codehaus/classworlds/blob/master/classworlds/LICENSE.txt"), + url = "https://github.com/codehaus/classworlds") + .mit("https://github.com/codehaus/classworlds/blob/master/classworlds/LICENSE.txt"), LibraryLicense(name = "Common Annotations for the JavaTM Platform API", libraryName = "javax.annotation-api", url = "https://github.com/javaee/javax.annotation", license = "CDDL 1.1 / GPL 2.0 + Classpath", licenseUrl = "https://oss.oracle.com/licenses/CDDL+GPL-1.1"), @@ -251,25 +218,32 @@ object CommunityLibraryLicenses { url = "https://source.android.com/").apache(), // For ADB wireless QR Code generation LibraryLicense(name = "Core barcode encoding/decoding library", url = "https://github.com/zxing/zxing/tree/master/core", - libraryName = "zxing-core").apache(), + libraryName = "zxing-core").apache("https://github.com/zxing/zxing/blob/master/LICENSE"), LibraryLicense(name = "coverage-report", libraryName = "coverage-report", - url = "https://github.com/JetBrains/coverage-report").apache(), + url = "https://github.com/JetBrains/coverage-report") + .apache("https://github.com/JetBrains/coverage-report/blob/master/LICENSE"), LibraryLicense(name = "coverage.py", attachedTo = "intellij.python", version = "4.2.0", - url = "https://coverage.readthedocs.io/", - licenseUrl = "https://github.com/nedbat/coveragepy/blob/master/LICENSE.txt").apache(), - LibraryLicense(name = "Cucumber-Core", libraryName = "cucumber-core-1.2", url = "https://github.com/cucumber/cucumber-jvm/").mit(), + url = "https://coverage.readthedocs.io/") + .apache("https://github.com/nedbat/coveragepy/blob/master/LICENSE.txt"), + LibraryLicense(name = "Cucumber-Core", libraryName = "cucumber-core-1.2", + url = "https://github.com/cucumber/cucumber-jvm/tree/main/core") + .mit("https://github.com/cucumber/cucumber-jvm/blob/main/LICENCE"), LibraryLicense(name = "Cucumber-Expressions", libraryName = "cucumber-expressions", - url = "https://github.com/cucumber/cucumber/").mit(), - LibraryLicense(name = "Cucumber-Groovy", libraryName = "cucumber-groovy", url = "https://github.com/cucumber/cucumber-jvm/").mit(), - LibraryLicense(name = "Cucumber-Java", libraryName = "cucumber-java", url = "https://github.com/cucumber/cucumber-jvm/").mit(), + url = "https://github.com/cucumber/cucumber/") + .mit("https://github.com/cucumber/cucumber-jvm/blob/main/LICENCE"), + LibraryLicense(name = "Cucumber-Groovy", libraryName = "cucumber-groovy", url = "https://github.com/cucumber/cucumber-jvm/") + .mit("https://github.com/cucumber/cucumber-jvm/blob/main/LICENCE"), + LibraryLicense(name = "Cucumber-Java", libraryName = "cucumber-java", url = "https://github.com/cucumber/cucumber-jvm/") + .mit("https://github.com/cucumber/cucumber-jvm/blob/main/LICENCE"), LibraryLicense(name = "Dart Analysis Server", attachedTo = "intellij.dart", url = "https://github.com/dart-lang/eclipse3", version = LibraryLicense.CUSTOM_REVISION).eplV1(), LibraryLicense(name = "Dart VM Service drivers", attachedTo = "intellij.dart", - licenseUrl = "https://github.com/dart-lang/vm_service_drivers/blob/master/LICENSE", url = "https://github.com/dart-lang/vm_service_drivers", - version = LibraryLicense.CUSTOM_REVISION).newBsd(), + version = LibraryLicense.CUSTOM_REVISION) + .newBsd("https://github.com/dart-lang/vm_service_drivers/blob/master/LICENSE"), LibraryLicense(name = "dbus-java", libraryName = "dbus-java", license = "LGPL", - url = "https://mvnrepository.com/artifact/com.github.hypfvieh/dbus-java"), + url = "https://github.com/hypfvieh/dbus-java", + licenseUrl = "https://github.com/hypfvieh/dbus-java/blob/dbus-java-3.0/LICENSE"), LibraryLicense(name = "DecentXML", libraryName = "decentxml", url = "https://code.google.com/p/decentxml").newBsd(), LibraryLicense(name = "docutils", attachedTo = "intellij.python", version = "0.12", license = "BSD", @@ -278,44 +252,49 @@ object CommunityLibraryLicenses { url = "https://www.eclipse.org/jdt/core/index.php"), LibraryLicense(name = "Eclipse Layout Kernel", url = "https://www.eclipse.org/elk/", libraryName = "eclipse-layout-kernel").eplV1(), LibraryLicense(name = "EditorConfig Java Core", libraryName = "editorconfig-core-java.jar", version = "1.0", - url = "https://github.com/editorconfig/editorconfig-core-java/", - licenseUrl = "https://github.com/editorconfig/editorconfig-core-java/blob/master/LICENSE").apache(), + url = "https://github.com/editorconfig/editorconfig-core-java/") + .apache("https://github.com/editorconfig/editorconfig-core-java/blob/master/LICENSE"), LibraryLicense(name = "emoji-java", libraryName = "com.vdurmont:emoji-java", - url = "https://github.com/vdurmont/emoji-java").mit(), + url = "https://github.com/vdurmont/emoji-java") + .mit("https://github.com/vdurmont/emoji-java/blob/master/LICENSE.md"), LibraryLicense(name = "entities", url = "https://github.com/fb55/entities", attachedTo = "intellij.vuejs", - licenseUrl = "https://github.com/fb55/entities/blob/master/LICENSE", - version = LibraryLicense.CUSTOM_REVISION).simplifiedBsd(), + version = LibraryLicense.CUSTOM_REVISION) + .simplifiedBsd("https://github.com/fb55/entities/blob/master/LICENSE"), LibraryLicense(name = "epydoc", attachedTo = "intellij.python", version = "3.0.1", url = "https://epydoc.sourceforge.net/").mit(), LibraryLicense(name = "error-prone-annotations", libraryName = "error-prone-annotations", - url = "https://github.com/google/error-prone", - licenseUrl = "https://github.com/google/error-prone/blob/master/COPYING").apache(), + url = "https://github.com/google/error-prone") + .apache("https://github.com/google/error-prone/blob/master/COPYING"), LibraryLicense(name = "fastutil", libraryName = "fastutil-min", - url = "https://github.com/vigna/fastutil", - licenseUrl = "https://github.com/vigna/fastutil/blob/master/LICENSE-2.0").apache(), + url = "https://github.com/vigna/fastutil") + .apache("https://github.com/vigna/fastutil/blob/master/LICENSE-2.0"), LibraryLicense(name = "FiraCode", attachedTo = "intellij.platform.resources", version = "1.206", license = "OFL", url = "https://github.com/tonsky/FiraCode", licenseUrl = "https://github.com/tonsky/FiraCode/blob/master/LICENSE"), // for flatbuffers-java module library in android.sdktools.mlkit-common LibraryLicense(name = "FlatBuffers Java API", libraryName = "flatbuffers-java", - url = "https://google.github.io/flatbuffers/").apache(), + url = "https://google.github.io/flatbuffers/") + .apache("https://github.com/google/flatbuffers/blob/master/LICENSE.txt"), LibraryLicense(name = "FreeMarker", attachedTo = "intellij.java.coverage", version = "2.3.30", - url = "https://freemarker.apache.org", licenseUrl = "https://freemarker.apache.org/docs/app_license.html").apache(), + url = "https://freemarker.apache.org") + .apache("https://freemarker.apache.org/docs/app_license.html"), LibraryLicense(name = "gauge-java", libraryName = "com.thoughtworks.gauge:gauge-java", - url = "https://github.com/getgauge/gauge-java/", - licenseUrl = "https://raw.githubusercontent.com/getgauge/gauge-java/master/LICENSE.txt").apache(), + url = "https://github.com/getgauge/gauge-java/") + .apache("https://raw.githubusercontent.com/getgauge/gauge-java/master/LICENSE.txt"), LibraryLicense(name = "Gherkin", libraryName = "gherkin", - licenseUrl = "https://github.com/cucumber/cucumber/blob/master/gherkin/LICENSE", - url = "https://github.com/cucumber/cucumber/tree/master/gherkin").mit(), + url = "https://github.com/cucumber/cucumber/tree/master/gherkin") + .mit("https://github.com/cucumber/cucumber/blob/master/gherkin/LICENSE"), LibraryLicense(name = "Gherkin keywords", attachedTo = "intellij.gherkin", version = "2.12.2", - licenseUrl = "https://github.com/cucumber/cucumber/blob/master/gherkin/LICENSE", - url = "https://github.com/cucumber/cucumber/tree/master/gherkin").mit(), + url = "https://github.com/cucumber/cucumber/tree/master/gherkin") + .mit("https://github.com/cucumber/cucumber/blob/master/gherkin/LICENSE"), LibraryLicense(name = "Google Auto Common Utilities", libraryName = "auto-common", - url = "https://github.com/google/auto/tree/master/common").apache(), + url = "https://github.com/google/auto/tree/master/common") + .apache("https://github.com/google/auto/blob/master/LICENSE"), LibraryLicense(name = "Google Drive API V3", libraryName = "google.apis.api.services.drive", - url = "https://github.com/googleapis/google-api-java-client-services/tree/master/clients/google-api-services-drive/v3", - licenseUrl = "https://github.com/googleapis/google-api-java-client-services/blob/master/LICENSE").apache(), - LibraryLicense(libraryName = "Gradle", url = "https://gradle.org/", licenseUrl = "https://gradle.org/license").apache(), + url = "https://github.com/googleapis/google-api-java-client-services/tree/master/clients/google-api-services-drive/v3") + .apache("https://github.com/googleapis/google-api-java-client-services/blob/master/LICENSE"), + LibraryLicense(libraryName = "Gradle", url = "https://gradle.org/", licenseUrl = "https://gradle.org/license") + .apache("https://github.com/gradle/gradle/blob/master/LICENSE"), LibraryLicense(name = "Grazie AI", libraryName = "ai.grazie.spell.gec.local.engine", url = "https://packages.jetbrains.team/maven/p/grazi/grazie-platform-public/", additionalLibraryNames = listOf("ai.grazie.nlp.patterns", @@ -877,4 +856,8 @@ object CommunityLibraryLicenses { jetbrainsLibrary("tips-idea-ce"), jetbrainsLibrary("tips-pycharm-community"), ) + + private fun androidDependency(name: String, libraryName: String = name) = + LibraryLicense(name = name, libraryName = libraryName, + url = "https://source.android.com/").apache("https://source.android.com/setup/start/licenses") } diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/LibraryLicense.kt b/platform/build-scripts/groovy/org/jetbrains/intellij/build/LibraryLicense.kt index e59d1614b184..7ede84e8784f 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/LibraryLicense.kt +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/LibraryLicense.kt @@ -97,6 +97,7 @@ data class LibraryLicense( fun getLibraryLicenseUrl(): String? = licenseUrl ?: PREDEFINED_LICENSE_URLS.get(license) + @Deprecated("Please specify exact URL for the Apache license, pointing to the repo of the dependency") fun apache(): LibraryLicense { require(license == null) { "No need to specify 'license' for Apache 2.0" } require(licenseUrl?.contains("apache.org/licenses") != true) { "No need to specify default 'licenseUrl' for Apache 2.0" } @@ -106,6 +107,15 @@ data class LibraryLicense( ) } + fun apache(licenseUrl: String): LibraryLicense { + require(license == null) { "No need to specify 'license' for Apache 2.0" } + return copy( + license = "Apache 2.0", + licenseUrl = licenseUrl + ) + } + + @Deprecated("Please specify exact URL for the BSD license, pointing to the repo of the dependency") fun simplifiedBsd(): LibraryLicense { require(license == null) { "No need to specify 'license' for Simplified BSD" } require(licenseUrl?.contains("opensource.org/licenses") != true) { "No need to specify default 'licenseUrl' for Simplified BSD" } @@ -115,6 +125,14 @@ data class LibraryLicense( ) } + fun simplifiedBsd(licenseUrl: String): LibraryLicense { + require(license == null) { "No need to specify 'license' for Simplified BSD" } + return copy( + license = "BSD 2-Clause", + licenseUrl = licenseUrl + ) + } + @Deprecated("Please specify exact URL for the BSD license, pointing to the repo or Web site of the dependency") fun newBsd(): LibraryLicense { require(license == null) { "No need to specify 'license' for New BSD" } require(licenseUrl?.contains("opensource.org/licenses") != true) { "No need to specify default 'licenseUrl' for New BSD" } @@ -124,6 +142,15 @@ data class LibraryLicense( ) } + fun newBsd(licenseUrl: String): LibraryLicense { + require(license == null) { "No need to specify 'license' for New BSD" } + return copy( + license = "BSD 3-Clause", + licenseUrl = licenseUrl + ) + } + + @Deprecated("Please specify exact URL for the MIT license, pointing to the repo or Web site of the dependency") fun mit(): LibraryLicense { require(license == null) { "No need to specify 'license' for MIT" } require(licenseUrl?.contains("opensource.org/licenses") != true) { "No need to specify default 'licenseUrl' for MIT" } @@ -133,8 +160,25 @@ data class LibraryLicense( ) } + fun mit(licenseUrl: String): LibraryLicense { + require(license == null) { "No need to specify 'license' for MIT" } + return copy( + license = "MIT", + licenseUrl = licenseUrl + ) + } + fun eplV1(): LibraryLicense = epl(1) fun eplV2(): LibraryLicense = epl(2) + fun eplV2(licenseUrl: String): LibraryLicense = epl(licenseUrl, 2) + + private fun epl(licenseUrl: String, v: Int): LibraryLicense { + require(license == null) { "No need to specify 'license' for EPL" } + return copy( + license = "Eclipse Public License ${v}.0", + licenseUrl = licenseUrl + ) + } private fun epl(v: Int): LibraryLicense { require(v == 1 || v == 2) { "Version must be either 1 or 2 for Eclipse Public License" }