#! /bin/sh where=$1'-sdk' repo=$1; shift eclipse=$(rpm --eval '%{_eclipse_base}'); shift datadir=/usr/share/eclipse mkdir -p $where/plugins $where/features pushd $where (cd $eclipse; ls -d plugins/* features/* 2>/dev/null) | while read f; do [ ! -e $f ] && ln -s $eclipse/$f $f done (cd $eclipse/dropins; ls -d * 2>/dev/null) | while read f; do if [ -e $eclipse/dropins/$f/eclipse ]; then (cd $eclipse/dropins/$f/eclipse; ls -d plugins/* features/* 2>/dev/null) | while read g; do [ ! -e $g ] && \ ln -s $eclipse/dropins/$f/eclipse/$g $g done else (cd $eclipse/dropins/$f; ls -d plugins/* features/* 2>/dev/null) | while read g; do [ ! -e $g ] && \ ln -s $eclipse/dropins/$f/$g $g done fi done (cd $datadir/dropins; ls -d * 2>/dev/null) | while read f; do if [ -e $datadir/dropins/$f/eclipse ]; then (cd $datadir/dropins/$f/eclipse; ls -d plugins/* features/* 2>/dev/null) | while read g; do [ ! -e $g ] && \ ln -s $datadir/dropins/$f/eclipse/$g $g done else (cd $datadir/dropins/$f; ls -d plugins/* features/* 2>/dev/null) | while read g; do [ ! -e $g ] && \ ln -s $datadir/dropins/$g $g done fi done for p in $(ls -d $eclipse/dropins/jdt/plugins/*); do plugin=$(basename $p) [ ! -e plugins/$plugin ] && ln -s $eclipse/dropins/jdt/plugins/$plugin plugins/$plugin done for f in $(ls -d $eclipse/dropins/jdt/features/*); do feature=$(basename $f) [ ! -e features/$feature ] && ln -s $eclipse/dropins/jdt/features/$feature features/$feature done for p in $(ls -d $eclipse/dropins/sdk/plugins/*); do plugin=$(basename $p) [ ! -e plugins/$plugin ] && ln -s $eclipse/dropins/sdk/plugins/$plugin plugins/$plugin done for f in $(ls -d $eclipse/dropins/sdk/features/*); do feature=$(basename $f) [ ! -e features/$feature ] && ln -s $eclipse/dropins/sdk/features/$feature features/$feature done for p in $(ls -d $eclipse/plugins/*); do plugin=$(basename $p) [ ! -e plugins/$plugin ] && ln -s $eclipse/plugins/$plugin plugins/$plugin done for f in $(ls -d $eclipse/features/*); do feature=$(basename $f) [ ! -e features/$feature ] && ln -s $eclipse/features/$feature features/$feature done for p in $(find /usr/share/java -name "*.jar"); do unzip -p $p 'META-INF/MANIFEST.MF' | grep -q 'Bundle-ManifestVersion' if [ $? = 0 ]; then plugin=$(basename $p) [ ! -e plugins/$plugin ] && ln -s $p plugins/$plugin fi done popd eclipse -nosplash -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher \ -metadataRepository file:$repo \ -artifactRepository file:$repo \ -source $where \ -compress -append -publishArtifacts rm -rf $where