🗜️ ArchiveProject
为当前项目创建存档文件(如 zip 或 tar),等价于执行 composer archive --dir=<directory> --format=<format>。
何时使用
当你需要把当前项目打包成可分发的压缩包时使用。可指定输出目录和压缩格式。常用于发布制品或备份项目快照。
签名
go
func (c *Composer) ArchiveProject(directory string, format string) error参数
| 参数 | 类型 | 说明 |
|---|---|---|
directory | string | 存档输出目录;传空字符串则使用当前目录 |
format | string | 存档格式,如 zip 或 tar;传空字符串则使用默认格式 |
返回值
error:创建存档过程中发生错误时返回相应错误信息,成功时为 nil。
示例
go
package main
import (
"fmt"
"log"
"github.com/scagogogo/composer-skills/pkg/composer"
)
func main() {
comp, err := composer.New(composer.DefaultOptions())
if err != nil {
log.Fatalf("初始化失败: %v", err)
}
// 创建 zip 格式的存档到 ./dist 目录
if err := comp.ArchiveProject("./dist", "zip"); err != nil {
log.Fatalf("创建存档失败: %v", err)
}
fmt.Println("项目存档创建完成")
}进阶
- 想为任意包/版本创建存档(而非当前项目),可使用
ArchivePackage(packageName, version, destination)。 - 需要更多自定义选项(如
--ignore-filters),可使用ArchiveWithOptions变体。 - 仅指定格式而不指定目录时,可用
ArchiveWithFormat(destination, format)。