cvsdist 38d0d0c
#! /bin/sh
cvsdist 38d0d0c
cvsdist 38d0d0c
# We need to make our own copy of the eclipse platform in order to
cvsdist 38d0d0c
# build against it.  We do this since the build root might already
cvsdist 38d0d0c
# contain a copy of the plugin we are building -- and the eclipse
cvsdist 38d0d0c
# releng scripts fail in this situation.  We put this script in the
cvsdist 38d0d0c
# eclipse core so that it is easy to use from other spec files.
cvsdist 38d0d0c
cvsdist 38d0d0c
# Arguments are:
cvsdist 38d0d0c
# * directory where results should end up (script will make it)
cvsdist 38d0d0c
# * base location of eclipse platform install
cvsdist 8c8401f
# * an optional string that is used to select non-platform
cvsdist 8c8401f
#   plugins and features.  At present if a plugin or feature has
cvsdist 8c8401f
#   this as a substring, it will be included.  You need only run
cvsdist 8c8401f
#   this script once, it will link both the platform and the other
cvsdist 8c8401f
#   optionally-selected parts in a single invocation.
bbd9a49
bbd9a49
# Test to see if the minimum arguments
bbd9a49
# are specified
bbd9a49
bbd9a49
if [ $# -lt 2 ]; then
bbd9a49
  echo "Usage: copy-platform where eclipse_base optional_directories"
Andrew Overholt c2c49f8
  echo "For example: copy-plaform ~/SDK /usr/lib/eclipse cdt pydev jdt"
bbd9a49
  exit 1
bbd9a49
fi
bbd9a49
bbd9a49
where=$1; shift
bbd9a49
eclipse=$1; shift
cvsdist 38d0d0c
Andrew Overholt c2c49f8
datadir=/usr/share/eclipse
Andrew Overholt c2c49f8
Andrew Overholt 079a00b
mkdir -p $where/plugins $where/features
cvsdist 38d0d0c
cd $where
cvsdist 38d0d0c
bbd9a49
# Are there any optional arguments left?
bbd9a49
if [ $# -gt 0 ]; then
bbd9a49
   for optional in "$@"; do
bbd9a49
      (cd $eclipse; ls -d plugins/*"$optional"* features/*"$optional"*) |
bbd9a49
      while read f; do
e906bd4
         [ ! -e $f ] && ln -s $eclipse/$f $f
bbd9a49
      done
Andrew Overholt 079a00b
      (cd $eclipse/dropins; ls -d *"$optional"*) |
Andrew Overholt 079a00b
      while read f; do
Andrew Overholt 079a00b
	  if [ -e $eclipse/dropins/$f/eclipse ]; then
Andrew Overholt 079a00b
	      (cd $eclipse/dropins/$f/eclipse; ls -d plugins/* features/*) |
Andrew Overholt 079a00b
	      while read g; do
Andrew Overholt 079a00b
		  [ ! -e $g ] && \
Andrew Overholt 079a00b
		    ln -s $eclipse/dropins/$f/eclipse/$g $g
Andrew Overholt 079a00b
	      done
Andrew Overholt 079a00b
          else
Andrew Overholt c2c49f8
	      (cd $eclipse/dropins/$f; ls -d plugins/* features/*) |
Andrew Overholt 079a00b
	      while read g; do
Andrew Overholt 079a00b
	          [ ! -e $g ] && \
Andrew Overholt 4f4365d
		    ln -s $eclipse/dropins/$f/$g $g
Andrew Overholt 079a00b
	      done
Andrew Overholt 079a00b
          fi
Andrew Overholt 079a00b
      done
Andrew Overholt c2c49f8
      (cd $datadir/dropins; ls -d *"$optional"*) |
Andrew Overholt c2c49f8
      while read f; do
Andrew Overholt c2c49f8
	  if [ -e $datadir/dropins/$f/eclipse ]; then
Andrew Overholt c2c49f8
	      (cd $datadir/dropins/$f/eclipse; ls -d plugins/* features/*) |
Andrew Overholt c2c49f8
	      while read g; do
Andrew Overholt c2c49f8
		  [ ! -e $g ] && \
Andrew Overholt c2c49f8
		    ln -s $datadir/dropins/$f/eclipse/$g $g
Andrew Overholt c2c49f8
	      done
Andrew Overholt c2c49f8
          else
Andrew Overholt c2c49f8
	      (cd $datadir/dropins/$f; ls -d plugins/* features/*) |
Andrew Overholt c2c49f8
	      while read g; do
Andrew Overholt c2c49f8
	          [ ! -e $g ] && \
Andrew Overholt c2c49f8
		    ln -s $datadir/dropins/$g $g
Andrew Overholt c2c49f8
	      done
Andrew Overholt c2c49f8
          fi
Andrew Overholt c2c49f8
      done
cvsdist 8c8401f
   done
cvsdist 8c8401f
fi
cvsdist 8c8401f
cvsdist 38d0d0c
# Code after this point is automatically created by eclipse.spec.