无法调试gradle插件

时间:2018-03-01 09:13:46

标签: gradle gradle-plugin

我开发了一个Gradle插件。自从gradle的最新升级以来,该插件失败了,我需要调试插件才能找出究竟出了什么问题。但是,我无法调试插件。

我正在做以下事情:

  1. 我设置了以下环境参数:GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"
  2. 我从命令行
  3. 执行运行插件的构建
  4. 我将IntelliJ调试器附加到正在运行的进程。
  5. 然而,当IntelliJ中的ClassNotFoundExceptionorg.gradle.launcher.GradleMain时,会立即失败。

    该插件应该适用于所有gradle版本。该插件本身具有以下gradle相关依赖项:

    <dependency>
        <scope>provided</scope>
        <groupId>org.gradle</groupId>
        <artifactId>gradle-core</artifactId>
        <version>1.12</version>
    </dependency>
    <dependency>
        <scope>provided</scope>
        <groupId>org.gradle</groupId>
        <artifactId>gradle-plugins</artifactId>
        <version>1.12</version>
    </dependency>
    <dependency>
        <scope>provided</scope>
        <groupId>org.gradle</groupId>
        <artifactId>gradle-base-services</artifactId>
        <version>1.12</version>
    </dependency>
    

    我也尝试过添加以下依赖项:

    <dependency>
        <scope>provided</scope>
        <groupId>org.gradle</groupId>
        <artifactId>gradle-wrapper</artifactId>
        <version>4.5.1</version>
    </dependency>
    

    但这并没有任何区别。

    这里的难点在于插件应该与所有 Gradle版本(版本1.12到4.5)一起使用。这就是为什么插件本身在编译时依赖于旧版本的Gradle的原因。在不同版本的Gradle不同的地方,我目前采用反射来实现我在运行时的目标。

    虽然Gradle 1.12属于项目的依赖项,但正在调试的构建使用Gradle 4.5.1。但是,即使我切换正在调试的项目的gradle版本,仍然会出现相同的错误。此外,由于插件在4.5之前的所有版本上都能正常工作,因此即使我能使其工作,这样的调试会话也不会有很多帮助。

    关于如何让调试器调试插件的任何想法?

0 个答案:

没有答案
相关问题