diff --git a/.github/workflows/clean-vendor.yml b/.github/workflows/clean-vendor.yml new file mode 100644 index 0000000..7e61e23 --- /dev/null +++ b/.github/workflows/clean-vendor.yml @@ -0,0 +1,26 @@ +name: Clean Vendor Check + +on: + push: + branches: + - stable/* + +jobs: + check-vendor: + name: Clean Vendor Check + runs-on: ubuntu-latest + + steps: + - name: Checkout code base + uses: actions/checkout@v3 + + - name: Check If Vendor Is Clean + run: | + files=`find vendor -maxdepth 1 -type d -not -name "ipl" -not -name "fortawesome" -not -name "composer" -not -name "vendor"` + if [ -z "$files" ]; then + echo "No unknown vendor files found"; + exit 0; + else + echo "Found unknown vendor files: $files"; + exit 1; + fi diff --git a/bin/make-release.sh b/bin/make-release.sh index 0cc9a6c..9395242 100755 --- a/bin/make-release.sh +++ b/bin/make-release.sh @@ -53,6 +53,12 @@ rm -rf vendor git checkout vendor composer validate --no-check-all --strict || fail "Composer validate failed" +UNKNOWN_VENDOR_FILES=$(find vendor -maxdepth 1 -type d -not -name "ipl" -not -name "fortawesome" -not -name "composer" -not -name "vendor") +if [ -n "$UNKNOWN_VENDOR_FILES" ]; then + echo "Unknown vendor files found! DO NOT TAG!" + exit 1 +fi + if [ -z "$NO_OPT" ]; then git tag -a v$VERSION -m "Version v$VERSION" echo "Finished, tagged v$VERSION" diff --git a/composer.json b/composer.json index 8cfce65..10b1e07 100644 --- a/composer.json +++ b/composer.json @@ -10,8 +10,15 @@ "php": "7.2.9" } }, + "repositories": [ + { + "type": "path", + "url": "./replacer" + } + ], "require": { "php": ">=7.2", + "repl/acer": "@dev", "ipl/html": "^0.8.0", "ipl/i18n": "^0.2.0", "ipl/orm": "^0.6.0", @@ -21,8 +28,6 @@ "ipl/validator": "^0.5.0", "ipl/web": "^0.9.0" }, - "require-dev": { - }, "autoload": { "psr-0": { "AssetLoader": "" } }, diff --git a/replacer/composer.json b/replacer/composer.json new file mode 100644 index 0000000..53f9cdf --- /dev/null +++ b/replacer/composer.json @@ -0,0 +1,18 @@ +{ + "name": "repl/acer", + "type": "metapackage", + "description": "Replaces third party packages as they are included in icinga-php-thirdparty", + "license": "MIT", + "replace": { + "psr/http-message": "*", + "guzzlehttp/psr7": "*", + "dragonmantank/cron-expression": "*", + "psr/log": "*", + "ramsey/uuid": "*", + "react/event-loop": "*", + "react/promise": "*", + "simshaun/recurr": "*", + "evenement/evenement": "*", + "wikimedia/less.php": "*" + } +}