因为项目需要,要做些项目模版方便之后使用,本来想用 yeoman 的,最后想了想还是自己撸了个模版管理工具出来,给大家分享下。支持模版的添加,查看,删除和使用指定模板创建工程的方法,支持本地模板和远程 git 的模版。 项目地址在这儿: https://github.com/yeyuexia/abathur
pip install abathur
首先有一个模板项目目录结构类似
template/src
├── main
│ ├── java
│ │ └── com
│ │ └── abathur
│ │ └── {PROJECT_NAME}
│ │ └── {PROJECT_NAME_IN_CLASS}Application.java
│ │ ├── domain
│ │ │ ├── entity
│ │ │ │ └── {PROJECT_NAME_IN_CLASS}.java
│ │ │ ├── repository
│ │ │ │ └── {PROJECT_NAME_IN_CLASS}Repository.java
│ │ │ └── service
│ │ │ └── {PROJECT_NAME_IN_CLASS}Service.java
│ │ ├── facade
│ │ │ ├── {PROJECT_NAME_IN_CLASS}DtoMapper.java
│ │ │ └── {PROJECT_NAME_IN_CLASS}Facade.java
│ │ ├── infrastructure
│ │ │ └── persistence
│ │ │ ├── {PROJECT_NAME_IN_CLASS}Po.java
│ │ │ └── {PROJECT_NAME_IN_CLASS}Repository.java
│ │ └── resource
│ │ └── {PROJECT_NAME_IN_CLASS}Resource.java
│ └── resources
│ └── application.yml
└── test
├── java
│ └── com
│ └── abathur
│ └── {PROJECT_NAME}
│ └── resource
│ └── {PROJECT_NAME_IN_CLASS}ResourceTest.java
└── resources
{}包裹的都是需要替换的关键字。其中会提供一个默认的关键字{PROJECT_NAME}默认替换为项目名称,也可以自己改它。
然后创建一个.abathur
的文件放在模板项目的根目录,里面把项目里所有用到的关键字列出来
cat .abathur
PROJECT_NAME_IN_CLASS
TABLE_NAME
模板管理器每次创建项目的时候就回去读这些配置然后让你去 override 它们。
abathur add alias ~/template
abathur build -a name project_name
-a
指定使用的模板名, 默认就会创建到当前位置上,文件夹的名字就是项目名称, 也可以用 -o
指定想要生成的位置abathur list
abathur remove alias
因为比较懒,目前只能用在 python3.6 以上的版本里。我在考虑要不要向下兼容 orz ,其实只用了 3.6 的 format 的 feature 。
总之 欢迎大家来试试,提些反馈意见 orz 。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.