Skip to content

🗜️ ArchiveProject

为当前项目创建存档文件(如 zip 或 tar),等价于执行 composer archive --dir=<directory> --format=<format>

何时使用

当你需要把当前项目打包成可分发的压缩包时使用。可指定输出目录和压缩格式。常用于发布制品或备份项目快照。

签名

go
func (c *Composer) ArchiveProject(directory string, format string) error

参数

参数类型说明
directorystring存档输出目录;传空字符串则使用当前目录
formatstring存档格式,如 ziptar;传空字符串则使用默认格式

返回值

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)

基于 MIT 许可证发布