#config-file #template #applications #generate #up #create #projects-environments

app devenv

一个基于模板设置新项目/环境的工具

1个不稳定版本

0.1.0 2022年5月11日

模板引擎中排名506

MIT许可证

21KB
486

devenv

一个基于模板设置新项目/环境的工具。

/files包含一些示例模板以供测试。

目的

本项目的目的是帮助新项目的初始设置。例如,创建用于测试/代码检查等的模板化CI/CD管道,基本的DockerfileJustfileMakefile等。

用法

所有命令的根目录是

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