From 70f5b347c5e6e7c01e6a628a884f6f18c2a2cb95 Mon Sep 17 00:00:00 2001 From: Thomas Fillon Date: Fri, 14 Apr 2017 11:30:51 +0200 Subject: [PATCH] Manage timeside and timeside-diadems from lib/ directory --- .gitmodules | 4 ++++ Dockerfile | 19 ++++++++++++------- app/scripts/install_plugins.sh | 9 +++++++++ app/scripts/setup_plugins.sh | 22 ++++++++++++++++++++++ lib/timeside-diadems | 1 + 5 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 app/scripts/install_plugins.sh create mode 100644 app/scripts/setup_plugins.sh create mode 160000 lib/timeside-diadems diff --git a/.gitmodules b/.gitmodules index 31249a88..bfa4df7e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,3 +10,7 @@ [submodule "lib/TimeSide"] path = lib/TimeSide url = https://github.com/Parisson/TimeSide.git +[submodule "lib/timeside-diadems"] + path = lib/timeside-diadems + url = https://github.com/ANR-DIADEMS/timeside-diadems.git + branch = dev diff --git a/Dockerfile b/Dockerfile index c23a4bbb..61c29ac4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,5 @@ # Copyright 2013 Thatcher Peskens -# Copyright 2014-2015 Guillaume Pellerin -# Copyright 2014-2015 Thomas Fillon +# Copyright 2014, 2017 Guillaume Pellerin, Thomas Fillon # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,16 +18,22 @@ FROM parisson/timeside:latest MAINTAINER Guillaume Pellerin , Thomas fillon RUN mkdir -p /srv/src/ -RUN mkdir /srv/src/telemeta +RUN mkdir -p /srv/src/telemeta + +ENV PYTHON_EGG_CACHE=/srv/.python-eggs +RUN mkdir -p $PYTHON_EGG_CACHE +RUN chown www-data:www-data $PYTHON_EGG_CACHE + COPY . /srv/src/telemeta WORKDIR /srv/src/telemeta -RUN conda install lxml + RUN pip install -r requirements.txt RUN pip install -r requirements-dev.txt --src /srv/src -ENV PYTHON_EGG_CACHE=/srv/.python-eggs -RUN mkdir -p $PYTHON_EGG_CACHE -RUN chown www-data:www-data $PYTHON_EGG_CACHE +# Install Timeside and plugins from ./lib +COPY ./app/scripts/setup_plugins.sh /srv/app/scripts/setup_plugins.sh +COPY ./lib/ /srv/src/plugins/ +RUN /bin/bash /srv/app/scripts/setup_plugins.sh WORKDIR /srv/app EXPOSE 8000 diff --git a/app/scripts/install_plugins.sh b/app/scripts/install_plugins.sh new file mode 100644 index 00000000..ddd5d0cc --- /dev/null +++ b/app/scripts/install_plugins.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +plugins=/srv/src/plugins + +for dir in $(ls $plugins); do + if [ -f $plugins/$dir/setup.py ]; then + pip install -e $plugins/$dir/. + fi +done diff --git a/app/scripts/setup_plugins.sh b/app/scripts/setup_plugins.sh new file mode 100644 index 00000000..2d9b3c50 --- /dev/null +++ b/app/scripts/setup_plugins.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +plugins=/srv/src/plugins + +apt-get update + +for dir in $(ls $plugins); do + env=$plugins/$dir/conda-environment.yml + if [ -f $env ]; then + conda env update --name root --file $env + fi + req=$plugins/$dir/debian-requirements.txt + if [ -f $req ]; then + packs=$(egrep -v "^\s*(#|$)" $req) + apt-get install -y --force-yes $packs + fi + if [ -f $plugins/$dir/setup.py ]; then + pip install -e $plugins/$dir/. + fi +done + +apt-get clean diff --git a/lib/timeside-diadems b/lib/timeside-diadems new file mode 160000 index 00000000..edb5975d --- /dev/null +++ b/lib/timeside-diadems @@ -0,0 +1 @@ +Subproject commit edb5975d18b4b69a7b413a7795273807ad8c9e7c -- 2.39.5