Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Authors: Jacob Barrett Robert Houghton  

Status: Draft  Draft | Discussion | Development | Active | Dropped | Superseded

Superseded by: N/A

...

@NotNull String getName() - Provides a string representation of the distribution or component name. The format of this string is undefined but should be short and meaningful when displayed alone and unadorned with version information. Some examples would be "Apache Geode" or "The Best IMDG".

@NotNull Map<@NotNull String getDetails, @NotNull String> getDetails() - Provides a string map representation of all the version like information you might want to display in the full version or log preamble. The format of this string should be key value pairs separated by colons each on their own lineand value formats are not defined. The basic version should be included in this output but the name should not.  For example:

Code Block
languagetext
Version: {
  {"Version", "1.15.0"},
Repository:   {"Repository", "github.com/apache/geode"},
Revision: f5584205b0ee93904a5f2a9921459f99a1caa515  {"Revision", "f5584205b0ee93904a5f2a9921459f99a1caa515"}
}

DistributionVersion

This interface is expected to have a single exported implementation within a given distribution of Geode. A default implementation, which is not exported as a service implementation, will report the Apache Geode open source distribution version information that we currently produce today. If an exported service implementation is found its version information will be displayed in place of the default's in all places where a singular distribution version and name are displayed. For example, this interface will control the display of gfsh version. This interface will not change the version information reported by any API or ABI, such as the REST interface version, binary protocol version, etc. If more than a single implementation is exported the first one loaded by ServiceLoader will be used, leading to indeterminate output.

Example output from gfsh:

Code Block
languagetext
$ gfsh version
2.4.1

$ gfsh
    _________________________     __
   / _____/ ______/ ______/ /____/ /
  / /  __/ /___  /_____  / _____  / 
 / /__/ / ____/  _____/ / /    / /  
/______/_/      /______/_/    /_/    2.4.1

Monitor and Manage The Best IMDG
gfsh>

...

Example output from gfsh:

Code Block
languagetext
$ gfsh version --full
-----------------------------------------------------
Apache Geode
-----------------------------------------------------
Version: 1.15.0
Repository: github.com/apache/geode
Revision: f5584205b0ee93904a5f2a9921459f99a1caa515

-----------------------------------------------------
The Best IMDG
-----------------------------------------------------
Version: 2.4.1
Something-Important: 42

-----------------------------------------------------
Apache Spark for Geode
-----------------------------------------------------
Version: 1.2
Spark-Version: 3.2.0

...