JonathanTorres\Construct\Helpers\Travis::phpVersionsToRun PHP Method

phpVersionsToRun() public method

Generate string that specifies the php versions that will be run on travis.
public phpVersionsToRun ( array $phpVersions, boolean $setLintEnvironmentVariable = false ) : string
$phpVersions array
$setLintEnvironmentVariable boolean
return string
    public function phpVersionsToRun($phpVersions, $setLintEnvironmentVariable = false)
    {
        $runOn = '';
        $nonSemverVersions = (new Defaults())->nonSemverPhpVersions;
        $alreadySetLintEnvironmentVariable = false;
        for ($i = 0; $i < count($phpVersions); $i++) {
            $phpVersion = $phpVersions[$i];
            if (!in_array($phpVersions[$i], $nonSemverVersions)) {
                $phpVersion = $this->toMinorVersion($phpVersions[$i]);
            }
            if (count($i) !== 0) {
                $runOn .= '    ';
            }
            $runOn .= '- php: ' . $phpVersions[$i];
            if ($setLintEnvironmentVariable && count($phpVersions) == $i + 1 && $alreadySetLintEnvironmentVariable == false) {
                $alreadySetLintEnvironmentVariable = true;
                $runOn .= "\n      env:" . "\n      - LINT=true";
            }
            if ($i !== count($phpVersions) - 1) {
                $runOn .= PHP_EOL;
            }
        }
        return $runOn;
    }

Usage Example

Beispiel #1
0
 /**
  * Generate .travis.yml file.
  *
  * @return void
  */
 protected function travis()
 {
     $travisHelper = new Travis();
     if ($this->settings->withPhpcsConfiguration()) {
         $file = $this->file->get(__DIR__ . '/stubs/travis.phpcs.stub');
         $phpVersionsToRunOnTravis = $travisHelper->phpVersionsToRun($travisHelper->phpVersionsToTest($this->settings->getPhpVersion()), true);
     } else {
         $file = $this->file->get(__DIR__ . '/stubs/travis.stub');
         $phpVersionsToRunOnTravis = $travisHelper->phpVersionsToRun($travisHelper->phpVersionsToTest($this->settings->getPhpVersion()));
     }
     $content = str_replace('{phpVersions}', $phpVersionsToRunOnTravis, $file);
     $this->file->put($this->projectLower . '/' . '.travis.yml', $content);
     $this->exportIgnores[] = '.travis.yml';
 }