From 661e2071d1cefba83c8c96f84ec67b230b9895a5 Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Fri, 22 Mar 2024 14:37:45 +0100
Subject: [PATCH] Package: Rename mage to mage8 and reorganise package
 installation dir.

---
 .gitlab-ci.yml                | 85 +++++++++++++++++------------------
 packages/debug.bat            |  3 ++
 packages/debug.sh             |  3 ++
 packages/make-windows-dir.bat | 36 +++++++--------
 src/Solver/CommandLine.py     |  2 +-
 src/View/Doc/Window.py        |  2 +-
 src/View/MainWindow.py        |  2 +-
 src/config.py                 |  2 +-
 8 files changed, 68 insertions(+), 67 deletions(-)
 create mode 100644 packages/debug.bat
 create mode 100644 packages/debug.sh

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b390dee4..b367e071 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -29,9 +29,9 @@ stages:
 #############
 
 variables:
-  MAGE_VERSION: "v8.3.4"
+  MAGE_8_VERSION: "v8.3.4"
 
-dl-mage-doc:
+dl-mage8-doc:
   stage: downloads
   tags:
     - linux
@@ -40,46 +40,46 @@ dl-mage-doc:
   script:
     - mkdir -p doc
     - cd doc
-    - curl -L -o mage8.pdf https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/$MAGE_VERSION/downloads/documents/Mage-8_Documentation.pdf
+    - curl -L -o mage8.pdf https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/$MAGE_8_VERSION/downloads/documents/Mage-8_Documentation.pdf
   artifacts:
     paths:
       - doc/mage8.pdf
 
-dl-mage-linux:
+dl-mage8-linux:
   stage: downloads
   tags:
     - linux
   rules:
     - if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
   script:
-    - curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/$MAGE_VERSION/downloads/packages/mage_linux.tgz
-    - mkdir -p mage-linux
-    - cd mage-linux
-    - tar xvf ../mage.tgz
+    - curl -L -o mage8.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/$MAGE_8_VERSION/downloads/packages/mage_linux.tgz
+    - mkdir -p mage8-linux
+    - cd mage8-linux
+    - tar xvf ../mage8.tgz
   artifacts:
     paths:
-      - mage-linux/mage
-      - mage-linux/mage_extraire
-      - mage-linux/mailleurTT
-      - mage-linux/libbief.so
+      - mage8-linux/mage
+      - mage8-linux/mage_extraire
+      - mage8-linux/mailleurTT
+      - mage8-linux/libbief.so
 
-dl-mage-windows:
+dl-mage8-windows:
   stage: downloads
   tags:
     - linux
   rules:
     - if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
   script:
-    - curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/$MAGE_VERSION/downloads/packages/mage_windows.tgz
-    - mkdir -p mage-windows
-    - cd mage-windows
-    - tar xvf ../mage.tgz
+    - curl -L -o mage8.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/$MAGE_8_VERSION/downloads/packages/mage_windows.tgz
+    - mkdir -p mage8-windows
+    - cd mage8-windows
+    - tar xvf ../mage8.tgz
   artifacts:
     paths:
-      - mage-windows/mage.exe
-      - mage-windows/mage_extraire.exe
-      - mage-windows/mailleurTT.exe
-      - mage-windows/libbief.dll
+      - mage8-windows/mage.exe
+      - mage8-windows/mage_extraire.exe
+      - mage8-windows/mailleurTT.exe
+      - mage8-windows/libbief.dll
 
 #############
 # CONFIGURE #
@@ -222,9 +222,9 @@ build-linux:
   rules:
     - if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
   needs:
-    - job: dl-mage-linux
+    - job: dl-mage8-linux
       artifacts: true
-    - job: dl-mage-doc
+    - job: dl-mage8-doc
       artifacts: true
     - job: set-version
       artifacts: true
@@ -249,28 +249,27 @@ build-linux:
     - pyinstaller -y --paths linux-venv/lib/python3.8/site-packages ../src/pamhyr.py
     # Create directory
     - mkdir -p pamhyr
-    - mkdir -p pamhyr/pamhyr
-    - mkdir -p pamhyr/pamhyr/_internal
+    - mkdir -p pamhyr/_internal
     # Copy Pamhyr info
-    - cp -v ../VERSION pamhyr/pamhyr/_internal/
-    - cp -v ../AUTHORS pamhyr/pamhyr/_internal/
-    - cp -v ../LICENSE pamhyr/pamhyr/_internal/
-    - cp -v ../src/motd.txt pamhyr/pamhyr/_internal/
+    - cp -v ../VERSION pamhyr/_internal/
+    - cp -v ../AUTHORS pamhyr/_internal/
+    - cp -v ../LICENSE pamhyr/_internal/
+    - cp -v ../src/motd.txt pamhyr/_internal/
     # Copy mage
-    - mkdir -p pamhyr/mage
-    - cp -v ../mage-linux/* pamhyr/mage/
+    - mkdir -p pamhyr/mage8
+    - cp -v ../mage8-linux/* pamhyr/mage8/
     # Copy Pamhyr
     - cp -r dist/pamhyr pamhyr/
     # Copy Pamhyr resources
-    - mkdir -p pamhyr/pamhyr/_internal/View
-    - mkdir -p pamhyr/pamhyr/_internal/View/ui
-    - mkdir -p pamhyr/pamhyr/_internal/View/ui/Widgets
-    - cp -r ../src/View/ui/*.ui pamhyr/pamhyr/_internal/View/ui/
-    - cp -r ../src/View/ui/ressources/ pamhyr/pamhyr/_internal/View/ui
-    - cp -r ../src/View/ui/Widgets/*.ui pamhyr/pamhyr/_internal/View/ui/Widgets
+    - mkdir -p pamhyr/_internal/View
+    - mkdir -p pamhyr/_internal/View/ui
+    - mkdir -p pamhyr/_internal/View/ui/Widgets
+    - cp -r ../src/View/ui/*.ui pamhyr/_internal/View/ui/
+    - cp -r ../src/View/ui/ressources/ pamhyr/_internal/View/ui
+    - cp -r ../src/View/ui/Widgets/*.ui pamhyr/_internal/View/ui/Widgets
     # Copy lang
-    - mkdir -p pamhyr/pamhyr/_internal/lang
-    - cp -r ../src/lang/*.qm pamhyr/pamhyr/_internal/lang
+    - mkdir -p pamhyr/_internal/lang
+    - cp -r ../src/lang/*.qm pamhyr/_internal/lang
     # Copy tests cases
     - mkdir -p pamhyr/tests_cases/
     - mkdir -p pamhyr/tests_cases/Saar
@@ -298,10 +297,6 @@ build-linux:
     # Copy TP charriage
     - mkdir -p pamhyr/doc/TP_charriage/
     - cp ../doc/users/TP_charriage/* pamhyr/doc/TP_charriage
-    # Create running script
-    - echo "#!/bin/sh" > pamhyr/Pamhyr2
-    - echo "./pamhyr/pamhyr $@" >> pamhyr/Pamhyr2
-    - chmod u+x pamhyr/Pamhyr2
   artifacts:
     paths:
       - linux/pamhyr
@@ -313,9 +308,9 @@ build-windows:
   rules:
     - if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
   needs:
-    - job: dl-mage-windows
+    - job: dl-mage8-windows
       artifacts: true
-    - job: dl-mage-doc
+    - job: dl-mage8-doc
       artifacts: true
     - job: set-version
       artifacts: true
diff --git a/packages/debug.bat b/packages/debug.bat
new file mode 100644
index 00000000..f38b8366
--- /dev/null
+++ b/packages/debug.bat
@@ -0,0 +1,3 @@
+@echo off
+
+start cmd /c pamhyr.exe debug
diff --git a/packages/debug.sh b/packages/debug.sh
new file mode 100644
index 00000000..96195794
--- /dev/null
+++ b/packages/debug.sh
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+./pamhyr debug
diff --git a/packages/make-windows-dir.bat b/packages/make-windows-dir.bat
index 01c5660d..f3d92b54 100644
--- a/packages/make-windows-dir.bat
+++ b/packages/make-windows-dir.bat
@@ -16,34 +16,34 @@ rem along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 @ECHO ON
 
-mkdir pamhyr\pamhyr\_internal
-xcopy /s /e /y dist\pamhyr pamhyr\pamhyr
+mkdir pamhyr\_internal
+xcopy /s /e /y dist\pamhyr pamhyr
 
 rem Copy data
-mkdir pamhyr\pamhyr\_internal\lang
-mkdir pamhyr\pamhyr\_internal\View\ui\ressources
-mkdir pamhyr\pamhyr\_internal\View\ui\Widgets
+mkdir pamhyr\_internal\lang
+mkdir pamhyr\_internal\View\ui\ressources
+mkdir pamhyr_internal\View\ui\Widgets
 
 rem UI
-copy /y ..\src\View\ui\ressources\ pamhyr\pamhyr\_internal\View\ui\ressources
-copy /y ..\src\View\ui\Widgets\*.ui pamhyr\pamhyr\_internal\View\ui\Widgets
-copy /y ..\src\View\ui\*.ui pamhyr\pamhyr\_internal\View\ui\
+copy /y ..\src\View\ui\ressources\ pamhyr\_internal\View\ui\ressources
+copy /y ..\src\View\ui\Widgets\*.ui pamhyr\_internal\View\ui\Widgets
+copy /y ..\src\View\ui\*.ui pamhyr\_internal\View\ui\
 
 rem Lang
-copy /y ..\src\lang\*.qm pamhyr\pamhyr\_internal\lang\
+copy /y ..\src\lang\*.qm pamhyr\_internal\lang\
 
 rem Information
-copy /y ..\VERSION pamhyr\pamhyr\_internal
-copy /y ..\AUTHORS pamhyr\pamhyr\_internal
-copy /y ..\LICENSE pamhyr\pamhyr\_internal
-copy /y ..\src\motd.txt pamhyr\pamhyr\_internal
+copy /y ..\VERSION pamhyr\_internal
+copy /y ..\AUTHORS pamhyr\_internal
+copy /y ..\LICENSE pamhyr\_internal
+copy /y ..\src\motd.txt pamhyr\_internal
 
 rem MAGE
-mkdir pamhyr\mage
-copy /y ..\mage-windows\mage.exe pamhyr\mage\
-copy /y ..\mage-windows\mage_extraire.exe pamhyr\mage\
-copy /y ..\mage-windows\mailleurTT.exe pamhyr\mage\
-copy /y ..\mage-windows\libbief.dll pamhyr\mage\
+mkdir pamhyr\mage8
+copy /y ..\mage8-windows\mage.exe pamhyr\mage8\
+copy /y ..\mage8-windows\mage_extraire.exe pamhyr\mage8\
+copy /y ..\mage8-windows\mailleurTT.exe pamhyr\mage8\
+copy /y ..\mage8-windows\libbief.dll pamhyr\mage8\
 
 rem Copy tests_cases
 mkdir pamhyr\tests_cases
diff --git a/src/Solver/CommandLine.py b/src/Solver/CommandLine.py
index b221f2a4..6066e0c8 100644
--- a/src/Solver/CommandLine.py
+++ b/src/Solver/CommandLine.py
@@ -132,7 +132,7 @@ class CommandLineSolver(AbstractSolver):
         return os.path.abspath(
             os.path.join(
                 os.path.dirname(__file__),
-                "..", "..", ".."
+                "..", ".."
             )
         )
 
diff --git a/src/View/Doc/Window.py b/src/View/Doc/Window.py
index ba32e8cc..16da27eb 100644
--- a/src/View/Doc/Window.py
+++ b/src/View/Doc/Window.py
@@ -50,7 +50,7 @@ class DocWindow(PamhyrWindow):
         return os.path.abspath(
             os.path.join(
                 os.path.dirname(__file__),
-                "..", "..", "..", "..", "doc", filename
+                "..", "..", "..", "doc", filename
             )
         )
 
diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py
index 8136b318..1b9ebddf 100644
--- a/src/View/MainWindow.py
+++ b/src/View/MainWindow.py
@@ -1270,7 +1270,7 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
         return os.path.abspath(
             os.path.join(
                 os.path.dirname(__file__),
-                "..", "..", "..", "doc", filename
+                "..", "..", "doc", filename
             )
         )
 
diff --git a/src/config.py b/src/config.py
index 6c7eccfb..091542ec 100644
--- a/src/config.py
+++ b/src/config.py
@@ -288,7 +288,7 @@ class Config(SQL):
         ctor = solver_type_list["mage8"]
         new = ctor("default-mage")
         new._description = "Default Pamhyr2 mage 8 version"
-        new._cmd_solver = f""""@install_dir/mage/mage{ext}" @args @input"""
+        new._cmd_solver = f""""@install_dir/mage8/mage{ext}" @args @input"""
         self._solvers.append(new)
 
         # Backup
-- 
GitLab