#!/bin/bash
# -----------------------------------------------------------------------------
# Assembles together all bundles required to run ONOS off-line.
# -----------------------------------------------------------------------------

mkdir -p target

features=target/features-list.xml
repos=target/staged-repos.xml

echo "<features>" > $repos
echo "    <repository>mvn:org.onosproject/onos-features/1.4.0-SNAPSHOT/xml/features</repository>" >> $repos

# Find all app feature files
find $ONOS_ROOT -name '*-features.xml' | grep -v features-repo > $features

# Produce repository entry for each file
cat $features | while read feature; do
    echo "    <repository>file:$feature</repository>" >> $repos
done

# Create a synthetic feature that depends on all other ONOS features
echo "   <feature name=\"foo\">" >> $repos
grep "feature name=" $ONOS_ROOT/features/features.xml | cut -d\" -f2 | while read f; do
    echo "        <feature>$f</feature>" >> $repos
done

cat $features | while read feature; do
    grep "feature name=" $feature | cut -d\" -f2 | while read f; do
        echo "        <feature>$f</feature>" >> $repos
    done
done
echo "   </feature>" >> $repos

echo "</features>" >> $repos