lppedd / idea-conventional-commit-commitlint

Provides additional commit types and scopes via Commitlint rules.
https://plugins.jetbrains.com/plugin/14046-commitlint-conventional-commit
MIT License
28 stars 1 forks source link

Providers not loading in IntelliJ [attached stacktrace] #12

Open renatoaraujoc opened 1 year ago

renatoaraujoc commented 1 year ago

Hello,

I'm unable to use the plugin, this is the stacktrace:

Versions: Commitlint Conventional Commit: 0.1.2 Conventional Commit: 0.22.0 Intellij IDEA 2023.1 (Ultimate Edition): Build #IU-231.8109.175, built on March 28, 2023

Stacktrace:

java.lang.InstantiationError: com.github.lppedd.cc.api.ProviderPresentation
    at com.github.lppedd.cc.commitlint.CommitlintConstants.<clinit>(CommitlintConstants.kt:9)
    at com.github.lppedd.cc.commitlint.CommitlintTokensProvider.getPresentation(CommitlintTokensProvider.kt:24)
    at com.github.lppedd.cc.configuration.component.providers.CommitProviderTable$CommitProviderRenderer.setValue(CommitProviderTable.kt:83)
    at com.github.lppedd.cc.configuration.component.providers.CommitProviderTable$CommitProviderRenderer.customizeCellRenderer(CommitProviderTable.kt:77)
    at com.intellij.ui.ColoredTableCellRenderer.rendererComponentInner(ColoredTableCellRenderer.java:58)
    at com.intellij.ui.ColoredTableCellRenderer.getTableCellRendererComponent(ColoredTableCellRenderer.java:41)
    at com.intellij.ui.table.JBTable.calculateRowHeight(JBTable.java:262)
    at com.intellij.ui.table.JBTable.getRowHeight(JBTable.java:240)
    at java.desktop/javax.swing.JTable.tableChanged(JTable.java:4486)
    at java.desktop/javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:302)
    at java.desktop/javax.swing.table.AbstractTableModel.fireTableDataChanged(AbstractTableModel.java:204)
    at com.github.lppedd.cc.configuration.component.providers.CommitProviderModel.setProviders(CommitProviderModel.kt:19)
    at com.github.lppedd.cc.configuration.component.providers.CommitProviderTable.setProviders(CommitProviderTable.kt:51)
    at com.github.lppedd.cc.configuration.CCProvidersConfigurableGui.setProviders(CCProvidersConfigurableGui.kt:66)
    at com.github.lppedd.cc.configuration.CCProvidersConfigurable.createComponent(CCProvidersConfigurable.kt:27)
    at com.github.lppedd.cc.configuration.CCProvidersConfigurable.createComponent(CCProvidersConfigurable.kt:14)
    at com.intellij.openapi.options.ex.ConfigurableWrapper.createComponent(ConfigurableWrapper.java:177)
    at com.intellij.openapi.options.ex.ConfigurableCardPanel.lambda$createConfigurableComponent$4(ConfigurableCardPanel.java:116)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:891)
    at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:69)
    at com.intellij.openapi.options.ex.ConfigurableCardPanel.createConfigurableComponent(ConfigurableCardPanel.java:112)
    at com.intellij.openapi.options.ex.ConfigurableCardPanel.create(ConfigurableCardPanel.java:60)
    at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:57)
    at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:54)
    at com.intellij.ui.CardLayoutPanel.createValue(CardLayoutPanel.java:73)
    at com.intellij.ui.CardLayoutPanel.select(CardLayoutPanel.java:101)
    at com.intellij.ui.CardLayoutPanel.lambda$selectLater$0(CardLayoutPanel.java:132)
    at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
    at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21)
    at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
    at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:456)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:79)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:122)
    at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:41)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:788)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:758)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:666)
    at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$7(IdeEventQueue.kt:570)
    at com.intellij.openapi.application.impl.ApplicationImpl.withoutImplicitRead(ApplicationImpl.java:1446)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:570)
    at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343)
    at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:994)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
    at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:994)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:121)
    at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
    at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
    at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
    at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
    at java.desktop/java.awt.Dialog.show(Dialog.java:1080)
    at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:741)
    at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:466)
    at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1675)
    at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1633)
    at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:90)
    at com.intellij.ide.actions.ShowSettingsAction.perform(ShowSettingsAction.java:60)
    at com.intellij.ui.mac.MacOSApplicationProvider$Worker.initMacApplication$lambda$2$lambda$1(MacOSApplicationProvider.kt:71)
    at com.intellij.ui.mac.MacOSApplicationProvider$Worker.submit$lambda$6(MacOSApplicationProvider.kt:170)
    at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
    at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21)
    at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
    at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:456)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:79)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:122)
    at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:41)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:788)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:758)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:666)
    at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$7(IdeEventQueue.kt:570)
    at com.intellij.openapi.application.impl.ApplicationImpl.withoutImplicitRead(ApplicationImpl.java:1446)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:570)
    at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343)
    at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:994)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
    at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:994)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

