chiark / gitweb /
Break out otter-cli into separate cargo package
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 2 Jun 2021 18:51:09 +0000 (19:51 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 2 Jun 2021 22:36:06 +0000 (23:36 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Cargo.lock
Cargo.toml
Makefile
cli/Cargo.toml [new file with mode: 0644]
cli/otter.rs [moved from src/bin/otter.rs with 100% similarity]
make-release

index 3dd4680cc70702f0e2da3dd89a4e1621de48459b..c415485a099694c5dfea58136d69a01c97479f2a 100644 (file)
@@ -2344,7 +2344,6 @@ name = "otter"
 version = "0.6.0"
 dependencies = [
  "anyhow",
- "argparse",
  "backtrace",
  "base64 0.13.0",
  "boolinator",
@@ -2391,7 +2390,6 @@ dependencies = [
  "regex",
  "rmp",
  "rmp-serde",
- "ron",
  "serde",
  "serde_with",
  "sha2",
@@ -2449,6 +2447,21 @@ dependencies = [
  "void",
 ]
 
+[[package]]
+name = "otter-cli"
+version = "0.6.0"
+dependencies = [
+ "argparse",
+ "fehler",
+ "num-traits",
+ "otter",
+ "otter-base",
+ "ron",
+ "serde",
+ "serde_with",
+ "strum",
+]
+
 [[package]]
 name = "otter-daemon"
 version = "0.6.0"
index dc83077b1dcfbf41aeaf326d15953458e32e513b..a1dfc022339c71ffaf7fd4a014a0efe7b57c32be 100644 (file)
@@ -4,7 +4,7 @@
 
 [package]
 name="otter"
-description="Otter game system; main Rust crate."
+description="Otter game system; common infrastructure Rust crate."
 
 version="0.6.0"
 license="AGPL-3.0-or-later"
@@ -16,7 +16,7 @@ authors=["Ian Jackson <ijackson@chiark.greenend.org.uk>",
          "and the contributors to Otter"]
 
 [workspace]
-members=["wasm", "daemon", "wdriver", "apitest"]
+members=["cli", "wasm", "daemon", "wdriver", "apitest"]
 
 [build-dependencies]
 usvg="0.13"
@@ -29,7 +29,6 @@ otter-base.path="base"
 otter-base.version="=0.6.0"
        
 anyhow="1"
-argparse="0.2"
 backtrace="0.3"
 base64="0.13"
 boolinator="2"
@@ -67,7 +66,6 @@ percent-encoding="2"
 pwd="1"
 rand="0.8"
 regex="1"
-ron="0.6"
 rmp="0.8"
 rmp-serde="0.15"
 serde_with="1"
index 0b2789f9b2dbff55150f496c45ee405708581557..168fba5d36b66eb106dac32c371a4e01305b1062 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -188,13 +188,13 @@ CARGOES=$(foreach t, wasm-,$(addprefix $t,check $(DR)))
 
 $(addprefix stamp/cargo.,$(DR)):: \
 stamp/cargo.%: $(call rsrcs,. ! -path './wasm/*')
-       $(CARGO) build --workspace $(call cr,$*) -p otter -p otter-daemon
+       $(CARGO) build --workspace $(call cr,$*) -p otter -p otter-daemon -p otter-cli
        $(NAILING_CARGO_JUST_RUN) \
        ln -sf otter $(abspath $(TARGET_DIR))/$*/otter-ssh-proxy
        $(stamp)
 
 $(TARGET_DIR)/debug/%: $(call rsrcs, ! -path './wasm/*')
-       $(CARGO) build --workspace -p otter --bin $*
+       $(CARGO) build --workspace -p otter-cli
 
 stamp/cargo.wasm-bindgen: $(call rsrcs, ! -name \*.rs)
        $(CARGO) $(WASM_BINDGEN_CLI_CARGO_OPTS) build --target-dir=target \
@@ -231,7 +231,7 @@ stamp/cargo.wasm-%: $(call rsrcs, base wasm Cargo.*)
        $(stamp)
 
 stamp/cargo.deploy-build: $(call rsrcs,.)
-       $(CARGO) build --target $(DEPLOY_ARCH) $(call cr,$(DEPLOY_RELEASE)) -p otter -p otter-daemon
+       $(CARGO) build --target $(DEPLOY_ARCH) $(call cr,$(DEPLOY_RELEASE)) -p otter -p otter-cli -p otter-daemon
        $(NAILING_CARGO_JUST_RUN) \
        ln -sf otter $(abspath $(TARGET_DIR)/$(DEPLOY_ARCH))/$(DEPLOY_RELEASE)/otter-ssh-proxy
        $(stamp)
diff --git a/cli/Cargo.toml b/cli/Cargo.toml
new file mode 100644 (file)
index 0000000..29def51
--- /dev/null
@@ -0,0 +1,39 @@
+# Copyright 2020-2021 Ian Jackson and contributors to Otter
+# SPDX-License-Identifier: AGPL-3.0-or-later
+# There is NO WARRANTY.
+
+[package]
+name="otter-cli"
+description="Otter game system; command line game management client."
+
+version="0.6.0"
+license="AGPL-3.0-or-later"
+edition="2018"
+homepage="https://www.chiark.greenend.org.uk/~ianmdlvl/otter/docs/"
+repository="https://salsa.debian.org/iwj/otter"
+keywords=["games"]
+authors=["Ian Jackson <ijackson@chiark.greenend.org.uk>",
+         "and the contributors to Otter"]
+
+[[bin]]
+name="otter"
+path="otter.rs"
+
+[dependencies]
+
+otter.path=".."
+otter.version="=0.6.0"
+otter-base.path="../base"
+otter-base.version="=0.6.0"
+
+argparse="0.2"
+ron="0.6"
+
+fehler="1"
+num-traits="0.2"
+serde_with="1"
+
+serde        = { version="1"    , features=["derive", "rc"] }
+strum        = { version="0.20" , features=["derive"      ] }
+
+#fin.
similarity index 100%
rename from src/bin/otter.rs
rename to cli/otter.rs
index 1e802b6148657ede50bdc015c924043aeda8772b..1a274700fad57a3f239e4dbf4593df183b402e06 100755 (executable)
@@ -65,7 +65,7 @@ if [ "x$tag_exists" != x ]; then trouble "tag $tag already exists"; fi
 head -1 CHANGELOG.md | grep "^Version $version" \
 || trouble "CHANGELOG.md not updated"
 
-cargo_order='base . daemon wasm apitest wdriver'
+cargo_order='base . cli daemon wasm apitest wdriver'
 missing=(git ls-files :\*/Cargo.toml :Cargo.toml)
 for x in $cargo_order; do missing+=(:!$x/Cargo.toml); done
 missing=$( "${missing[@]}" )