From 9de07efb766c0f153f45d39fd3f6b6fa17df33a6 Mon Sep 17 00:00:00 2001 From: Dengke Tang Date: Wed, 22 Feb 2023 11:42:34 -0800 Subject: [PATCH] restructure --- Makefile.frag | 10 ++-- ext/awscrt.stub.php => awscrt.stub.php | 0 builder.json | 2 +- composer.json | 2 +- dev-scripts/cleanup.sh | 48 +++++++++++++++++++ dev-scripts/genarate_pecl_package.sh | 7 +++ .../package.xml-template_post | 0 .../package.xml-template_pre | 0 .../prepare_package_xml.sh | 14 +++--- .../prepare_release.sh | 10 +++- run_tests => dev-scripts/run_tests | 0 run_tests.bat => dev-scripts/run_tests.bat | 0 ext/.gitignore | 1 + 13 files changed, 81 insertions(+), 13 deletions(-) rename ext/awscrt.stub.php => awscrt.stub.php (100%) create mode 100755 dev-scripts/cleanup.sh create mode 100644 dev-scripts/genarate_pecl_package.sh rename package.xml-template_post => dev-scripts/package.xml-template_post (100%) rename package.xml-template_pre => dev-scripts/package.xml-template_pre (100%) rename prepare_package_xml.sh => dev-scripts/prepare_package_xml.sh (91%) rename prepare_release.sh => dev-scripts/prepare_release.sh (73%) rename run_tests => dev-scripts/run_tests (100%) rename run_tests.bat => dev-scripts/run_tests.bat (100%) diff --git a/Makefile.frag b/Makefile.frag index 3eda4bc..4e5a5e5 100644 --- a/Makefile.frag +++ b/Makefile.frag @@ -1,6 +1,6 @@ INT_DIR=build/install -GENERATE_STUBS=$(shell expr `php --version | head -1 | cut -f 2 -d' '` \>= 7.1) +GENERATE_STUBS=$(expr `php --version | head -1 | cut -f 2 -d' '` \>= 7.1) CMAKE = cmake3 ifeq (, $(shell which cmake3)) @@ -27,8 +27,8 @@ CMAKE_BUILD = CMAKE_BUILD_PARALLEL_LEVEL='' $(CMAKE) --build CMAKE_BUILD_TYPE ?= RelWithDebInfo CMAKE_TARGET = --config $(CMAKE_BUILD_TYPE) --target install -all: extension -.PHONY: all extension +all: extension +.PHONY: all extension # configure for static aws-crt-ffi.a build/aws-crt-ffi-static/CMakeCache.txt: @@ -46,8 +46,10 @@ ext/awscrt.lo: ext/awscrt.c ext/awscrt.c: build/aws-crt-ffi-static/libaws-crt-ffi.a ext/api.h ext/awscrt_arginfo.h -ext/awscrt_arginfo.h: ext/awscrt.stub.php gen_stub.php +ext/awscrt_arginfo.h: awscrt.stub.php gen_stub.php ifeq ($(GENERATE_STUBS),1) + # install awscrt.stub.php to ext/ + cp -v awscrt.stub.php ext/awscrt.stub.php # generate awscrt_arginfo.h php gen_stub.php --minimal-arginfo ext/awscrt.stub.php endif diff --git a/ext/awscrt.stub.php b/awscrt.stub.php similarity index 100% rename from ext/awscrt.stub.php rename to awscrt.stub.php diff --git a/builder.json b/builder.json index 2c6f0be..14763d0 100644 --- a/builder.json +++ b/builder.json @@ -32,6 +32,6 @@ "NO_INTERACTION": "1" }, "test_steps": [ - ["./run_tests"] + ["./dev-scripts/run_tests"] ] } diff --git a/composer.json b/composer.json index fd528a7..d631855 100644 --- a/composer.json +++ b/composer.json @@ -27,7 +27,7 @@ ] }, "scripts": { - "test": "./run_tests", + "test": "./dev-scripts/run_tests", "test-extension": "@test", "test-win": "run_tests" }, diff --git a/dev-scripts/cleanup.sh b/dev-scripts/cleanup.sh new file mode 100755 index 0000000..739381d --- /dev/null +++ b/dev-scripts/cleanup.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +BASENAME=${0} +TOOLS_DIR=$(dirname ${BASENAME}) +WORK_DIR="${TOOLS_DIR}/.." + +cd "${WORK_DIR}" + +find . -name \*.tgz -a |xargs rm -rf + +## get rid of anything that phpize, configure and make as well +rm -rf .deps \ +.libs \ +Makefile \ +Makefile.fragments \ +Makefile.global \ +Makefile.objects \ +acinclude.m4 \ +aclocal.m4 \ +autom4te.cache \ +build \ +config.guess \ +config.h \ +config.h.in* \ +config.log \ +config.nice \ +config.status \ +config.sub \ +configure \ +configure.in \ +configure.ac \ +include \ +install-sh \ +libtool \ +ltmain.sh \ +missing \ +mkinstalldirs \ +modules \ +run-tests.php \ +awscrt.la \ +vendor \ +composer.lock \ +ext/awscrt.stub.php \ + +find . -name \*.lo -o -name \*.o | xargs rm -f +find . -name \*.la -o -name \*.a | xargs rm -f +find . -name \*.so | xargs rm -f +find . -name .libs -a -type d|xargs rm -rf \ No newline at end of file diff --git a/dev-scripts/genarate_pecl_package.sh b/dev-scripts/genarate_pecl_package.sh new file mode 100644 index 0000000..197a62d --- /dev/null +++ b/dev-scripts/genarate_pecl_package.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +BASENAME=${0} +TOOLS_DIR=$(dirname ${BASENAME}) +WORK_DIR="${TOOLS_DIR}/.." + +cd "${WORK_DIR}" \ No newline at end of file diff --git a/package.xml-template_post b/dev-scripts/package.xml-template_post similarity index 100% rename from package.xml-template_post rename to dev-scripts/package.xml-template_post diff --git a/package.xml-template_pre b/dev-scripts/package.xml-template_pre similarity index 100% rename from package.xml-template_pre rename to dev-scripts/package.xml-template_pre diff --git a/prepare_package_xml.sh b/dev-scripts/prepare_package_xml.sh similarity index 91% rename from prepare_package_xml.sh rename to dev-scripts/prepare_package_xml.sh index 9e77582..c8c4bad 100755 --- a/prepare_package_xml.sh +++ b/dev-scripts/prepare_package_xml.sh @@ -11,9 +11,12 @@ EMAIL="${opts[--email]}" VERSION="${opts[--version]}" NOTES="${opts[--notes]}" +BASENAME=${0} +TOOLS_DIR=$(dirname ${BASENAME}) + TODAY=$(date -u +%Y-%m-%d) -cat package.xml-template_pre \ +cat $TOOLS_DIR/package.xml-template_pre \ | sed "s/{{{NAME}}}/$NAME/g" \ | sed "s/{{{USER}}}/$USER/g" \ | sed "s/{{{EMAIL}}}/$EMAIL/g" \ @@ -24,14 +27,14 @@ cat package.xml-template_pre \ source_ext='(c|cc|h|cpp|hpp|m4|w32|ini|frag|cmake|inl|in|py|gnu|yaml|def|pl|S|s|errordata|go|lds|num|asm|mod|peg|mk|rs|toml|sh)' doc_ext='(md|json|html|dot|graphml|png|gn|sha1|css|rst|)' -special_docs='(LICENSE*|NOTICE|changelog.txt|CHANGELOG|THIRD-PARTY|README*|readme|METADATA|CONTRIBUTORS|UPDATING|doc.config)' +special_docs='(LICENSE*|NOTICE|changelog.txt|CHANGELOG|THIRD-PARTY|README*|readme|METADATA|CONTRIBUTORS|UPDATING|doc.config|THIRD-PARTY-LICENSES.txt)' special_tests='(ci-test.sh|format-check.sh|run_tests*|sanitizer-blacklist.txt|run-clang-tidy.sh|benchmark-build-run.sh|break-tests.sh|generate-coverage.sh|test.xml)' special_src='(gen_api.php|gen_stub.php|CMakeLists.txt|post.sh|postun.sh|Makefile*|build-buildspec.sh|build-deps.sh|objects.txt|go.*|BUILD*|DEPS|install_and_run.sh|codemod.sh|requirements.txt)' -skip_files='(package.xml*|prepare_release.sh|codereview.settings|*.o|*.a|*.obj|*.lib|break-tests-android.sh|whitespace.txt|prepare_package_xml.sh|crypto_test_data.cc|*.pdf|*.svg|*.docx|cbmc-proof.txt|codecov*|litani*|*.toml)' +skip_files='(package.xml*|prepare_release.sh|codereview.settings|*.o|*.a|*.obj|*.lib|break-tests-android.sh|whitespace.txt|prepare_package_xml.sh|crypto_test_data.cc|*.pdf|*.svg|*.docx|cbmc-proof.txt|codecov*|litani*|*.toml|module.modulemap)' special_scripts='(awscrt.stub.php)' -skip_directories='(tests|test|AWSCRTAndroidTestRunner|docker-images|codebuild|fuzz|verfication|third_party|docs|generated-src|aws-lc|aws-crt-sys)' +skip_directories='(tests|test|AWSCRTAndroidTestRunner|docker-images|codebuild|fuzz|verfication|third_party|docs|generated-src|aws-lc|aws-crt-sys|ecdsa-fuzz-corpus|bin|examples|compliance)' process_file() { if (( $# == 0 )) @@ -140,5 +143,4 @@ do done echo '' -cat package.xml-template_post - +cat $TOOLS_DIR/package.xml-template_post diff --git a/prepare_release.sh b/dev-scripts/prepare_release.sh similarity index 73% rename from prepare_release.sh rename to dev-scripts/prepare_release.sh index 3a9c5f4..fa58c23 100755 --- a/prepare_release.sh +++ b/dev-scripts/prepare_release.sh @@ -11,7 +11,15 @@ EMAIL="${opts[--email]}" VERSION="${opts[--version]}" NOTES="${opts[--notes]}" -./prepare_package_xml.sh --name "${NAME}" --user "${USER}" --email "${EMAIL}" --version "${VERSION}" --notes "${NOTES}" >package.xml + +BASENAME=${0} +TOOLS_DIR=$(dirname ${BASENAME}) +WORK_DIR="${TOOLS_DIR}/.." + +cd "${WORK_DIR}" + +$TOOLS_DIR/cleanup.sh +$TOOLS_DIR/prepare_package_xml.sh --name "${NAME}" --user "${USER}" --email "${EMAIL}" --version "${VERSION}" --notes "${NOTES}" >package.xml if [[ $? -ne 0 ]]; then echo "ERROR PROCESSING review package.xml" exit 1 diff --git a/run_tests b/dev-scripts/run_tests similarity index 100% rename from run_tests rename to dev-scripts/run_tests diff --git a/run_tests.bat b/dev-scripts/run_tests.bat similarity index 100% rename from run_tests.bat rename to dev-scripts/run_tests.bat diff --git a/ext/.gitignore b/ext/.gitignore index 2973c97..32801ef 100644 --- a/ext/.gitignore +++ b/ext/.gitignore @@ -1,2 +1,3 @@ *.so api.h +awscrt.stub.php \ No newline at end of file