Generic build- and deployment targets
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
CHANGELOG.md
README.md
common.default.properties
common.linux.properties
common.mac.properties
common.win.properties
common.xml
composer.json
phpcs.xml
phpmd.xml

README.md

appserver.io build

Introduction

This library provides generic ANT build- and deployment targets useful to build libraries for appserver.io.

The targets are mostly used for enabling continous integration with Travis-CI. The following targets are provied out-of-the-box with a default configuration:

  • clean (Deletes the directory with the generated artefacts)
  • prepare (Prepares the directory to temporarily store generated artefacts)
  • copy (Copies the sources to the temporary directory)
  • deploy (Copies the sources to the deploy directory)
  • pdepend (Runs the PHPDepend tool and generats a graphs)
  • phpcpd (Runs the copy and paste detection)
  • phpcs (Runs the code sniffer and generates a report)
  • phploc (Generate phploc.csv)
  • phpmd (Runs the PHP Mess detector tool)
  • build (Builds the library)
  • run-tests (Runs the PHPUnit tests on Travis-CI and generates a report)

All artefacts that'll be generated during the one of the targets runtime will be stored in a temporarily generated directory.

Installation

If you want to install the generic build- and deployment targets to use with your library, you do this by add

{
    "require": {
        "appserver-io/build": "dev-master"
    },
}

to your composer.json and invoke composer update in your project.

Usage

After installation you can import the XML file delivered with the library into your local ANT build file with:

<?xml version="1.0"?>
<!DOCTYPE project>
<project name="composer/package" basedir=".">
    
    <!-- initialize ENV variable -->
    <property environment="env" />
    
    <!-- initialize the library specific properties -->
    <property name="codepool" value="vendor"/>
    
    <!-- initialize the directory where we can find the real build files -->
    <property name="vendor.dir" value ="${basedir}/${codepool}" />
    <property name="build.dir" value="${vendor.dir}/appserver-io/build" />
    
    <!-- ==================================================================== -->
    <!-- Import the common build configuration file                           -->
    <!-- ==================================================================== -->
    <import file="${build.dir}/common.xml" optional="true"/>

</project>