Mercurial > hg > orthanc-stl
annotate Resources/CreateJavaScriptLibraries.sh @ 43:428903548e13
fix REUSE compliance
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sat, 06 Apr 2024 12:34:36 +0200 |
parents | 970994058acd |
children | b798387b085c |
rev | line source |
---|---|
0
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1 #!/bin/bash |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2 |
24 | 3 # SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium |
0
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4 # SPDX-License-Identifier: GPL-3.0-or-later |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5 |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6 # STL plugin for Orthanc |
24 | 7 # Copyright (C) 2023-2024 Sebastien Jodogne, UCLouvain, Belgium |
0
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8 # |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
9 # This program is free software: you can redistribute it and/or |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
10 # modify it under the terms of the GNU General Public License as |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
11 # published by the Free Software Foundation, either version 3 of the |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
12 # License, or (at your option) any later version. |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
13 # |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
14 # This program is distributed in the hope that it will be useful, but |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
15 # WITHOUT ANY WARRANTY; without even the implied warranty of |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
17 # General Public License for more details. |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
18 # |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
19 # You should have received a copy of the GNU General Public License |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
20 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
21 |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
22 |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
23 |
37
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
24 # This command-line script uses the "npm" tool to populate the |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
25 # "JavaScriptLibraries/dist" folder. It uses Docker to this end, in |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
26 # order to be usable on our CIS. |
0
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
27 |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
28 set -ex |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
29 |
37
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
30 |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
31 ## |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
32 ## Prepare a Docker container with npm |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
33 ## |
0
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
34 |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
35 if [ -t 1 ]; then |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
36 # TTY is available => use interactive mode |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
37 DOCKER_FLAGS='-i' |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
38 fi |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
39 |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
40 ROOT_DIR=`dirname $(readlink -f $0)`/.. |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
41 IMAGE=orthanc-stl-node |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
42 |
37
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
43 if [ -e "${ROOT_DIR}/JavaScriptLibraries/dist/" ]; then |
0
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
44 echo "Target folder is already existing, aborting" |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
45 exit -1 |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
46 fi |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
47 |
37
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
48 mkdir -p ${ROOT_DIR}/JavaScriptLibraries/dist/ |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
49 |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
50 ( cd ${ROOT_DIR}/Resources/CreateJavaScriptLibraries && \ |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
51 docker build --no-cache -t ${IMAGE} . ) |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
52 |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
53 |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
54 ## |
38 | 55 ## Building O3DV (Online 3D Viewer) |
56 ## https://github.com/kovacsv/Online3DViewer | |
57 ## | |
58 | |
59 O3DV=Online3DViewer-0.12.0 | |
60 | |
61 echo "Creating the distribution of O3DV from $O3DV" | |
62 | |
63 if [ ! -f "${ROOT_DIR}/JavaScriptLibraries/${O3DV}.tar.gz" ]; then | |
64 mkdir -p "${ROOT_DIR}/JavaScriptLibraries" | |
65 ( cd ${ROOT_DIR}/JavaScriptLibraries && \ | |
66 wget https://orthanc.uclouvain.be/downloads/third-party-downloads/STL/${O3DV}.tar.gz ) | |
67 fi | |
68 | |
69 docker run -t ${DOCKER_FLAGS} --rm \ | |
70 --user $(id -u):$(id -g) \ | |
71 -v ${ROOT_DIR}/Resources/CreateJavaScriptLibraries/build-o3dv.sh:/source/build-o3dv.sh:ro \ | |
72 -v ${ROOT_DIR}/JavaScriptLibraries/${O3DV}.tar.gz:/source/${O3DV}.tar.gz:ro \ | |
73 -v ${ROOT_DIR}/JavaScriptLibraries/dist/:/target:rw \ | |
74 ${IMAGE} \ | |
75 bash /source/build-o3dv.sh ${O3DV} | |
76 | |
77 | |
78 ## | |
37
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
79 ## Building Three.js |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
80 ## |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
81 |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
82 THREE=three.js-r154-sources |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
83 |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
84 echo "Creating the distribution of Three.js from $THREE" |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
85 |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
86 if [ ! -f "${ROOT_DIR}/JavaScriptLibraries/${THREE}.tar.gz" ]; then |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
87 mkdir -p "${ROOT_DIR}/JavaScriptLibraries" |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
88 ( cd ${ROOT_DIR}/JavaScriptLibraries && \ |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
89 wget https://orthanc.uclouvain.be/downloads/third-party-downloads/${THREE}.tar.gz ) |
0
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
90 fi |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
91 |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
92 docker run -t ${DOCKER_FLAGS} --rm \ |
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
93 --user $(id -u):$(id -g) \ |
37
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
94 -v ${ROOT_DIR}/Resources/CreateJavaScriptLibraries/build-three.sh:/source/build-three.sh:ro \ |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
95 -v ${ROOT_DIR}/JavaScriptLibraries/${THREE}.tar.gz:/source/${THREE}.tar.gz:ro \ |
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
96 -v ${ROOT_DIR}/JavaScriptLibraries/dist/:/target:rw \ |
0
4e889a8e8be2
initial commit of the viewer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
97 ${IMAGE} \ |
37
2cc9950018ab
replaced folder ./Three by ./JavaScriptLibraries
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
98 bash /source/build-three.sh ${THREE} |