bamaer opened a new issue, #8591:
URL: https://github.com/apache/hop/issues/8591
### What needs to happen?
A review of `plugins/misc/lint/src/main/resources/hop-lint-core.yml` against
the code behind each rule found the following.
### Enabled by default
**TRANS-002 Orphaned Transform (WARNING)**
The description says a transform with no hops "never executes". The pipeline
engine starts transforms that are not part of any hop:
`PipelineMeta.getPipelineHopTransforms()` adds them explicitly, and `Pipeline`
builds its run list from it. A standalone Execute SQL script, or a second
independent stream, runs normally. The rule's premise and wording need
revisiting for pipelines. WORKFLOW-002 is correct: an action not reachable from
Start does not run.
**NAMING-004 Default Transform Name (WARNING)**
`hasDefaultGeneratedName` matches only `Transform <n>` and `Action <n>`. Hop
GUI names a new transform after its plugin ("Table input", then "Table input
2"; see `HopGuiPipelineTransformDelegate`), so the rule practically never
fires, and the default names Hop does generate are not detected.
**SEC-002 / SEC-003 Hardcoded Password or Secret**
- Only the transform's or action's own `String` fields are inspected.
Secrets held in nested objects are not checked.
- A value counts as a variable only when it contains `${...}`. Other
variable syntaxes Hop resolves are reported as hard-coded.
- DB-001 reports an `Encrypted ...` password as hard-coded. If that is
intended, the rule description should say so.
### Disabled, but the documented example of a composed rule
**SQL-002 Unbounded SELECT \***
- With `allOf`, a finding requires every clause to be violated.
`MATCHES_PATTERN` is violated when the SQL does *not* match `select *`, so the
rule targets every other query. The clause needs `NOT_MATCHES_PATTERN`.
- Table input's default row limit is `"0"` (no limit, `TableInputMeta`
constructor). `rowLimit NOT_EMPTY` treats `"0"` as set, so a default Table
input is never considered unbounded.
`HopCoreRulePackTest` asserts only that SQL-002 is composed, not what it
reports.
### Related
- Unknown rule parameters are accepted without a warning. For example,
`checkPasswords` and `checkUsernames` on DB-001 are read by no code.
### Issue Priority
Priority: 2
### Issue Component
Component: Hop Gui, Component: Metadata
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]