Merge pull request 'CLI use readline' (#5) from cli-use-readline into main
This commit is contained in:
commit
dea9211108
5 changed files with 35 additions and 22 deletions
|
@ -9,8 +9,7 @@ WORKDIR /app
|
||||||
COPY --from=micrate-deps /app/shard.yml /app/shard.lock ./
|
COPY --from=micrate-deps /app/shard.yml /app/shard.lock ./
|
||||||
COPY --from=micrate-deps /app/lib lib/
|
COPY --from=micrate-deps /app/lib lib/
|
||||||
COPY ./micrate/src ./src
|
COPY ./micrate/src ./src
|
||||||
COPY ./scripts ./scripts
|
RUN shards build --production --static --release --no-debug --verbose -s -p -t
|
||||||
RUN . ./scripts/build.sh ${BUILD_ENV}
|
|
||||||
|
|
||||||
FROM crystallang/crystal:latest-alpine as deps
|
FROM crystallang/crystal:latest-alpine as deps
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
@ -24,9 +23,11 @@ WORKDIR /app
|
||||||
COPY --from=deps /app/shard.yml /app/shard.lock ./
|
COPY --from=deps /app/shard.yml /app/shard.lock ./
|
||||||
COPY --from=deps /app/lib ./lib
|
COPY --from=deps /app/lib ./lib
|
||||||
COPY ./src ./src
|
COPY ./src ./src
|
||||||
COPY ./scripts ./scripts
|
RUN if [ "${BUILD_ENV}" = "development" ]; then \
|
||||||
RUN . ./scripts/build.sh ${BUILD_ENV}
|
shards build --static --verbose -s -p -t; \
|
||||||
|
else \
|
||||||
|
shards build --static --release --no-debug --verbose -s -p -t; \
|
||||||
|
fi
|
||||||
FROM scratch as runner
|
FROM scratch as runner
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
COPY --from=micrate-builder /app/bin/micrate ./bin/micrate
|
COPY --from=micrate-builder /app/bin/micrate ./bin/micrate
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
BASE_FLAGS="--production --static --verbose -s -p -t"
|
|
||||||
DEV_FLAGS="$BASE_FLAGS"
|
|
||||||
PROD_FLAGS="--release --no-debug $BASE_FLAGS"
|
|
||||||
|
|
||||||
echo "Building targets in '$1' mode..."
|
|
||||||
if [ "$1" = "development" ]; then
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
time shards build $DEV_FLAGS
|
|
||||||
else
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
time shards build $PROD_FLAGS
|
|
||||||
fi
|
|
|
@ -20,10 +20,22 @@ shards:
|
||||||
git: https://github.com/axentro/crystal-argon2.git
|
git: https://github.com/axentro/crystal-argon2.git
|
||||||
version: 0.1.3
|
version: 0.1.3
|
||||||
|
|
||||||
|
cute:
|
||||||
|
git: https://github.com/papierkorb/cute.git
|
||||||
|
version: 0.4.0
|
||||||
|
|
||||||
db:
|
db:
|
||||||
git: https://github.com/crystal-lang/crystal-db.git
|
git: https://github.com/crystal-lang/crystal-db.git
|
||||||
version: 0.10.1
|
version: 0.10.1
|
||||||
|
|
||||||
|
fancyline:
|
||||||
|
git: https://github.com/papierkorb/fancyline.git
|
||||||
|
version: 0.4.1
|
||||||
|
|
||||||
|
future:
|
||||||
|
git: https://github.com/crystal-community/future.cr.git
|
||||||
|
version: 1.0.0
|
||||||
|
|
||||||
granite:
|
granite:
|
||||||
git: https://github.com/amberframework/granite.git
|
git: https://github.com/amberframework/granite.git
|
||||||
version: 0.23.0
|
version: 0.23.0
|
||||||
|
|
|
@ -34,3 +34,5 @@ dependencies:
|
||||||
github: mrrooijen/commander
|
github: mrrooijen/commander
|
||||||
compiled_license:
|
compiled_license:
|
||||||
github: grimmigerFuchs/compiled_license
|
github: grimmigerFuchs/compiled_license
|
||||||
|
fancyline:
|
||||||
|
github: Papierkorb/fancyline
|
||||||
|
|
|
@ -1,15 +1,27 @@
|
||||||
require "commander"
|
require "commander"
|
||||||
require "compiled_license"
|
require "compiled_license"
|
||||||
|
require "fancyline"
|
||||||
|
|
||||||
require "./db"
|
require "./db"
|
||||||
|
|
||||||
module MW
|
module MW
|
||||||
module Cli
|
module CLI
|
||||||
extend self
|
extend self
|
||||||
|
|
||||||
|
private FANCY = Fancyline.new
|
||||||
|
|
||||||
|
FANCY.actions.set Fancyline::Key::Control::CtrlC do
|
||||||
|
exit
|
||||||
|
end
|
||||||
|
|
||||||
private def input(prompt : String) : String
|
private def input(prompt : String) : String
|
||||||
print prompt
|
x = FANCY.readline(prompt)
|
||||||
(gets || "").chomp.strip
|
|
||||||
|
if x
|
||||||
|
x.chomp.strip
|
||||||
|
else
|
||||||
|
""
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
cli = Commander::Command.new do |cmd|
|
cli = Commander::Command.new do |cmd|
|
||||||
|
|
Loading…
Reference in a new issue