• IDEA插件开发(14)---IntelliJ 平台工件存储库


    JetBrains 维护公共存储库,其中托管与 IntelliJ 平台相关的工件,例如二进制文件和源代码。这些存储库使插件开发人员更容易访问工件。

    IntelliJ 平台工件存储库是:

    按内部版本号发布发布版本的存储库。

    BRANCH#-EAP-SNAPSHOT、EAP-CANDIDATE-SNAPSHOT、LATEST-EAP-SNAPSHOT和EAP-SNAPSHOT 的快照存储库。

    有关指定这些工件的详细信息,请参阅Maven 坐标部分。

    Releases 和 Snapshots 存储库都有两种类型的内容:

    用于基于 IntelliJ 平台的 IDE(例如 IntelliJ IDEA、CLion、Rider 和 MPS)的跨平台 ZIP 分发的二进制和源代码工件。这些工件不打算直接从插件项目的 Gradle 构建脚本中访问。Gradle IntelliJ 插件将根据插件项目的需要访问它们。

    IntelliJ 平台中各个模块的工件。这些可以从 Gradle 构建脚本下载或直接访问,如下所述。

    第三方依赖
    IntelliJ 平台第三方依赖项的工件托管在单独的intellij-dependencies存储库中。当使用 IntelliJ 平台工件存储库中的单个模块时,应将指向此存储库的链接添加到 Maven POM 或 Gradle 构建脚本。

    不推荐使用的 URL 的用法https://jetbrains.bintray.com/intellij-third-party-dependencies必须https://cache-redirector.jetbrains.com/intellij-dependencies在构建脚本中替换为。

    使用 IntelliJ 平台模块工件
    通过向项目的 Gradle 构建脚本添加信息来使用 IntelliJ 平台模块工件。有关Gradle 支持的更多信息,请参阅 IntelliJ IDEA 帮助文档。

    要设置对模块的依赖关系,需要两种类型的信息:

    为工件指定相应的存储库 URL。

    指定工件的Maven 坐标。

    指定存储库 URL
    需要将所需工件的 URL 添加到 Maven 或 Gradle 脚本中:

    对于发布版本,请使用:
    https://www.jetbrains.com/intellij-repository/releases

    对于 EAP 快照,请使用:
    https://www.jetbrains.com/intellij-repository/snapshots

    对于来自 IntelliJ 平台的单个模块的依赖关系,还可以使用:
    https://cache-redirector.jetbrains.com/intellij-dependencies

    指定工件的 Maven 坐标
    使用 Maven 坐标来描述所需的 IntelliJ 平台模块工件:groupId、artifactId和version。Maven 坐标基于模块的名称。

    模块的groupIdcom.jetbrains.是与模块名称的前两部分连接的前缀。例如,该模块intellij.xml将具有 groupId com.jetbrains.intellij.xml。

    artifactId是模块名称的第二个… n部分,由“-”字符分隔。例如,该模块intellij.xml将具有 artifactId xml。artifactId 名称有一些特殊情况。如果模块名称的第二部分是普通组,如platform、vcs或cloud,则模块名称的第二部分被删除,artifactId 成为模块名称的第三部分… n部分,以“-”字符分隔。以格式表示的模块名称的部分camelCase被划分并在 artifactId 中用作(全部小写)camel-case。

    下表显示了一些示例模块名称及其对应的 groupId 和 artifactId。

    模块名称

    组 ID

    工件 ID

    intellij.java.compiler.antTasks

    com.jetbrains.intellij.java

    java-compiler-ant-tasks

    intellij.java.debugger

    com.jetbrains.intellij.java

    java调试器

    intellij.platform.util

    com.jetbrains.intellij.platform

    实用程序

    intellij.platform.vcs.log

    com.jetbrains.intellij.platform

    vcs日志

    智能弹簧

    com.jetbrains.intellij.spring

    春天

    intellij.xml.impl

    com.jetbrains.intellij.xml

    xml-impl

    可以通过多种方式之一指定工件版本,因为存储库 URL 中的每个工件都有多个可用版本:

    将发布版本指定为MAJOR[.MINOR][.FIX]。例如14, 或14.1, 或14.1.1

    快照版本指定为:

    最近的分支构建的快照被指定为BRANCH-EAP-SNAPSHOT。例如,193-EAP-SNAPSHOT。每个产品的每个分支只有一个这种类型的构建。

    可能生成下一个 EAP/发布版本的分支的快照被指定为BRANCH.BUILD-EAP-CANDIDATE-SNAPSHOT。例如193.4386-EAP-CANDIDATE-SNAPSHOT. 这种类型有多个构建,每个产品的每个分支中的每个构建都有一个。

    产品的最新快照始终指定为LATEST-EAP-SNAPSHOT。每个产品只有一个此类构建,并且始终与产品最新分支的BRANCH-EAP-SNAPSHOT相同。

    分支的快照被指定为BRANCH.BUILD.FIX-EAP-SNAPSHOT。例如,193.4386.10-EAP-SNAPSHOT。每个产品的每个分支都有许多这种类型的构建。

    示例工件规范
    例如,要指定jps-model-serialization模块:

    组 ID =com.jetbrains.intellij.platform

    工件 ID =jps-model-serialization

    分类器=“”

    包装=jar

    IntelliJ 平台中单个模块的 Gradle 示例
    本节介绍了在 Gradle 构建脚本中添加 IntelliJ 平台存储库和模块的示例。jps-model-serialization该示例说明了为模块工件声明工件 URL、Maven 坐标和版本。该示例有两个部分:存储库和依赖项部分。

    存储库部分
    此代码片段使用第一个 URL 选择发布存储库,并使用第二个 URL 选择 IntelliJ 平台依赖项的存储库。需要第二个 URL,因为此示例选择了单个模块。

    科特林
    时髦的
    repositories {
    maven(“https://www.jetbrains.com/intellij-repository/releases”)
    maven(“https://cache-redirector.jetbrains.com/intellij-dependencies”)
    }
    依赖部分
    此代码片段指定所需的模块工件。

    科特林
    时髦的
    dependencies {
    implementation(“com.jetbrains.intellij.platform:jps-model-serialization:182.2949.4”)
    implementation(“com.jetbrains.intellij.platform:jps-model-impl:182.2949.4”)
    }
    笔记:

    工件版本 ( 182.2949.4) 必须在两个语句中匹配。

    在此示例jps-model-serialization中,声明了 API 并jps-model-impl提供了实现,因此两者都是必需的依赖项。

  • 相关阅读:
    从0开始C++(五):友元函数&运算符重载
    二刷算法训练营Day45 | 动态规划(7/17)
    libopenssl 实现私钥加密公钥解密
    js-函数式编程-monad-chain-mcompose-自动解嵌套
    0基础python全栈教程前言,0基础学习python难不难
    【torchvision】torchvision 介绍
    项目——boost搜索引擎
    c++ 沉思录笔记——句柄(第一部分)
    Kotlin协程:线程的桥接与切换
    为什么用户在注册时需要使用邮箱或手机号作为注册名?
  • 原文地址:https://blog.csdn.net/jiangguilong2000/article/details/126061920