当前位置: 首页 > 知识库问答 >
问题:

IntelliJ插件:maven、gradle和travis-ci

方奕
2023-03-14

目前,我为插件构建的结构有点混乱:我使用普通的IDEA项目文件在本地构建插件。当我将它推送到repo时,travis-ci正在构建它,它使用mavenpom.xml,因为travis要工作,它总是必须下载完整的想法源。

虽然这样做有效,但这有几个缺点:

  • 我需要保持两个已构建的机制是最新的。这是
    • 当新的IDEA版本发布时(每隔几周发布一次),我需要在maven和我的IDEA设置中更改SDK
    • 添加新库、更改资源等时,我需要为两个设置执行此操作

    我看到Gradle有一个“idea”插件,在谷歌搜索后,我得到的印象是Gradle是这些天的首选。我已经看到了将Gradle支持添加到IntelliJ IDEA中的最佳方法,我确信我可以使用这些方法将我的pom.xml转换为有效的build.Gradle

    然而,也许其他人已经这样做了,或者可以提供更好的方法。我正在寻找的是一个统一的方法来构建我的本地和在Travis-CI上的插件。

    为了编译一个IDEA插件,您需要它的SDK,您可以通过安装IDEA或下载完整的软件包来访问它。在本地,我正在使用SDK的安装。有了Travis,我的maven Build就有了下载tar.gz并提取它的规则。

共有1个答案

宰父衡
2023-03-14

事实证明,特别是对于构建一个IntelliJ插件来说,Gradle似乎有很多优点。这主要归功于Gradle的IntelliJ插件,它使编译插件变得更加容易。使用Gradle,我可以将超过220行的Maven构建转换成几行易于阅读的Gradle代码。主要优点是

  1. 它负责下载和使用正确的IDEA SDK,而您只需指定IDEA版本。
  2. 它可以将您的插件发布到您的Jetbrains存储库中,并使所有用户都可以立即使用
  3. 它修复了plugin.xml中的项目,例如,您可以在gradle.build中使用一个中心版本号,并且它将使plugin.xml保持最新,或者它可以包含更改注释
  4. 它与Travis-CI无缝集成

手动操作。容易多了。

    null

如果一切正常,您可以将build.gradlegradlewgradlew.batgradle-文件夹推送到您的repo中。

对于Travis,您希望使用gradlew脚本进行构建。为此,您需要使其在travis运行中可执行。这里可以找到一个例子。

 类似资料:
  • 我正在通过gradle-intellij-plugin使用IntelliJ SDK编写一个插件。 我还将智能J插件的罐子添加到SDK类路径中 任何想法的原因?如何为这些专家/格拉德的东西引入支持?

  • 我是IntelliJ和Gradle的新手,我有一个Maven项目,有很多依赖项,它自己工作。现在我应该使用该项目中的库,并在Gradle中为IntelliJ创建一个插件。 我尝试了各种方法在IntelliJ模块设置中添加依赖项,这允许我使用所需的类来编写代码并构建代码。然而,当我试图启动插件时,它再也找不到类了。我想我需要在构建中详细说明这些。但我不明白到底是如何做到的,因为我尝试的所有方法都不起

  • 这很令人费解。我有一个使用Gradle构建的多模块多语言JVM项目。我有几个java模块和几个scala模块。scala模块使用ScalaTest作为测试框架。我将Gradle设置为使用scalatest插件运行测试。整个过程在IntelliJ中运行了大约一个月(使用Gradle创意插件)。现在,ScalaTest规范突然不再从IDE运行,出现以下错误: 有人知道发生了什么吗?我不确定自从我第一次

  • 我想使用IntelliJ的交互式调试器。 <罢工> 不幸的是,我无法说服IntelliJ加载和编译插件。然而, 我可以执行并且插件按照预期构建并运行其测试。 具体地说,我正在尝试调试对gradle-js-plugin的本地更改 <罢工> IntelliJ说它找不到 以及 。(我在想也许是因为它们的装填方式,但那只是猜测。) 打开了新创建的项目,并尝试使用步骤0中的ScriptRunner进行调试。

  • 我以一个新的gradle用户的身份创建gradle版本,但我过去曾与maven合作过。 我试图重现maven发布插件的动作: 将分支版本更改为发行号(在svn提交) 如您所见,我正在使用: Nexus OSS作为版本控制库 SVN作为scm Gradle(2.8) 我正试图通过这两个插件实现我的目标: > 将分支版本更改为发行号(在svn提交) 创建标签(位于svn) 将分支版本更改为新快照编号(

  • 我正在尝试使用IntelliJ中新的android gradle插件,但我似乎无法使用新的gradle插件构建我的项目。 [更新]经过一些更多的研究,我发现从另一个SO问题,IntelliJ没有跟上android gradle插件。AS和IntelliJ之间有一些延迟。更多信息可以在这里找到:IntelliJ idea中包含的Android插件版本是什么?在@Scott Barta的回应上。 看起