Skip to content

Commit

Permalink
build: change codegen to move generated files to src/generated (#103)
Browse files Browse the repository at this point in the history
  • Loading branch information
ctran88 authored Jan 10, 2025
1 parent cd32d82 commit b041c47
Show file tree
Hide file tree
Showing 45 changed files with 12 additions and 13 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/on-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
php-version: '8.1'
tools: phpcs, cs2pr
- name: Lint
run: phpcs -q --standard=PSR12 --report=checkstyle src | cs2pr
run: phpcs -q --standard=PSR12 --report=checkstyle --ignore=src/generated/* src | cs2pr
format:
name: Format
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .php-cs-fixer.dist.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
$finder = (new PhpCsFixer\Finder())
->in(__DIR__)
->exclude([
'generated',
'src/generated',
])
;

Expand Down
6 changes: 3 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
}
],
"scripts": {
"lint": "./vendor/bin/phpcs --standard=PSR12 --report=full src",
"phpcs-fix": "./vendor/bin/phpcbf --standard=PSR12 src",
"lint": "./vendor/bin/phpcs --standard=PSR12 --report=full --ignore=src/generated/* src",
"phpcs-fix": "./vendor/bin/phpcbf --standard=PSR12 --ignore=src/generated/* src",
"format": "./vendor/bin/php-cs-fixer fix --allow-risky=yes --rules=@PSR12"
},
"require": {
Expand All @@ -51,7 +51,7 @@
"autoload": {
"psr-4": {
"OpenAPI\\Client\\": [
"generated/lib/"
"src/generated/"
],
"Passage\\Client\\": "src/"
}
Expand Down
15 changes: 7 additions & 8 deletions generate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,21 @@ fi

file="$1"

rm -rf ./generated
rm -rf ./src/generated/*

docker run --rm -v "${PWD}:/local" -u $(id -u) openapitools/openapi-generator-cli:latest generate \
-i "/local/$file" \
-g php-nextgen \
-o /local/temp \
--global-property apiTests=false,modelTests=false,apiDocs=false,modelDocs=false

mkdir -p ./generated/lib
mv ./temp/src/* ./generated/lib
mv ./temp/src/* ./src/generated
rm -rf ./temp

add_passage_version_header() {
local header_comment="// Add Passage version header"

if grep -q "$header_comment" generated/lib/HeaderSelector.php; then
if grep -q "$header_comment" src/generated/HeaderSelector.php; then
echo "Passage version header already exists"
return 0
fi
Expand All @@ -42,18 +41,18 @@ add_passage_version_header() {
\\
\$headers['Passage-Version'] = '$package_name ' . \$packageVersion;\\
" \
generated/lib/HeaderSelector.php
src/generated/HeaderSelector.php
}

# php-nextgen is generating error model return values from the API instead of void for some operations
# so this changes the return value back to void
return_void() {
local bad_user_return_type=' \\OpenAPI\\Client\\Model\\Model401Error|\\OpenAPI\\Client\\Model\\Model404Error|\\OpenAPI\\Client\\Model\\Model500Error'
sed -i 's/'"$bad_user_return_type"'/ void/' generated/lib/Api/UsersApi.php
sed -i 's/'"$bad_user_return_type"'/ void/' generated/lib/Api/UserDevicesApi.php
sed -i 's/'"$bad_user_return_type"'/ void/' src/generated/Api/UsersApi.php
sed -i 's/'"$bad_user_return_type"'/ void/' src/generated/Api/UserDevicesApi.php

local bad_token_return_type=' \\OpenAPI\\Client\\Model\\Model401Error|\\OpenAPI\\Client\\Model\\Model403Error|\\OpenAPI\\Client\\Model\\Model404Error|\\OpenAPI\\Client\\Model\\Model500Error'
sed -i 's/'"$bad_token_return_type"'/ void/' generated/lib/Api/TokensApi.php
sed -i 's/'"$bad_token_return_type"'/ void/' src/generated/Api/TokensApi.php
}

add_passage_version_header
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit b041c47

Please sign in to comment.