PHPackages                             jelix/buildtools - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. jelix/buildtools

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

jelix/buildtools
================

Tools to build package of a project

2.1.0(4y ago)21.9k↑30.4%1GPL-2.0PHPPHP &gt;=5.6

Since Oct 29Pushed 4y ago1 watchersCompare

[ Source](https://github.com/jelix/BuildTools)[ Packagist](https://packagist.org/packages/jelix/buildtools)[ Docs](http://jelix.org)[ RSS](/packages/jelix-buildtools/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (10)Used By (0)

JelixBuildTools
===============

[](#jelixbuildtools)

JelixBuildTools is a set of scripts

- to generate final source file from source file which needs a preprocessing step.
- to generate package to distribute sources
- to create "makefile" like in PHP

Creating a "makefile"
---------------------

[](#creating-a-makefile)

jBuildTools contains classes to ease to write build scripts.

A build script accept in parameters the name of an ini file containing some build options.

To create a script:

- You should define first an array, containing all options that can be in the ini file
- Then you call `\Jelix\BuildTools\Cli\Bootstrap::start()` with the array. It then read the ini file and other options in the command line.
- Then you can write your instructions

You can use several classes:

- `\Jelix\BuildTools\Cli\Environment` to read options value of the ini file
- `\Jelix\BuildTools\Manifest\Manager` to use manifest files. A manifest file is a file containing a list of files to copy in a specific directory. The syntax in a manifest file allows to indicate if a file should be preprocessed or not and how.

For scripts written for JelixBuildTools lower than 2.0 (jBuildTools), include the file `lib/legacy/init.php` instead of the old `jBuild.inc.php`.

More documentation later.

preprocess.php
--------------

[](#preprocessphp)

This is a tool to preprocess source file. It generates source file from other source file which contain preprocessing instruction. So you can generate source file according to parameters (environment variables).

usage :

```
     php preprocess.php source_file target_file

```

mkdist.php
----------

[](#mkdistphp)

Copy some source file from a directory to another, according to a "manifest" file. So it can be used to generate packages. In the manifest, you write the list of files, and indicates where it should be copied, if a preprocessor should be applied etc.. see

usage :

```
    php mkdist.php [-v] manifest_file.mn source_dir target_dir

```

mkmanifest.php
--------------

[](#mkmanifestphp)

generate a manifest file

```
   php mkmanifest.php [-v] source_dir [base_path] file.mn

```

History
-------

[](#history)

This library has just been extract from an other repository, . So its history may contain some cryptic commit comments, that have signification only for the Jelix Framework. This library has been used for long time to build packages of Jelix.

Dependencies
------------

[](#dependencies)

This lib includes the Javascript Packer class from .

###  Health Score

32

—

LowBetter than 71% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 97.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~321 days

Recently: every ~584 days

Total

9

Last Release

1639d ago

Major Versions

1.2.0 → 2.0.0-beta12015-02-23

PHP version history (2 changes)1.2.0PHP &gt;=5.3

2.1.0PHP &gt;=5.6

### Community

Maintainers

![](https://www.gravatar.com/avatar/ae8142be36568660282368ce7c1eec904ecbc515ab5b58c759a487f3a6f1d114?d=identicon)[laurentj](/maintainers/laurentj)

---

Top Contributors

[![laurentj](https://avatars.githubusercontent.com/u/336034?v=4)](https://github.com/laurentj "laurentj (126 commits)")[![kissifrot](https://avatars.githubusercontent.com/u/105998?v=4)](https://github.com/kissifrot "kissifrot (2 commits)")[![julieni](https://avatars.githubusercontent.com/u/995738?v=4)](https://github.com/julieni "julieni (1 commits)")

---

Tags

packagerpreprocessor

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/jelix-buildtools/health.svg)

```
[![Health](https://phpackages.com/badges/jelix-buildtools/health.svg)](https://phpackages.com/packages/jelix-buildtools)
```

###  Alternatives

[css-crush/css-crush

CSS preprocessor

541300.0k9](/packages/css-crush-css-crush)[t3docs/examples

This extension packages a number of code examples from the Core Documentation.

3120.2k](/packages/t3docs-examples)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
