Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Uncaught exception in the intellij plugin when switching to a branch that does not have the config.yml #22

Closed
Pasukaru opened this issue Dec 5, 2018 · 1 comment · Fixed by #45
Labels
bug Something isn't working
Milestone

Comments

@Pasukaru
Copy link

Pasukaru commented Dec 5, 2018

I just setup detekt in our project and also installed and enabled the IntelliJ Plugin.
After switching to a branch that was not having the detekt.yml, intellij caught this error from the plugin:

annotator: io.gitlab.arturbosch.detekt.DetektAnnotator@7547cc76 (class io.gitlab.arturbosch.detekt.DetektAnnotator)

com.beust.jcommander.ParameterException: Provided path '<snip-full-path-to-project>/detekt.yml' does not exist!
	at io.gitlab.arturbosch.detekt.cli.ExistingPathConverter.convert(PathConverters.kt:19)
	at io.gitlab.arturbosch.detekt.cli.ExistingPathConverter.convert(PathConverters.kt:15)
	at io.gitlab.arturbosch.detekt.cli.DetektInputPathConverter$convert$2.invoke(PathConverters.kt:35)
	at io.gitlab.arturbosch.detekt.cli.DetektInputPathConverter$convert$2.invoke(PathConverters.kt:30)
	at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:174)
	at kotlin.sequences.SequencesKt___SequencesKt.toCollection(_Sequences.kt:691)
	at kotlin.sequences.SequencesKt___SequencesKt.toMutableList(_Sequences.kt:721)
	at kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:712)
	at io.gitlab.arturbosch.detekt.cli.DetektInputPathConverter$DefaultImpls.convert(PathConverters.kt:36)
	at io.gitlab.arturbosch.detekt.cli.MultipleExistingPathConverter.convert(PathConverters.kt:45)
	at io.gitlab.arturbosch.detekt.cli.ConfigurationsKt.parsePathConfig(Configurations.kt:56)
	at io.gitlab.arturbosch.detekt.cli.ConfigurationsKt.loadConfiguration(Configurations.kt:31)
	at io.gitlab.arturbosch.detekt.DetektAnnotator.processingSettings(DetektAnnotator.kt:94)
	at io.gitlab.arturbosch.detekt.DetektAnnotator.runDetekt(DetektAnnotator.kt:62)
	at io.gitlab.arturbosch.detekt.DetektAnnotator.doAnnotate(DetektAnnotator.kt:51)
	at io.gitlab.arturbosch.detekt.DetektAnnotator.doAnnotate(DetektAnnotator.kt:29)
	at com.intellij.codeInsight.daemon.impl.ExternalToolPass.doAnnotate(ExternalToolPass.java:184)
	at com.intellij.codeInsight.daemon.impl.ExternalToolPass.access$600(ExternalToolPass.java:40)
	at com.intellij.codeInsight.daemon.impl.ExternalToolPass$1.lambda$run$1(ExternalToolPass.java:158)
	at com.intellij.openapi.progress.util.BackgroundTaskUtil.lambda$runUnderDisposeAwareIndicator$10(BackgroundTaskUtil.java:244)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$3(CoreProgressManager.java:180)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:164)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:582)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:87)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:151)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:180)
	at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:264)
	at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:243)
	at com.intellij.codeInsight.daemon.impl.ExternalToolPass$1.run(ExternalToolPass.java:157)
	at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:336)
	at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:326)
	at com.intellij.util.ui.update.MergingUpdateQueue.lambda$flush$1(MergingUpdateQueue.java:276)
	at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:290)
	at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:245)
	at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:232)
	at com.intellij.util.Alarm$Request.runSafely(Alarm.java:356)
	at com.intellij.util.Alarm$Request.run(Alarm.java:343)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:228)
	at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:227)
	at com.intellij.util.concurrency.BoundedTaskExecutor.access$100(BoundedTaskExecutor.java:26)
	at com.intellij.util.concurrency.BoundedTaskExecutor$2$1.run(BoundedTaskExecutor.java:200)
	at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:229)
	at com.intellij.util.concurrency.BoundedTaskExecutor$2.run(BoundedTaskExecutor.java:194)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

Expected Behavior

  • Show a warning that the configuration file was not found.
  • Use detekt's default values as fallback.

Observed Behavior

IntelliJ caught an exception and showed the 'IDE Fatal Errors' dialog with the exception above.

Steps to Reproduce

  • Create a valid detekt.yml file in the project
  • Install and setup the IntelliJ detekt plugin to use that file
  • Use git to switch to a branch that does not have the detekt.yml file

Environment

------------------------------------------------------------
Gradle 4.9
------------------------------------------------------------

Build time:   2018-07-16 08:14:03 UTC
Revision:     efcf8c1cf533b03c70f394f270f46a174c738efc

Kotlin DSL:   0.18.4
Kotlin:       1.2.41
Groovy:       2.4.12
Ant:          Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM:          11.0.1 (Oracle Corporation 11.0.1+13)
OS:           Mac OS X 10.13.6 x86_64
@Mauin
Copy link

Mauin commented Dec 6, 2018

Thank you for the report. As you mention this is a bug in the IntelliJ Plugin this issue should be moved to the according repository: https://github.com/arturbosch/detekt-intellij-plugin

@arturbosch arturbosch transferred this issue from detekt/detekt Dec 9, 2018
@arturbosch arturbosch added the bug Something isn't working label Dec 9, 2018
@arturbosch arturbosch added this to the 0.3.2 milestone Oct 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants