You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hop.apache.org by "mattcasters (via GitHub)" <gi...@apache.org> on 2026/09/04 21:13:07 UTC
[PR] Issue #2916 : Run a project without adding it to hop-config.json (hop)
mattcasters opened a new pull request, #8265:
URL: https://github.com/apache/hop/pull/8265
## What this PR does
Fixes #2916.
You can run or open a Hop project for a single process without adding it to `hop-config.json`. Hop registers the project in memory, points metadata at `${PROJECT_HOME}/metadata`, and does not write the registration back to disk.
```bash
hop --project-locations my-project=/path/to/project run -f pipeline.hpl -r local
hop --project-locations my-project=/path/to/project gui -j my-project -f pipeline.hpl
```
`hop gui` also accepts the same `-j` / `--project`, `-e` / `--environment` and `-f` / `--file` options as `hop run`.
## Command line options
Root `hop` options (also available on `run`, `gui`, and other project-aware subcommands):
| Option | Description |
| --- | --- |
| `-pl`, `--project-locations` | Register project folders or zip/jar archives for this process (`name=/path`) |
| `--environments` | Register lifecycle environments in memory (`name=[project:]file1;file2`) |
| `--environment-conf-files` | Extra environment config files to apply |
| `-im`, `--in-memory` | Do not persist Hop configuration to `hop-config.json` |
| `-j`, `--project` | Project to enable |
| `-e`, `--environment` | Lifecycle environment to enable |
`hop gui` additionally:
| Option | Description |
| --- | --- |
| `-f`, `--file` | Pipeline or workflow to open (relative paths resolve against `${PROJECT_HOME}`) |
System variable `HOP_CONFIG_IN_MEMORY=Y` has the same effect as `--in-memory`.
## Implementation notes
- `--project-locations` implies in-memory mode so `hop-config.json` is not updated.
- Enabling a project always rebuilds the metadata provider from the project's `metadataBaseFolder`.
- Root options are applied before the subcommand so `hop --project-locations … run` finds the project metadata (run configurations, connections, …).
- Config file existence checks use Hop VFS rather than `java.io.File`.
Docs: [Use a project without hop-config.json](https://hop.apache.org/manual/latest/projects/advanced.html) (this PR updates `projects/advanced.adoc`, `hop.adoc`, `hop-gui.adoc`, `hop-run/index.adoc`, `variables.adoc`).
## Testing
- Unit tests for in-memory config, project location registration, GUI option remembering, and CLI file/project parsing.
- Manual: `hop --project-locations ttt=/path run -f long-running-test.hpl -r local` loads run configuration `local` from the project metadata folder and executes.
- `hop gui --help` lists `-j`, `-e`, `-f`, `--project-locations`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@hop.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Issue #2916 : Run a project without adding it to hop-config.json (hop)
Posted by "bamaer (via GitHub)" <gi...@apache.org>.
bamaer commented on PR #8265:
URL: https://github.com/apache/hop/pull/8265#issuecomment-5568606904
Fair point. I already asked to be less verbose 😬. Claude checks very thoroughly if you throw enough tokens at it, but you get a lot of chatter in return.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@hop.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Issue #2916 : Run a project without adding it to hop-config.json (hop)
Posted by "bamaer (via GitHub)" <gi...@apache.org>.
bamaer merged PR #8265:
URL: https://github.com/apache/hop/pull/8265
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@hop.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Issue #2916 : Run a project without adding it to hop-config.json (hop)
Posted by "bamaer (via GitHub)" <gi...@apache.org>.
bamaer commented on PR #8265:
URL: https://github.com/apache/hop/pull/8265#issuecomment-5568461721
These cross checks from a different angle are useful because they uncover issues that would otherwise remain hidden, but they also add quite a bit of extra work. Let's see if we can adapt our processes to spread the additional workload.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@hop.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Issue #2916 : Run a project without adding it to hop-config.json (hop)
Posted by "mattcasters (via GitHub)" <gi...@apache.org>.
mattcasters commented on PR #8265:
URL: https://github.com/apache/hop/pull/8265#issuecomment-5574280682
Took the essential items from the review and pushed a follow-up:
1. **Bare folder discovery** — `detectConfigFilename` now returns null when there is no project config. A normal project folder is registered as itself, not as `.git` / `datasets` / `metadata`. A parent of several project folders still discovers those children.
2. **`variables.json` / `metadata.json`** — applied only for zip/jar homes or a JSON-export layout (dump files and no `metadata/` folder). A regular project with a `metadata/` folder is unchanged. Each file is read once per enable.
3. **Double enable** — the subcommand mixin skips a second full enable of the same project/environment (still copies the metadata provider onto the command).
4. **`-im` too late** — `-im` / `-pl` / `--environments` set `HOP_CONFIG_IN_MEMORY` before `HopEnvironment.init()`, so a pristine config folder is not created on first run.
5. Also: `hop-config.json` is no longer a project-config candidate; leaving in-memory mode keeps a no-file serializer if the config file is absent; quoted location tokens no longer keep the quote characters.
Docs updated for the bare-folder behaviour and that `hop-gui.sh` does not take `--project-locations`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@hop.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Issue #2916 : Run a project without adding it to hop-config.json (hop)
Posted by "mattcasters (via GitHub)" <gi...@apache.org>.
mattcasters commented on PR #8265:
URL: https://github.com/apache/hop/pull/8265#issuecomment-5568937509
Gemini Flash 3.8 scored quite high on the on the SWE scores but even that one gets incredibly verbose if you let it. I think it's just the nature of the beast. The good news is that the models have no issue with it.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@hop.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Issue #2916 : Run a project without adding it to hop-config.json (hop)
Posted by "mattcasters (via GitHub)" <gi...@apache.org>.
mattcasters commented on PR #8265:
URL: https://github.com/apache/hop/pull/8265#issuecomment-5568562575
I love these reviews. Maybe ask to be a bit less verbose. The models all love to be quite descriptive at times.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@hop.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org