yfix / packager
Packager是一个PHP 5.2+库,可以将分割成多个文件的库合并为一个文件。它自动计算依赖关系。Packager要求每个文件使用yml头语法,并包含一个package.yml清单文件,如MooTools项目所示。
dev-master
2014-12-02 13:35 UTC
Requires
- php: >=5.2
This package is auto-updated.
Last update: 2024-08-29 03:47:35 UTC
README
Packager是一个PHP 5.2+库,可以将分割成多个文件的库合并为一个文件。它自动计算依赖关系。Packager要求每个文件使用yml头语法,并包含一个package.yml
清单文件,如MooTools项目所示。
Packager API
构造函数
此类的构造函数接受一个包的路径或一个包路径列表。不得在路径中包含package.yml
。
示例
$pkg = new Packager("/Users/kamicane/Sites/mootools-core/");
$pkg = new Packager(array("/Users/kamicane/Sites/mootools-core/", "/Users/kamicane/Sites/mootools-more/"));
添加清单
parse_manifest
:为此实例添加清单
处理文件
获取器
get_all_files
:获取所有文件列表get_file_dependancies
:获取此文件依赖的所有文件顺序列表get_file_path
:获取文件路径get_file_source
:获取文件源get_file_description
:获取文件描述get_file_provides
:获取文件提供的组件列表
转换器
complete_file
:将单个文件转换为文件顺序列表complete_files
:将文件列表转换为文件顺序列表
生成器
build_from_files
:返回包含所选文件及其依赖项源代码的字符串write_from_files
:将包含所选文件及其依赖项的文件写入
处理组件
转换为文件
component_to_file
:获取提供此组件的文件名components_to_files
:将组件列表转换为文件列表
生成器
build_from_components
:返回包含所选组件及其依赖项源代码的字符串write_from_components
:将包含所选组件及其依赖项的文件写入
类使用
语法
$pkg = new Packager(`$path_to_manifest`);
示例
$pkg = new Packager("/Users/kamicane/Sites/mootools-core/");
$pkg->write_from_components("/Users/kamicane/Sites/mootools.js", array('Type', 'Array'));
Packager命令行脚本
Packager命令行脚本是一站式解决方案,可以一次性构建任何包。在Unix系统上运行。
语法
./packager COMMAND +option1 argument1 argument2 +option2 argument1 argument2
COMMAND
:packager命令(必需)+option
:命令选项(可选)
命令
register
:注册一个包。在您的家目录中创建一个.packages.yml文件。unregister
:注销一个包list
:列出已注册的包build
:使用提供的包/文件/组件构建单个文件
注册包
示例
./packager register /Users/kamicane/mootools-core
» the package Core has been registered
列出包
示例
./packager list
» Core: /Users/kamicane/mootools-core
注销包
示例
./packager unregister Core
» the package Core has been unregistered
构建包
示例
./packager build Core/Type Core/Fx ART/ART.Element
等同于...
./packager build +components Core/Type Core/Fx ART/ART.Element
此命令使用您的已注册包构建传递的组件(及其依赖项)。
./packager build +files Core/Core Core/Fx ART/ART
此命令使用您的已注册包构建传递的文件(及其依赖项)。
./packager build ART/*
使用您的已注册包构建来自ART的所有组件及其依赖项。
./packager build SomePackage/SomeComponent +packages /Users/kamicane/Sites/some-package
使用您的已注册包和位于/Users/kamicane/Sites/some-package的临时包构建所选组件,无需先注册。
./packager build SomePackage/SomeComponent -packages Core
使用您传递给 -packages 的包名称以外的您的已注册包构建所选组件。这允许您在不依赖的情况下构建组件。
./packager build ART/SomeComponent +use-only ART
仅使用您的已注册包的ART构建所选组件。这允许您在不依赖的情况下构建组件。
./packager build SomePackage/SomeComponent +use-only +packages /Users/kamicane/Sites/some-package
使用您注册的所有软件包之外的任何软件包以及传入的软件包来构建选定的组件,而不注册它。这使您可以在没有任何依赖的情况下构建组件。
./packager build +components ART/ART +files ART/ART.Base
您可以混合组件和文件
./packager build Core/* > mootools.js
这是如何将输出写入文件的方法