diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index e7c392a..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,145 +0,0 @@ -name: CI - -on: - push: - branches: - - 'master' - release: - types: [created] - workflow_dispatch: - -jobs: - build: - runs-on: ubuntu-latest - container: - image: php:8.3 - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Install dependencies - run: | - apt update -yqq - apt install git libpq-dev libzip-dev zip make wget gnupg -yqq - - - name: Install phive - run: | - wget -O phive.phar https://phar.io/releases/phive.phar - wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc - gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79 - gpg --verify phive.phar.asc phive.phar - chmod +x phive.phar - mv phive.phar /usr/local/bin/phive - - - name: Install phab - run: | - phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C - - - name: Install latest version of NCC - run: | - git clone https://git.n64.cc/nosial/ncc.git - cd ncc - make redist - NCC_DIR=$(find build/ -type d -name "ncc_*" | head -n 1) - if [ -z "$NCC_DIR" ]; then - echo "NCC build directory not found" - exit 1 - fi - php "$NCC_DIR/INSTALL" --auto --install-composer - cd .. && rm -rf ncc - - - name: Build project - run: | - ncc build --config release --log-level debug - - - name: Upload build artifacts - uses: actions/upload-artifact@v4 - with: - name: ncc-build - path: build/release/net.nosial.configlib.ncc - - test: - needs: build - runs-on: ubuntu-latest - container: - image: php:8.3 - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Download build artifacts - uses: actions/download-artifact@v4 - with: - name: ncc-build - path: ncc-build # Adjust this to download the artifact directly under 'ncc-build' - - - name: Install dependencies - run: | - apt update -yqq - apt install git libpq-dev libzip-dev zip make wget gnupg -yqq - curl -sSLf -o /usr/local/bin/install-php-extensions https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions - chmod +x /usr/local/bin/install-php-extensions - install-php-extensions zip - - - name: Install phive - run: | - wget -O phive.phar https://phar.io/releases/phive.phar - wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc - gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79 - gpg --verify phive.phar.asc phive.phar - chmod +x phive.phar - mv phive.phar /usr/local/bin/phive - - - name: Install phab - run: | - phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C - - - name: Install latest version of NCC - run: | - git clone https://git.n64.cc/nosial/ncc.git - cd ncc - make redist - NCC_DIR=$(find build/ -type d -name "ncc_*" | head -n 1) - if [ -z "$NCC_DIR" ]; then - echo "NCC build directory not found" - exit 1 - fi - php "$NCC_DIR/INSTALL" --auto --install-composer - cd .. && rm -rf ncc - - - name: Install NCC packages - run: | - ncc package install --package="ncc-build/net.nosial.configlib.ncc" --reinstall -y --log-level debug - - - name: Run PHPUnit tests - run: | - wget https://phar.phpunit.de/phpunit-11.3.phar - php phpunit-11.3.phar --configuration phpunit.xml - - release: - needs: [build, test] - permissions: write-all - runs-on: ubuntu-latest - container: - image: php:8.3 - if: github.event_name == 'release' - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Download build artifacts - uses: actions/download-artifact@v4 - with: - name: ncc-build - path: ncc-build - - - name: Upload to GitHub Release - uses: softprops/action-gh-release@v1 - with: - files: | - ncc-build/net.nosial.configlib.ncc - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/ncc_workflow.yml b/.github/workflows/ncc_workflow.yml new file mode 100644 index 0000000..d67880e --- /dev/null +++ b/.github/workflows/ncc_workflow.yml @@ -0,0 +1,597 @@ +name: CI + +on: + push: + branches: + - '**' + release: + types: [created] + workflow_dispatch: + +jobs: + release: + runs-on: ubuntu-latest + container: + image: php:8.3 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + apt update -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq + + - name: Install phive + run: | + wget -O phive.phar https://phar.io/releases/phive.phar + wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc + gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79 + gpg --verify phive.phar.asc phive.phar + chmod +x phive.phar + mv phive.phar /usr/local/bin/phive + + - name: Install phab + run: | + phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C + + - name: Install latest version of NCC + run: | + git clone https://git.n64.cc/nosial/ncc.git + cd ncc + make redist + NCC_DIR=$(find build/ -type d -name "ncc_*" | head -n 1) + if [ -z "$NCC_DIR" ]; then + echo "NCC build directory not found" + exit 1 + fi + php "$NCC_DIR/INSTALL" --auto + cd .. && rm -rf ncc + + - name: Build project + run: | + ncc build --config release --log-level debug + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: release + path: build/release/net.nosial.configlib.ncc + debug: + runs-on: ubuntu-latest + container: + image: php:8.3 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + apt update -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq + + - name: Install phive + run: | + wget -O phive.phar https://phar.io/releases/phive.phar + wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc + gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79 + gpg --verify phive.phar.asc phive.phar + chmod +x phive.phar + mv phive.phar /usr/local/bin/phive + + - name: Install phab + run: | + phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C + + - name: Install latest version of NCC + run: | + git clone https://git.n64.cc/nosial/ncc.git + cd ncc + make redist + NCC_DIR=$(find build/ -type d -name "ncc_*" | head -n 1) + if [ -z "$NCC_DIR" ]; then + echo "NCC build directory not found" + exit 1 + fi + php "$NCC_DIR/INSTALL" --auto + cd .. && rm -rf ncc + + - name: Build project + run: | + ncc build --config debug --log-level debug + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: debug + path: build/debug/net.nosial.configlib.ncc + release-compressed: + runs-on: ubuntu-latest + container: + image: php:8.3 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + apt update -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq + + - name: Install phive + run: | + wget -O phive.phar https://phar.io/releases/phive.phar + wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc + gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79 + gpg --verify phive.phar.asc phive.phar + chmod +x phive.phar + mv phive.phar /usr/local/bin/phive + + - name: Install phab + run: | + phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C + + - name: Install latest version of NCC + run: | + git clone https://git.n64.cc/nosial/ncc.git + cd ncc + make redist + NCC_DIR=$(find build/ -type d -name "ncc_*" | head -n 1) + if [ -z "$NCC_DIR" ]; then + echo "NCC build directory not found" + exit 1 + fi + php "$NCC_DIR/INSTALL" --auto + cd .. && rm -rf ncc + + - name: Build project + run: | + ncc build --config release-compressed --log-level debug + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: release-compressed + path: build/release/net.nosial.configlib.gz.ncc + debug-compressed: + runs-on: ubuntu-latest + container: + image: php:8.3 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + apt update -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq + + - name: Install phive + run: | + wget -O phive.phar https://phar.io/releases/phive.phar + wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc + gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79 + gpg --verify phive.phar.asc phive.phar + chmod +x phive.phar + mv phive.phar /usr/local/bin/phive + + - name: Install phab + run: | + phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C + + - name: Install latest version of NCC + run: | + git clone https://git.n64.cc/nosial/ncc.git + cd ncc + make redist + NCC_DIR=$(find build/ -type d -name "ncc_*" | head -n 1) + if [ -z "$NCC_DIR" ]; then + echo "NCC build directory not found" + exit 1 + fi + php "$NCC_DIR/INSTALL" --auto + cd .. && rm -rf ncc + + - name: Build project + run: | + ncc build --config debug-compressed --log-level debug + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: debug-compressed + path: build/debug/net.nosial.configlib.gz.ncc + release-executable: + runs-on: ubuntu-latest + container: + image: php:8.3 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + apt update -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq + + - name: Install phive + run: | + wget -O phive.phar https://phar.io/releases/phive.phar + wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc + gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79 + gpg --verify phive.phar.asc phive.phar + chmod +x phive.phar + mv phive.phar /usr/local/bin/phive + + - name: Install phab + run: | + phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C + + - name: Install latest version of NCC + run: | + git clone https://git.n64.cc/nosial/ncc.git + cd ncc + make redist + NCC_DIR=$(find build/ -type d -name "ncc_*" | head -n 1) + if [ -z "$NCC_DIR" ]; then + echo "NCC build directory not found" + exit 1 + fi + php "$NCC_DIR/INSTALL" --auto + cd .. && rm -rf ncc + + - name: Build project + run: | + ncc build --config release-executable --log-level debug + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: release-executable + path: build/release/release_executable_gz + debug-executable: + runs-on: ubuntu-latest + container: + image: php:8.3 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + apt update -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq + + - name: Install phive + run: | + wget -O phive.phar https://phar.io/releases/phive.phar + wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc + gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79 + gpg --verify phive.phar.asc phive.phar + chmod +x phive.phar + mv phive.phar /usr/local/bin/phive + + - name: Install phab + run: | + phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C + + - name: Install latest version of NCC + run: | + git clone https://git.n64.cc/nosial/ncc.git + cd ncc + make redist + NCC_DIR=$(find build/ -type d -name "ncc_*" | head -n 1) + if [ -z "$NCC_DIR" ]; then + echo "NCC build directory not found" + exit 1 + fi + php "$NCC_DIR/INSTALL" --auto + cd .. && rm -rf ncc + + - name: Build project + run: | + ncc build --config debug-executable --log-level debug + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: debug-executable + path: build/release/debug_executable_gz + release-compressed-executable: + runs-on: ubuntu-latest + container: + image: php:8.3 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + apt update -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq + + - name: Install phive + run: | + wget -O phive.phar https://phar.io/releases/phive.phar + wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc + gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79 + gpg --verify phive.phar.asc phive.phar + chmod +x phive.phar + mv phive.phar /usr/local/bin/phive + + - name: Install phab + run: | + phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C + + - name: Install latest version of NCC + run: | + git clone https://git.n64.cc/nosial/ncc.git + cd ncc + make redist + NCC_DIR=$(find build/ -type d -name "ncc_*" | head -n 1) + if [ -z "$NCC_DIR" ]; then + echo "NCC build directory not found" + exit 1 + fi + php "$NCC_DIR/INSTALL" --auto + cd .. && rm -rf ncc + + - name: Build project + run: | + ncc build --config release-compressed-executable --log-level debug + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: release-compressed-executable + path: build/release/release_compressed_executable + debug-compressed-executable: + runs-on: ubuntu-latest + container: + image: php:8.3 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + apt update -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq + + - name: Install phive + run: | + wget -O phive.phar https://phar.io/releases/phive.phar + wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc + gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79 + gpg --verify phive.phar.asc phive.phar + chmod +x phive.phar + mv phive.phar /usr/local/bin/phive + + - name: Install phab + run: | + phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C + + - name: Install latest version of NCC + run: | + git clone https://git.n64.cc/nosial/ncc.git + cd ncc + make redist + NCC_DIR=$(find build/ -type d -name "ncc_*" | head -n 1) + if [ -z "$NCC_DIR" ]; then + echo "NCC build directory not found" + exit 1 + fi + php "$NCC_DIR/INSTALL" --auto + cd .. && rm -rf ncc + + - name: Build project + run: | + ncc build --config debug-compressed-executable --log-level debug + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: debug-compressed-executable + path: build/release/debug_compressed_executable + + + # Checking for phpunit.xml + check-phpunit: + runs-on: ubuntu-latest + outputs: + phpunit-exists: ${{ steps.check.outputs.phpunit-exists }} + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Check for phpunit.xml + id: check + run: | + if [ -f phpunit.xml ]; then + echo "phpunit-exists=true" >> $GITHUB_OUTPUT + else + echo "phpunit-exists=false" >> $GITHUB_OUTPUT + fi + # Checking for phpdoc.dist.xml + check-phpdoc: + runs-on: ubuntu-latest + outputs: + phpdoc-exists: ${{ steps.check.outputs.phpdoc-exists }} + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Check for phpdoc.dist.xml + id: check + run: | + if [ -f phpdoc.dist.xml ]; then + echo "phpdoc-exists=true" >> $GITHUB_OUTPUT + else + echo "phpdoc-exists=false" >> $GITHUB_OUTPUT + fi + generate-phpdoc: + needs: [release, check-phpdoc] + runs-on: ubuntu-latest + container: + image: php:8.3 + if: needs.check-phpdoc.outputs.phpdoc-exists == 'true' + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + apt update -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq + + - name: Download PHPDocumentor + run: | + wget https://phpdoc.org/phpDocumentor.phar + chmod +x phpDocumentor.phar + + - name: Generate PHPDoc + run: | + php phpDocumentor.phar -d src -t docs + + - name: Upload PHPDoc + uses: actions/upload-artifact@v4 + with: + name: documentation + path: docs + + test: + needs: [release, debug, release-compressed, debug-compressed, release-executable, debug-executable, release-compressed-executable, debug-compressed-executable, check-phpunit] + runs-on: ubuntu-latest + container: + image: php:8.3 + if: needs.check-phpunit.outputs.phpunit-exists == 'true' + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: release + path: release + + - name: Install dependencies + run: | + apt update -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq + curl -sSLf -o /usr/local/bin/install-php-extensions https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions + chmod +x /usr/local/bin/install-php-extensions + install-php-extensions zip + + - name: Install phive + run: | + wget -O phive.phar https://phar.io/releases/phive.phar + wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc + gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79 + gpg --verify phive.phar.asc phive.phar + chmod +x phive.phar + mv phive.phar /usr/local/bin/phive + + - name: Install phab + run: | + phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C + + - name: Install latest version of NCC + run: | + git clone https://git.n64.cc/nosial/ncc.git + cd ncc + make redist + NCC_DIR=$(find build/ -type d -name "ncc_*" | head -n 1) + if [ -z "$NCC_DIR" ]; then + echo "NCC build directory not found" + exit 1 + fi + php "$NCC_DIR/INSTALL" --auto + cd .. && rm -rf ncc + + - name: Install NCC packages + run: | + ncc package install --package="release/net.nosial.configlib.ncc" --build-source --reinstall -y --log-level debug + + - name: Run PHPUnit tests + run: | + wget https://phar.phpunit.de/phpunit-11.3.phar + php phpunit-11.3.phar --configuration phpunit.xml + + upload-artifacts: + needs: [release, debug, release-compressed, debug-compressed, release-executable, debug-executable, release-compressed-executable, debug-compressed-executable, test] + permissions: write-all + runs-on: ubuntu-latest + container: + image: php:8.3 + if: github.event_name == 'release' + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Download release artifact + uses: actions/download-artifact@v4 + with: + name: release + path: release + - name: Download debug artifact + uses: actions/download-artifact@v4 + with: + name: debug + path: debug + - name: Download release-compressed artifact + uses: actions/download-artifact@v4 + with: + name: release-compressed + path: release-compressed + - name: Download debug-compressed artifact + uses: actions/download-artifact@v4 + with: + name: debug-compressed + path: debug-compressed + - name: Download release-executable artifact + uses: actions/download-artifact@v4 + with: + name: release-executable + path: release-executable + - name: Download debug-executable artifact + uses: actions/download-artifact@v4 + with: + name: debug-executable + path: debug-executable + - name: Download release-compressed-executable artifact + uses: actions/download-artifact@v4 + with: + name: release-compressed-executable + path: release-compressed-executable + - name: Download debug-compressed-executable artifact + uses: actions/download-artifact@v4 + with: + name: debug-compressed-executable + path: debug-compressed-executable + + + - name: Upload to GitHub Release + uses: softprops/action-gh-release@v1 + with: + files: | + release/net.nosial.configlib.ncc + debug/net.nosial.configlib.ncc + release-compressed/net.nosial.configlib.gz.ncc + debug-compressed/net.nosial.configlib.gz.ncc + release-executable/release_executable_gz + debug-executable/debug_executable_gz + release-compressed-executable/release_compressed_executable + debug-compressed-executable/debug_compressed_executable + + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/Makefile b/Makefile index c6e2ca2..c7466dd 100644 --- a/Makefile +++ b/Makefile @@ -1,20 +1,37 @@ # Variables -CONFIG ?= release +DEFAULT_CONFIGURATION ?= release LOG_LEVEL = debug -OUTDIR = build/$(CONFIG) -PACKAGE = $(OUTDIR)/net.nosial.configlib.ncc # Default Target -all: build +all: release debug release-compressed debug-compressed release-executable debug-executable release-compressed-executable debug-compressed-executable # Build Steps -build: - ncc build --config=$(CONFIG) --log-level $(LOG_LEVEL) +release: + ncc build --config=release --log-level $(LOG_LEVEL) +debug: + ncc build --config=debug --log-level $(LOG_LEVEL) +release-compressed: + ncc build --config=release-compressed --log-level $(LOG_LEVEL) +debug-compressed: + ncc build --config=debug-compressed --log-level $(LOG_LEVEL) +release-executable: + ncc build --config=release-executable --log-level $(LOG_LEVEL) +debug-executable: + ncc build --config=debug-executable --log-level $(LOG_LEVEL) +release-compressed-executable: + ncc build --config=release-compressed-executable --log-level $(LOG_LEVEL) +debug-compressed-executable: + ncc build --config=debug-compressed-executable --log-level $(LOG_LEVEL) -install: - ncc package install --package=$(PACKAGE) --skip-dependencies --reinstall -y --log-level $(LOG_LEVEL) + +install: release + ncc package install --package=build/release/net.nosial.configlib.ncc --skip-dependencies --build-source --reinstall -y --log-level $(LOG_LEVEL) + +test: release + [ -f phpunit.xml ] || { echo "phpunit.xml not found"; exit 1; } + phpunit clean: rm -rf build -.PHONY: all build install clean \ No newline at end of file +.PHONY: all install test clean release debug release-compressed debug-compressed release-executable debug-executable release-compressed-executable debug-compressed-executable \ No newline at end of file diff --git a/project.json b/project.json index f6ee0e6..0110128 100644 --- a/project.json +++ b/project.json @@ -5,6 +5,9 @@ "minimum_version": "8.0", "maximum_version": "8.2" }, + "options": { + "create_symlink": true + }, "update_source": { "source": "nosial/libs.config@n64", "repository": { @@ -13,28 +16,14 @@ "host": "git.n64.cc", "ssl": true } - }, - "options": { - "create_symlink": true } }, - "execution_policies":[ - { - "name": "main", - "runner": "php", - "execute": { - "target": "main", - "working_directory": "%CWD%", - "tty": true - } - } - ], "assembly": { "name": "ConfigLib", "package": "net.nosial.configlib", + "description": "ConfigLib is a library for reading and writing configuration files via the NCC Runtime API", "company": "Nosial", "copyright": "Copyright (c) 2022-2023 Nosial", - "description": "ConfigLib is a library for reading and writing configuration files via the NCC Runtime API", "version": "1.1.0", "uuid": "9347259e-8e4d-11ed-85a7-fd07cf28ef35" }, @@ -49,31 +38,26 @@ { "name": "net.nosial.optslib", "version": "latest", - "source_type": "remote", "source": "nosial/libs.opts=latest@n64" }, { "name": "net.nosial.loglib", "version": "latest", - "source_type": "remote", "source": "nosial/libs.log=latest@n64" }, { "name": "com.symfony.filesystem", "version": "latest", - "source_type": "remote", "source": "symfony/filesystem=latest@packagist" }, { "name": "com.symfony.yaml", "version": "latest", - "source_type": "remote", "source": "symfony/yaml=latest@packagist" }, { "name": "com.symfony.process", "version": "latest", - "source_type": "remote", "source": "symfony/process=latest@packagist" } ], @@ -90,7 +74,72 @@ "define_constants": { "DEBUG": "1" } + }, + { + "name": "release-compressed", + "build_type": "ncc", + "output": "build/release/%ASSEMBLY.PACKAGE%.gz.ncc", + "options": { + "compression": "high" + } + }, + { + "name": "debug-compressed", + "build_type": "ncc", + "output": "build/debug/%ASSEMBLY.PACKAGE%.gz.ncc", + "options": { + "compression": "high" + }, + "define_constants": { + "DEBUG": "1" + } + }, + { + "name": "release-executable", + "build_type": "executable", + "output": "build/release/release_executable_gz", + "options": { + "ncc_configuration": "release" + } + }, + { + "name": "debug-executable", + "build_type": "executable", + "output": "build/release/debug_executable_gz", + "options": { + "ncc_configuration": "debug" + } + }, + { + "name": "release-compressed-executable", + "build_type": "executable", + "output": "build/release/release_compressed_executable", + "options": { + "ncc_configuration": "release-compressed" + } + }, + { + "name": "debug-compressed-executable", + "build_type": "executable", + "output": "build/release/debug_compressed_executable", + "options": { + "ncc_configuration": "debug-compressed" + } } ] - } + }, + "execution_policies": [ + { + "name": "main", + "runner": "php", + "execute": { + "working_directory": "%CWD%", + "silent": false, + "tty": true, + "timeout": null, + "idle_timeout": null, + "target": "main" + } + } + ] } \ No newline at end of file