dreadlabs/typo3-build

该包已被废弃且不再维护。未建议替代包。

用于构建和部署TYPO3.CMS项目的项目。

dev-master 2016-05-25 20:55 UTC

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