jeremymailen / kotlinter-gradle

Painless, fast ktlint plugin for Gradle

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Crash when running `lintKotlin` with specific `ktlint_disabled_rules` enabled

arctouch-douglasfornaro opened this issue · comments

Hello!

This is my .editorconfig file:

[*.{kt, kts}]
insert_final_newline = true
max_line_length = 120

ktlint_disabled_rules = import-ordering, trailing-comma-on-declaration-site, trailing-comma-on-call-site, annotation-spacing, argument-list-wrapping

[**/test/**.{kt, kts}]
max_line_length = off
ktlint_ignore_back_ticked_identifier = true

[/shared-config/**.{kt, kts}]
ktlint_disabled_rules = import-ordering, comma-spacing, indent, parameter-list-wrapping, final-newline, final-newline, wrapping, argument-list-wrapping, package-name
max_line_length = off
insert_final_newline = false

# don't use wildcard for Java/Kotlin imports
[*.{java, kt}]
ij_kotlin_name_count_to_use_star_import = 999
ij_kotlin_name_count_to_use_star_import_for_members = 999

When using both trailing-comma-on-declaration-site and trailing-comma-on-call-site it's crashing when executing ./gradlew lintKotlin command.

When running one or another it's working (not crashing and complaining about this in the codebase).

I'm using the 3.12.0 version.

This is the crash log:


> Task :local:ormlite:lintKotlinTest FAILED
lint worker execution error
com.pinterest.ktlint.core.ParseException: 76:1 Expecting an expression
        at com.pinterest.ktlint.core.internal.PreparedCodeKt.prepareCodeForLinting(PreparedCode.kt:40)
        at com.pinterest.ktlint.core.KtLint.lint(KtLint.kt:170)
        at org.jmailen.gradle.kotlinter.tasks.lint.LintWorkerAction.lint(LintWorkerAction.kt:83)
        at org.jmailen.gradle.kotlinter.tasks.lint.LintWorkerAction.lintKt(LintWorkerAction.kt:77)
        at org.jmailen.gradle.kotlinter.tasks.lint.LintWorkerAction.access$lintKt(LintWorkerAction.kt:23)
        at org.jmailen.gradle.kotlinter.tasks.lint.LintWorkerAction$execute$2$lintFunc$1.invoke(LintWorkerAction.kt:48)
        at org.jmailen.gradle.kotlinter.tasks.lint.LintWorkerAction$execute$2$lintFunc$1.invoke(LintWorkerAction.kt:23)
        at org.jmailen.gradle.kotlinter.tasks.lint.LintWorkerAction.execute(LintWorkerAction.kt:55)
        at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
        at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
        at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
        at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:97)
        at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
        at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
        at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
        at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
        at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:205)
        at java.base@11.0.13/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:187)
        at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:120)
        at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:162)
        at org.gradle.internal.Factories$1.create(Factories.java:31)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:270)
        at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:119)
        at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:124)
        at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:157)
        at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:126)
        at java.base@11.0.13/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base@11.0.13/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
        at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

> Task :remote:lintKotlinTest FAILED
lint worker execution error
com.pinterest.ktlint.core.ParseException: 41:1 Expecting an expression
        at com.pinterest.ktlint.core.internal.PreparedCodeKt.prepareCodeForLinting(PreparedCode.kt:40)
        at com.pinterest.ktlint.core.KtLint.lint(KtLint.kt:170)
        at org.jmailen.gradle.kotlinter.tasks.lint.LintWorkerAction.lint(LintWorkerAction.kt:83)
        at org.jmailen.gradle.kotlinter.tasks.lint.LintWorkerAction.lintKt(LintWorkerAction.kt:77)
        at org.jmailen.gradle.kotlinter.tasks.lint.LintWorkerAction.access$lintKt(LintWorkerAction.kt:23)
        at org.jmailen.gradle.kotlinter.tasks.lint.LintWorkerAction$execute$2$lintFunc$1.invoke(LintWorkerAction.kt:48)
        at org.jmailen.gradle.kotlinter.tasks.lint.LintWorkerAction$execute$2$lintFunc$1.invoke(LintWorkerAction.kt:23)
        at org.jmailen.gradle.kotlinter.tasks.lint.LintWorkerAction.execute(LintWorkerAction.kt:55)
        at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
        at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
        at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
        at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:97)
        at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
        at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
        at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
        at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
        at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
        at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:205)
        at java.base@11.0.13/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:187)
        at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:120)
        at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:162)
        at org.gradle.internal.Factories$1.create(Factories.java:31)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:270)
        at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:119)
        at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:124)
        at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:157)
        at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:126)
        at java.base@11.0.13/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base@11.0.13/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
        at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base@11.0.13/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base@11.0.13/java.lang.Thread.run(Thread.java:829)

Am I missing something? Can someone help?

Hey 👋 Does your code compile? If you run a ./gradlew :local:ormlite:compileTest - does it succeed?
If it does - can you run ./gradlew buildEnvironment and double-check your build resolves proper ktlint version 0.47.1? You should see something like:

+--- org.jmailen.kotlinter:org.jmailen.kotlinter.gradle.plugin:3.12.0
|    \--- org.jmailen.gradle:kotlinter-gradle:3.12.0
|         +--- com.pinterest.ktlint:ktlint-core:0.47.1

edit: I was too slow 😅 It seems like solved the issue already 🎉

Yeah, that's the issue! A wrong merge caused tests to stop compiling, now it's working! Thanks for the answer!