DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

EXT: Build Tools

Author:Christopher
Created:2010-12-18T19:57:23
Changed by:tommy
Changed:2011-11-28T14:17:40
Classification:buildtools
Description:The keywords help with categorizing and tagging of the manuals. You can combine two or more keywords and add additional keywords yourself. Please use at least one keyword from both lists. If your manual is NOT in english, see next tab "language" ---- forEditors (use this for editors / german "Redakteure") forAdmins (use this for Administrators) forDevelopers (use this for Developers) forBeginners (manuals covering TYPO3 basics) forIntermediates (manuals going into more depth) forAdvanced (covering the most advanced TYPO3 topics) see more: http://wiki.typo3.org/doc_template#tags ----
Keywords:forDevelopers, forIntermediates, build, deploy, continuous integration
Author:Thomas Juhnke
Email:tommy@van-tomas.de
Language:en

img-1 img-2 EXT: Build Tools

Extension Key: buildtools

Language: en

Version: 0.0.2

Keywords: forDevelopers, forIntermediates, build, deploy, continuous integration

Copyright 2011, Thomas Juhnke, <tommy@van-tomas.de>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.org

Table of Contents

`EXT: Build Tools 1 <#__RefHeading__5708_1738894311>`_

`Introduction 3 <#__RefHeading__5710_1738894311>`_

What does it do? 3

Screenshots 3

`Users manual 4 <#__RefHeading__467_413120346>`_

Installation 4

Available Tasks 4

FAQ 5

`Administration 6 <#__RefHeading__31511_818911409>`_

`Known problems 7 <#__RefHeading__31525_818911409>`_

`To-Do list 8 <#__RefHeading__477_413120346>`_

`ChangeLog 9 <#__RefHeading__31623_818911409>`_

Introduction

What does it do?

This extension is meant to help you developing TYPO3 extensions in a continuous integration and/or automatic build & deployment processes. The common tasks in using the extension manager for updating the ext_emconf.php and creating a T3X package is very tedious if it comes to integrate the build and packaging process into a continuous integration system.

You maybe interested in this extension if you are an extension developer and want to automate some certain tasks of the development process.

Screenshots

This extension is made for command line usage and here is a basic example how you can call the “Hello World”-Task:

img-3

Users manual

This extension is meant to be used from a command line interface (e.g. bash shell) for development purposes. It ships with no plugin for frontend or backend functionality but should be useful for developers which needs some common tasks during automatic building or deployment processes in continuous integration systems.

Currently, it's only possible to update the ext_emconf.php file and create a T3X package from within the extension manager's backend module. This task can't be accomplished by automatic processes and needs a decoupeling of the GUI functionality into an easy to handle command line interface controller.

Installation

Download and install the extension with the extension manager. Create a new backend user “_cli_buildtools” (without “”), clear the caches and you're done.

Test installation

To make sure the installation went fine, execute the following command on a shell terminal:

/path/to/typo3/cli_dispatch.phpsh buildtools hello_world World

This should output

Hello World!

Available Tasks

hello_world

This task is just a simple test task to test the successful installation of this extension. It takes one additional argument which is printed out after the word “Hello” on the command line.

Example:

/path/to/typo3/cli_dispatch.phpsh buildtools hello_world Kasper

The following is printed out on the command line:

Hello Kasper!
update_em_conf

This helps you to update the file ext_emconf.php of the given extension in an automatic build process which normally can't handle the common way in the known extension manager backend module. For example, you can update this file after a successful build.

It takes one additional argument: the extension key of the target extension.

Example:

/path/to/typo3/cli_dispatch.phpsh buildtools update_em_conf [EXTKEY]
create_t3x_package

This task lets you create a T3X package (e.g. after a successful build), which is currently only possible with the extension manager backend module.

This task takes two additional arguments. the extension key of the target extension and the path to the folder where the T3X file should be stored after generation.

Important: make sure, you provide the path to the storage folder with a trailing slash!

Example:

/path/to/typo3/cli_dispatch.phpsh buildtools create_t3x_package [EXTKEY] /storagefolder/

FAQ

Q: Where can I participate? I've got some nice ideas for this!

A: Please feel free to join the development on GitHub on http://github.com/dreadwarrior/ext-buildtools

Q: I've found a bug! How to report it?

A: Please use the GitHub issue tracking system. You're also encouraged to fork the current code base and provide pull requests.

Q: I have other questions and/or need help at installing or using this extension!

A: You're invited to write a mail directly to the author or use the GitHub messaging system to leave me a note.

Administration

The only task for an administrator is to download and install the extension with the extension manager and create the backend user “_cli_buildtools” (without “”).

Known problems

Currently, there are no known problems. If you've found a bug, please join the GitHub system and create issues or open pull requests for your enhancements.

GitHub project page

To-Do list

  • Implement more tasks (e.g. clear cache)

  • Write unit tests for used tx_em_* components.

    as I've read on Twitter somebody plans to decouple some stuff from EM into extdeveval. I think the EM code base gets updated during this process. I need to ensure, that the called methods from the tx_em_* components will work in future versions of this extension.

  • Manual updates

    add a tutorial section with a step-by-step guide for installing this extension in a continuous integration environment

ChangeLog

0.0.2

Version

0.0.2

Changes

creating proper manual

0.0.1

Version

0.0.1

Changes

initial release