# HG changeset patch # User ellis # Date 1686879759 14400 # Node ID 7e640cebeada808c56e668eecd6539d5e04ccef5 # Parent 242002f9f0984cc88014bcf4a7db17ca2eae0fa7 containerfile, refactoring diff -r 242002f9f098 -r 7e640cebeada Containerfile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Containerfile Thu Jun 15 21:42:39 2023 -0400 @@ -0,0 +1,4 @@ +FROM clfoundation/sbcl:latest +COPY . /usr/src/demo +WORKDIR /usr/src/demo +CMD [ "make", "ci" ] \ No newline at end of file diff -r 242002f9f098 -r 7e640cebeada Dockerfile --- a/Dockerfile Tue Jun 06 20:21:08 2023 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -ARG OS=archlinux -ARG VERSION -ADD https://github.com/sbcl/sbcl/archive/sbcl-$VERSION.tar.gz sbcl.tar.gz - -RUN set -x; \ - tar xvfz sbcl.tar.gz && rm sbcl.tar.gz && cd "sbcl-sbcl-${VERSION}" && \ - echo "\"$VERSION\"" > version.s && \ - -ARG BUILD_DATE -ARG VCS_REF -ARG OS -ARG VERSION - -LABEL org.label-schema.build-date=$BUILD_DATE \ - org.label-schema.vcs-ref=$VCS_REF \ - org.label-schema.version=$VERSION \ - org.label-schema.schema-version="1.0" - -ENTRYPOINT ["/usr/local/bin/sbcl"] \ No newline at end of file diff -r 242002f9f098 -r 7e640cebeada src/crates/obj/src/hash.rs --- a/src/crates/obj/src/hash.rs Tue Jun 06 20:21:08 2023 -0400 +++ b/src/crates/obj/src/hash.rs Thu Jun 15 21:42:39 2023 -0400 @@ -12,8 +12,8 @@ #[cfg(test)] mod tests { + use super::*; use crate::*; - use super::*; #[test] fn id_state_hash() { let id = id::Id(vec![0; KEY_LEN]); diff -r 242002f9f098 -r 7e640cebeada src/crates/obj/src/id.rs --- a/src/crates/obj/src/id.rs Tue Jun 06 20:21:08 2023 -0400 +++ b/src/crates/obj/src/id.rs Thu Jun 15 21:42:39 2023 -0400 @@ -1,9 +1,9 @@ +use crate::hash::{B3Hasher, KEY_LEN, OUT_LEN}; +use rand::Rng; +use serde::{Deserialize, Serialize}; use std::{fmt, str::FromStr}; -use serde::{Serialize, Deserialize}; +pub use ulid::Ulid; pub use uuid::Uuid; -pub use ulid::Ulid; -use rand::Rng; -use crate::hash::{KEY_LEN,OUT_LEN,B3Hasher}; /// a simple Id abstraction #[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Debug, Serialize, Deserialize, Hash)] pub struct Id(pub Vec); diff -r 242002f9f098 -r 7e640cebeada src/crates/obj/src/lib.rs --- a/src/crates/obj/src/lib.rs Tue Jun 06 20:21:08 2023 -0400 +++ b/src/crates/obj/src/lib.rs Thu Jun 15 21:42:39 2023 -0400 @@ -4,11 +4,11 @@ pub use err::{Error, Result}; mod types; pub use types::*; -pub mod id; pub mod auth; +pub mod database; pub mod hash; +pub mod id; pub mod network; -pub mod database; pub use bincode; pub use ron; use ron::extensions::Extensions; @@ -146,4 +146,3 @@ impl Objective for usize {} impl Objective for f32 {} impl Objective for f64 {} - diff -r 242002f9f098 -r 7e640cebeada src/crates/obj/src/types.rs --- a/src/crates/obj/src/types.rs Tue Jun 06 20:21:08 2023 -0400 +++ b/src/crates/obj/src/types.rs Thu Jun 15 21:42:39 2023 -0400 @@ -3,7 +3,7 @@ use std::collections::HashMap; /// APPLICATION TYPES -#[derive(Serialize,Deserialize,Default)] +#[derive(Serialize, Deserialize, Default)] pub enum Service { Weather, Stocks, @@ -36,10 +36,10 @@ } } -#[derive(Serialize,Deserialize,Default)] +#[derive(Serialize, Deserialize, Default)] pub struct CustomService { name: String, - registry: HashMap>, + registry: HashMap>, } impl Objective for CustomService {} @@ -56,11 +56,11 @@ } } -#[derive(Serialize, Deserialize,Default)] +#[derive(Serialize, Deserialize, Default)] pub struct Complex { data: X, stack: Vec, - registry: HashMap>, + registry: HashMap>, } impl Objective for Complex {} diff -r 242002f9f098 -r 7e640cebeada src/crates/service/lib.rs --- a/src/crates/service/lib.rs Tue Jun 06 20:21:08 2023 -0400 +++ b/src/crates/service/lib.rs Thu Jun 15 21:42:39 2023 -0400 @@ -0,0 +1,1 @@ + diff -r 242002f9f098 -r 7e640cebeada src/crates/service/main.rs --- a/src/crates/service/main.rs Tue Jun 06 20:21:08 2023 -0400 +++ b/src/crates/service/main.rs Thu Jun 15 21:42:39 2023 -0400 @@ -1,6 +1,6 @@ -use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt}; +use sqlx::postgres::{PgPool, PgPoolOptions}; use tokio::net::TcpListener; -use sqlx::postgres::{PgPool, PgPoolOptions}; +use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt}; #[tokio::main] async fn main() { diff -r 242002f9f098 -r 7e640cebeada src/crates/service/tests.rs --- a/src/crates/service/tests.rs Tue Jun 06 20:21:08 2023 -0400 +++ b/src/crates/service/tests.rs Thu Jun 15 21:42:39 2023 -0400 @@ -0,0 +1,1 @@ + diff -r 242002f9f098 -r 7e640cebeada src/crates/ui/build.rs --- a/src/crates/ui/build.rs Tue Jun 06 20:21:08 2023 -0400 +++ b/src/crates/ui/build.rs Thu Jun 15 21:42:39 2023 -0400 @@ -1,3 +1,3 @@ fn main() { - slint_build::compile("ui.slint").unwrap(); + slint_build::compile("ui.slint").unwrap(); } diff -r 242002f9f098 -r 7e640cebeada src/crates/ui/lib.rs --- a/src/crates/ui/lib.rs Tue Jun 06 20:21:08 2023 -0400 +++ b/src/crates/ui/lib.rs Thu Jun 15 21:42:39 2023 -0400 @@ -11,59 +11,67 @@ #[cfg_attr(target_arch = "wasm32", wasm_bindgen(start))] pub fn run() { - // This provides better error messages in debug mode. - // It's disabled in release mode so it doesn't bloat up the file size. - #[cfg(all(debug_assertions, target_arch = "wasm32"))] - console_error_panic_hook::set_once(); + // This provides better error messages in debug mode. + // It's disabled in release mode so it doesn't bloat up the file size. + #[cfg(all(debug_assertions, target_arch = "wasm32"))] + console_error_panic_hook::set_once(); - let app = App::new().unwrap(); - - let row_data: Rc>> = Rc::new(VecModel::default()); + let app = App::new().unwrap(); - for r in 1..101 { - let items = Rc::new(VecModel::default()); + let row_data: Rc>> = Rc::new(VecModel::default()); - for c in 1..5 { - items.push(slint::format!("Item {r}.{c}").into()); - } + for r in 1..101 { + let items = Rc::new(VecModel::default()); - row_data.push(items.into()); + for c in 1..5 { + items.push(slint::format!("Item {r}.{c}").into()); } - app.global::().set_row_data(row_data.clone().into()); + row_data.push(items.into()); + } - app.global::().on_sort_ascending({ - let app_weak = app.as_weak(); - let row_data = row_data.clone(); - move |index| { - let row_data = row_data.clone(); + app + .global::() + .set_row_data(row_data.clone().into()); - let sort_model = Rc::new(row_data.sort_by(move |r_a, r_b| { - let c_a = r_a.row_data(index as usize).unwrap(); - let c_b = r_b.row_data(index as usize).unwrap(); + app.global::().on_sort_ascending({ + let app_weak = app.as_weak(); + let row_data = row_data.clone(); + move |index| { + let row_data = row_data.clone(); - c_a.text.cmp(&c_b.text) - })); + let sort_model = Rc::new(row_data.sort_by(move |r_a, r_b| { + let c_a = r_a.row_data(index as usize).unwrap(); + let c_b = r_b.row_data(index as usize).unwrap(); - app_weak.unwrap().global::().set_row_data(sort_model.into()); - } - }); + c_a.text.cmp(&c_b.text) + })); - app.global::().on_sort_descending({ - let app_weak = app.as_weak(); - move |index| { - let row_data = row_data.clone(); + app_weak + .unwrap() + .global::() + .set_row_data(sort_model.into()); + } + }); - let sort_model = Rc::new(row_data.sort_by(move |r_a, r_b| { - let c_a = r_a.row_data(index as usize).unwrap(); - let c_b = r_b.row_data(index as usize).unwrap(); + app.global::().on_sort_descending({ + let app_weak = app.as_weak(); + move |index| { + let row_data = row_data.clone(); - c_b.text.cmp(&c_a.text) - })); + let sort_model = Rc::new(row_data.sort_by(move |r_a, r_b| { + let c_a = r_a.row_data(index as usize).unwrap(); + let c_b = r_b.row_data(index as usize).unwrap(); + + c_b.text.cmp(&c_a.text) + })); - app_weak.unwrap().global::().set_row_data(sort_model.into()); - } - }); + app_weak + .unwrap() + .global::() + .set_row_data(sort_model.into()); + } + }); - app.run().unwrap(); + app.run().unwrap(); } diff -r 242002f9f098 -r 7e640cebeada tools/dep.sh --- a/tools/dep.sh Tue Jun 06 20:21:08 2023 -0400 +++ b/tools/dep.sh Thu Jun 15 21:42:39 2023 -0400 @@ -1,5 +1,6 @@ #!/usr/bin/sh # install demo build dependencies +# *based on rustup.sh set -u PKG_URL_ROOT="${PKG_URL_ROOT:-https://rwest.io/otom8/packy/bundle}" PKG_NAME="demo_build_deps" @@ -342,13 +343,12 @@ ;; esac done - if $_ansi_escapes_are_valid; then - printf "\33[1minfo:\33[0m downloading $PKG_NAME\n" 1>&2 + printf '%s ' "\33[1minfo:\33[0m downloading from::" 1>&2 else - printf '%s\n' 'info: downloading $PKG_NAME' 1>&2 + printf '%s ' 'info: downloading from::' 1>&2 fi - + printf '%s\n' $_url 1>&2 ensure mkdir -p "$_dir" ensure dl "$_url" "$_file" "$_arch" ensure chmod u+x "$_file"