mirror of
https://github.com/sagiegurari/cargo-make
synced 2026-06-08 17:20:03 +00:00
65 lines
1.8 KiB
TOML
65 lines
1.8 KiB
TOML
|
|
[config]
|
|
skip_core_tasks = true
|
|
skip_git_env_info = true
|
|
skip_rust_env_info = true
|
|
skip_crate_env_info = true
|
|
|
|
[plugins.impl.dockerize]
|
|
script = '''
|
|
plugin_force_set = get_env PLUGIN_FORCE_SET
|
|
plugin_force_set = eq "${plugin_force_set}" 1
|
|
|
|
if not ${plugin_force_set}
|
|
cm_plugin_force_plugin_set
|
|
set_env PLUGIN_FORCE_SET 1
|
|
|
|
dockerfile = set ""
|
|
fn add_docker
|
|
dockerfile = set "${dockerfile}${1}\n"
|
|
end
|
|
|
|
taskjson = json_parse ${task.as_json}
|
|
makefile = basename ${taskjson.env.CARGO_MAKE_CURRENT_TASK_INITIAL_MAKEFILE}
|
|
|
|
add_docker "FROM debian:stable"
|
|
add_docker "RUN mkdir /workdir/"
|
|
add_docker "RUN mkdir /workdir/project/"
|
|
add_docker "RUN apt-get update"
|
|
add_docker "RUN apt-get install -y curl build-essential libssl-dev pkg-config"
|
|
add_docker "ENV PATH=\"$PATH:$HOME/.cargo/bin\""
|
|
add_docker "RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y"
|
|
add_docker "RUN $HOME/.cargo/bin/cargo install cargo-make"
|
|
add_docker "RUN $HOME/.cargo/bin/cargo make --version"
|
|
add_docker "RUN echo \"cd ./workdir/project/ && ls -lsa && $HOME/.cargo/bin/cargo make --makefile ${makefile} --profile ${CARGO_MAKE_PROFILE} ${CARGO_MAKE_TASK}\" > ./run.sh"
|
|
add_docker "RUN chmod 777 ./run.sh"
|
|
add_docker "ADD . /workdir/project/"
|
|
add_docker "CMD [\"sh\", \"./run.sh\"]"
|
|
|
|
writefile ./Dockerfile ${dockerfile}
|
|
exec --fail-on-error docker build --tag cmimg:build ./
|
|
|
|
exec --fail-on-error docker run cmimg:build
|
|
end
|
|
'''
|
|
|
|
[tasks.default]
|
|
alias = "docker_flow"
|
|
|
|
[tasks.docker_flow]
|
|
dependencies = ["part1", "part2", "part3"]
|
|
|
|
[tasks.base-task]
|
|
command = "echo"
|
|
args = ["task", "${CARGO_MAKE_CURRENT_TASK_NAME}"]
|
|
|
|
[tasks.part1]
|
|
plugin = "dockerize"
|
|
extend = "base-task"
|
|
|
|
[tasks.part2]
|
|
extend = "base-task"
|
|
|
|
[tasks.part3]
|
|
extend = "base-task"
|