author | wenzelm |
Tue, 11 Jan 2011 20:18:48 +0100 | |
changeset 41514 | 917f1a4fbc77 |
parent 41513 | 0ffd5ea44078 |
child 42899 | 108e815fdc8e |
permissions | -rwxr-xr-x |
34332 | 1 |
#!/usr/bin/env bash |
2 |
# |
|
3 |
# makedist -- make Isabelle/jEdit distribution |
|
4 |
||
5 |
## self references |
|
6 |
||
7 |
PRG=$(basename "$0") |
|
8 |
THIS=$(cd "$(dirname "$0")"; pwd) |
|
9 |
SUPER=$(cd "$THIS/.."; pwd) |
|
10 |
||
11 |
||
12 |
## diagnostics |
|
13 |
||
37355 | 14 |
JEDIT_HOME="" |
34332 | 15 |
|
16 |
function usage() |
|
17 |
{ |
|
18 |
echo |
|
19 |
echo "Usage: $PRG [OPTIONS]" |
|
20 |
echo |
|
21 |
echo " Options are:" |
|
22 |
echo " -j DIR specify original jEdit distribution" |
|
23 |
echo |
|
24 |
echo " Produce Isabelle/jEdit distribution from Netbeans build" |
|
25 |
echo " in $THIS/dist" |
|
26 |
echo |
|
27 |
exit 1 |
|
28 |
} |
|
29 |
||
30 |
fail() |
|
31 |
{ |
|
32 |
echo "$1" >&2 |
|
33 |
exit 2 |
|
34 |
} |
|
35 |
||
36 |
||
37 |
## process command line |
|
38 |
||
39 |
# options |
|
40 |
||
41 |
while getopts "j:s:" OPT |
|
42 |
do |
|
43 |
case "$OPT" in |
|
44 |
j) |
|
45 |
JEDIT_HOME="$OPTARG" |
|
46 |
;; |
|
47 |
\?) |
|
48 |
usage |
|
49 |
;; |
|
50 |
esac |
|
51 |
done |
|
52 |
||
53 |
shift $(($OPTIND - 1)) |
|
54 |
||
55 |
||
56 |
# args |
|
57 |
||
58 |
[ "$#" -ne 0 ] && usage |
|
59 |
||
60 |
||
61 |
## main |
|
62 |
||
63 |
cd "$THIS/dist" || fail "Bad directory: $THIS/dist" |
|
64 |
||
65 |
||
66 |
# target name |
|
67 |
||
37355 | 68 |
[ -z "$JEDIT_HOME" ] && fail "Unknown JEDIT_HOME" |
41513 | 69 |
[ -n "$ISABELLE_HOME" ] || fail "Missing Isabelle settings environment" |
37355 | 70 |
|
41513 | 71 |
VERSION="$(basename "$JEDIT_HOME")_Isabelle-$("$ISABELLE_TOOL" version -i)" |
34332 | 72 |
JEDIT="jedit-${VERSION}" |
73 |
||
74 |
rm -rf "$JEDIT" jedit |
|
75 |
mkdir "$JEDIT" |
|
76 |
||
41514 | 77 |
rm -f jedit && ln -s "$JEDIT" jedit |
78 |
||
34332 | 79 |
|
80 |
# copy stuff |
|
81 |
||
82 |
[ "$JEDIT_HOME/jedit.jar" ] || fail "Bad original jEdit directory: $JEDIT_HOME" |
|
83 |
cp -R "$JEDIT_HOME/." "$JEDIT/." |
|
34478
095e5cae6656
removed jEdit/build-support (belongs to src distribution);
wenzelm
parents:
34469
diff
changeset
|
84 |
rm -rf "$JEDIT/jEdit" "$JEDIT/build-support" |
34332 | 85 |
|
34519 | 86 |
mkdir -p "$JEDIT/jars" |
87 |
cp -R jars/. "$JEDIT/jars/." |
|
34332 | 88 |
|
89 |
cp -R "$THIS/dist-template/." "$JEDIT/." |
|
37218 | 90 |
cp "$THIS/README" "$JEDIT/." |
34332 | 91 |
|
34419 | 92 |
perl -i -e 'while (<>) { if (m/NAME="javacc"/) { |
34798
db0da30bca26
added isabelle-session mode for session.info files;
wenzelm
parents:
34646
diff
changeset
|
93 |
print qq,<MODE NAME="isabelle" FILE="isabelle.xml" FILE_NAME_GLOB="*.thy"/>\n\n,; |
34801 | 94 |
print qq,<MODE NAME="isabelle-session" FILE="isabelle-session.xml" FILE_NAME_GLOB="session.root"/>\n\n,; } |
34419 | 95 |
print; }' "$JEDIT/modes/catalog" |
96 |
||
34646
9560a458efed
updated to jedit 4.3pre17 -- no longer provide separate ml.xml;
wenzelm
parents:
34519
diff
changeset
|
97 |
|
34332 | 98 |
# build archive |
99 |
||
100 |
echo "${JEDIT}.tar.gz" |
|
37355 | 101 |
tar czf "${JEDIT}.tar.gz" "$JEDIT" |