Skip to content
This repository has been archived by the owner on Dec 3, 2023. It is now read-only.

Commit

Permalink
Merge c156c1f into da6849e
Browse files Browse the repository at this point in the history
  • Loading branch information
bennsel committed Mar 25, 2020
2 parents da6849e + c156c1f commit 103c365
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 2 deletions.
9 changes: 9 additions & 0 deletions packages/monorepo-builder/README.md
Expand Up @@ -58,6 +58,15 @@ parameters:

Sections are sorted for you by saint defaults. Do you want change the order? Just override `section_order` parameter.

To exclude a specific folder for ignoring the composer.json in this folder.

```yaml
# monorepo-builder.yml
parameters:
package_directories_excludes:
- 'ExcludeThis'
```

#### After Merge Options

Do you need to add or remove some packages only to root `composer.json`?
Expand Down
1 change: 1 addition & 0 deletions packages/monorepo-builder/config/config.yaml
Expand Up @@ -5,6 +5,7 @@ imports:
parameters:
package_directories:
- 'packages'
package_directories_excludes: []
data_to_append: []
data_to_remove: []
package_alias_format: '<major>.<minor>-dev'
Expand Down
18 changes: 16 additions & 2 deletions packages/monorepo-builder/src/Finder/PackageComposerFinder.php
Expand Up @@ -15,17 +15,27 @@ final class PackageComposerFinder
*/
private $packageDirectories = [];

/**
* @var string[]
*/
private $packageDirectoriesExcludes = [];

/**
* @var FinderSanitizer
*/
private $finderSanitizer;

/**
* @param string[] $packageDirectories
* @param string[] $packageDirectoriesExcludes
*/
public function __construct(array $packageDirectories, FinderSanitizer $finderSanitizer)
{
public function __construct(
array $packageDirectories,
array $packageDirectoriesExcludes,
FinderSanitizer $finderSanitizer
) {
$this->packageDirectories = $packageDirectories;
$this->packageDirectoriesExcludes = $packageDirectoriesExcludes;
$this->finderSanitizer = $finderSanitizer;
}

Expand All @@ -47,6 +57,10 @@ public function getPackageComposerFiles(): array
->exclude('node_modules')
->name('composer.json');

foreach ($this->packageDirectoriesExcludes as $excludeFolder) {
$finder->exclude($excludeFolder);
}

if (! $this->isPHPUnit()) {
$finder->notPath('#tests#');
}
Expand Down
@@ -0,0 +1,3 @@
{
"name": "first/excludePackage"
}
@@ -1,3 +1,5 @@
parameters:
package_directories:
- '%kernel.project_dir%/tests/Finder/PackageComposerFinder/Source'
package_directories_excludes:
- 'ExcludeThis'

0 comments on commit 103c365

Please sign in to comment.