blob: 9f95954bfb4520656a56ee7e67099efa67b66eef [file] [log] [blame]
#!/bin/bash
#
# Script that queries buck for main and test artifacts and publishes them to
# a remote Maven repository. Main artifacts are published with javadoc and sources
# jars and auto-generated pom.xml files. Test artifacts are published as compiled
# jars only. All artifacts are signed.
#
ARTIFACT_PUB=$(mktemp /tmp/onos-publish.XXXXX) &&
echo "Created temp file for artifact publish: $ARTIFACT_PUB" ||
{ echo "Failed to create temp file"; exit 1; }
TEST_PUB=$(mktemp /tmp/onos-publish-tests.XXXXX) &&
echo "Created temp file for test artifact publish: $TEST_PUB" ||
{ echo "Failed to create temp file"; exit 1; }
set -e
set -x
# Prepare artifact publish commands
onos-buck query "kind('onos_jar', deps('//tools/package:onos-package'))" >> $ARTIFACT_PUB
sed -i.bak 's/^/onos-buck publish --to-maven-central --include-source --include-javadoc --sign /g' $ARTIFACT_PUB
# Print commands to be run and then run them
cat $ARTIFACT_PUB
bash $ARTIFACT_PUB
# Prepare apps commands
onos-buck query "filter('.*-oar', deps('//tools/package:onos-package', 1))" >> $ARTIFACT_PUB
# Prepare feature commands
onos-buck query "filter('.*-feature', deps(filter('.*-oar', deps('//tools/package:onos-package', 1)),1))" >> $ARTIFACT_PUB
echo "//tools/package:onos-features" >> $ARTIFACT_PUB
# Prepare test commands
onos-buck query "testsof(kind('onos_jar', deps('//tools/package:onos-package')))" >> $TEST_PUB
sed -i.bak 's#^#onos-buck publish --to-maven-central --sign #g' $TEST_PUB
# Print commands to be run and then run them
cat $TEST_PUB
bash $TEST_PUB
# Close the staging area
onos-close-staging