This file is indexed.

/usr/lib/eclipse/dropins/sdk/plugins/org.eclipse.pde.build_3.8.1.dist/templates/package-build/prepare-build-dir.sh is in eclipse-pde 3.8.1-11.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
#!/bin/sh

if [ $# -lt 2 ]; then
  echo "usage: $0 <path to source dir> <path to build dir>"
  exit 1
fi

if [ ! -d $1 ]; then
  echo "usage: $0 <path to source dir> <path to build dir>"
  exit 1
fi

SOURCEDIR=$1
BUILDDIR=$2
TESTING=$3

echo "preparing files in $1 for buildfile generation ..."
mkdir -p $BUILDDIR

# make some ant build files to extract the id from the feature.xml, plugin.xml or the fragment.xml
mkdir -p $BUILDDIR/tmp
BUILDFILE=$BUILDDIR/tmp/build.xml

echo "<project default=\"main\">
	<target name=\"main\">
               	<xmlproperty file=\"@type@.xml\" collapseAttributes=\"true\"/>
		<fail unless=\"@type@.id\" message=\"feature.id not set\"/>
               	<echo message=\"\${@type@.id}\" />
        </target>
</project>" > $BUILDFILE

for type in feature plugin fragment; do
  CURBUILDFILE=$BUILDDIR/tmp/$type-build.xml
  cat $BUILDFILE | sed "s|@type@|$type|" > $CURBUILDFILE
done

# make the directories eclipse is expecting
echo "  making the 'features' and 'plugins' directories"
mkdir -p $BUILDDIR/features $BUILDDIR/plugins

# make symlinks for the features
FEATURES=$(find $SOURCEDIR -name feature.xml)
find $SOURCEDIR -name feature.xml | while read f; do
  PROJECTDIR=$(dirname "$f")
  inSDK=1
  inSDK=$(echo $PROJECTDIR | grep -c $BUILDDIR)
  if [ $inSDK = 0 ]; then
    PROJECTNAME=$(ant -Dbasedir="$PROJECTDIR" -f $BUILDDIR/tmp/feature-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7)
    ERROR=""
    if [ -z "$PROJECTNAME" ]; then
      echo "ERROR: could not determine the feature id for $PROJECTDIR"
      if [ $TESTING != true ]; then
        exit 1
      else
        ERROR="yes"
      fi
    fi

    if [ "x$ERROR" != "xyes" ]; then
      if [ $TESTING != true ] || `echo "$PROJECTNAME" | grep "org.eclipse"`; then
        echo "  making symlink: $BUILDDIR/features/$PROJECTNAME -> $PROJECTDIR"
        ln -sfT "$PROJECTDIR" $BUILDDIR/features/"$PROJECTNAME"
      fi
    fi
  fi
done

# make symlinks for plugins and fragments
PLUGINDIRS=$(find $SOURCEDIR -name plugin.xml -o -name fragment.xml -o -name MANIFEST.MF | sed "s/plugin.xml//g" | sed "s/fragment.xml//g" | sed "s/META-INF\/MANIFEST.MF//" | sort | uniq)
find $SOURCEDIR -name plugin.xml -o -name fragment.xml -o -name MANIFEST.MF | sed "s/plugin.xml//g" | sed "s/fragment.xml//g" | sed "s/META-INF\/MANIFEST.MF//" | sort | uniq | while read dir; do
  PROJECTNAME=""
  ERROR=""
  inSDK=1
  inSDK=$(echo $dir | grep -c $BUILDDIR)
  if [ $inSDK = 0 ]; then
    if [ -e "$dir/META-INF/MANIFEST.MF" ]; then
      PROJECTNAME=$(grep Bundle-SymbolicName $dir/META-INF/MANIFEST.MF | cut --delimiter=';' -f 1 | cut --delimiter=' ' -f 2)
    elif [ -e "$dir/plugin.xml" ]; then
      PROJECTNAME=$(ant -Dbasedir=$dir -f $BUILDDIR/tmp/plugin-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7)
    elif [ -e "$dir/fragment.xml" ]; then
      PROJECTNAME=$(ant -Dbasedir=$dir -f $BUILDDIR/tmp/fragment-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7)
    fi

    if [ -z "$PROJECTNAME"  ]; then
      echo "ERROR: could not determine the plugin or fragment id for $dir"
      if [ $TESTING != true ]; then
        exit 1
      else
        ERROR="yes"
      fi
    fi

    if [ "x$ERROR" != "xyes" ]; then
      if [ $TESTING != true ] || `echo "$PROJECTNAME" | grep "org.eclipse"`; then
        echo "  making symlink: $BUILDDIR/plugins/$PROJECTNAME -> $dir"
        ln -sfT "$dir" $BUILDDIR/plugins/"$PROJECTNAME"
      fi
    fi;

  fi

done

rm -rf $BUILDDIR/tmp
echo done