mirror of
https://github.com/awslabs/aws-crt-php.git
synced 2026-08-18 01:57:13 +00:00
restructure
This commit is contained in:
Executable
+48
@@ -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
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
BASENAME=${0}
|
||||
TOOLS_DIR=$(dirname ${BASENAME})
|
||||
WORK_DIR="${TOOLS_DIR}/.."
|
||||
|
||||
cd "${WORK_DIR}"
|
||||
@@ -0,0 +1,19 @@
|
||||
</contents>
|
||||
<dependencies>
|
||||
<required>
|
||||
<php>
|
||||
<min>7.4.0</min>
|
||||
</php>
|
||||
<pearinstaller>
|
||||
<min>1.10.0</min>
|
||||
</pearinstaller>
|
||||
</required>
|
||||
</dependencies>
|
||||
<providesextension>awscrt</providesextension>
|
||||
<extsrcrelease/>
|
||||
<changelog>
|
||||
<release>
|
||||
|
||||
</release>
|
||||
</changelog>
|
||||
</package>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<package packagerversion="1.8.1" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
|
||||
<name>awscrt</name>
|
||||
<channel>pecl.php.net</channel>
|
||||
<summary>AWS Common Runtime PHP bindings</summary>
|
||||
<description>AWS Common Runtime provides a set of low level tools as network protocols and authentication used by the AWSSDK for PHP to provide high level API to access AWS services.</description>
|
||||
<lead>
|
||||
<name>{{{NAME}}}</name>
|
||||
<user>{{{USER}}}</user>
|
||||
<email>{{{EMAIL}}}</email>
|
||||
<active>yes</active>
|
||||
</lead>
|
||||
<date>{{{TODAY}}}</date>
|
||||
<version>
|
||||
<release>{{{VERSION}}}</release>
|
||||
<api>1.0.0</api>
|
||||
</version>
|
||||
<stability>
|
||||
<release>devel</release>
|
||||
<api>stable</api>
|
||||
</stability>
|
||||
<license uri="https://www.apache.org/licenses/LICENSE-2.0">Apache License Version 2.0</license>
|
||||
<notes>{{{NOTES}}}</notes>
|
||||
<contents>
|
||||
Executable
+146
@@ -0,0 +1,146 @@
|
||||
#!/bin/zsh
|
||||
zparseopts -A opts -name: -user: -email: -version: -notes:
|
||||
if [[ $# -lt 10 ]]
|
||||
then
|
||||
echo "Usage ${0} --name NAME, --user USER --email EMAIL --version VERSION --notes NOTES"
|
||||
exit 1
|
||||
fi
|
||||
NAME="${opts[--name]}"
|
||||
USER="${opts[--user]}"
|
||||
EMAIL="${opts[--email]}"
|
||||
VERSION="${opts[--version]}"
|
||||
NOTES="${opts[--notes]}"
|
||||
|
||||
BASENAME=${0}
|
||||
TOOLS_DIR=$(dirname ${BASENAME})
|
||||
|
||||
TODAY=$(date -u +%Y-%m-%d)
|
||||
|
||||
cat $TOOLS_DIR/package.xml-template_pre \
|
||||
| sed "s/{{{NAME}}}/$NAME/g" \
|
||||
| sed "s/{{{USER}}}/$USER/g" \
|
||||
| sed "s/{{{EMAIL}}}/$EMAIL/g" \
|
||||
| sed "s/{{{TODAY}}}/$TODAY/g" \
|
||||
| sed "s/{{{VERSION}}}/$VERSION/g" \
|
||||
| sed "s/{{{NOTES}}}/$NOTES/g"
|
||||
|
||||
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|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|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|ecdsa-fuzz-corpus|bin|examples|compliance)'
|
||||
|
||||
process_file() {
|
||||
if (( $# == 0 ))
|
||||
then
|
||||
echo "ERROR: filename not passed"
|
||||
exit 1
|
||||
fi
|
||||
if [[ $1 = $~skip_files ]]
|
||||
then
|
||||
# This file is not part of the release bundle
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo -n '<file name="'"$1"'" role="'
|
||||
# Special cases
|
||||
case ${a} in
|
||||
$~special_scripts)
|
||||
echo -n 'script'
|
||||
;;
|
||||
$~special_docs)
|
||||
echo -n 'doc'
|
||||
;;
|
||||
$~special_tests)
|
||||
echo -n 'test'
|
||||
;;
|
||||
$~special_src)
|
||||
echo -n 'src'
|
||||
;;
|
||||
*)
|
||||
# Extension based cases
|
||||
case ${a:t:e} in
|
||||
$~source_ext)
|
||||
echo -n 'src'
|
||||
;;
|
||||
$~doc_ext)
|
||||
echo -n 'doc'
|
||||
;;
|
||||
php)
|
||||
echo -n 'script'
|
||||
;;
|
||||
*)
|
||||
echo "${a:t:e} - ${a} - FAIL TO RECOGNIZE"
|
||||
exit 1
|
||||
esac
|
||||
esac
|
||||
echo '"/>'
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
process_dir() {
|
||||
if (( $# == 0 ))
|
||||
then
|
||||
echo "WARNING: dirname not passed"
|
||||
exit 1
|
||||
fi
|
||||
if [[ "${1}" = $~skip_directories ]]
|
||||
then
|
||||
return 0
|
||||
fi
|
||||
echo '<dir name="'"$1"'">'
|
||||
cd "$1"
|
||||
for a in *
|
||||
do
|
||||
if [[ -f ${a} ]]
|
||||
then process_file "${a}"
|
||||
else process_dir "${a}"
|
||||
fi
|
||||
done
|
||||
# Special cases for compiler features placed in tests directories in and s2n
|
||||
if [[ "${1}" = "s2n" && -d tests ]]
|
||||
then
|
||||
echo '<dir name="tests">'
|
||||
echo '<dir name="features">'
|
||||
cd tests/features
|
||||
for a in *
|
||||
do
|
||||
process_file "${a}"
|
||||
done
|
||||
cd ../..
|
||||
echo '</dir>'
|
||||
echo '</dir>'
|
||||
fi
|
||||
echo '</dir>'
|
||||
cd ..
|
||||
return 0
|
||||
}
|
||||
|
||||
echo '<dir name="/">'
|
||||
for a in *
|
||||
do
|
||||
if [[ ${a} == 'tests' ]]
|
||||
then
|
||||
echo '<dir name="tests">'
|
||||
for b in tests/*
|
||||
do
|
||||
echo '<file name="'$( basename "${b}" )'" role="test" />'
|
||||
done
|
||||
echo '</dir>'
|
||||
continue
|
||||
fi
|
||||
if [[ -f ${a} ]]
|
||||
then process_file "${a}"
|
||||
else process_dir "${a}"
|
||||
fi
|
||||
done
|
||||
echo '</dir>'
|
||||
|
||||
cat $TOOLS_DIR/package.xml-template_post
|
||||
Executable
+39
@@ -0,0 +1,39 @@
|
||||
#!/bin/zsh
|
||||
zparseopts -A opts -name: -user: -email: -version: -notes:
|
||||
if [[ $# -lt 10 ]]; then
|
||||
echo "Usage ${0} --name NAME --user USER --email EMAIL --version VERSION --notes NOTES"
|
||||
exit 1
|
||||
fi
|
||||
PACKAGE='awscrt'
|
||||
NAME="${opts[--name]}"
|
||||
USER="${opts[--user]}"
|
||||
EMAIL="${opts[--email]}"
|
||||
VERSION="${opts[--version]}"
|
||||
NOTES="${opts[--notes]}"
|
||||
|
||||
|
||||
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
|
||||
fi
|
||||
tidy -xml -m -i package.xml
|
||||
pear package-validate
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "ERROR VALIDATING review package.xml"
|
||||
exit 1
|
||||
fi
|
||||
pear package
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "ERROR PROCESSING review package.xml"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Size of ${PACKAGE}-${VERSION}.tgz: " $(du -h "${PACKAGE}-${VERSION}.tgz")
|
||||
Executable
+19
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
launcher=
|
||||
if command -v catchsegv; then
|
||||
launcher=catchsegv
|
||||
fi
|
||||
|
||||
if [ -z $PHP_BINARY ]; then
|
||||
PHP_BINARY=$(which php)
|
||||
fi
|
||||
|
||||
if [ ! -d vendor ]; then
|
||||
COMPOSER_BINARY=$(which composer)
|
||||
$PHP_BINARY -c php.ini $COMPOSER_BINARY update
|
||||
fi
|
||||
|
||||
$launcher $PHP_BINARY -c php.ini vendor/bin/phpunit tests --debug
|
||||
@@ -0,0 +1,4 @@
|
||||
|
||||
@echo on
|
||||
|
||||
%PHP_BINARY% -c php-win.ini vendor/bin/phpunit tests --debug
|
||||
Reference in New Issue
Block a user