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

Posted 流子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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提供了实现,因此两者都是必需的依赖项。

以上是关于IDEA插件开发(14)---IntelliJ 平台工件存储库的主要内容,如果未能解决你的问题,请参考以下文章

开发Intellij Idea插件

IntelliJ IDEA 插件开发视频教程

干货|IntelliJ IDEA插件开发

Java开发必装的IntelliJ IDEA插件

IntelliJ IDEA优秀插件(编程通用)

IntelliJ IDEA 15 安装