1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-21 10:26:06 +03:00

Allow package and docs to be hosted in different places

This commit is contained in:
Ivan Grokhotkov 2015-11-18 12:02:49 +03:00
parent 948796ae90
commit 3c7431b59c
2 changed files with 25 additions and 15 deletions

View File

@ -1,6 +1,12 @@
#!/bin/bash #!/bin/bash
# #
# Figure out how will the package be called
ver=`git describe --tags --always`
package_name=esp8266-$ver
echo "Version: $ver"
echo "Package name: $package_name"
# Set REMOTE_URL environment variable to the address where the package will be # Set REMOTE_URL environment variable to the address where the package will be
# available for download. This gets written into package json file. # available for download. This gets written into package json file.
if [ -z "$REMOTE_URL" ]; then if [ -z "$REMOTE_URL" ]; then
@ -8,13 +14,17 @@ if [ -z "$REMOTE_URL" ]; then
echo "REMOTE_URL not defined, using default" echo "REMOTE_URL not defined, using default"
fi fi
echo "Remote: $REMOTE_URL" echo "Remote: $REMOTE_URL"
pushd ..
# Figure out how will the package be called
ver=`git describe --tags --always`
package_name=esp8266-$ver
echo "Version: $ver"
echo "Package name: $package_name"
if [ -z "$PKG_URL" ]; then
PKG_URL="$REMOTE_URL/versions/$ver/$package_name.zip"
fi
echo "Package: $PKG_URL"
if [ -z "$DOC_URL" ]; then
DOC_URL="$REMOTE_URL/versions/$ver/doc/reference.html"
fi
echo "Docs: $DOC_URL"
pushd ..
# Create directory for the package # Create directory for the package
outdir=package/versions/$ver/$package_name outdir=package/versions/$ver/$package_name
srcdir=$PWD srcdir=$PWD
@ -72,11 +82,11 @@ echo SHA-256: $sha
echo "Making package_esp8266com_index.json" echo "Making package_esp8266com_index.json"
cat $srcdir/package/package_esp8266com_index.template.json | \ cat $srcdir/package/package_esp8266com_index.template.json | \
jq ".packages[0].platforms[0].version = \"$ver\" | \ jq ".packages[0].platforms[0].version = \"$ver\" | \
.packages[0].platforms[0].url = \"$REMOTE_URL/versions/$ver/$package_name.zip\" |\ .packages[0].platforms[0].url = \"$PKG_URL\" |\
.packages[0].platforms[0].archiveFileName = \"$package_name.zip\" |\ .packages[0].platforms[0].archiveFileName = \"$package_name.zip\" |\
.packages[0].platforms[0].checksum = \"SHA-256:$sha\" |\ .packages[0].platforms[0].checksum = \"SHA-256:$sha\" |\
.packages[0].platforms[0].size = \"$size\" |\ .packages[0].platforms[0].size = \"$size\" |\
.packages[0].platforms[0].help.online = \"$REMOTE_URL/versions/$ver/doc/reference.html\"" \ .packages[0].platforms[0].help.online = \"$DOC_URL\"" \
> package_esp8266com_index.json > package_esp8266com_index.json
popd popd

14
package/merge_packages.py Normal file → Executable file
View File

@ -10,8 +10,8 @@ import sys
def load_package(filename): def load_package(filename):
pkg = json.load(open(filename))['packages'][0] pkg = json.load(open(filename))['packages'][0]
print("Loaded package {0} from {1}".format(pkg['name'], filename)) print("Loaded package {0} from {1}".format(pkg['name'], filename), file=sys.stderr)
print("{0} platform(s), {1} tools".format(len(pkg['platforms']), len(pkg['tools']))) print("{0} platform(s), {1} tools".format(len(pkg['platforms']), len(pkg['tools'])), file=sys.stderr)
return pkg return pkg
def merge_objects(versions, obj): def merge_objects(versions, obj):
@ -19,17 +19,17 @@ def merge_objects(versions, obj):
name = o['name'].encode('ascii') name = o['name'].encode('ascii')
ver = o['version'].encode('ascii') ver = o['version'].encode('ascii')
if not name in versions: if not name in versions:
print("found new object, {0}".format(name)) print("found new object, {0}".format(name), file=sys.stderr)
versions[name] = {} versions[name] = {}
if not ver in versions[name]: if not ver in versions[name]:
print("found new version {0} for object {1}".format(ver, name)) print("found new version {0} for object {1}".format(ver, name), file=sys.stderr)
versions[name][ver] = o versions[name][ver] = o
return versions return versions
def main(args): def main(args):
if len(args) < 3: if len(args) < 3:
print("Usage: {0} <package1> <package2>".format(args[0])) print("Usage: {0} <package1> <package2>".format(args[0]), file=sys.stderr)
return 1 return 1
tools = {} tools = {}
@ -46,12 +46,12 @@ def main(args):
for name in tools: for name in tools:
for version in tools[name]: for version in tools[name]:
print("Adding tool {0}-{1}".format(name, version)) print("Adding tool {0}-{1}".format(name, version), file=sys.stderr)
pkg1['tools'].append(tools[name][version]) pkg1['tools'].append(tools[name][version])
for name in platforms: for name in platforms:
for version in platforms[name]: for version in platforms[name]:
print("Adding platform {0}-{1}".format(name, version)) print("Adding platform {0}-{1}".format(name, version), file=sys.stderr)
pkg1['platforms'].append(platforms[name][version]) pkg1['platforms'].append(platforms[name][version])
json.dump({'packages':[pkg1]}, sys.stdout, indent=2) json.dump({'packages':[pkg1]}, sys.stdout, indent=2)