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
The following commit(s) were added to refs/heads/main by this push:
new 9452bc2970 Add Hop version variable, fixes #5855 (#5870)
9452bc2970 is described below
commit 9452bc2970265f90efa6579741f016baf73fee83
Author: Hans Van Akelyen <[email protected]>
AuthorDate: Thu Oct 23 10:37:55 2025 +0200
Add Hop version variable, fixes #5855 (#5870)
---
core/src/main/java/org/apache/hop/core/Const.java | 3 +++
engine/src/main/java/org/apache/hop/pipeline/Pipeline.java | 4 ++++
engine/src/main/java/org/apache/hop/pipeline/PipelineMeta.java | 4 ++++
engine/src/main/java/org/apache/hop/workflow/Workflow.java | 4 ++++
engine/src/main/java/org/apache/hop/workflow/WorkflowMeta.java | 4 ++++
5 files changed, 19 insertions(+)
diff --git a/core/src/main/java/org/apache/hop/core/Const.java
b/core/src/main/java/org/apache/hop/core/Const.java
index e451159332..adf55e0858 100644
--- a/core/src/main/java/org/apache/hop/core/Const.java
+++ b/core/src/main/java/org/apache/hop/core/Const.java
@@ -182,6 +182,9 @@ public class Const {
description = "The operating system the hop platform runs on.")
public static final String HOP_PLATFORM_OS = "HOP_PLATFORM_OS";
+ /** Variable containing the current hop version in pipelines and workflows */
+ public static final String HOP_VERSION = "HOP_VERSION";
+
/** The runtime that is being used */
@Variable(scope = VariableScope.SYSTEM, description = "The runtime that is
being used.")
public static final String HOP_PLATFORM_RUNTIME = "HOP_PLATFORM_RUNTIME";
diff --git a/engine/src/main/java/org/apache/hop/pipeline/Pipeline.java
b/engine/src/main/java/org/apache/hop/pipeline/Pipeline.java
index 6cedad0bfd..f385faee87 100644
--- a/engine/src/main/java/org/apache/hop/pipeline/Pipeline.java
+++ b/engine/src/main/java/org/apache/hop/pipeline/Pipeline.java
@@ -48,6 +48,7 @@ import org.apache.commons.vfs2.FileObject;
import org.apache.hop.core.BlockingBatchingRowSet;
import org.apache.hop.core.BlockingRowSet;
import org.apache.hop.core.Const;
+import org.apache.hop.core.HopVersionProvider;
import org.apache.hop.core.IExecutor;
import org.apache.hop.core.IExtensionData;
import org.apache.hop.core.IRowSet;
@@ -2248,6 +2249,9 @@ public abstract class Pipeline
// but the other around is not possible.
setInternalEntryCurrentDirectory(hasFilename);
+
+ HopVersionProvider versionProvider = new HopVersionProvider();
+ setVariable(Const.HOP_VERSION, versionProvider.getVersion()[0]);
}
private void setInternalLoggingVariables() {
diff --git a/engine/src/main/java/org/apache/hop/pipeline/PipelineMeta.java
b/engine/src/main/java/org/apache/hop/pipeline/PipelineMeta.java
index 2ee5733454..6ccc2cdd4c 100644
--- a/engine/src/main/java/org/apache/hop/pipeline/PipelineMeta.java
+++ b/engine/src/main/java/org/apache/hop/pipeline/PipelineMeta.java
@@ -37,6 +37,7 @@ import org.apache.hop.base.AbstractMeta;
import org.apache.hop.base.BaseHopMeta;
import org.apache.hop.core.CheckResult;
import org.apache.hop.core.Const;
+import org.apache.hop.core.HopVersionProvider;
import org.apache.hop.core.ICheckResult;
import org.apache.hop.core.IProgressMonitor;
import org.apache.hop.core.NotePadMeta;
@@ -3315,6 +3316,9 @@ public class PipelineMeta extends AbstractMeta
setInternalFilenameHopVariables(variables);
setInternalNameHopVariable(variables);
setInternalEntryCurrentDirectory(variables);
+
+ HopVersionProvider versionProvider = new HopVersionProvider();
+ variables.setVariable(Const.HOP_VERSION, versionProvider.getVersion()[0]);
}
/**
diff --git a/engine/src/main/java/org/apache/hop/workflow/Workflow.java
b/engine/src/main/java/org/apache/hop/workflow/Workflow.java
index 3564d629a0..bb3a5ac54e 100644
--- a/engine/src/main/java/org/apache/hop/workflow/Workflow.java
+++ b/engine/src/main/java/org/apache/hop/workflow/Workflow.java
@@ -34,6 +34,7 @@ import org.apache.commons.vfs2.FileName;
import org.apache.commons.vfs2.FileObject;
import org.apache.hop.core.Const;
import org.apache.hop.core.HopEnvironment;
+import org.apache.hop.core.HopVersionProvider;
import org.apache.hop.core.IExecutor;
import org.apache.hop.core.IExtensionData;
import org.apache.hop.core.Result;
@@ -1223,6 +1224,9 @@ public abstract class Workflow extends Variables
} else {
this.setVariable(Const.INTERNAL_VARIABLE_WORKFLOW_PARENT_ID, null);
}
+
+ HopVersionProvider versionProvider = new HopVersionProvider();
+ setVariable(Const.HOP_VERSION, versionProvider.getVersion()[0]);
}
/**
diff --git a/engine/src/main/java/org/apache/hop/workflow/WorkflowMeta.java
b/engine/src/main/java/org/apache/hop/workflow/WorkflowMeta.java
index 4f3805e29c..622c657af0 100644
--- a/engine/src/main/java/org/apache/hop/workflow/WorkflowMeta.java
+++ b/engine/src/main/java/org/apache/hop/workflow/WorkflowMeta.java
@@ -32,6 +32,7 @@ import org.apache.hop.base.AbstractMeta;
import org.apache.hop.base.BaseHopMeta;
import org.apache.hop.core.CheckResult;
import org.apache.hop.core.Const;
+import org.apache.hop.core.HopVersionProvider;
import org.apache.hop.core.ICheckResult;
import org.apache.hop.core.IProgressMonitor;
import org.apache.hop.core.NotePadMeta;
@@ -1645,6 +1646,9 @@ public class WorkflowMeta extends AbstractMeta
setInternalNameHopVariable(variables);
updateCurrentDir(variables);
+
+ HopVersionProvider versionProvider = new HopVersionProvider();
+ variables.setVariable(Const.HOP_VERSION, versionProvider.getVersion()[0]);
}
// changed to protected for testing purposes