Skip to content

[bug] Cannot reconfigure plugin - NPE #37

@MartinKanters

Description

@MartinKanters

When running ret plugin initialize <plugin> it mentions the text

Done! Feel free to run this command again to make changes.

If I try that again, the exit code is 1.

The same happens when I run ret configure.

The error log states:

2023-05-24 14:17:07 [version=0.1.1 os=Mac OS X (13.2.1) amd64 commit=6f09d6b98f11e0f6a47a36e466b3a723645a0309] ERROR [io.qu.ru.Application] Failed to start application (with profile [prod]): java.lang.NullPointerException
	at picocli.CommandLine$Range.valueOf(CommandLine.java:5830)
	at picocli.CommandLine$Model$PositionalParamSpec$Builder.index(CommandLine.java:10342)
	at io.rabobank.ret.plugins.PluginLoader.createCommandSpec(PluginLoader.kt:58)
	at io.rabobank.ret.plugins.PluginLoader.createCommandSpec(PluginLoader.kt:70)
	at io.rabobank.ret.plugins.PluginLoader.createCommandSpec(PluginLoader.kt:70)
	at io.rabobank.ret.plugins.PluginLoader.getPluginCommands(PluginLoader.kt:28)
	at io.rabobank.ret.plugins.PluginLoader_ClientProxy.getPluginCommands(Unknown Source)
	at io.rabobank.ret.config.CommandLineConfiguration.customCommandLine(CommandLineConfiguration.kt:21)
	at io.rabobank.ret.config.CommandLineConfiguration_ProducerMethod_customCommandLine_b01a3e4612a400d6ddf03c6c33ad9bcdfa811e7c_Bean.doCreate(Unknown Source)
	at io.rabobank.ret.config.CommandLineConfiguration_ProducerMethod_customCommandLine_b01a3e4612a400d6ddf03c6c33ad9bcdfa811e7c_Bean.create(Unknown Source)
	at io.rabobank.ret.config.CommandLineConfiguration_ProducerMethod_customCommandLine_b01a3e4612a400d6ddf03c6c33ad9bcdfa811e7c_Bean.get(Unknown Source)
	at io.rabobank.ret.config.CommandLineConfiguration_ProducerMethod_customCommandLine_b01a3e4612a400d6ddf03c6c33ad9bcdfa811e7c_Bean.get(Unknown Source)
	at io.quarkus.picocli.runtime.PicocliRunner_Bean.doCreate(Unknown Source)
	at io.quarkus.picocli.runtime.PicocliRunner_Bean.create(Unknown Source)
	at io.quarkus.picocli.runtime.PicocliRunner_Bean.get(Unknown Source)
	at io.quarkus.picocli.runtime.PicocliRunner_Bean.get(Unknown Source)
	at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:485)
	at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:498)
	at io.quarkus.arc.impl.BeanManagerImpl.getReference(BeanManagerImpl.java:63)
	at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:128)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
	at io.quarkus.runner.GeneratedMain.main(Unknown **Source)**

I might take a look at fixing this myself today, but if not I will be on holidays so feel free to pick it up 😄

This happened after I installed the Git plugin version 0.0.4


This is caused by the .plugin file that is generated after initializing the plugin.

subcommands.arguments.position is null for pipeline open and pipeline <pipeline_run_id>:

{
          "name": "pipeline",
          "arguments": [],
          "options": [],
          "subcommands": [
            {
              "name": "open",
              "arguments": [
                {
                  "name": "<pipeline_id>",
                  "position": null,
                  "completionCandidates": [
                    "function:_autocomplete_pipeline"
                  ],
                  "arity": "0..1"
                },
                {
                  "name": "<pipeline_run_id>",
                  "position": null,
                  "completionCandidates": [
                    "function:_autocomplete_pipeline_run"
                  ],
                  "arity": "0..1"
                }
              ],
              "options": [],
              "subcommands": [],
              "description": "Open the pipeline dashboard, or a specific pipeline or run",
              "hidden": false
            }
          ],
          "description": "Open a recent pipeline run",
          "hidden": false
        },

Another issue is that boolean types have the primitive type boolean, while Class.forName is used for casting.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions