From 3bb63c59d99460d8fbd3d74e8506b4fb4705d83b Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Tue, 6 Oct 2020 10:57:12 +0200
Subject: [PATCH] [CMake] Workflow reqs are handled by Poetry.

---
 scripts/cmake/ConanSetup.cmake  |  7 +------
 scripts/cmake/Find.cmake        |  4 ++--
 scripts/cmake/PythonSetup.cmake | 13 +++++++++++++
 scripts/test/requirements.txt   |  2 --
 web/data/versions.json          |  4 +++-
 5 files changed, 19 insertions(+), 11 deletions(-)
 delete mode 100644 scripts/test/requirements.txt

diff --git a/scripts/cmake/ConanSetup.cmake b/scripts/cmake/ConanSetup.cmake
index 9b2cb255cc7..37ddf754d5f 100644
--- a/scripts/cmake/ConanSetup.cmake
+++ b/scripts/cmake/ConanSetup.cmake
@@ -4,12 +4,7 @@ endif()
 string(TOLOWER ${OGS_USE_CONAN} OGS_USE_CONAN_lower)
 if(OGS_USE_CONAN_lower STREQUAL "auto" AND POETRY)
     execute_process(COMMAND ${CMD_COMMAND} poetry add conan=${ogs.minimum_version.conan})
-    find_program(CONAN_CMD conan HINTS
-        ${PROJECT_BINARY_DIR}/.venv/bin
-        ${PROJECT_BINARY_DIR}/.venv/Scripts
-        REQUIRED NO_DEFAULT_PATH
-    )
-    find_program(CONAN_CMD conan HINTS ${PROJECT_BINARY_DIR}/.venv/bin
+    find_program(CONAN_CMD conan HINTS ${LOCAL_VIRTUALENV_BIN_DIRS}
         REQUIRED NO_DEFAULT_PATH
     )
 else()
diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake
index 60fe82bccff..14babf80932 100644
--- a/scripts/cmake/Find.cmake
+++ b/scripts/cmake/Find.cmake
@@ -54,8 +54,8 @@ find_program(PANDOC_CITEPROC pandoc-citeproc)
 find_program(MODULE_CMD modulecmd
     PATHS /usr/local/modules/3.2.10-1/Modules/3.2.10/bin)
 
-find_program(SNAKEMAKE snakemake)
-find_program(PARSL parsl-visualize)
+find_program(SNAKEMAKE snakemake HINTS ${LOCAL_VIRTUALENV_BIN_DIRS})
+find_program(PARSL parsl-visualize HINTS ${LOCAL_VIRTUALENV_BIN_DIRS})
 
 ######################
 ### Find libraries ###
diff --git a/scripts/cmake/PythonSetup.cmake b/scripts/cmake/PythonSetup.cmake
index 17e68293486..8ddb9e5a5ee 100644
--- a/scripts/cmake/PythonSetup.cmake
+++ b/scripts/cmake/PythonSetup.cmake
@@ -32,3 +32,16 @@ if(POETRY)
             ${Python3_ROOT_DIR}/lib/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages)
     endif()
 endif()
+
+set(LOCAL_VIRTUALENV_BIN_DIRS
+    ${PROJECT_BINARY_DIR}/.venv/bin
+    ${PROJECT_BINARY_DIR}/.venv/Scripts
+    CACHE INTERNAL ""
+)
+
+if(POETRY AND BUILD_TESTING)
+    execute_process(COMMAND ${CMD_COMMAND} poetry add
+        snakemake=${ogs.minimum_version.snakemake}
+        parsl=${ogs.minimum_version.parsl}
+    )
+endif()
diff --git a/scripts/test/requirements.txt b/scripts/test/requirements.txt
deleted file mode 100644
index 9bb620c9799..00000000000
--- a/scripts/test/requirements.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-snakemake==5.19.3
-parsl==1.0.0
diff --git a/web/data/versions.json b/web/data/versions.json
index 30c72701bc8..f72dc4a309a 100644
--- a/web/data/versions.json
+++ b/web/data/versions.json
@@ -17,7 +17,9 @@
     "vtk": "8.1.2",
     "petsc": "3.11.2",
     "qt": "5.12.4",
-    "python": "3.6"
+    "python": "3.6",
+    "snakemake": "5.19.3",
+    "parsl": "1.0.0"
   },
   "tested_version": {
     "vtk": "8.2.0",
-- 
GitLab