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

编写Gradle插件时的Gradle Api源和文档

居乐池
2023-03-14

如何获得集成到Eclipse项目中的gradle-api代码的源代码和Javadoc/GroovyDoc?

我正在使用Gradle构建一个我正在编写的Gradle-插件。我使用Eclipse作为这个项目的IDE,我构建这个插件的Gradle脚本使用'Eclipse'插件来生成我的Eclipse项目。此外,我正在使用Spring的用于Eclipse的Gradle插件,它从build.Gradle文件中获取所有依赖项。

此Gradle脚本的dependencies块具有

dependencies {
    compile localGroovy()
    compile gradleApi()
    // I want something like: 'compile gradleApiSources()' here
    // I want something like: 'compile gradleApiDoc()' here as well
}

当我正在学习编写Gradle插件时,如果能够看到Gradle的文档甚至实现,以帮助我了解我在做什么,那将是很有帮助的。

共有1个答案

丌官积厚
2023-03-14

这对我在Eclipse中起作用:

plugins.withType(EclipsePlugin) {
    plugins.withType(JavaBasePlugin) {
        eclipse {
            classpath {
                file {
                    whenMerged { classpath ->
                        String gradleHome = gradle.getGradleHomeDir()
                            .absolutePath
                            .replace(File.separator, '/')
                        String gradleSourceDirectory = "${gradleHome}/src"
                        classpath.entries.each { entry ->
                            if (entry in org.gradle.plugins.ide.eclipse.model.AbstractLibrary
                                    && entry.library.path.contains('generated-gradle-jars')) {
                                entry.sourcePath =
                                    new org.gradle.plugins.ide.eclipse.model.internal.FileReferenceFactory()
                                        .fromPath(gradleSourceDirectory)
                            }
                        }
                    }
                }
            }
        }
    }
}

确保您的Gradle主页包含源目录。如果使用包装,则可以通过将包装任务中的DistributionURL更新为-all版本来完成。

您还需要停止正在运行的Gradle守护进程,否则它们将保留自己的“家”:./gradlew--stop,然后您可以继续运行任务:./gradlew eclipse

参见GRADLE-2133(本答案改编自该版本)

 类似资料:
  • 我是新的gradle和想使用gradle android插件的口味,构建类型和自定义源集。使用flavors和buildtypes构建works find。不幸的是,我有一个遗留的项目目录结构,所以我必须为buildTypes定制res目录。 buildtype的附加资源(基本上是一些字符串配置值)似乎不会合并到构建中,也不会替换主树中的资源键。 以前有人问过这个问题,我知道有Gradle pro

  • Dism++通过插件信息文件获取插件的信息,插件信息文件必须命名为Info.xml且放在插件目录下 虽然你也可以通过IDismPluginInfo来实现这个功能;但是并不推荐这么做(这是一个过时的方案;只有青蛙插件在用) 插件信息文件格式 <?xml version="1.0" encoding="utf-8"?> <Data> <Plugin> <Name>插件名称</Name>

  • gitbook-plugin-write.md 官网:https://haomo-tech.com 作者:毫末科技 邮箱:hxg@haomo-studio.com

  • 前面几节我们学习了 Gradle 的任务及命令,通过这几节的学习我们已经有了一定的 Gradle 基础,今天我们就来学习一下如何自定义一款 Gradle 插件。我们为什么要自定义 Gradle 插件呢?那当然是为了我们开发方便呀。如果吃力不讨好谁会去做呢。下面我们进入正题。 Gradle 插件主要分为两类:脚本插件和对象插件。下面我们来看下它们的区别。 1. 脚本插件 脚本插件就是我们在.grad

  • 新的Maven项目是在eclipse中创建的。但是Pom.xml显示了一些错误。 “无法计算构建计划:Plugin org.apache.maven。插件:maven resources插件:2.6或其一个依赖项无法解析:未能读取org.apache.maven的工件描述符。插件:maven resources插件:jar:2.6 Plugin org.apache.maven。插件:maven

  • 我试图创建Flutter桌面应用程序,可以访问桌面上的网络摄像头(Windows/Linux)。似乎没有Flutter插件支持桌面摄像头。是否有关于如何在Flutter中为Linux/Windows编写插件的文档或教程?