PHPackages                             digipolisgent/robo-digipolis-general - 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. digipolisgent/robo-digipolis-general

ActiveRobo-tasks[Utility &amp; Helpers](/categories/utility)

digipolisgent/robo-digipolis-general
====================================

General Digipolis tasks for Robo Task Runner

3.0.0(1y ago)0149.4k↓42.1%13MITPHP

Since Feb 14Pushed 8mo ago3 watchersCompare

[ Source](https://github.com/district09/robo-digipolis-general)[ Packagist](https://packagist.org/packages/digipolisgent/robo-digipolis-general)[ RSS](/packages/digipolisgent-robo-digipolis-general/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (5)Dependencies (4)Versions (24)Used By (3)

Robo Digipolis General
======================

[](#robo-digipolis-general)

General Digipolis tasks for Robo Task Runner

[![Latest Stable Version](https://camo.githubusercontent.com/c6f1be3b44c3e21dd90043a7376781ad7c911ffce411d4e6cd0bd036195addfb/68747470733a2f2f706f7365722e707567782e6f72672f64696769706f6c697367656e742f726f626f2d64696769706f6c69732d67656e6572616c2f762f737461626c65)](https://packagist.org/packages/digipolisgent/robo-digipolis-general)[![Latest Unstable Version](https://camo.githubusercontent.com/f7beea28ad94ba73f8b3d64584da4f89a0ae5719d675e29b5a56f3d8ed890f77/68747470733a2f2f706f7365722e707567782e6f72672f64696769706f6c697367656e742f726f626f2d64696769706f6c69732d67656e6572616c2f762f756e737461626c65)](https://packagist.org/packages/digipolisgent/robo-digipolis-general)[![Total Downloads](https://camo.githubusercontent.com/1bfd272dbc65733b73d83111d7c341954729cae8e2fd35ec03671eb1dd18afc8/68747470733a2f2f706f7365722e707567782e6f72672f64696769706f6c697367656e742f726f626f2d64696769706f6c69732d67656e6572616c2f646f776e6c6f616473)](https://packagist.org/packages/digipolisgent/robo-digipolis-general)[![License](https://camo.githubusercontent.com/67f877e6cee7cd0f43777c38da1ddd9c254388a62d16a8816cb8ca1bf75b6288/68747470733a2f2f706f7365722e707567782e6f72672f64696769706f6c697367656e742f726f626f2d64696769706f6c69732d67656e6572616c2f6c6963656e7365)](https://packagist.org/packages/digipolisgent/robo-digipolis-general)

[![Build Status](https://camo.githubusercontent.com/eabcfbcdf4b9c98b31ce25eeb19145c4f49cd00978a1da74afebf3720d541a87/68747470733a2f2f7472617669732d63692e6f72672f64696769706f6c697367656e742f726f626f2d64696769706f6c69732d67656e6572616c2e7376673f6272616e63683d646576656c6f70)](https://travis-ci.org/digipolisgent/robo-digipolis-general)[![Maintainability](https://camo.githubusercontent.com/466f100c5d6a664df3293720320618b12db95a9e6b114e395113365ea7fd1a1a/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f33376334393631623061306437663666663364302f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/digipolisgent/robo-digipolis-general/maintainability)[![Test Coverage](https://camo.githubusercontent.com/de7a7c8abd8b31c4f068d1a58b919561944ef9f70ac2f1f29f02ee032ee99f1d/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f33376334393631623061306437663666663364302f746573745f636f766572616765)](https://codeclimate.com/github/digipolisgent/robo-digipolis-general/test_coverage)[![PHP 7 ready](https://camo.githubusercontent.com/79d52ea2ccde43312952f03345e1362f8b3290b44ba0bdbad741caf9a0a258a6/68747470733a2f2f7068703772656164792e74696d6573706c696e7465722e63682f64696769706f6c697367656e742f726f626f2d64696769706f6c69732d67656e6572616c2f646576656c6f702f62616467652e737667)](https://travis-ci.org/digipolisgent/robo-digipolis-general)

Tasks in this package
---------------------

[](#tasks-in-this-package)

### DetermineProjectRoot

[](#determineprojectroot)

Determines the root folder of the project by looking for certain files in the given folder. By default it looks for a `properties.yml` or a `composer.json`file. Usually this task is ran before running an other task in the same command so the config value can be passed to that task.

```
// Recursively search for a project root folder in the current directory with a
// maximum depth of 2.
$result = $this->taskDetermineProjectRoot(getcwd(), 2)
    // Do not search in the tests and vendor folders.
    ->exclude(['tests', 'vendor'])
    // A folder containing a composer.json is considered a project root.
    ->searchFiles(['composer.json'])
    ->run();
// The project root is stored in the digipolis.root.project config.
$root = $this->getConfig()->get('digipolis.root.project');
```

### DetermineWebRoot

[](#determinewebroot)

Determines the web root folder of the project by looking for certain files in the given folder. By default it looks for a `index.php`, `index.html`, `index.htm`, `home.php`, `home.html` or a `home.htm` file. Usually this task is ran before running an other task in the same command so the config value can be passed to that task.

```
// Recursively search for a web root folder in the current directory with a
// maximum depth of 2.
$result = $this->taskDetermineWebRoot(getcwd(), 2)
    // Do not search in the tests and vendor folders.
    ->exclude(['tests', 'vendor'])
    // A folder containing an index.php is considered a project root.
    ->searchFiles(['index.php'])
    ->run();
// The project root is stored in the digipolis.root.web config.
$root = $this->getConfig()->get('digipolis.root.web');
```

### ReadProperties

[](#readproperties)

Reads values from yaml files (`default.properties.yml` and `properties.yml`) and stores them in config. Values from `default.properties.yml` will be overridden if they exist in a `properties.yml`. If a valid path is set for `digipolis.root.web` in config, and a `properties.yml` file exists in that path, those values will have top priority. Property files (both `default.properties.yml` and `properties.yml`) can define a `_priority` key at the root of the yaml. Higher priorities (lower number) take precedence over lower priorities (higher number).

```
// Search for default.properties.yml and properties.yml files in the current
// directory.
$result = $this->taskReadProperties([getcwd()])
    ->run();
// Values are stored in config.
$root = $this->getConfig()->get('my.config.value');
```

Using these tasks in a command
------------------------------

[](#using-these-tasks-in-a-command)

If you want to use these tasks in a command, you can use the `\DigipolisGent\Robo\Task\General\Common\DigipolisPropertiesAware` trait and implement the `\DigipolisGent\Robo\Task\General\Common\DigipolisPropertiesAwareInterface`interface. This will expose a readProperties method to which you can pass the paths to the project root, the web root and the vendor folder. If the tasks to determine the project and web root are available on the class using the trait, and no project or web root are given as a parameter to the `readProperties`method, these tasks will be used to determine the paths. They both default to the current working directory. The vendor folder defaults to the vendor folder in the web root. Your `RoboFile.php` might look something like this:

```
class RoboFile extends \Robo\Tasks implements \DigipolisGent\Robo\Task\General\Common\DigipolisPropertiesAwareInterface
{
    use \DigipolisGent\Robo\Task\General\Common\DigipolisPropertiesAware;
    use \DigipolisGent\Robo\Task\General\loadTasks;

    public function myCommand(
        $arg1,
        $arg2,
        $opts = [
            'root|r' => null,
            'webroot|wr' => null,
            'vendor-folder|vf' => null,
        ]
    )
    {
        $this->readProperties(
            $opts['root'],
            $opts['webroot'],
            $opts['vendor-folder']
        );
        // All properties are stored in config now, so execute the command.
        $this->doCommand();
    }
}
```

###  Health Score

48

—

FairBetter than 95% of packages

Maintenance52

Moderate activity, may be stable

Popularity33

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor1

Top contributor holds 91.9% 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 ~152 days

Recently: every ~115 days

Total

20

Last Release

490d ago

Major Versions

0.1.6 → 1.0.02021-10-19

1.x-dev → 2.0.02022-05-13

2.x-dev → 3.0.02025-01-13

### Community

Maintainers

![](https://www.gravatar.com/avatar/fd0af1f056fd3baa2df55c0c745ade4d0f8af99505f717bf0ad48d7b615a2153?d=identicon)[Jelle-S](/maintainers/Jelle-S)

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

![](https://www.gravatar.com/avatar/7cfd5896bb41365115b75a18963ac964fbcfc44150103c366c2f4e039931d9d9?d=identicon)[daften](/maintainers/daften)

---

Top Contributors

[![Jelle-S](https://avatars.githubusercontent.com/u/1828542?v=4)](https://github.com/Jelle-S "Jelle-S (79 commits)")[![daften](https://avatars.githubusercontent.com/u/1221024?v=4)](https://github.com/daften "daften (4 commits)")[![Michaelvdwalle](https://avatars.githubusercontent.com/u/107845806?v=4)](https://github.com/Michaelvdwalle "Michaelvdwalle (3 commits)")

---

Tags

d09check22roborobo-digipolis-generalrobo-tasksweb

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/digipolisgent-robo-digipolis-general/health.svg)

```
[![Health](https://phpackages.com/badges/digipolisgent-robo-digipolis-general/health.svg)](https://phpackages.com/packages/digipolisgent-robo-digipolis-general)
```

###  Alternatives

[drupal-code-builder/drupal-code-builder

Code generator for Drupal

27241.1k1](/packages/drupal-code-builder-drupal-code-builder)[ec-europa/toolkit

Toolkit packaged for Drupal projects based on Robo.

38244.6k16](/packages/ec-europa-toolkit)[acquia/drupal-recommended-settings

The composer plugin for adding drupal-recommended-settings for Acquia Cloud.

101.1M4](/packages/acquia-drupal-recommended-settings)[globalis/robo-task

Robo task common collection

1225.4k2](/packages/globalis-robo-task)

PHPackages © 2026

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