dreadlabs / typo3-build
该包已被废弃且不再维护。未建议替代包。
用于构建和部署TYPO3.CMS项目的项目。
dev-master
2016-05-25 20:55 UTC
Requires
- php: >=5.5.0
- pdepend/pdepend: ~2.2
- phing/phing: ~2.14
- phploc/phploc: ~2.1
- phpmd/phpmd: ~2.4
- phpunit/phpunit: ~4.8
- sebastian/phpcpd: ~2.0
This package is not auto-updated.
Last update: 2020-01-24 15:13:48 UTC
README
封装构建目标以构建TYPO3.CMS项目。
注意:这些步骤非常定制,但在TYPO3.CMS项目中拥有干净的composer结构是必要的。
但这又是另一个故事了... 现在,这只是一个容器,以便整理我的项目。
安装
Composer
编辑您的composer.json文件,并在require-dev部分添加以下行
{ "require-dev": { "dreadlabs/typo3-build": "dev-master" } }
构建文件
现在打开您最喜欢的文本编辑器,并在项目根目录中添加一个build.xml文件,并添加以下内容
<?xml version="1.0" encoding="UTF-8"?> <project name="example" default="run"> <import file="./vendor/dreadlabs/typo3-build/build.xml" /> <target name="run"> <phingcall target="build.main:run" /> </target> </project>
请注意,项目根元素的名称属性不得设置为''build'',因为这个命名空间已被此包占用。
属性
在您的项目目录中,您必须创建一个build.[阶段].properties文件。阶段值可以在执行构建目标时通过指定环境属性来引用。
作为最低要求,必须设置以下属性
distDir=${application.startdir}/www
秘密属性
为了保护一些敏感数据不公之于众,必须在项目的根目录中创建一个build.[阶段].secret.properties属性文件。如果您想使用提供的构建脚本,这是模板:
ssh.host= ssh.user= ssh.port= remote.path= database.name= database.host= database.password= database.port= database.username= basic_auth.user= basic_auth.password=
使用
构建
~ $ cd /vagrant ~ $ php vendor/bin/phing -Denvironment=[dev|prod]
质量保证
质量保证工具链包含以下工具:
- PHP Mess Detector
- PHP_Depend
- PHPLOC
- PHP Copy/Paste Detector
- PHP_CodeSniffer
- PHPUnit
~ $ cd /vagrant ~ $ php vendor/bin/phing qa:run
钩子
目前实现了以下钩子。
typo3.copy-extensions.project.preCopyDist
此钩子在从src/复制项目扩展到${distDir}/typo3conf/ext/之前执行。
使用此钩子,可以在分发之前运行grunt或其他应处理项目扩展的任务。
使用示例
在您的项目build.xml中,必须定义钩子目标映射作为属性,并添加您的自定义任务
<property name="typo3.copy-extensions.project.preCopyDist" value="runGrunt" /> <target name="runGrunt"> <exec command="/usr/bin/env grunt build" passthru="true" checkreturn="true" /> </target>
许可
GPL-2.0