diff --git a/.github/labeler.yml b/.github/labeler.yml
index 1f63b1ab..d0b0d86a 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -1,50 +1,38 @@
-docs:
+documentation:
- docs/*
Bard:
- docs/bard/*
- - packages/bard/*
- src/SonsOfPHP/Bard/*
Clock:
- docs/components/clock/*
- - packages/clock/*
- src/SonsOfPHP/Component/Clock/*
CQRS:
- docs/components/cqrs/*
- - packages/cqrs/*
- - packages/cqrs-symfony/*
- src/SonsOfPHP/**/Cqrs/*
EventDispatcher:
- docs/components/event-dispatcher/*
- - packages/event-dispatcher/*
- src/SonsOfPHP/**/EventDispatcher/*
EventSourcing:
- docs/components/event-sourcing/*
- - packages/event-sourcing/*
- - packages/event-sourcing-doctrine/*
- - packages/event-sourcing-symfony/*
- src/SonsOfPHP/**/EventSourcing/*
FeatureToggle:
- docs/components/feature-toggle/*
- - packages/feature-toggle/*
- src/SonsOfPHP/**/FeatureToggle/*
JSON:
- docs/components/json/*
- - packages/json/*
- src/SonsOfPHP/**/Json/*
Money:
- docs/components/money/*
- - packages/money/*
- src/SonsOfPHP/**/Money/*
Version:
- docs/components/version/*
- - packages/version/*
- src/SonsOfPHP/**/Version/*
diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml
index 4184cc81..f347a2ec 100644
--- a/.github/workflows/labeler.yml
+++ b/.github/workflows/labeler.yml
@@ -12,3 +12,4 @@ jobs:
- uses: actions/labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
+ sync-labels: true
diff --git a/Makefile b/Makefile
index ab6e1b1b..d799a99b 100644
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,7 @@ PHP_CS_FIXER = tools/php-cs-fixer/vendor/bin/php-cs-fixer
PHPUNIT = tools/phpunit/vendor/bin/phpunit
PSALM = tools/psalm/vendor/bin/psalm
PSALM_BASELINE_FILE = psalm-baseline.xml
-BARD = packages/bard/bin/bard
+BARD = src/SonsOfPHP/Bard/bin/bard
COVERAGE_DIR = docs/coverage
@@ -30,10 +30,13 @@ upgrade: tools-upgrade
composer-install: composer.json # Install Dependencies via Composer
XDEBUG_MODE=off $(COMPOSER) install --no-interaction --prefer-dist --optimize-autoloader
- XDEBUG_MODE=off $(COMPOSER) install --working-dir=packages/bard --no-interaction --prefer-dist --optimize-autoloader
+ XDEBUG_MODE=off $(COMPOSER) install --working-dir=src/SonsOfPHP/Bard --no-interaction --prefer-dist --optimize-autoloader
purge: # Purge vendor and lock files
- rm -rf vendor/ packages/*/vendor/ packages/*/composer.lock
+ rm -rf vendor/ src/SonsOfPHP/Bard/vendor/ src/SonsOfPHP/Bard/composer.lock
+ rm -rf vendor/ src/SonsOfPHP/Bridge/*/vendor/ src/SonsOfPHP/Bridge/*/composer.lock
+ rm -rf vendor/ src/SonsOfPHP/Bundle/*/vendor/ src/SonsOfPHP/Bundle/*/composer.lock
+ rm -rf vendor/ src/SonsOfPHP/Component/*/vendor/ src/SonsOfPHP/Component/*/composer.lock
test: ## Run PHPUnit Tests
XDEBUG_MODE=off $(PHP) -dxdebug.mode=off $(PHPUNIT) --order-by=defects
@@ -49,7 +52,7 @@ phpunit-upgrade:
lint: lint-php ## Lint files
lint-php: # lint php files
- @! find packages/ -name "*.php" -not -path "packages/**/vendor/*" | xargs -I{} $(PHP) -l '{}' | grep -v "No syntax errors detected"
+ find src -name "*.php" -not -path "src/**/vendor/*" | xargs -I{} $(PHP) -l '{}'
coverage: ## Build Code Coverage Report
XDEBUG_MODE=coverage $(PHP) -dxdebug.mode=coverage $(PHPUNIT) --coverage-html $(COVERAGE_DIR)
@@ -85,21 +88,21 @@ tools-install: psalm-install php-cs-fixer-install phpunit-install
tools-upgrade: psalm-upgrade php-cs-fixer-upgrade phpunit-upgrade
-# Install deps for building docs
-docs-install:
+## Documentation
+docs-install: ## Install deps for building docs
pip install mkdocs
pip install mkdocs-material
-docs-upgrade:
+docs-upgrade: ## upgrade mkdocs
pip install --upgrade mkdocs-material
-docs-watch: # Preview documentation locally
+docs-watch: ## Preview documentation locally
$(MKDOCS) serve
-docs-build: # Build Site
+docs-build: ## Build Site
$(MKDOCS) build
-## Packages
+## Package Management
packages-install: ## Runs `composer install` on each package
$(BARD) install -n -vvv
diff --git a/docs/bard/index.md b/docs/bard/index.md
new file mode 100644
index 00000000..8bda479a
--- /dev/null
+++ b/docs/bard/index.md
@@ -0,0 +1,38 @@
+---
+title: Bard
+---
+
+# Bard
+
+Bard is used to manage monorepos.
+
+## Usage
+
+Initialize a new bard.json file
+
+```shell
+bard init
+```
+
+Add repositories
+
+```shell
+bard add path/to/code repoUrl
+```
+
+Push changes to read-only repos
+
+```shell
+bard push
+```
+
+Create a release
+
+```shell
+bard release major
+bard release minor
+bard release patch
+```
+
+Bard will track the versions so you can just use the keywords: major, minor,
+patch.
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 2b44cfa7..ed568685 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -11,7 +11,11 @@
- packages/*/Tests
+
+ src/SonsOfPHP/Bridge/Doctrine/*/Tests
+ src/SonsOfPHP/Bridge/Symfony/*/Tests
+ src/SonsOfPHP/Bundle/*/Tests
+ src/SonsOfPHP/Component/*/Tests
@@ -19,11 +23,19 @@