Fix cygwin git script, we need some of the external projects.

This commit is contained in:
Raphael
2009-04-28 12:11:03 -07:00
parent 594999277e
commit 68fee20824

View File

@@ -105,11 +105,12 @@ provides a list of projects to ignore:
B- The other issue is that by default repo maintains around 100+ git projects. B- The other issue is that by default repo maintains around 100+ git projects.
However most of these are not needed to build the Windows SDK. We can easily However most of these are not needed to build the Windows SDK. We can easily
reduce this list to around 60 projects, which will make your repo syncs a lot reduce this list to around 70 projects, which will make your repo syncs a lot
faster. faster.
Solution: Simply ignore all projects bionic, bootable/*, external/* and Solution: Simply ignore all projects bionic, bootable/*, hardware/* and most
hardware/*. external projects. For external, we still need a handful of projects for the
SDK -- things like the emulator or sqlite can be quite useful :-)
Here's a script that takes care of all these details. It performs the repo Here's a script that takes care of all these details. It performs the repo
init, creates the appropriate local_manifest.xml and does a repo sync as init, creates the appropriate local_manifest.xml and does a repo sync as
@@ -123,20 +124,22 @@ set -e # fail on errors
URL=git://android.git.kernel.org/platform/manifest.git URL=git://android.git.kernel.org/platform/manifest.git
BRANCH=donut BRANCH=donut
if [ ! -d .repo ]; then
# repo init if there's no .repo directory # repo init if there's no .repo directory
if [[ ! -d .repo ]]; then
repo init -u $URL -b $BRANCH repo init -u $URL -b $BRANCH
fi
# create a local_manifest to exclude projects not useful to the Windows SDK # create a local_manifest to exclude projects not useful to the Windows SDK
M=.repo/manifest.xml
L=.repo/local_manifest.xml L=.repo/local_manifest.xml
if [[ ! -f $L ]]; then
M=.repo/manifest.xml
cat > $L <<EOF cat > $L <<EOF
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<manifest> <manifest>
EOF EOF
for i in $(grep -E "/(bionic|bootable|external|hardware)" $M | sed -s '/name/s/^.*name="\([^"]\+\)".*/\1/') ; do for i in $(sed -sn '/external\/\(apache\|expat\|g\|libpng\|pr\|qemu\|sqlite\|tag\|zlib\)/d;/\(bionic\|bootable\|cts\|external\|hardware\).* name/s/^.*name="\([^"]\+\)".*/\1/p' $M) ; do
echo "Ignore project $i" echo "Ignore project $i"
echo " <remove-project name=\"$i\" />" >> $L echo " <remove-project name=\"$i\" />" >> $L
done done