1 个不稳定版本
新版本 0.1.3 | 2024年8月12日 |
---|
#208 在 开发工具
106 每月下载次数
105KB
2K SLoC
universal_project_manager
UPM 添加了 CLI 命令和功能,使创建和管理编程项目变得更容易。当像许多程序员(尤其是学生)那样在多种语言中工作时,记住管理项目(如包管理器、编译和执行步骤、依赖项处理)的所有不同细微差别可能很复杂。UPM 添加了处理所有差异的命令,并提供了一些简单的通用命令来管理任何语言中的任何编程项目。
项目计划:我计划在项目中添加大量的可配置性。例如,您应该能够配置自己的默认模板、默认包、默认设置等。我已经实现了一些这方面的基本功能,以 upmconfig.toml 的形式出现,您可以在其中将 'git' 和 'ignore' 设置为 true 或 false,这样它们就会在 'upm new' 命令中始终作为标志使用,而无需指定。类似的功能将会越来越多。目前,我想建立基础命令并确保它们在各种语言中都能良好地运行且无错误。至于语言,项目最终将几乎与任何语言兼容,但就目前而言,我将添加一些主要语言,并随着时间的推移逐渐添加更多。
命令
$upm new <项目名称> - 在指定语言中创建一个新的项目,在名为 PROJECT_NAME 的新目录中。
$upm run - 必须在 upm 项目的根目录下运行。运行 upm 项目的指定主入口点。
$upm init
- 如果当前目录尚未指定为 upm 项目,则将其初始化为 upm 项目。可选地接受 LANGUAGE 和 MAIN,但如果未传递,则将提示它们。$upm add <包名称> - 包管理器。将指定的包添加到当前项目。
标志
--git - 将项目初始化为 git 仓库。
--ignore - 需要使用 --git 标志,初始化忽略
--venv - 将项目初始化为
--license - 在项目中初始化您的默认许可证
--readme - 在项目中初始化一个 README
--tests - 在项目中初始化一个测试目录
--docs - 在项目中初始化一个文档目录
–docker - 在项目中初始化docker
支持的语言
Python
C
C++
C#
Rust
JavaScript
React/HTML
Java
Ruby
更多即将推出
我必须做的一切
让我们逐个分析每个主要命令以及它在最终版本中应该是什么
a. 额外警告所有非upm项目upm init。
b. 额外在缺少参数时始终提供提示。
c. 额外解决用户没有必要的步骤技术的问题,例如upm run但没有特定编译器。需要警告用户并提供简单修复或首次upm运行时的自动安装(如果可行)。
d. 额外使用常量字符串而不是自动配置来解决路径问题。
upm new - upm new应接受语言或可选的替代自定义结构。对于每种语言或自定义结构,都会使用可配置的模板并创建具有项目名称的项目。此命令应接受可以按项目切换的标志。例如,您想在项目中添加docker,请添加--docker。您可以将某些标志设置为始终为真。
upm template new - 简单创建一个基于指定模板的新upm项目。
upm add - 对于您正在使用的任何语言,如果适用(例如,对于C,它不会做任何事情,因为C没有包),它应查找该名称的包,如果存在,则将其安装到项目中,并将其添加到任何依赖项日志中(如果该语言是标准的话,例如requirements.txt等)。
upm run <OPTIONAL_SCRIPT> - 使用该语言的脚本运行方法运行项目的主要入口点或提供的可选脚本路径。
upm script -
a. upm script save <src_script> <save_name> - 将路径src_script上的脚本保存为save_name
b. upm script add <save_name> - 将保存为save_name的脚本(如果存在)添加到当前upm项目(如果在upm项目中)。
upm init language_ main_ - 使用作为参数传递的语言和主路径将当前根项目初始化为upm项目。
upm open project_name - 将终端目录更改为项目的根目录,并使用配置的编辑器打开根目录。project_name必须被识别为upm项目。 已完成但需要Unix平台检查。
upm list <ARGUMENT_> - 列出有关参数的详细信息
a. 编辑器 - 列出受支持的文本编辑器(由upm config可配置)
b. 模板 - 列出您通过UPM保存的所有模板的名称(默认和自定义) 可能需要删除README?
c. 许可证 - 列出您通过UPM保存的所有许可证的名称(默认和自定义)
d. 项目 - 列出所有项目的名称及其相关的语言/主/路径信息
f. 偏好 - 列出您版本的偏好配置。
upm delete optional_name - 删除当前目录并从项目列表中删除,或删除提供的upm项目的名称。
确定支持的语言的最终列表。
这些语言已在Windows上测试,适用于项目创建和运行
Ruby
HTML
C#
Python
Java
C
C++
JavaScript
TypeScript
React
Go
Swift
需要添加的语言
SQL
ASM
PHP
R
Perl
Obj-C
Pascal
Kotlin
Scala
Shell
Dart
Groovy
Haskell
Erlang
COBOL
Fortran
Lisp
Lua
MATLAB
依赖项
~4–6MB
~108K SLoC