You are here

public function ConfigurationExportManager::export in Configuration Management 7.3

Export the configuration of the site into the filesystem.

File

src/Helpers/ConfigurationExportManager.php, line 59
ConfigurationExportManager.php handles the export of configurations.

Class

ConfigurationExportManager

Namespace

Configuration\Helpers

Code

public function export() {
  if ($this->configuration_manager
    ->settings()
    ->get('export.batch')) {

    // @TODO: implement batch exports.
  }
  else {
    $this->fast_export = $this->configuration_manager
      ->settings()
      ->get('export.fast_export');
    $this->configuration_manager
      ->cache()
      ->reset();

    // Based on the list of selected dependencies to export, build the full
    // list of configurations searching for dependencies of dependecies and
    // parts of all the detected configurations.
    $this
      ->searchComplementaryConfigurations();

    // Remove the excluded configurations.
    foreach ($this->configuration_manager
      ->settings()
      ->get('export.exclude') as $exclude) {
      if ($this->configuration_manager
        ->cache()
        ->contains($exclude)) {
        $this->configuration_manager
          ->cache()
          ->remove($exclude);
      }
    }

    // Check for Circular Dependency and Missing configurations.
    $this
      ->checkForCircularDependecy();

    // Finally, create all the files and the configuration.json file.
    $this
      ->dumpFiles();
  }
}