onos-assembly 1.17 KB
#!/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