Hello,

In attachment I sent bash script which automate upgrading/installing
JDEE process.

What it does?

1. Dowload all necessary libs:
   - jde
   - elib
   - eieio
   - semantic
   - speedbar
   - bsh
2. Unpacks all compressend packages
3. Copies files from each library to proper
   emacs/site-lisp directory.
   jde -> emacs/site-lisp/jde/
   elib -> emacs/site-lisp/elib/
   ...
   and so on.
4. Compiles all *.el files for each installed package

Since emacs auto-searches all libraries in emacs/site-lisp
directory it is not necessary to modify your .emacs file
to use JDE (It works for me) apart from adding:
(require 'jde)
statement.

What it needs? (This script)
bash, tar, gzip, sed, wget, mkdir, rm, tail, cp
command in current path.
It means you need something unix like environment.
It works for me very well under Win2k+CygWin
It should also work under all linuxes and unixes.

I will try it on my Linux box and send corrections if necessary.

Configuration:

Look in the beginning of script and set variables for proper values
to your local configuration.

regards
Artur Hefczyc
-- 
Artur Hefczyc
NuTech Solutions:                 [EMAIL PROTECTED]
Open Software Developer:          [EMAIL PROTECTED]
#!/bin/bash

# Basic system constant

SITE_LISP_DIR=/emacs-21.1/site-lisp
EMACS=emacs

# Location of last version all necessary libraries

JDE_LOC=http://jdee.sunsite.dk/jde-beta.tar.gz
ELIB_LOC=http://jdee.sunsite.dk/elib-1.0.tar.gz
EIEIO_LOC=http://prdownloads.sourceforge.net/cedet/eieio-0.17beta4.tar.gz
SEMANTIC_LOC=http://prdownloads.sourceforge.net/cedet/semantic-1.4beta14.tar.gz
SPEEDBAR_LOC=http://prdownloads.sourceforge.net/cedet/speedbar-0.14beta3.tar.gz
BSH_LOC=http://www.beanshell.org/bsh-1.2b4.jar

# Set to proper values for your system

# Do you use 'wget' or another 'ncftpget' for example tool
# to download files.
DOWNLOAD_CMD="wget -c -t0 -T 15"

# If you prefer 'zip' format change variables below to proper values
FILE_SUFFIX="tar.gz"
UNPACK_CMD="tar -xzvf"

# Local variables.

JDE_FILE=jde
ELIB_FILE=elib
EIEIO_FILE=eieio
SEMANTIC_FILE=semantic
SPEEDBAR_FILE=speedbar
BSH_FILE=bsh.jar

DIRTMP=jde-tmp


mkdir -p $DIRTMP
rm -rf $DIRTMP/*

# Download last JDE
$DOWNLOAD_CMD -O $DIRTMP/$JDE_FILE.$FILE_SUFFIX $JDE_LOC
if [ ! $? ] ; then
    echo "Couldn't download $JDE_FILE file, instalation aborted"
    exit 1
fi
# Download last ELIB
$DOWNLOAD_CMD -O $DIRTMP/$ELIB_FILE.$FILE_SUFFIX $ELIB_LOC
if [ ! $? ] ; then
    echo "Couldn't download $ELIB_FILE file, instalation aborted"
    exit 1
fi
# Download last EIEIO
$DOWNLOAD_CMD -O $DIRTMP/$EIEIO_FILE.$FILE_SUFFIX $EIEIO_LOC
if [ ! $? ] ; then
    echo "Couldn't download $EIEIO_FILE file, instalation aborted"
    exit 1
fi
# Download last SEMANTIC
$DOWNLOAD_CMD -O $DIRTMP/$SEMANTIC_FILE.$FILE_SUFFIX $SEMANTIC_LOC
if [ ! $? ] ; then
    echo "Couldn't download $SEMANTIC_FILE file, instalation aborted"
    exit 1
fi
# Download last SPEEDBAR
$DOWNLOAD_CMD -O $DIRTMP/$SPEEDBAR_FILE.$FILE_SUFFIX $SPEEDBAR_LOC
if [ ! $? ] ; then
    echo "Couldn't download $SPEEDBAR_FILE file, instalation aborted"
    exit 1
fi
# Download last BSH
$DOWNLOAD_CMD -O $DIRTMP/$BSH_FILE $BSH_LOC
if [ ! $? ] ; then
    echo "Couldn't download $BSH_FILE file, instalation aborted"
    exit 1
fi

cd $DIRTMP

JDE_DIR=`$UNPACK_CMD $JDE_FILE.$FILE_SUFFIX | tail -n 1 | sed -e "s@^\([^/]*\)/.*@\1@"`
ELIB_DIR=`$UNPACK_CMD $ELIB_FILE.$FILE_SUFFIX | tail -n 1 | sed -e 
"s@^\([^/]*\)/.*@\1@"`
EIEIO_DIR=`$UNPACK_CMD $EIEIO_FILE.$FILE_SUFFIX | tail -n 1 | sed -e 
"s@^\([^/]*\)/.*@\1@"`
SEMANTIC_DIR=`$UNPACK_CMD $SEMANTIC_FILE.$FILE_SUFFIX | tail -n 1 | sed -e 
"s@^\([^/]*\)/.*@\1@"`
SPEEDBAR_DIR=`$UNPACK_CMD $SPEEDBAR_FILE.$FILE_SUFFIX | tail -n 1 | sed -e 
"s@^\([^/]*\)/.*@\1@"`

rm -rf $SITE_LISP_DIR/$JDE_FILE/*
rm -rf $SITE_LISP_DIR/$ELIB_FILE/*
rm -rf $SITE_LISP_DIR/$EIEIO_FILE/*
rm -rf $SITE_LISP_DIR/$SEMANTIC_FILE/*
rm -rf $SITE_LISP_DIR/$SPEEDBAR_FILE/*

if [ -d $ELIB_DIR ] ; then
    cp -rf $ELIB_DIR/* $SITE_LISP_DIR/$ELIB_FILE
else
    echo "Can't determine $ELIB_FILE source dir, instalation aborted."
fi
if [ -d $EIEIO_DIR ] ; then
    cp -rf $EIEIO_DIR/* $SITE_LISP_DIR/$EIEIO_FILE
else
    echo "Can't determine $EIEIO_FILE source dir, instalation aborted."
fi
if [ -d $SEMANTIC_DIR ] ; then
    cp -rf $SEMANTIC_DIR/* $SITE_LISP_DIR/$SEMANTIC_FILE
else
    echo "Can't determine $SEMANTIC_FILE source dir, instalation aborted."
fi
if [ -d $SPEEDBAR_DIR ] ; then
    cp -rf $SPEEDBAR_DIR/* $SITE_LISP_DIR/$SPEEDBAR_FILE
else
    echo "Can't determine $SPEEDBAR_FILE source dir, instalation aborted."
fi
if [ -d $JDE_DIR ] ; then
    cp -rf $JDE_DIR/java/{bsh-commands,classes,lib} $SITE_LISP_DIR/java/
    cp -rf $JDE_DIR/lisp/* $SITE_LISP_DIR/$JDE_FILE
    cp -f $BSH_FILE $SITE_LISP_DIR/java/lib/
else
    echo "Can't determine $JDE_FILE source dir, instalation aborted."
fi

cd $SITE_LISP_DIR
echo "(add-to-list 'load-path \"$SITE_LISP_DIR/$ELIB_FILE/\")" > compile-script
echo "(add-to-list 'load-path \"$SITE_LISP_DIR/$EIEIO_FILE/\")" >> compile-script
echo "(add-to-list 'load-path \"$SITE_LISP_DIR/$SEMANTIC_FILE/\")" >> compile-script
echo "(add-to-list 'load-path \"$SITE_LISP_DIR/$SPEEDBAR_FILE/\")" >> compile-script
echo "(add-to-list 'load-path \"$SITE_LISP_DIR/$JDE_FILE/\")" >> compile-script

cd $ELIB_FILE
$EMACS -batch -l elib-compile-all.el -f compile-elib
cd ../$EIEIO_FILE
$EMACS -batch -l ../compile-script -f batch-byte-compile *.el
cd ../$SEMANTIC_FILE
$EMACS -batch -l ../compile-script -f batch-byte-compile *.el
cd ../$SPEEDBAR_FILE
$EMACS -batch -l ../compile-script -f batch-byte-compile *.el
cd ../$JDE_FILE
$EMACS -batch -l ../compile-script -f batch-byte-compile *.el

Reply via email to