【问题标题】:Where are the files I need to include in my project in order to write a custom gradle task?为了编写自定义 gradle 任务,我需要在项目中包含哪些文件?
【发布时间】:2017-12-14 17:47:04
【问题描述】:

我想为我的 Android Studio 项目编写一个自定义的 gradle 任务,所以我需要将 gradle 任务类放到我的类路径中,这样我就可以扩展 Task。包含这些类的文件在哪里?

【问题讨论】:

    标签: android android-studio gradle groovy android-gradle-plugin


    【解决方案1】:

    在 Windows 上,我在这里找到了 gradle 类的 Java src 文件:

    C:\Users/用户名/.gradle/wrapper/dists/gradle-3.4.1-all/some_hash_or_something/gradle-3.4.1/src/core /org/gradle/api

    【讨论】:

    • 为什么需要源文件来开发自定义任务类型?
    • 不一定需要源文件 - jar 也可以
    • 如果您想在 Gradle 项目中使用 Gradle API,只需将 compile gradleApi()compile localGroovy() 添加到您的项目依赖项中即可。
    • 谢谢!但就我而言,它不是 Gradle 项目,而是现有的 eclipse java 项目。我只是想对它做一些小的改动,这样我就可以将它用作一流的 gradle 任务,而不是通过不太漂亮的 JavaExec。
    【解决方案2】:

    正如我在评论中所述,您可以使用两个依赖项 gradleApi()localGroovy() 将 Gradle API 添加到您的 Gradle 项目中。

    但是,您可以使用这个简单的 Gradle build.gradle 文件来获取 Gradle API JAR 文件并将它们导入到您的非 Gradle Java 项目中:

    apply plugin: 'java'
    
    dependencies {
        compile gradleApi()
        compile localGroovy()
    }
    
    copy {
        from configurations.compile
        into 'gradleApi'
    }
    

    只需调用 gradle(不需要任务名称),您就可以在名为 gradleApi 的子文件夹中找到 JAR。

    如果您确实需要更改 Gradle 源文件(我确定您不需要),只需在 GitHub 上 fork 项目即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      相关资源
      最近更新 更多