Intellij idea 如何使用gradle包装器、init脚本、多项目和best with idea

Intellij idea 如何使用gradle包装器、init脚本、多项目和best with idea,intellij-idea,gradle,build.gradle,gradlew,Intellij Idea,Gradle,Build.gradle,Gradlew,总结组件和环境: 多项目,通常每个gradle项目都单独在一个单独的git中 您不想使用子模块 在单独的配置/超级存储库中 使用 对于GUI人员:IntelliJ IDEa with-> 允许使用-> 所以 问:如何使用这些组件。如何定义在单个存储库的包装器中使用的初始化脚本而不影响其他存储库。 我知道: init脚本通常位于“GRADLE_HOME”目录中 可以通过-I为每个控制台定义初始化脚本 (是的,我阅读了文档您可以执行以下操作: 使用init脚本中定义的公共设置创建自定义渐变

总结组件和环境:

  • 多项目,通常每个gradle项目都单独在一个单独的git中
    • 您不想使用子模块
  • 在单独的配置/超级存储库中
  • 使用
  • 对于GUI人员:IntelliJ IDEa with->
  • 允许使用->
所以

问:如何使用这些组件。如何定义在单个存储库的包装器中使用的初始化脚本而不影响其他存储库。

我知道:

  • init脚本通常位于“GRADLE_HOME”目录中
  • 可以通过
    -I

    为每个控制台定义初始化脚本
    (是的,我阅读了文档您可以执行以下操作:

  • 使用init脚本中定义的公共设置创建自定义渐变分布
  • 通过gradle/wrapper/gradle-wrapper.properties中的distributionUrl键配置项目以使用该分发
  • 使用从命令行/通常导入到intellij的常规渐变构建-它可以正常工作
  • 顺便说一句,有一种简化自定义渐变分布构造的方法

    您可以根据需要使用--

    其中
    buildSrc/build.gradle
    在项目的配置阶段之前生效

    您应该知道,有一个不同的范围,即
    buildSrc/build。gradle
    allprojects
    的范围是
    buildSrc
    下的任何项目,而不是您的普通项目。 更一般地说:
    buildSrc/build.gradle
    类似于您通常在中的
    buildscript
    或任务声明中执行的操作,您可以编写干净的,而无需将其发布为插件

    ⚠️ 限制:

  • 你不能关心插件解析-因此你必须进入你的项目
    设置。gradle
  • 您不能更改项目的依赖关系管理-您仍然必须在项目的buildSrc中执行此操作
  • 对于这两个你都可以看到

  • 你仍然需要在你的项目中应用(甚至是self
    buildSrc
    homed)插件(如果你问我,这是件好事,因为它更容易看到/清楚发生了什么)
  • 如果不使用git子模块等,您无法将其与第二个存储库共享

  • 不幸的是,这似乎是最好的选择-然而,这不是那么实际,因为事实上,你有一个额外的资产来维护,加上事实上,代码通常不在同一个存储库中。无论如何:感谢插件提示!嗯,计算机科学中的所有问题都可以通过另一个抽象级别来解决,除了抽象层太多的问题:)我不太理解你对不同存储库的担忧——你将自定义gradle dist发布到一个共享位置,并从gradle-wrapper.properties指向所有项目中的它。我的观点是:开发12factor应用程序包括所有属于运行和部署此项目的代码都在同一存储库中,以便可以从中复制随时抓挠。。。是的,这里越来越深奥;)