-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathbuild.sh
executable file
·101 lines (72 loc) · 4.06 KB
/
build.sh
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
#!/bin/sh
# * ********************************************************************************************************************
# * This file is part of ThreadVis.
# * https://threadvis.github.io/
# *
# * ThreadVis started as part of Alexander C. Hubmann-Haidvogel's Master's Thesis titled
# * "ThreadVis for Thunderbird: A Thread Visualisation Extension for the Mozilla Thunderbird Email Client"
# * at Graz University of Technology, Austria. An electronic version of the thesis is available online at
# * https://ftp.isds.tugraz.at/pub/theses/ahubmann.pdf
# *
# * Copyright (C) 2005, 2006, 2007 Alexander C. Hubmann
# * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2013, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Alexander C. Hubmann-Haidvogel
# *
# * ThreadVis is free software: you can redistribute it and/or modify it under the terms of the
# * GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License,
# * or (at your option) any later version.
# *
# * ThreadVis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# * See the GNU Affero General Public License for more details.
# *
# * You should have received a copy of the GNU Affero General Public License along with ThreadVis.
# * If not, see <http://www.gnu.org/licenses/>.
# *
# * ********************************************************************************************************************
# * Makefile for ThreadVis
# *********************************************************************************************************************/
# ######################################################################################################################
# Get newest version
# ######################################################################################################################
version=`cat src/version`
hash=`git rev-parse --short HEAD`
timestamp=`date +"%s"`
# ######################################################################################################################
# Delete old build
# ######################################################################################################################
rm -Rf build/*
mkdir build/src
# ######################################################################################################################
# Copy all files to build directory
# ######################################################################################################################
cp -r src/* build/src
# ######################################################################################################################
# Update code with version and revision
# ######################################################################################################################
# first, check if our build is clean
versionstring="${version}"
if [[ -n $(git status -s ./src) ]]; then
versionstring="${versionstring}.${hash}.${timestamp}"
fi
# update in user-visible files
for f in $(find build/ -name '*.json' -or -name '*.dtd')
do
sed -i '' -e "s/\[\[version\]\]/${versionstring}/g" $f
done
# update in all files
for f in $(find build/ -name '*.js' -or -name '*.mjs' -or -name '*.xhtml' -or -name '*.css' -or -name '*.json')
do
sed -i '' -e "s/[$]Id[$]/${versionstring}/g" $f
done
# ######################################################################################################################
# Create XPI file
# ######################################################################################################################
cd build/src
zip -q -r ThreadVis.xpi . -i@../../xpi.filelist
cd ../..
cp build/src/ThreadVis.xpi build/ThreadVis.xpi
# ######################################################################################################################
# Clean up build directory
# ######################################################################################################################
rm -Rf build/src
echo "Build ${versionstring} successful."