simplify version checking
This commit is contained in:
parent
a7b073cddb
commit
0bf595c53a
@ -1 +0,0 @@
|
|||||||
1.0.1
|
|
@ -1 +0,0 @@
|
|||||||
24.3
|
|
10
Earthfile
10
Earthfile
@ -12,16 +12,14 @@ deps-base:
|
|||||||
# Install Cap'n Proto
|
# Install Cap'n Proto
|
||||||
deps-capnp:
|
deps-capnp:
|
||||||
FROM +deps-base
|
FROM +deps-base
|
||||||
COPY .capnp_version /
|
|
||||||
COPY scripts/earthly/install_capnproto.sh /
|
COPY scripts/earthly/install_capnproto.sh /
|
||||||
RUN /bin/bash /install_capnproto.sh 1; rm /install_capnproto.sh .capnp_version
|
RUN /bin/bash /install_capnproto.sh 1; rm /install_capnproto.sh
|
||||||
|
|
||||||
# Install protoc
|
# Install protoc
|
||||||
deps-protoc:
|
deps-protoc:
|
||||||
FROM +deps-capnp
|
FROM +deps-capnp
|
||||||
COPY .protoc_version /
|
|
||||||
COPY scripts/earthly/install_protoc.sh /
|
COPY scripts/earthly/install_protoc.sh /
|
||||||
RUN /bin/bash /install_protoc.sh; rm /install_protoc.sh .protoc_version
|
RUN /bin/bash /install_protoc.sh; rm /install_protoc.sh
|
||||||
|
|
||||||
# Install Rust
|
# Install Rust
|
||||||
deps-rust:
|
deps-rust:
|
||||||
@ -73,14 +71,14 @@ deps-linux:
|
|||||||
# Code + Linux deps
|
# Code + Linux deps
|
||||||
code-linux:
|
code-linux:
|
||||||
FROM +deps-linux
|
FROM +deps-linux
|
||||||
COPY --dir .cargo .capnp_version .protoc_version files scripts veilid-cli veilid-core veilid-server veilid-tools veilid-flutter veilid-wasm Cargo.lock Cargo.toml /veilid
|
COPY --dir .cargo files scripts veilid-cli veilid-core veilid-server veilid-tools veilid-flutter veilid-wasm Cargo.lock Cargo.toml /veilid
|
||||||
RUN cat /veilid/scripts/earthly/cargo-linux/config.toml >> /veilid/.cargo/config.toml
|
RUN cat /veilid/scripts/earthly/cargo-linux/config.toml >> /veilid/.cargo/config.toml
|
||||||
WORKDIR /veilid
|
WORKDIR /veilid
|
||||||
|
|
||||||
# Code + Linux + Android deps
|
# Code + Linux + Android deps
|
||||||
code-android:
|
code-android:
|
||||||
FROM +deps-android
|
FROM +deps-android
|
||||||
COPY --dir .cargo .capnp_version .protoc_version files scripts veilid-cli veilid-core veilid-server veilid-tools veilid-flutter veilid-wasm Cargo.lock Cargo.toml /veilid
|
COPY --dir .cargo files scripts veilid-cli veilid-core veilid-server veilid-tools veilid-flutter veilid-wasm Cargo.lock Cargo.toml /veilid
|
||||||
RUN cat /veilid/scripts/earthly/cargo-linux/config.toml >> /veilid/.cargo/config.toml
|
RUN cat /veilid/scripts/earthly/cargo-linux/config.toml >> /veilid/.cargo/config.toml
|
||||||
RUN cat /veilid/scripts/earthly/cargo-android/config.toml >> /veilid/.cargo/config.toml
|
RUN cat /veilid/scripts/earthly/cargo-android/config.toml >> /veilid/.cargo/config.toml
|
||||||
WORKDIR /veilid
|
WORKDIR /veilid
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
if [ -f ".capnp_version" ]; then
|
CAPNPROTO_VERSION="1.0.1" # Keep in sync with veilid-core/build.rs
|
||||||
CAPNPROTO_VERSION=$(cat ".capnp_version")
|
|
||||||
else
|
|
||||||
CAPNPROTO_VERSION=$(cat "$SCRIPTDIR/../../.capnp_version")
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir /tmp/capnproto-install
|
mkdir /tmp/capnproto-install
|
||||||
pushd /tmp/capnproto-install
|
pushd /tmp/capnproto-install
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
if [ -f ".protoc_version" ]; then
|
PROTOC_VERSION="24.3" # Keep in sync with veilid-core/build.rs
|
||||||
PROTOC_VERSION=$(cat ".protoc_version")
|
|
||||||
else
|
|
||||||
PROTOC_VERSION=$(cat "$SCRIPTDIR/../../.protoc_version")
|
|
||||||
fi
|
|
||||||
|
|
||||||
UNAME_M=$(uname -m)
|
UNAME_M=$(uname -m)
|
||||||
if [[ "$UNAME_M" == "x86_64" ]]; then
|
if [[ "$UNAME_M" == "x86_64" ]]; then
|
||||||
|
@ -1,26 +1,14 @@
|
|||||||
use std::path::PathBuf;
|
|
||||||
use std::process::{Command, Stdio};
|
use std::process::{Command, Stdio};
|
||||||
|
|
||||||
fn search_file<T: AsRef<str>, P: AsRef<str>>(start: T, name: P) -> Option<PathBuf> {
|
const CAPNP_VERSION: &str = "1.0.1"; // Keep in sync with scripts/install_capnp.sh
|
||||||
let start_path = PathBuf::from(start.as_ref()).canonicalize().ok();
|
const PROTOC_VERSION: &str = "24.3"; // Keep in sync with scripts/install_protoc.sh
|
||||||
let mut path = start_path.as_deref();
|
|
||||||
while let Some(some_path) = path {
|
|
||||||
let file_path = some_path.join(name.as_ref());
|
|
||||||
if file_path.exists() {
|
|
||||||
return Some(file_path.to_owned());
|
|
||||||
}
|
|
||||||
path = some_path.parent();
|
|
||||||
}
|
|
||||||
None
|
|
||||||
}
|
|
||||||
|
|
||||||
fn get_desired_capnp_version_string() -> String {
|
fn get_desired_capnp_version_string() -> String {
|
||||||
let capnp_path = search_file(env!("CARGO_MANIFEST_DIR"), ".capnp_version")
|
CAPNP_VERSION.to_string()
|
||||||
.expect("should find .capnp_version file");
|
}
|
||||||
std::fs::read_to_string(&capnp_path)
|
|
||||||
.unwrap_or_else(|_| panic!("can't read .capnp_version file here: {:?}", capnp_path))
|
fn get_desired_protoc_version_string() -> String {
|
||||||
.trim()
|
PROTOC_VERSION.to_string()
|
||||||
.to_owned()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_capnp_version_string() -> String {
|
fn get_capnp_version_string() -> String {
|
||||||
@ -40,15 +28,6 @@ fn get_capnp_version_string() -> String {
|
|||||||
s[20..].to_owned()
|
s[20..].to_owned()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_desired_protoc_version_string() -> String {
|
|
||||||
let protoc_path = search_file(env!("CARGO_MANIFEST_DIR"), ".protoc_version")
|
|
||||||
.expect("should find .protoc_version file");
|
|
||||||
std::fs::read_to_string(&protoc_path)
|
|
||||||
.unwrap_or_else(|_| panic!("can't read .protoc_version file here: {:?}", protoc_path))
|
|
||||||
.trim()
|
|
||||||
.to_owned()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn get_protoc_version_string() -> String {
|
fn get_protoc_version_string() -> String {
|
||||||
let output = Command::new("protoc")
|
let output = Command::new("protoc")
|
||||||
.arg("--version")
|
.arg("--version")
|
||||||
@ -67,6 +46,11 @@ fn get_protoc_version_string() -> String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
#[cfg(doc)]
|
||||||
|
return;
|
||||||
|
|
||||||
|
#[cfg(not(doc))]
|
||||||
|
{
|
||||||
let desired_capnp_version_string = get_desired_capnp_version_string();
|
let desired_capnp_version_string = get_desired_capnp_version_string();
|
||||||
let capnp_version_string = get_capnp_version_string();
|
let capnp_version_string = get_capnp_version_string();
|
||||||
let desired_protoc_version_string = get_desired_protoc_version_string();
|
let desired_protoc_version_string = get_desired_protoc_version_string();
|
||||||
@ -126,4 +110,5 @@ fn main() {
|
|||||||
.file("proto/veilid.capnp")
|
.file("proto/veilid.capnp")
|
||||||
.run()
|
.run()
|
||||||
.expect("compiling schema");
|
.expect("compiling schema");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user