1个不稳定版本
0.1.0 | 2022年5月11日 |
---|
在模板引擎中排名506
21KB
486 行
devenv
一个基于模板设置新项目/环境的工具。
/files
包含一些示例模板以供测试。
目的
本项目的目的是帮助新项目的初始设置。例如,创建用于测试/代码检查等的模板化CI/CD管道,基本的Dockerfile
,Justfile
或Makefile
等。
用法
所有命令的根目录是
devenv
首次运行时,它将在其目录中创建一个默认配置文件。
默认语言是any
(-l <language>
)和平台是any
(--p <platform>
)。
这两个都需要在配置文件中以其各自的标题存在才能运行,然而这两个默认值已在生成的配置文件中存在。
any
是一个硬编码的通配符,始终是有效的语言/平台。然而,确实需要通过devenv create
添加一个用于any
的模板文件。
注意:所有参数都是大小写敏感的(目前如此)
devenv create
这会创建用于与devenv generate
一起使用的新的模板文件。
例如,创建一个模板Dockerfile。
devenv create docker ./Dockerfile
# This creates a new template Dockerfile for `any` language projects for the `any` platform.
# However, a more likely use case is:
devenv -l rust create docker ./Dockerfile
# Which creates a template Dockerfile for `rust` projects on `any` platform.
模板当前可以包含以下占位符
{ProjectName}
:项目的名称(实际上是当前工作目录,但在将来可能是git仓库的名称或是最顶层的git仓库目录){ProjectName_DashesToUnderscores}
:将项目名称中的短横线替换为下划线的项目名称{ProjectName_Lowercase}
:将项目名称中所有字符转换为小写的项目名称
devenv generate
这会根据现有模板生成文件。
例如,为rust
语言项目生成Dockerfile。
devenv -l rust generate docker
如果模板是
FROM rust:latest
WORKDIR /{ProjectName}
COPY . .
CMD [ "cargo", "run", "--release" ]
然后输出文件,假设项目名称为 rust-project
FROM rust:latest
WORKDIR /rust-project
COPY . .
CMD [ "cargo", "run", "--release" ]
写入名为 Dockerfile
的文件中
devenv配置
这主要是为了调试原因,但它可能很有帮助。
devenv配置路径
这将打印配置文件的路径。
$ devenv config path
/home/user/.config/devenv/config.yml
devenv配置重建
这将重建配置文件,使用在 config.rs 中定义的默认设置
devenv配置显示
这将以格式化输出的Rust结构体形式打印当前配置文件。
问题
- 可能存在错误。我没有对其进行很多测试。在我的用例中它工作正常,我没有测试它的原因。
依赖项
~6–8.5MB
~159K SLoC