6 个版本
0.3.1 | 2019 年 12 月 16 日 |
---|---|
0.3.0 | 2019 年 12 月 16 日 |
0.2.9 | 2019 年 12 月 13 日 |
#21 in #sh
每月 22 次下载
10MB
1K SLoC
包含 (DOS exe, 5.5MB) distribute/windows/luban.exe, (Mach-o exe, 5MB) distribute/darwin/0.2.6/luban, (Mach-o exe, 5MB) distribute/darwin/0.2.7/luban, (Mach-o exe, 5MB) distribute/darwin/0.2.9/luban, (Mach-o exe, 5MB) distribute/darwin/0.3.0/luban
luban
luban 是一个通用的项目生成器
安装
mac
brew install luban-project/luban/luban
luban --version
linux/unix
curl https://sh.rustup.rs -sSf | sh # 1. install rust:
cargo install cargo-luban # 2. install luban:
cargo luban --version # 3. check version:
已知问题
操作系统 | 问题 | 解决方法 |
---|---|---|
centos | 找不到 OpenSSL 目录 | yum install openssl-devel |
ubuntu | 链接器 cc 未找到 |
sudo apt-get install build-essential |
ubuntu | 找不到 OpenSSL 目录 | sudo apt install libssl-dev & sudo apt instll pkg-config |
windows
- 安装 rust:按照 rust-lang 的说明进行
- 安装 bullet:cargo install cargo-bullet
- 检查版本:cargo bullet --version
- 请安装 visual studio 以获取 msvc 编译器
使用示例
# for the first time, install project template
luban install --name=bullet-spring-java-maven
# generate project
luban fast-create --name=bullet-spring-java-maven --project=com.foo.example
cd example
# make shell executable
chmod 755 gen/gen.sh
chmod 755 run.sh
# generate code and run
./gen/gen.sh
./run.sh
bullet-spring-java-maven 模板说明
基本项目结构
root --|
api --| #对外提供的二方包,只能包含接口和POJO类,不能包含实现
#后续dubbo接口/grpc接口也需要定义在这里
app --| #主体应用程序
biz --| #业务逻辑层,应该只包含逻辑结构的组织
clg --| #核心逻辑层,应该只包含核心的领域模型和逻辑,要求纯函数
dal --| #数据操作层,mysql/redis/hbase/file等
ext --| #外部防腐层,外部调用,mq接入等
fun --| #通用方法层,纯函数
gen --| #自动代码生成的插件和配置
数据库代码生成
数据库相关的 sql 脚本在 app/src/main/resources/db/migration 目录下
代码生成命令如下:
chmod 755 gen/gen.sh
./gen/gen.sh
项目运行
chmod 755 run.sh
./run.sh
支持的模板
Java Spring Gradle
cargo bullet install --name=bullet-spring-java
cargo bullet create --name=bullet-spring-java
cargo bullet build --name=bullet-spring-java --output=out
Java Spring Maven
cargo bullet install --name=bullet-spring-java-maven
cargo bullet create --name=bullet-spring-java-maven
cargo bullet build --name=bullet-spring-java-maven --output=out
MySQL 累积器
cargo bullet install --name=bullet-sql-accumulator
cargo bullet create --name=bullet-sql-accumulator
cargo bullet build --name=bullet-sql-accumulator --output=out
依赖
~22–33MB
~596K SLoC