Skip to content

Latest commit

 

History

History
87 lines (58 loc) · 2.61 KB

DEVELOPMENT.md

File metadata and controls

87 lines (58 loc) · 2.61 KB

Local development

Build/package

Using the docker approach

If you don't want to install any of the dependencies you might need to compile and install the library then you can use the Dockerfile.

## To prepare the build docker container
PHP_VERSION=7.2 make -f .ci/Makefile prepare

## To compile the library
PHP_VERSION=7.2 make -f .ci/Makefile build

## To run the unit test and static check
PHP_VERSION=7.2 make -f .ci/Makefile static-check-unit-test

## To generate the agent extension with the existing PHP API
PHP_VERSION=7.2 make -f .ci/Makefile generate-for-package

## To run the component tests
PHP_VERSION=7.2 make -f .ci/Makefile component-test

## To release given the GITHUB_TOKEN and TAG_NAME
GITHUB_TOKEN=**** TAG_NAME=v1.0.0 make -f .ci/Makefile release

## To generate the agent extension with the existing PHP API for alpine
PHP_VERSION=7.2 DOCKERFILE=Dockerfile.alpine make -f .ci/Makefile generate-for-package

## Help goal will provide further details
make -f .ci/Makefile help

NOTE:

  • PHP_VERSION can be set to a different PHP version.
  • Alpine specific binaries can be generated if using DOCKERFILE=Dockerfile.alpine

To generate the packages then you can use the packaging/Dockerfile, see the below commands:

⚠️ 🚧 WARNING: The packaging stage is still in development!
## To prepare the docker image that will be used later on for packaging the project
make -C packaging prepare

## To create the rpm package
make -C packaging rpm

## To create the deb package
make -C packaging deb

## To create all the packages that are supported
make -C packaging package

## To list the metadata info of the above generated packages
make -C packaging info

## To test the installation in debian
make -C packaging deb-install

## To test the installation for a given release in debian using the downloaded binary
RELEASE_VERSION=0.1 make -C packaging deb-install-release-github

## To test the installation and uninstallation for all the packages
make -C packaging lifecycle-testing

## Help goal will provide further details
make -C packaging help

NOTE: current implementation requires to use make -C packaging <target> since the workspace is mounted as a volume.

Documentation

To build the documentation for this project you must first clone the elastic/docs repository. Then run the following commands:

# Set the location of your repositories
export GIT_HOME="/<fullPathTYourRepos>"

# Build the PHP documentation
$GIT_HOME/docs/build_docs --doc $GIT_HOME/apm-agent-php/docs/index.asciidoc --chunk 1 --open