Skip to content

Issue #9089 : Add local run configurations to new Hop setups - #9090

Merged
mattcasters merged 2 commits into
apache:mainfrom
mattcasters:issue-9089
Oct 23, 2026
Merged

mattcasters merged 2 commits into
apache:mainfrom
mattcasters:issue-9089

Conversation

@mattcasters

Copy link
Copy Markdown
Contributor

A new Hop configuration now gets a local pipeline run configuration and a local workflow run configuration.

hop setup copies the install default-project template into the new default project. That copy only took the top level, so project-config.json arrived and metadata/ was created empty. The standard local run configurations live under metadata/ and were left behind. The copy now includes nested metadata. When the template does not already contain those configurations, setup writes them, together with the local execution info location and data profile they use. An existing default project that already has project-config.json is left unchanged.

fixes #9089


Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

  • Run mvn clean install apache-rat:check to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
  • If you have a group of commits related to the same change, please squash your commits into one and force push your branch using git rebase -i.
  • Mention the appropriate issue in your description (for example: addresses #123), if applicable.

To make clear that you license your contribution under the Apache License Version 2.0, January 2004
you have to acknowledge this by using the following check-box.

Setup copied only the top level of the default project template, so a new
configuration was created without the local pipeline and workflow run
configurations. Copy the full template and add those configurations when
they are missing.
@bamaer

bamaer commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Thanks @mattcasters, good catch that SELECT_CHILDREN only copies one level. That is why metadata/ arrived empty.

Built the setup plugin from this branch and ran its unit tests (all pass). Also ran the config copy and project creation against the real install config/ folder: the new default project gets the local pipeline and workflow run configurations plus local-audit and first-last.

Blockers

None.

Should fix

  • HopVfsFiles.copyTree is used twice by setup: to copy <install>/config into the new config folder, and to copy the default-project template into ~/Documents/hop/default. Copying all subfolders fixes the second one. The first one now also copies projects/default and projects/samples into the new config folder (for example ~/.local/share/hop/projects/...). hop-config.json points at neither, so they are unused copies. Suggestion: copy all subfolders only for the project template (ProjectRegistrationWriter.java:125) and keep the one-level copy in ConfigFolderSeeder.java:70.

@bamaer

bamaer commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Thanks @mattcasters, that resolves it. Re-ran the setup unit tests and the copy against the real install config: the config folder now only gets hop-config.json and an empty projects/, and the default project gets the run configurations.

@mattcasters

Copy link
Copy Markdown
Contributor Author

Thanks @bamaer! Fixed in ac04367: HopVfsFiles now has copyChildren (one level, used by ConfigFolderSeeder) and copyTree (deep, used only for the project template in ProjectRegistrationWriter). Added tests that projects/default and projects/samples aren't seeded and that nested template folders are copied.

@mattcasters
mattcasters merged commit d328753 into apache:main Oct 23, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: defult project has no run configurations

2 participants