My conventionalcommit.json:

{
  "types": {
    "refactor": {
      "description": "Changes which neither fix a bug nor add a feature",
      "scopes": {
        "api":  {},
        "ng-client-old":  {},
        "ng-client-old-worker":  {},
        "ng-client":  {},
        "ci":  {},
        "eslint": {}
      }
    },
    "fix": {
      "description": "Changes which patch a bug",
      "scopes": {
        "api":  {},
        "ng-client-old":  {},
        "ng-client-old-worker":  {},
        "ng-client":  {},
        "docs":  {},
        "ci":  {},
        "eslint": {}
      }
    },
    "feat": {
      "description": "Changes which introduce a new feature",
      "scopes": {
        "api":  {},
        "ng-client-old":  {},
        "ng-client-old-worker":  {},
        "ng-client":  {},
        "ci":  {}
      }
    },
    "chore": {
      "description": "Changes which are not user-facing"
    },
    "test": {
      "description": "Changes which add missing tests or fix existing ones",
      "scopes": {
        "api":  {},
        "ng-client-old":  {},
        "ng-client-old-worker":  {},
        "ng-client":  {}
      }
    },
    "docs": {
      "description": "Changes which affect documentation",
      "scopes": {
        "api":  {},
        "ng-client-old":  {},
        "ng-client-old-worker":  {},
        "ng-client":  {}
      }
    },
    "perf": {
      "description": "Changes which improve performance",
      "scopes": {
        "api":  {},
        "ng-client-old":  {},
        "ng-client-old-worker":  {},
        "ng-client":  {}
      }
    },
    "ci": {
      "description": "Changes which affect CI configuration files and scripts.<br>Example scopes: travis, circle, browser-stack, sauce-labs"
    },
    "revert": {
      "description": "Changes which revert a previous commit",
      "scopes": {
        "api":  {},
        "ng-client-old":  {},
        "ng-client-old-worker":  {},
        "ng-client":  {},
        "docs":  {},
        "ci":  {},
        "eslint": {}
      }
    }
  },
  "footerTypes": [
    {
      "name": "BREAKING-CHANGE",
      "description": "The commit introduces breaking API changes"
    },
    {
      "name": "Closes",
      "description": "The commit closes issues or pull requests"
    },
    {
      "name": "Implements",
      "description": "The commit implements features"
    },
    {
      "name": "Author",
      "description": "The commit's author"
    },
    {
      "name": "Co-authored-by",
      "description": "The specified person co-authored the commit's changes"
    },
    {
      "name": "Signed-off-by",
      "description": "A signoff may certify that the committer has the rights to submit the work under the project's license or agrees to some contributor representation, such as a Developer Certificate of Origin"
    },
    {
      "name": "Acked-by",
      "description": "The specified person liked the commit's changes"
    },
    {
      "name": "Reviewed-by",
      "description": "The specified person reviewed and is completely satisfied with the commit's changes"
    },
    {
      "name": "Tested-by",
      "description": "The specified person applied the commit's changes and found them to have the desired effect"
    },
    {
      "name": "Refs",
      "description": "The commit references another commit by its hash ID.<br>For multiple hash IDs, use a comma as separator"
    }
  ]
}

Infinite loading that issues an IDE bug:

Screenshot 2023-04-23 at 03 33 49

franckrasolo commented 1 year ago

Initially reported at #7, try the workaround suggested by @lppedd in #11.