diff --git a/Makefile b/Makefile index b54eb358753954181de984c99b6988527e5541ce..e76ebf9e9e4d56393e095c809c070f4f4d4abe76 100644 --- a/Makefile +++ b/Makefile @@ -437,12 +437,15 @@ distclean: $(SUBDIRS_DIST_CLEAN) _clean datafiles: _all doc/core-en_US.xml CFLAGS="$(_ASTCFLAGS) $(ASTCFLAGS)" build_tools/mkpkgconfig "$(DESTDIR)$(libdir)/pkgconfig"; -# Should static HTTP be installed during make samples or even with its own target ala -# webvoicemail? There are portions here that *could* be customized but might also be -# improved a lot. I'll put it here for now. - for x in static-http/*; do \ - $(INSTALL) -m 644 $$x "$(DESTDIR)$(ASTDATADIR)/static-http" ; \ +# # Recursively install contents of the static-http directory, in case +# # extra content is provided there. See contrib/scripts/get_swagger_ui.sh + find static-http | while read x; do \ + if test -d $$x; then \ + $(INSTALL) -m 755 -d "$(DESTDIR)$(ASTDATADIR)/$$x"; \ + else \ + $(INSTALL) -m 644 $$x "$(DESTDIR)$(ASTDATADIR)/$$x" ; \ + fi \ done $(INSTALL) -m 644 doc/core-en_US.xml "$(DESTDIR)$(ASTDATADIR)/static-http"; $(INSTALL) -m 644 doc/snapshots.xslt "$(DESTDIR)$(ASTDATADIR)/static-http"; diff --git a/contrib/scripts/get_swagger_ui.sh b/contrib/scripts/get_swagger_ui.sh new file mode 100755 index 0000000000000000000000000000000000000000..f6e9cedf22015868d8cc6e63ccb8a320aacf9160 --- /dev/null +++ b/contrib/scripts/get_swagger_ui.sh @@ -0,0 +1,36 @@ +#!/bin/sh + +# +# Downloads Swagger-UI to put in static-http. +# +# Swagger-UI is a Swagger compliant HTML+JavaScript web app, which can be used +# to browse ARI (Asterisk REST Interface). +# + +PROGNAME=$(basename $0) + +: ${GIT:=git} +: ${REPO:=https://github.com/leedm777/swagger-ui.git} +: ${BRANCH:=asterisk} + +if ! test -d static-http; then + echo "${PROGNAME}: Must run from Asterisk source directory" >&2 + exit 1 +fi + +set -ex + +CLONE_DIR=$(mktemp -d /tmp/swagger-ui.XXXXXX) || exit 1 +trap "rm -rf ${CLONE_DIR}" EXIT + +${GIT} clone -q -b ${BRANCH} ${REPO} ${CLONE_DIR} + +rm -rf static-http/swagger-ui +cp -a ${CLONE_DIR}/dist static-http/swagger-ui + +cat <<EOF +Swagger-UI downloaded. Install using 'make install'. + +To use, enable ARI (ari.conf), the HTTP server (http.conf) and static +content (also http.conf). +EOF