github.com/opencontainers/umoci@v0.4.8-0.20240508124516-656e4836fb0d/version.go (about)

     1  /*
     2   * umoci: Umoci Modifies Open Containers' Images
     3   * Copyright (C) 2016-2020 SUSE LLC
     4   *
     5   * Licensed under the Apache License, Version 2.0 (the "License");
     6   * you may not use this file except in compliance with the License.
     7   * You may obtain a copy of the License at
     8   *
     9   *    http://www.apache.org/licenses/LICENSE-2.0
    10   *
    11   * Unless required by applicable law or agreed to in writing, software
    12   * distributed under the License is distributed on an "AS IS" BASIS,
    13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14   * See the License for the specific language governing permissions and
    15   * limitations under the License.
    16   */
    17  
    18  package umoci
    19  
    20  import (
    21  	"fmt"
    22  )
    23  
    24  // These are populated during "make" using -ldflags "-X ...".
    25  // TODO: Switch to embedding the version here so that FullVersion() makes sense
    26  //
    27  //	even when umoci is used as a library.
    28  var (
    29  	version   = "unknown"
    30  	gitCommit = ""
    31  )
    32  
    33  // FullVersion returns a fully-qualified version string if one is available.
    34  // NOTE: This function will return "unknown" if umoci is being used as a "go
    35  //
    36  //	get" dependency or binary.
    37  func FullVersion() string {
    38  	v := "unknown"
    39  	if version != "" {
    40  		v = version
    41  	}
    42  	if gitCommit != "" {
    43  		v = fmt.Sprintf("%s~git%s", v, gitCommit)
    44  	}
    45  	return v
    46  }