xxx分支 表示xxx模块- 所有分支内直接存放kts文件,由CI负责编译
- 分支内不包含metadata和gradle相关文件
- @开头的为特殊分支,不代表模块
- Github直接kts源码分发
- 提供CI编译为ktc,上传到registry
registry以分支为单位分发。
每个分支包含一个manifest.json
{
"name": "xxxModule",
"date": "2023-11-12",
"scripts": {
"xxxModule.example": {
"hash": "xxxxxxxxxxxxxxxxxxx",
"res": {
"example.json": {
"hash": "xxxxxxxxxxxxxxxxx",
}
}
}
}
}设计参考OCI规范: https://github.com/opencontainers/distribution-spec/blob/main/spec.md
GET /manifests/<name>
Content-Type: application/json
If-None-Match: <hash> #可选RETURN
- 404 Not Found
- 403/401 Forbidden
- 304 Not Modify when ETag match
- 200 OK with ETag and
jsonbody
GET /blobs/<hash>
Content-Type: application/octet-streamRETURN
- 404 Not Found
- 200 OK with body
PUT /blobs/<hash>
Content-Type: application/octet-stream
Content-Length: <length>- 400 hash check failed
- 202 Accepted with
Locationfor redirect - 201 Created
PUT /manifests/<name>
Content-Type: application/json
ETag: <hash> #可选- 412 When any blobs not found
- 304 Not Modify when ETag match
- 201 Created
TODO
- 使用
git clone到scripts下进行开发 - TODO: metadata和gradle.kts生成工具
- Fork
模块分支/ 新模块Fork@readme - 添加脚本
- 发起PR请求