This is an automated email from the ASF dual-hosted git repository. hansva pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/hop.git
commit 2fbd10094b4bd77ed665d427b1d3a51f3b8640fd Merge: 73a5245070 6143caa393 Author: Hans Van Akelyen <[email protected]> AuthorDate: Thu Jan 23 17:27:58 2025 +0100 Merge pull request #4761 from mattcasters/hop-3454 Pluggable variable resolvers #3454 assemblies/plugins/pom.xml | 13 + .../org/apache/hop/core/HopClientEnvironment.java | 2 + .../java/org/apache/hop/core/util/StringUtil.java | 4 + .../org/apache/hop/core/variables/Variables.java | 144 +++++++- .../core/variables/resolver/IVariableResolver.java | 47 +++ .../core/variables/resolver/VariableResolver.java | 53 +++ .../resolver/VariableResolverObjectFactory.java | 43 +++ .../variables/resolver/VariableResolverPlugin.java | 54 +++ .../resolver/VariableResolverPluginType.java | 82 +++++ .../serializer/json/JsonMetadataProvider.java | 17 - .../serializer/json/JsonMetadataSerializer.java | 146 ++++---- .../serializer/multi/MultiMetadataProvider.java | 53 +-- .../hop/metadata/util/HopMetadataInstance.java | 46 +++ .../resolver/messages/messages_en_US.properties | 20 ++ .../integration-tests-resolver.yaml | 40 +++ .../gcp-secret-manager-server.png | Bin 0 -> 52965 bytes .../pipeline-variable-resolver-conf.png | Bin 0 -> 102468 bytes .../pipeline-variable-resolver-pipeline.png | Bin 0 -> 35100 bytes .../vault-variable-resolver-server.png | Bin 0 -> 69688 bytes .../images/variables/resolving-variables.png | Bin 0 -> 72507 bytes docs/hop-user-manual/modules/ROOT/nav.adoc | 4 + .../modules/ROOT/pages/metadata-types/index.adoc | 1 + .../google-secret-manager-variable-resolver.adoc | 53 +++ .../metadata-types/variable-resolver/index.adoc | 61 ++++ .../pipeline-variable-resolver.adoc | 85 +++++ .../variable-resolver/vault-variable-resolver.adoc | 57 ++++ .../modules/ROOT/pages/variables.adoc | 20 ++ .../src/main/java/org/apache/hop/run/HopRun.java | 2 + .../main/java/org/apache/hop/www/HopServer.java | 2 + .../resolver/0001-vault-add-secrets.hpl | 159 +++++++++ .../resolver/0001-vault-resolve-secrets.hpl | 134 ++++++++ .../resolver/0002-pipeline-get-configurations.hpl | 200 +++++++++++ .../resolver/0002-pipeline-resolver-test.hpl | 366 +++++++++++++++++++++ .../resolver/0003-nested-resolver.hpl | 110 +++++++ .../datasets/0001-golden-resolved-variables.csv | 2 + .../datasets/0002-golden-pipeline-resolver.csv | 4 + .../datasets/0003-golden-nested-resolver.csv | 2 + integration-tests/resolver/dev-env-config.json | 19 ++ integration-tests/resolver/files/db1.properties | 23 ++ integration-tests/resolver/files/db2.properties | 23 ++ integration-tests/resolver/files/db3.properties | 24 ++ integration-tests/resolver/hop-config.json | 290 ++++++++++++++++ .../resolver/main-0001-resolve-secrets.hwf | 114 +++++++ .../resolver/main-0002-pipeline-resolver.hwf | 79 +++++ .../resolver/main-0003-nested-resolver.hwf | 101 ++++++ .../dataset/0001-golden-resolved-variables.json | 56 ++++ .../dataset/0002-golden-pipeline-resolver.json | 56 ++++ .../dataset/0003-golden-nested-resolver.json | 32 ++ .../metadata/pipeline-run-configuration/local.json | 20 ++ .../unit-test/0001-vault-resolve-secrets UNIT.json | 53 +++ .../0002-pipeline-resolver-test UNIT.json | 53 +++ .../unit-test/0003-nested-resolver UNIT.json | 38 +++ .../resolver/metadata/variable-resolver/conf.json | 13 + .../metadata/variable-resolver/pipeline.json | 13 + .../resolver/metadata/variable-resolver/vault.json | 16 + .../metadata/workflow-run-configuration/local.json | 9 + integration-tests/resolver/project-config.json | 15 + lib/pom.xml | 4 +- plugins/engines/beam/pom.xml | 11 + .../org/apache/hop/projects/util/ProjectsUtil.java | 2 + plugins/pom.xml | 1 + plugins/{tech => resolvers/pipeline}/pom.xml | 19 +- .../resolvers/pipeline/src/assembly/assembly.xml | 42 +++ .../pipeline/VariableResolverPipeline.java | 207 ++++++++++++ .../pipeline/messages/messages_en_US.properties | 21 ++ .../pipeline/src/main/resources/version.xml} | 25 +- plugins/{tech => resolvers}/pom.xml | 15 +- plugins/tech/google/pom.xml | 15 +- plugins/tech/google/src/assembly/assembly.xml | 10 + .../GooleSecretManagerVariableResolver.java | 144 ++++++++ .../resolver/messages/messages_en_US.properties | 19 ++ plugins/tech/pom.xml | 1 + plugins/tech/{ => vault}/pom.xml | 29 +- plugins/tech/vault/src/assembly/assembly.xml | 56 ++++ .../resolver/vault/VaultVariableResolver.java | 233 +++++++++++++ .../vault/messages/messages_en_US.properties | 26 ++ .../src/main/resources/version.xml} | 24 +- rest/src/main/java/org/apache/hop/rest/Hop.java | 2 + .../main/java/org/apache/hop/ui/core/PropsUi.java | 10 + .../hop/ui/core/gui/GuiCompositeWidgets.java | 9 +- .../variables/resolver/VariableResolverEditor.java | 324 ++++++++++++++++++ .../org/apache/hop/ui/core/widget/TextVar.java | 6 +- .../main/java/org/apache/hop/ui/hopgui/HopGui.java | 2 + .../tabs/ConfigGeneralOptionsTab.java | 24 ++ .../core/dialog/messages/messages_en_US.properties | 1 + .../resolver/messages/messages_en_US.properties | 21 ++ 86 files changed, 4152 insertions(+), 224 deletions(-)
