|
15 | 15 | //! `package_vers`, and otherwise indicating to the compiler what it should |
16 | 16 | //! print out as part of its version information. |
17 | 17 |
|
18 | | -use std::fs::File; |
19 | | -use std::io::prelude::*; |
20 | 18 | use std::process::Command; |
21 | 19 |
|
22 | 20 | use build_helper::output; |
23 | 21 |
|
24 | 22 | use Build; |
25 | 23 |
|
26 | | -pub fn collect(build: &mut Build) { |
27 | | - // Currently the canonical source for the release number (e.g. 1.10.0) and |
28 | | - // the prerelease version (e.g. `.1`) is in `mk/main.mk`. We "parse" that |
29 | | - // here to learn about those numbers. |
30 | | - let mut main_mk = String::new(); |
31 | | - t!(t!(File::open(build.src.join("mk/main.mk"))).read_to_string(&mut main_mk)); |
32 | | - let mut release_num = ""; |
33 | | - let mut prerelease_version = ""; |
34 | | - for line in main_mk.lines() { |
35 | | - if line.starts_with("CFG_RELEASE_NUM") { |
36 | | - release_num = line.split('=').skip(1).next().unwrap().trim(); |
37 | | - } |
38 | | - if line.starts_with("CFG_PRERELEASE_VERSION") { |
39 | | - prerelease_version = line.split('=').skip(1).next().unwrap().trim(); |
40 | | - } |
41 | | - } |
| 24 | +// The version number |
| 25 | +const CFG_RELEASE_NUM: &'static str = "1.17.0"; |
| 26 | + |
| 27 | +// An optional number to put after the label, e.g. '.2' -> '-beta.2' |
| 28 | +// Be sure to make this starts with a dot to conform to semver pre-release |
| 29 | +// versions (section 9) |
| 30 | +const CFG_PRERELEASE_VERSION: &'static str = ".1"; |
42 | 31 |
|
43 | | - build.release_num = release_num.to_string(); |
44 | | - build.prerelease_version = release_num.to_string(); |
| 32 | +pub fn collect(build: &mut Build) { |
| 33 | + build.release_num = CFG_RELEASE_NUM.to_string(); |
| 34 | + build.prerelease_version = CFG_RELEASE_NUM.to_string(); |
45 | 35 |
|
46 | 36 | // Depending on the channel, passed in `./configure --release-channel`, |
47 | 37 | // determine various properties of the build. |
48 | 38 | match &build.config.channel[..] { |
49 | 39 | "stable" => { |
50 | | - build.release = release_num.to_string(); |
| 40 | + build.release = CFG_RELEASE_NUM.to_string(); |
51 | 41 | build.package_vers = build.release.clone(); |
52 | 42 | build.unstable_features = false; |
53 | 43 | } |
54 | 44 | "beta" => { |
55 | | - build.release = format!("{}-beta{}", release_num, |
56 | | - prerelease_version); |
| 45 | + build.release = format!("{}-beta{}", CFG_RELEASE_NUM, |
| 46 | + CFG_PRERELEASE_VERSION); |
57 | 47 | build.package_vers = "beta".to_string(); |
58 | 48 | build.unstable_features = false; |
59 | 49 | } |
60 | 50 | "nightly" => { |
61 | | - build.release = format!("{}-nightly", release_num); |
| 51 | + build.release = format!("{}-nightly", CFG_RELEASE_NUM); |
62 | 52 | build.package_vers = "nightly".to_string(); |
63 | 53 | build.unstable_features = true; |
64 | 54 | } |
65 | 55 | _ => { |
66 | | - build.release = format!("{}-dev", release_num); |
| 56 | + build.release = format!("{}-dev", CFG_RELEASE_NUM); |
67 | 57 | build.package_vers = build.release.clone(); |
68 | 58 | build.unstable_features = true; |
69 | 59 | } |
|
0 commit comments