]> git.openstreetmap.org Git - nominatim.git/commitdiff
move dotenv parsing to installed PHP scripts
authorSarah Hoffmann <lonvia@denofr.de>
Thu, 14 Jan 2021 16:09:22 +0000 (17:09 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Thu, 14 Jan 2021 17:06:22 +0000 (18:06 +0100)
This means that the php-symfony-dotenv library is now only needed
when using the legacy scripts. This includes the BDD tests which
currently still rely on the PHP utils.

.github/actions/build-nominatim/action.yml
.github/workflows/ci-tests.yml
cmake/script.tmpl
lib/dotenv_loader.php [new file with mode: 0644]
lib/lib.php

index e6aec814b5be2246b31eded213165718132bfe77..3cd826afea660007359ab8add33132e2ba554389 100644 (file)
@@ -6,7 +6,7 @@ runs:
     steps:
         - name: Install prerequisits
           run: |
-            sudo apt-get install -y -qq libboost-system-dev libboost-filesystem-dev libexpat1-dev zlib1g-dev libbz2-dev libpq-dev libproj-dev python3-psycopg2 python3-pyosmium php-symfony-dotenv python3-dotenv
+            sudo apt-get install -y -qq libboost-system-dev libboost-filesystem-dev libexpat1-dev zlib1g-dev libbz2-dev libpq-dev libproj-dev python3-psycopg2 python3-pyosmium python3-dotenv
           shell: bash
 
         - name: Configure
@@ -16,7 +16,7 @@ runs:
         - name: Build
           run: |
               make -j2 all
-              ./utils/setup.php --setup-website
+              ./nominatim refresh --website
           shell: bash
           working-directory: build
 
index d462a8bb6bd087433af14a8a98b198500941945d..8dd19aa4621c057cd11c726531dd4ab007f3607e 100644 (file)
@@ -47,7 +47,7 @@ jobs:
 
             - name: Install test prerequsites
               run: |
-                   sudo apt-get install -y -qq php-codesniffer python3-tidylib
+                   sudo apt-get install -y -qq php-codesniffer python3-tidylib php-symfony-dotenv
                    sudo pip3 install behave
 
             - name: PHP linting
index b0e1f535bfa53f7aa4c5065c50cb4ddf6ca85d54..30b8717bac8af7d67918d157f7d7f4ff59b2bf47 100755 (executable)
@@ -1,8 +1,12 @@
 #!@PHP_BIN@ -Cq
 <?php
+require('@CMAKE_SOURCE_DIR@/lib/dotenv_loader.php');
+
 @define('CONST_Default_ModulePath', '@CMAKE_BINARY_DIR@/module');
 @define('CONST_Default_Osm2pgsql', '@CMAKE_BINARY_DIR@/osm2pgsql/osm2pgsql');
 @define('CONST_BinDir', '@CMAKE_SOURCE_DIR@/utils');
 @define('CONST_DataDir', '@CMAKE_SOURCE_DIR@');
 
+loadDotEnv();
+
 require_once('@CMAKE_SOURCE_DIR@/lib/admin/@script_source@');
diff --git a/lib/dotenv_loader.php b/lib/dotenv_loader.php
new file mode 100644 (file)
index 0000000..919891a
--- /dev/null
@@ -0,0 +1,13 @@
+<?php
+
+require('Symfony/Component/Dotenv/autoload.php');
+
+function loadDotEnv()
+{
+    $dotenv = new \Symfony\Component\Dotenv\Dotenv();
+    $dotenv->load(CONST_DataDir.'/settings/env.defaults');
+
+    if (file_exists('.env')) {
+        $dotenv->load('.env');
+    }
+}
index 5e89916c8cae0105071303627d1776400f867aa7..7760f695304748fe80d9a549c5d76fedbdf5066a 100644 (file)
@@ -1,7 +1,5 @@
 <?php
 
-require('Symfony/Component/Dotenv/autoload.php');
-
 function loadSettings($sProjectDir)
 {
     @define('CONST_InstallDir', $sProjectDir);
@@ -10,13 +8,6 @@ function loadSettings($sProjectDir)
     // set of settings.
     defined('CONST_DataDir') or define('CONST_DataDir', $_SERVER['NOMINATIM_DATADIR']);
     defined('CONST_BinDir') or define('CONST_BinDir', $_SERVER['NOMINATIM_BINDIR']);
-
-    $dotenv = new \Symfony\Component\Dotenv\Dotenv();
-    $dotenv->load(CONST_DataDir.'/settings/env.defaults');
-
-    if (file_exists($sProjectDir.'/.env')) {
-        $dotenv->load($sProjectDir.'/.env');
-    }
 }
 
 function getSetting($sConfName, $sDefault = null)