summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ivan Lozano <ivanlozano@google.com> 2023-07-31 16:31:14 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2023-07-31 16:31:14 +0000
commitf74612e346efef6cd34c4ea6632d9585320c43f7 (patch)
treee8618298ea04995e56bdd38bd7936e247ce00bde
parent60a2ca3332319b59a7435871f7e5161569efa0de (diff)
parentf445562840786b5f0f011df2d8ccb882d0f95ffd (diff)
Merge "rust: Add support for more cargo pkg version vars" into main
-rw-r--r--rust/builder.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/rust/builder.go b/rust/builder.go
index c31bc88d1..fbceecc80 100644
--- a/rust/builder.go
+++ b/rust/builder.go
@@ -228,6 +228,17 @@ func rustEnvVars(ctx ModuleContext, deps PathDeps) []string {
pkgVersion := ctx.RustModule().compiler.CargoPkgVersion()
if pkgVersion != "" {
envVars = append(envVars, "CARGO_PKG_VERSION="+pkgVersion)
+
+ // Ensure the version is in the form of "x.y.z" (approximately semver compliant).
+ //
+ // For our purposes, we don't care to enforce that these are integers since they may
+ // include other characters at times (e.g. sometimes the patch version is more than an integer).
+ if strings.Count(pkgVersion, ".") == 2 {
+ var semver_parts = strings.Split(pkgVersion, ".")
+ envVars = append(envVars, "CARGO_PKG_VERSION_MAJOR="+semver_parts[0])
+ envVars = append(envVars, "CARGO_PKG_VERSION_MINOR="+semver_parts[1])
+ envVars = append(envVars, "CARGO_PKG_VERSION_PATCH="+semver_parts[2])
+ }
}
}