Anki version needs to be resolved at configure run time, not build time

Fixes incorrect info in wheels when version bumped
This commit is contained in:
Damien Elmes 2023-02-22 15:58:38 +10:00
parent d1004ddcfd
commit 0a870f75a4
5 changed files with 13 additions and 9 deletions

View File

@ -421,7 +421,7 @@ impl BuildAction for BuildWindowsInstallers {
});
build.add_inputs("", inputs![":bundle:folder:std", ":bundle:folder:alt"]);
build.add_variable("version", version);
build.add_variable("version", &version);
build.add_variable("bundle_root", "$builddir/bundle");
build.add_outputs("out", outputs);
}

View File

@ -27,8 +27,11 @@ use web::check_sql;
use crate::proto::check_proto;
fn anki_version() -> &'static str {
include_str!("../../../.version").trim()
fn anki_version() -> String {
std::fs::read_to_string(".version")
.unwrap()
.trim()
.to_string()
}
fn main() -> Result<()> {

View File

@ -13,6 +13,7 @@ use ninja_gen::python::PythonTest;
use ninja_gen::Build;
use ninja_gen::Result;
use crate::anki_version;
use crate::platform::overriden_python_target_platform;
use crate::python::BuildWheel;
use crate::python::GenPythonProto;
@ -88,14 +89,14 @@ pub fn build_pylib(build: &mut Build) -> Result<()> {
"wheels:anki",
BuildWheel {
name: "anki",
version: include_str!("../../../.version").trim(),
version: anki_version(),
src_folder: "pylib/anki",
gen_folder: "$builddir/pylib/anki",
platform: overriden_python_target_platform().or(Some(build.host_platform)),
deps: inputs![
":pylib/anki",
glob!("pylib/anki/**"),
"python/requirements.anki.in"
"python/requirements.anki.in",
],
},
)?;

View File

@ -117,7 +117,7 @@ impl BuildAction for GenPythonProto {
pub struct BuildWheel {
pub name: &'static str,
pub version: &'static str,
pub version: String,
pub src_folder: &'static str,
pub gen_folder: &'static str,
pub platform: Option<Platform>,
@ -149,7 +149,7 @@ impl BuildAction for BuildWheel {
"py3-none-any".into()
};
let name = self.name;
let version = self.version;
let version = &self.version;
let wheel_path = format!("wheels/{name}-{version}-{tag}.whl");
build.add_outputs("out", vec![wheel_path]);
}

View File

@ -19,8 +19,8 @@ impl BuildAction for ConfigureBuild {
fn files(&mut self, build: &mut impl FilesHandle) {
build.add_inputs("cmd", inputs![":build:configure"]);
// reconfigure when env changes
build.add_inputs("", inputs!["$builddir/env"]);
// reconfigure when external inputs change
build.add_inputs("", inputs!["$builddir/env", ".version"]);
build.add_outputs("", ["build.ninja"])
}