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 平台工件存储库的主要内容,如果未能解决你的问题,请参考以下文章