[
https://issues.apache.org/jira/browse/FLINK-3077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15030979#comment-15030979
]
ASF GitHub Bot commented on FLINK-3077:
---------------------------------------
Github user rmetzger commented on a diff in the pull request:
https://github.com/apache/flink/pull/1418#discussion_r46093228
--- Diff: flink-core/src/main/java/org/apache/flink/util/VersionUtils.java
---
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.util;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Properties;
+import java.util.jar.Attributes;
+import java.util.jar.Manifest;
+
+/**
+ * Utility class which provides various methods for accessing version
information.
+ */
+public final class VersionUtils {
+
+ private static final VersionUtils INSTANCE = new VersionUtils();
+
+ /**
+ * Private constructor used to overwrite public one.
+ */
+ private VersionUtils() {}
+
+ /**
+ * Returns the version of Flink.
+ */
+ public static String getFlinkVersion() {
+ // a version can only be provided when running from a Jar.
+ URL manifestUrl =
INSTANCE.getClass().getClassLoader().getResource("META-INF/MANIFEST.MF");
+ if (manifestUrl != null) {
+ try {
+ Attributes attr = new
Manifest(manifestUrl.openStream()).getMainAttributes();
+ return attr.getValue("Implementation-Version");
+ } catch (IOException e) {
+ //
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the commit id of the source from which the flink jar is
built.
+ */
+ public static String getCommitId() {
--- End diff --
The short rev is okay.
> Add "version" command to CliFrontend for showing the version of the
> installation
> --------------------------------------------------------------------------------
>
> Key: FLINK-3077
> URL: https://issues.apache.org/jira/browse/FLINK-3077
> Project: Flink
> Issue Type: Improvement
> Components: Command-line client
> Reporter: Robert Metzger
> Assignee: Sachin Goel
> Fix For: 1.0.0
>
>
> I have the bin directory of Flink in my $PATH variable, so I can just do
> "flink run" on the command line for executing stuff.
> However, I have multiple Flink versions locally and its hard to find out
> which installation the bash is picking in the end.
> adding a simple "version" command will resolve that issue and I consider it
> helpful in general.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)