root/XerialJ/trunk/sqlite-jdbc/sqlitejdbc/release.sh

Revision 2260, 2.9 kB (checked in by leo, 4 years ago)

merged from branch

Line 
1#!/bin/sh
2#
3# Compile and prepare for distribution Mac/Win/Java versions.
4# Expects to run on Mac OS X with the DarwinPorts windows cross compiler.
5#
6
7sqlitejdbc="sqlitejdbc-v`cat VERSION`"
8afs="/afs/hcoop.net/user/c/cr/crawshaw/web/zentus/sqlitejdbc"
9repo="$afs/src"
10
11#
12# bundle source code
13#
14echo '*** bundling source ***'
15echo $repo > _darcs/prefs/defaultrepo
16mkdir -p dist
17mkdir -p work/$sqlitejdbc/src
18cp Makefile* work/$sqlitejdbc/.
19cp README work/$sqlitejdbc/.
20cp LICENSE work/$sqlitejdbc/.
21cp VERSION work/$sqlitejdbc/.
22cp -R src/org work/$sqlitejdbc/src/.
23cp -R src/test work/$sqlitejdbc/src/.
24cp -R _darcs work/$sqlitejdbc/.
25cp -R lib work/$sqlitejdbc/.
26(cd work && tar cfz ../dist/$sqlitejdbc-src.tgz $sqlitejdbc)
27rm -rf work
28
29#
30# universal binary
31#
32maclib=libsqlitejdbc.jnilib
33
34echo '*** compiling for mac/ppc ***'
35make os=Darwin arch=ppc native
36
37echo '*** compiling for mac/i386 ***'
38make os=Darwin arch=i386 native
39
40echo '*** lipo ppc and i386 ***'
41mkdir -p build/Darwin-universal
42lipo -create build/Darwin-ppc/$maclib \
43             build/Darwin-i386/$maclib \
44     -output build/Darwin-universal/$maclib
45mkdir -p dist
46tar cfz dist/$sqlitejdbc-Mac.tgz README \
47    -C build $sqlitejdbc-native.jar \
48    -C Darwin-universal $maclib
49
50#
51# windows
52#
53echo '*** compiling for windows ***'
54darcs push -a debian:repo/sqlitejdbc
55ssh debian "cd repo/sqlitejdbc && make os=Win arch=i586 dist/$sqlitejdbc-Win-i586.tgz"
56scp debian:repo/sqlitejdbc/dist/$sqlitejdbc-Win-i586.tgz \
57    dist/$sqlitejdbc-Win-i586.tgz
58
59#
60# linux
61#
62echo '*** compiling for linux ***'
63ssh debian "cd repo/sqlitejdbc && make arch=i386 dist/$sqlitejdbc-Default-i386.tgz"
64scp debian:repo/sqlitejdbc/dist/$sqlitejdbc-Default-i386.tgz \
65    dist/$sqlitejdbc-Linux-i386.tgz
66
67#
68# pure java compile
69#
70echo '*** compiling pure java ***'
71ssh debian "cd repo/sqlitejdbc && make -f Makefile.nested test dist/$sqlitejdbc-nested.tgz"
72scp debian:repo/sqlitejdbc/dist/$sqlitejdbc-nested.tgz \
73    dist/$sqlitejdbc-nested.tgz
74
75#
76# build changes.html
77#
78echo '*** building changes.html ***'
79cat > changes.html << EOF
80<html>
81<head>
82<link rel="stylesheet" type="text/css" href="/content.css" />
83<title>SQLiteJDBC - Changelog</title>
84</head>
85<body>
86EOF
87cat web/ad.inc >> changes.html
88echo '<div class="content"><h1>Changelog</h1>' >> changes.html
89cat web/nav.inc >> changes.html
90echo '<h3>HEAD</h3><ul>' >> changes.html
91# do not go back before version 008
92sh -c 'darcs changes --from-patch="version 026"' | grep \* >> changes.html
93perl -pi -e "s/^  \* version ([0-9]+)$/<\/ul><h3>Version \$1<\/h3><ul>/g" \
94        changes.html
95perl -pi -e "s/^  \* (.*)\$/<li>\$1<\/li>/g" changes.html
96echo '</ul></div></body></html>' >> changes.html
97
98#
99# push release to web server
100#
101if [ "$1" = "push" ]; then
102    echo '*** pushing release to afs ***'
103    darcs push -a $repo
104    cp dist/$sqlitejdbc-*.tgz $afs/dist/
105    cp changes.html web/*.html web/*.css $afs/
106    rm changes.html
107fi
Note: See TracBrowser for help on using the browser.