cmpayments/crate

一个简化PHAR构建过程的工具。

v1.0.0 2016-03-25 16:04 UTC

This package is auto-updated.

Last update: 2024-08-27 01:47:30 UTC


README

Build Status

这是什么?

Crate基于Box,旨在简化PHAR构建过程。开箱即用(无意中用了个双关语),应用可以完成许多出色的事情

  • 向现有PHAR中添加、替换和删除文件和占位符。
  • 提取整个PHAR,或者挑选你想要的文件。
  • 检索关于PHAR扩展或PHAR文件的信息。
    • 列出PHAR的内容。
  • 验证现有PHAR的签名。
  • 为OpenSSL签名生成RSA(PKCS#1编码)私钥。
    • 从现有的RSA私钥中提取公钥。
  • 使用Git标签和短提交哈希进行版本控制。

由于应用基于Crate库,你也会获得其带来的好处

  • 动态搜索和替换占位符。
  • 根据文件类型压缩文件内容。
  • 生成自定义占位符。

Box与Crate的区别

Box项目旨在跨平台,而Crate则专注于Linux。这意味着Linux特定的功能更有可能被引入到Crate中。

如何开始使用?

你可以用以下三种方式之一使用Crate

作为PHAR(推荐)

你可以下载一个作为PHAR的Crate即可使用版本

$ curl -LSs https://cmpayments.github.io/crate/installer.php | php

该命令将检查你的PHP设置,警告你任何问题,并将其下载到当前目录。从那里,你可以将其放置在任何方便访问的地方(如/usr/local/bin),并将其chmod设置为755。你甚至可以将其重命名为crate,以避免每次都输入.phar扩展名。

$ crate --version

每当应用发布新版本时,你可以简单地运行update命令以获取最新版本

$ crate update

作为全局Composer安装

当你以这种方式安装了其他工具(如phpunit和其他工具)时,这可能是最好的方式

$ composer global require cmpayments/crate --prefer-source

作为Composer依赖项

你也可以将Crate作为你的Composer管理项目的依赖项进行安装

$ composer require --dev cmpayments/crate

(或)

{
    "require-dev": {
        "cmpayments/crate": "~1.0"
    }
}

请注意,使用此方法需要额外的配置步骤,以防止Crate的依赖项意外添加到你的PHAR中,导致文件大小膨胀。

一旦安装了应用,你可以运行help命令以获取所有可用命令的详细信息。这应该是你查找如何使用Crate信息的首选地点。如果你偶然发现了可能对其他人有用的信息,wiki也开放供你贡献。

$ crate help

创建PHAR

要开始,你可能想查看示例应用,该应用由Crate构建。你的项目的结构完全取决于你。所有Crate要求的是,你在项目目录的根目录下有一个名为crate.json的文件。你可以通过查看build命令的帮助信息来找到可用的完整和详细的配置设置列表。

$ crate help build

你可以在wiki上找到流行项目的示例配置文件。

一旦您使用crate.json(或crate.json.dist)配置了您的项目,您只需在包含crate.json的目录中运行build命令即可。

$ crate build -v

启用-v选项将产生详细输出。这将为您提供大量有关调试构建过程的有用信息。一旦您对结果满意,我建议不要使用详细输出选项。它可能会显著减慢构建过程。

贡献

您可以通过以下三种方式之一进行贡献

  1. 使用问题跟踪器提交错误报告。
  2. 在问题跟踪器上回答问题或修复错误。
  3. 贡献新功能或更新维基。

代码贡献过程并不是非常正式。您只需确保遵循PSR-0、PSR-1和PSR-2编码规范。任何新的代码贡献都必须附带适用的情况下的单元测试。