parent
fcd3b9a85e
commit
9cc343f175
4 changed files with 125 additions and 1453 deletions
@ -0,0 +1,76 @@ |
|||||||
|
|
||||||
|
# Protobuf PHP extension (PECL) |
||||||
|
|
||||||
|
filegroup( |
||||||
|
name = "template_package_xml", |
||||||
|
srcs = ["template_package.xml"], |
||||||
|
) |
||||||
|
|
||||||
|
filegroup( |
||||||
|
name = "src_files", |
||||||
|
srcs = glob( |
||||||
|
[ |
||||||
|
"**/*.m4", |
||||||
|
"**/*.c", |
||||||
|
"**/*.h", |
||||||
|
"**/*.inc" |
||||||
|
], |
||||||
|
exclude = [ |
||||||
|
"tests/**", |
||||||
|
] |
||||||
|
), |
||||||
|
) |
||||||
|
|
||||||
|
filegroup( |
||||||
|
name = "doc_files", |
||||||
|
srcs = glob([ |
||||||
|
"**/LICENSE", |
||||||
|
]) |
||||||
|
) |
||||||
|
|
||||||
|
genrule( |
||||||
|
name = "pecl_dist", |
||||||
|
srcs = [ |
||||||
|
":src_files", |
||||||
|
":doc_files", |
||||||
|
":template_package_xml", |
||||||
|
"//:version_json", |
||||||
|
], |
||||||
|
outs = ["package.xml"], |
||||||
|
cmd = """ |
||||||
|
DATE=$$(date +%Y-%m-%d) |
||||||
|
TIME=$$(date +%H:%M:%S) |
||||||
|
|
||||||
|
php_version_json=$$(cat $(location //:version_json) | python -c "import json, sys; versions=json.load(sys.stdin); print(versions.popitem()[1]['languages']['php'])") |
||||||
|
php_version_array=($${php_version_json//-rc/ }) |
||||||
|
api_version=$${php_version_array[0]} |
||||||
|
if [ $${#php_version_array[@]} -eq 2 ]; then |
||||||
|
rc=$${php_version_array[1]} |
||||||
|
release_version=$${api_version}RC$${rc} |
||||||
|
stability='beta' |
||||||
|
else |
||||||
|
release_version=$${api_version} |
||||||
|
stability='stable' |
||||||
|
fi |
||||||
|
|
||||||
|
FILE='<file baseinstalldir=\"/\" name=\"NAME\" role=\"ROLE\"/>\\n' |
||||||
|
files="\\n" |
||||||
|
for file in $$(find -L $(locations :src_files) -type f); do |
||||||
|
name=$$(echo $$file | sed -e 's|php/ext/google/protobuf/||') |
||||||
|
files+=' '$$(echo $$FILE | sed -e "s;NAME;$${name};" | sed -e "s;ROLE;src;") |
||||||
|
done |
||||||
|
for file in $$(find -L $(locations :doc_files) -type f); do |
||||||
|
name=$$(echo $$file | sed -e 's|php/ext/google/protobuf/||') |
||||||
|
files+=' '$$(echo $$FILE | sed -e "s;NAME;$${name};" | sed -e "s;ROLE;doc;") |
||||||
|
done |
||||||
|
|
||||||
|
cat $(location :template_package_xml) | |
||||||
|
sed -e "s;TEMPLATE_DATE;$${DATE};" | |
||||||
|
sed -e "s;TEMPLATE_TIME;$${TIME};" | |
||||||
|
sed -e "s;TEMPLATE_PHP_RELEASE;$${release_version};" | |
||||||
|
sed -e "s;TEMPLATE_PHP_API;$${api_version};" | |
||||||
|
sed -e "s;TEMPLATE_PHP_STABILITY;$${stability};" | |
||||||
|
sed -e "s;TEMPLATE_FILES;$${files};" |
||||||
|
> "$@" |
||||||
|
""" |
||||||
|
) |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,42 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<package 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" packagerversion="1.9.5" version="2.0" 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>protobuf</name> |
||||||
|
<channel>pecl.php.net</channel> |
||||||
|
<summary>Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.</summary> |
||||||
|
<description>https://developers.google.com/protocol-buffers/</description> |
||||||
|
<lead> |
||||||
|
<name>Protobuf Team</name> |
||||||
|
<user>protobufpackages</user> |
||||||
|
<email>protobuf-packages@google.com</email> |
||||||
|
<active>yes</active> |
||||||
|
</lead> |
||||||
|
<date>TEMPLATE_DATE</date> |
||||||
|
<time>TEMPLATE_TIME</time> |
||||||
|
<version> |
||||||
|
<release>TEMPLATE_PHP_RELEASE</release> |
||||||
|
<api>TEMPLATE_PHP_API</api> |
||||||
|
</version> |
||||||
|
<stability> |
||||||
|
<release>TEMPLATE_PHP_STABILITY</release> |
||||||
|
<api>TEMPLATE_PHP_STABILITY</api> |
||||||
|
</stability> |
||||||
|
<license uri="https://opensource.org/licenses/BSD-3-Clause">BSD-3-Clause</license> |
||||||
|
<notes> |
||||||
|
* See github.com/protocolbuffers/protobuf/releases for release notes. |
||||||
|
</notes> |
||||||
|
<contents> |
||||||
|
<dir baseinstalldir="/" name="/">TEMPLATE_FILES</dir> |
||||||
|
</contents> |
||||||
|
<dependencies> |
||||||
|
<required> |
||||||
|
<php> |
||||||
|
<min>7.0.0</min> |
||||||
|
</php> |
||||||
|
<pearinstaller> |
||||||
|
<min>1.4.0</min> |
||||||
|
</pearinstaller> |
||||||
|
</required> |
||||||
|
</dependencies> |
||||||
|
<providesextension>protobuf</providesextension> |
||||||
|
<extsrcrelease/> |
||||||
|
</package> |
Loading…
Reference in new issue