changelog shortlog graph tags branches files raw help

Mercurial > demo / changeset: containerfile, refactoring

changeset 29: 7e640cebeada
parent 28: 242002f9f098
child 30: aa37feddcfb2
author: ellis <ellis@rwest.io>
date: Thu, 15 Jun 2023 21:42:39 -0400
files: Containerfile Dockerfile src/crates/obj/src/hash.rs src/crates/obj/src/id.rs src/crates/obj/src/lib.rs src/crates/obj/src/types.rs src/crates/service/lib.rs src/crates/service/main.rs src/crates/service/tests.rs src/crates/ui/build.rs src/crates/ui/lib.rs tools/dep.sh
description: containerfile, refactoring
     1.1--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2+++ b/Containerfile	Thu Jun 15 21:42:39 2023 -0400
     1.3@@ -0,0 +1,4 @@
     1.4+FROM clfoundation/sbcl:latest
     1.5+COPY . /usr/src/demo
     1.6+WORKDIR /usr/src/demo
     1.7+CMD [ "make", "ci" ]
     1.8\ No newline at end of file
     2.1--- a/Dockerfile	Tue Jun 06 20:21:08 2023 -0400
     2.2+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3@@ -1,19 +0,0 @@
     2.4-ARG OS=archlinux
     2.5-ARG VERSION
     2.6-ADD https://github.com/sbcl/sbcl/archive/sbcl-$VERSION.tar.gz sbcl.tar.gz
     2.7-
     2.8-RUN set -x; \
     2.9-  tar xvfz sbcl.tar.gz && rm sbcl.tar.gz && cd "sbcl-sbcl-${VERSION}" && \
    2.10-  echo "\"$VERSION\"" > version.s && \
    2.11-
    2.12-ARG BUILD_DATE
    2.13-ARG VCS_REF
    2.14-ARG OS
    2.15-ARG VERSION
    2.16-
    2.17-LABEL org.label-schema.build-date=$BUILD_DATE \
    2.18-      org.label-schema.vcs-ref=$VCS_REF \
    2.19-      org.label-schema.version=$VERSION \
    2.20-      org.label-schema.schema-version="1.0"
    2.21-
    2.22-ENTRYPOINT ["/usr/local/bin/sbcl"]
    2.23\ No newline at end of file
     3.1--- a/src/crates/obj/src/hash.rs	Tue Jun 06 20:21:08 2023 -0400
     3.2+++ b/src/crates/obj/src/hash.rs	Thu Jun 15 21:42:39 2023 -0400
     3.3@@ -12,8 +12,8 @@
     3.4 
     3.5 #[cfg(test)]
     3.6 mod tests {
     3.7+  use super::*;
     3.8   use crate::*;
     3.9-  use super::*;
    3.10   #[test]
    3.11   fn id_state_hash() {
    3.12     let id = id::Id(vec![0; KEY_LEN]);
     4.1--- a/src/crates/obj/src/id.rs	Tue Jun 06 20:21:08 2023 -0400
     4.2+++ b/src/crates/obj/src/id.rs	Thu Jun 15 21:42:39 2023 -0400
     4.3@@ -1,9 +1,9 @@
     4.4+use crate::hash::{B3Hasher, KEY_LEN, OUT_LEN};
     4.5+use rand::Rng;
     4.6+use serde::{Deserialize, Serialize};
     4.7 use std::{fmt, str::FromStr};
     4.8-use serde::{Serialize, Deserialize};
     4.9+pub use ulid::Ulid;
    4.10 pub use uuid::Uuid;
    4.11-pub use ulid::Ulid;
    4.12-use rand::Rng;
    4.13-use crate::hash::{KEY_LEN,OUT_LEN,B3Hasher};
    4.14 /// a simple Id abstraction
    4.15 #[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Debug, Serialize, Deserialize, Hash)]
    4.16 pub struct Id(pub Vec<u8>);
     5.1--- a/src/crates/obj/src/lib.rs	Tue Jun 06 20:21:08 2023 -0400
     5.2+++ b/src/crates/obj/src/lib.rs	Thu Jun 15 21:42:39 2023 -0400
     5.3@@ -4,11 +4,11 @@
     5.4 pub use err::{Error, Result};
     5.5 mod types;
     5.6 pub use types::*;
     5.7-pub mod id;
     5.8 pub mod auth;
     5.9+pub mod database;
    5.10 pub mod hash;
    5.11+pub mod id;
    5.12 pub mod network;
    5.13-pub mod database;
    5.14 pub use bincode;
    5.15 pub use ron;
    5.16 use ron::extensions::Extensions;
    5.17@@ -146,4 +146,3 @@
    5.18 impl Objective for usize {}
    5.19 impl Objective for f32 {}
    5.20 impl Objective for f64 {}
    5.21-
     6.1--- a/src/crates/obj/src/types.rs	Tue Jun 06 20:21:08 2023 -0400
     6.2+++ b/src/crates/obj/src/types.rs	Thu Jun 15 21:42:39 2023 -0400
     6.3@@ -3,7 +3,7 @@
     6.4 use std::collections::HashMap;
     6.5 
     6.6 /// APPLICATION TYPES
     6.7-#[derive(Serialize,Deserialize,Default)]
     6.8+#[derive(Serialize, Deserialize, Default)]
     6.9 pub enum Service {
    6.10   Weather,
    6.11   Stocks,
    6.12@@ -36,10 +36,10 @@
    6.13   }
    6.14 }
    6.15 
    6.16-#[derive(Serialize,Deserialize,Default)]
    6.17+#[derive(Serialize, Deserialize, Default)]
    6.18 pub struct CustomService {
    6.19   name: String,
    6.20-  registry: HashMap<String,Vec<u8>>,
    6.21+  registry: HashMap<String, Vec<u8>>,
    6.22 }
    6.23 
    6.24 impl Objective for CustomService {}
    6.25@@ -56,11 +56,11 @@
    6.26   }
    6.27 }
    6.28 
    6.29-#[derive(Serialize, Deserialize,Default)]
    6.30+#[derive(Serialize, Deserialize, Default)]
    6.31 pub struct Complex<X: Objective> {
    6.32   data: X,
    6.33   stack: Vec<u8>,
    6.34-  registry: HashMap<String,Vec<u8>>,
    6.35+  registry: HashMap<String, Vec<u8>>,
    6.36 }
    6.37 
    6.38 impl Objective for Complex<Service> {}
     7.1--- a/src/crates/service/lib.rs	Tue Jun 06 20:21:08 2023 -0400
     7.2+++ b/src/crates/service/lib.rs	Thu Jun 15 21:42:39 2023 -0400
     7.3@@ -0,0 +1,1 @@
     7.4+
     8.1--- a/src/crates/service/main.rs	Tue Jun 06 20:21:08 2023 -0400
     8.2+++ b/src/crates/service/main.rs	Thu Jun 15 21:42:39 2023 -0400
     8.3@@ -1,6 +1,6 @@
     8.4-use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
     8.5+use sqlx::postgres::{PgPool, PgPoolOptions};
     8.6 use tokio::net::TcpListener;
     8.7-use sqlx::postgres::{PgPool, PgPoolOptions};
     8.8+use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
     8.9 
    8.10 #[tokio::main]
    8.11 async fn main() {
     9.1--- a/src/crates/service/tests.rs	Tue Jun 06 20:21:08 2023 -0400
     9.2+++ b/src/crates/service/tests.rs	Thu Jun 15 21:42:39 2023 -0400
     9.3@@ -0,0 +1,1 @@
     9.4+
    10.1--- a/src/crates/ui/build.rs	Tue Jun 06 20:21:08 2023 -0400
    10.2+++ b/src/crates/ui/build.rs	Thu Jun 15 21:42:39 2023 -0400
    10.3@@ -1,3 +1,3 @@
    10.4 fn main() {
    10.5-    slint_build::compile("ui.slint").unwrap();
    10.6+  slint_build::compile("ui.slint").unwrap();
    10.7 }
    11.1--- a/src/crates/ui/lib.rs	Tue Jun 06 20:21:08 2023 -0400
    11.2+++ b/src/crates/ui/lib.rs	Thu Jun 15 21:42:39 2023 -0400
    11.3@@ -11,59 +11,67 @@
    11.4 
    11.5 #[cfg_attr(target_arch = "wasm32", wasm_bindgen(start))]
    11.6 pub fn run() {
    11.7-    // This provides better error messages in debug mode.
    11.8-    // It's disabled in release mode so it doesn't bloat up the file size.
    11.9-    #[cfg(all(debug_assertions, target_arch = "wasm32"))]
   11.10-    console_error_panic_hook::set_once();
   11.11+  // This provides better error messages in debug mode.
   11.12+  // It's disabled in release mode so it doesn't bloat up the file size.
   11.13+  #[cfg(all(debug_assertions, target_arch = "wasm32"))]
   11.14+  console_error_panic_hook::set_once();
   11.15 
   11.16-    let app = App::new().unwrap();
   11.17-
   11.18-    let row_data: Rc<VecModel<slint::ModelRc<StandardListViewItem>>> = Rc::new(VecModel::default());
   11.19+  let app = App::new().unwrap();
   11.20 
   11.21-    for r in 1..101 {
   11.22-        let items = Rc::new(VecModel::default());
   11.23+  let row_data: Rc<VecModel<slint::ModelRc<StandardListViewItem>>> = Rc::new(VecModel::default());
   11.24 
   11.25-        for c in 1..5 {
   11.26-            items.push(slint::format!("Item {r}.{c}").into());
   11.27-        }
   11.28+  for r in 1..101 {
   11.29+    let items = Rc::new(VecModel::default());
   11.30 
   11.31-        row_data.push(items.into());
   11.32+    for c in 1..5 {
   11.33+      items.push(slint::format!("Item {r}.{c}").into());
   11.34     }
   11.35 
   11.36-    app.global::<TableViewPageAdapter>().set_row_data(row_data.clone().into());
   11.37+    row_data.push(items.into());
   11.38+  }
   11.39 
   11.40-    app.global::<TableViewPageAdapter>().on_sort_ascending({
   11.41-        let app_weak = app.as_weak();
   11.42-        let row_data = row_data.clone();
   11.43-        move |index| {
   11.44-            let row_data = row_data.clone();
   11.45+  app
   11.46+    .global::<TableViewPageAdapter>()
   11.47+    .set_row_data(row_data.clone().into());
   11.48 
   11.49-            let sort_model = Rc::new(row_data.sort_by(move |r_a, r_b| {
   11.50-                let c_a = r_a.row_data(index as usize).unwrap();
   11.51-                let c_b = r_b.row_data(index as usize).unwrap();
   11.52+  app.global::<TableViewPageAdapter>().on_sort_ascending({
   11.53+    let app_weak = app.as_weak();
   11.54+    let row_data = row_data.clone();
   11.55+    move |index| {
   11.56+      let row_data = row_data.clone();
   11.57 
   11.58-                c_a.text.cmp(&c_b.text)
   11.59-            }));
   11.60+      let sort_model = Rc::new(row_data.sort_by(move |r_a, r_b| {
   11.61+        let c_a = r_a.row_data(index as usize).unwrap();
   11.62+        let c_b = r_b.row_data(index as usize).unwrap();
   11.63 
   11.64-            app_weak.unwrap().global::<TableViewPageAdapter>().set_row_data(sort_model.into());
   11.65-        }
   11.66-    });
   11.67+        c_a.text.cmp(&c_b.text)
   11.68+      }));
   11.69 
   11.70-    app.global::<TableViewPageAdapter>().on_sort_descending({
   11.71-        let app_weak = app.as_weak();
   11.72-        move |index| {
   11.73-            let row_data = row_data.clone();
   11.74+      app_weak
   11.75+        .unwrap()
   11.76+        .global::<TableViewPageAdapter>()
   11.77+        .set_row_data(sort_model.into());
   11.78+    }
   11.79+  });
   11.80 
   11.81-            let sort_model = Rc::new(row_data.sort_by(move |r_a, r_b| {
   11.82-                let c_a = r_a.row_data(index as usize).unwrap();
   11.83-                let c_b = r_b.row_data(index as usize).unwrap();
   11.84+  app.global::<TableViewPageAdapter>().on_sort_descending({
   11.85+    let app_weak = app.as_weak();
   11.86+    move |index| {
   11.87+      let row_data = row_data.clone();
   11.88 
   11.89-                c_b.text.cmp(&c_a.text)
   11.90-            }));
   11.91+      let sort_model = Rc::new(row_data.sort_by(move |r_a, r_b| {
   11.92+        let c_a = r_a.row_data(index as usize).unwrap();
   11.93+        let c_b = r_b.row_data(index as usize).unwrap();
   11.94+
   11.95+        c_b.text.cmp(&c_a.text)
   11.96+      }));
   11.97 
   11.98-            app_weak.unwrap().global::<TableViewPageAdapter>().set_row_data(sort_model.into());
   11.99-        }
  11.100-    });
  11.101+      app_weak
  11.102+        .unwrap()
  11.103+        .global::<TableViewPageAdapter>()
  11.104+        .set_row_data(sort_model.into());
  11.105+    }
  11.106+  });
  11.107 
  11.108-    app.run().unwrap();
  11.109+  app.run().unwrap();
  11.110 }
    12.1--- a/tools/dep.sh	Tue Jun 06 20:21:08 2023 -0400
    12.2+++ b/tools/dep.sh	Thu Jun 15 21:42:39 2023 -0400
    12.3@@ -1,5 +1,6 @@
    12.4 #!/usr/bin/sh
    12.5 # install demo build dependencies
    12.6+# *based on rustup.sh
    12.7 set -u
    12.8 PKG_URL_ROOT="${PKG_URL_ROOT:-https://rwest.io/otom8/packy/bundle}"
    12.9 PKG_NAME="demo_build_deps"
   12.10@@ -342,13 +343,12 @@
   12.11                 ;;
   12.12         esac
   12.13     done
   12.14-
   12.15     if $_ansi_escapes_are_valid; then
   12.16-        printf "\33[1minfo:\33[0m downloading $PKG_NAME\n" 1>&2
   12.17+        printf '%s ' "\33[1minfo:\33[0m downloading from::" 1>&2
   12.18     else
   12.19-        printf '%s\n' 'info: downloading $PKG_NAME' 1>&2
   12.20+        printf '%s ' 'info: downloading from::' 1>&2
   12.21     fi
   12.22-
   12.23+    printf '%s\n' $_url 1>&2
   12.24     ensure mkdir -p "$_dir"
   12.25     ensure dl "$_url" "$_file" "$_arch"
   12.26     ensure chmod u+x "$_file"