Skip to content

CAMEL-23276: Add PluginRunCustomizer to JBang Plugin SPI#22473

Open
Croway wants to merge 2 commits intoapache:mainfrom
Croway:CAMEL-23276-plugin-run-customizer
Open

CAMEL-23276: Add PluginRunCustomizer to JBang Plugin SPI#22473
Croway wants to merge 2 commits intoapache:mainfrom
Croway:CAMEL-23276-plugin-run-customizer

Conversation

@Croway
Copy link
Copy Markdown
Contributor

@Croway Croway commented Apr 7, 2026

Summary

  • Adds PluginRunCustomizer interface with beforeRun(KameletMain, List<String>) hook
  • Adds Plugin.getRunCustomizer() default method (follows getExporter() pattern)
  • Run.run() invokes active plugin customizers after dependency resolution but before KameletMain.start()
  • Respects --skip-plugins flag

This allows third-party plugins to customize the environment (system properties, config directories, initial properties) based on file arguments, without needing to subclass the Run command.

Test plan

  • PluginRunCustomizerTest: verifies default returns empty, verifies customizer receives correct arguments

Claude Code on behalf of Federico Mariani

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 7, 2026

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using build-all, build-dependents, skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@github-actions github-actions bot added the dsl label Apr 7, 2026
Move PluginRunCustomizer.beforeRun() to run before
PluginExporter.getDependencies() so plugins can set up
config directories before dependency scanning occurs.
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Apr 7, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant