silverstripe-australia / build
5.3.0
2021-06-03 00:25 UTC
Requires
- silverstripe/framework: ~4.0
Replaces
- silverstripe-australia/build: 5.3.0
- 5.3.0
- dev-master / 5.2.x-dev
- 5.2.10
- 5.2.9
- 5.2.8
- 5.2.7
- 5.2.6
- 5.2.5
- 5.2.4
- 5.2.3
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.0
- 5.0.0
- 4.4.x-dev
- 4.4.0
- 4.3.0
- 4.2.2
- 4.2.1
- 4.2.0
- 4.1.1
- 4.1.0
- 4.0.x-dev
- 4.0.1
- 4.0.0
- 3.4.x-dev
- 3.4.1
- 3.4.0
- 3.3.x-dev
- 3.3.0
- 3.2.x-dev
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.x-dev
- 3.1.5
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.2
- 3.0.1
- 3.0.0
- 2.1.x-dev
- 2.1.1
- 2.1.0
- 2.0.1
- 2.0.0
- 1.5.x-dev
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.x-dev
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.x-dev
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.x-dev
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.x-dev
- 1.1.1
- 1.1.0
- 1.0.x-dev
- 1.0.1
- 1.0.0
- dev-feature-package-ignore
- dev-nglasl-patch-2
- dev-nglasl-patch-1
- dev-feature-satis
- dev-feature-phpstan-target
- dev-version-bump
- dev-fix-removesqlite
This package is not auto-updated.
Last update: 2022-02-01 12:45:43 UTC
README
- Phing
- php cli
- PEAR (支持 silverstripe 的 phpunit 版本)
安装
- 编辑 scripts/build.xml 并将 name 属性更改为
- 将 scripts/build.properties.sample 复制到 scripts/build.properties
- 编辑 build.properties 并更改数据库配置和 rewrite.base 设置。
- 运行
phing -f scripts/build.xml
以确保一切安装正常 - 如果您需要额外的模块,请将它们添加到 scripts/dependent-modules 文件中,然后运行
phing -f scripts/build.xml update_modules
- 运行
phing -f scripts/build.xml test
以确保一切按预期工作
Phing 目标
常用目标
- build
- test
- package
有助于开发
pak
- 在 mysite/build/site.sspak 中构建 .sspak 文件。对 CI 有用。phpstan
- 如果通过 Composer 安装,运行 PHPStan + PHPStan for SilverStripe。用于静态分析 PHP 代码。- 在 build.xml 文件中将以下内容放在 <project> 标签下以定义要扫描的文件夹。
<property name="phpstan.dir" value="mysite/src mysite/tests" />
- 在 build.xml 文件中将以下内容放在 <project> 标签下以定义要扫描的文件夹。
Composer 脚本
如果您的主题使用基于 yarn 的依赖项,您可以将以下 post-install 脚本添加到由 composer 调用的脚本中,以确保正确安装 node_modules
"scripts": {
"post-update-cmd": [
"Symbiote\\Build\\ThemeBuilder::run"
],
"post-install-cmd": [
"Symbiote\\Build\\ThemeBuilder::run"
]
},
可选脚本
有三种脚本可用于您的项目,可以使用以下命令执行。
sh build/scripts/cache
这将清除所有项目缓存文件(针对所有项目),基本上是强制执行对网站中所有内容的 ?flush 的等效操作。
sh ~/path/to/permissions
这需要您更新 "{user}",因此需要将其复制到您选择的某个位置,并将适当的所有者和权限应用于缓存和存储库。
sh build/scripts/recursive-status
这将递归触发对在存储库中找到的每个模块目录的 "git status",主要是为了检查可能已在未包含在存储库代码库中的模块中做出的更改。
sh build/scripts/recursive-status assume-unchanged-listing
当您有补丁文件(在递归状态显示为已修改时),您可以使用git update-index --assume-unchanged {文件名}
,并使用带有参数的此脚本。这不仅会列出已假定未更改的文件,还会强制文件反映上游。这确保了您不会意外地本地更改,但它也会移除任何已实施的补丁。因此,您可以运行此命令,然后执行phing
以确保补丁保持不变。
从包中排除文件
创建一个{root}/.pkgignore文件,其中包含要从构建的包文件中排除的路径集合。
vendor/un-used/module/
themes/mytheme/node_modules/
mysite/cypress/