|
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