使用 Gradle 运行 OpenRewrite 配方永远不会完成

问题描述 投票:0回答:1

我正在尝试 OpenRewrite,我想用“删除未使用的导入”配方针对我们的大型多模块 Gradle 项目进行测试。
我选择 init-script 方法,这样我就不必编辑我们的

build.gradle
。我从网站上复制了脚本并将其命名为
unused-imports.gradle

我添加了一个
exclusion
部分来排除我们生成的文件:

initscript {
    repositories {
        maven { url "https://plugins.gradle.org/m2" }
    }
    dependencies { classpath("org.openrewrite:plugin:latest.release") }
}
rootProject {
    plugins.apply(org.openrewrite.gradle.RewritePlugin)
    dependencies {
        rewrite("org.openrewrite:rewrite-java")
    }
    rewrite {
        activeRecipe("org.openrewrite.java.RemoveUnusedImports")
        exportDatatables = true

        exclusion(
            "**/generated/**"
        )
    }
    afterEvaluate {
        if (repositories.isEmpty()) {
            repositories {
                mavenCentral()
            }
        }
    }
}

当我使用命令

wsl ./gradlew --init-script unused-imports.gradle rewriteDryRun
运行它时,它似乎一切正常。我看到我们所有的模块和子模块都被解析,直到大约半小时后我看到这个:

Scanning sources in project :
Using active styles [org.openrewrite.java.Checkstyle]
<============-> 99% EXECUTING [58m 45s]
> IDLE                                                                                                                                                                             
> IDLE
> :rewriteDryRun
> IDLE

一个小时后我终止了命令,因为似乎没有任何进展。

可能出了什么问题?

附加信息:

  1. 我必须使用这些值调整 Gradle 属性,因为一开始它耗尽了堆空间:
    org.gradle.jvmargs=-Xmx25G -XX:+UnlockDiagnosticVMOptions -XX:GCLockerRetryAllocationCount=100
    。 (取自另一个 StackOverflow 线程)
  2. 我也遇到了很多此类错误:
Cause 80: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find some:dependency:.
Required by:
    project :our:module > project :another:module

我尝试修改

repositories
部分,使其反映我们的
build.gradle
部分,但没有什么区别:

afterEvaluate {
        if (repositories.isEmpty()) {
            repositories {
                maven {
                    url = uri('https://our/artifactory/repo')
                }
                mavenCentral()
            }
        }
    }
java gradle openrewrite
1个回答
0
投票

好吧,在我一天的工作结束时,我让它运行,最终它实际上完成了!

BUILD SUCCESSFUL in 6h 7m 51s

看来我必须非常有耐心。

© www.soinside.com 2019 - 2024. All rights reserved.