From f445562840786b5f0f011df2d8ccb882d0f95ffd Mon Sep 17 00:00:00 2001 From: Ivan Lozano Date: Fri, 28 Jul 2023 12:42:20 -0400 Subject: rust: Add support for more cargo pkg version vars Add support for CARGO_PKG_VERSION_{MAJOR,MINOR,PATCH}. Bug: 293602526 Test: m Test: check build flags for cargo_env_compat module Change-Id: I6b2796656e3a489cd077c2f42b0bbd04de610ba4 --- rust/builder.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'rust/builder.go') 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]) + } } } -- cgit v1.2.3-59-g8ed1b