diff --git a/Dockerfile b/Dockerfile index a436a17..5b859ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,38 +1,40 @@ FROM mozilla/mozphab:37bf10d57c773185202ce6d755cfd8f1cbbcad67 COPY extensions /app/moz-extensions # Move static resources to phabricator, add files to celerity map array COPY extensions/src/motd/css/MozillaMOTD.css /app/phabricator/webroot/rsrc/css/MozillaMOTD.css COPY extensions/src/auth/PhabricatorBMOAuth.css /app/phabricator/webroot/rsrc/css/PhabricatorBMOAuth.css COPY extensions/src/auth/PhabricatorBMOAuth.js /app/phabricator/webroot/rsrc/js/PhabricatorBMOAuth.js USER root # Install dependencies ENV COMPOSER_ALLOW_SUPERUSER 1 ENV COMPOSER_VENDOR_DIR /app/phabricator/externals/extensions RUN \ curl -sS https://getcomposer.org/installer | php && \ php composer.phar require --no-plugins --no-scripts "sentry/sentry" # Apply customization patches COPY patches /app/patches RUN \ cd /app/phabricator && \ for i in /app/patches/phabricator/*.patch; do patch -p1 < $i; done # Configure Phabricator to use moz-extensions library RUN \ mkdir /app/phabricator/conf/custom/ && \ echo custom/moz-extensions > /app/phabricator/conf/local/ENVIRONMENT COPY moz-extensions.conf.php /app/phabricator/conf/custom/ # Update build_url in version.json COPY phabext.json /app COPY update_build_url.py /app RUN /app/update_build_url.py RUN chown -R app:app /app +RUN chmod +x /app/moz-extensions/bin/* + USER app VOLUME ["/app"] diff --git a/extensions/bin/config_dump b/extensions/bin/config_dump new file mode 100644 index 0000000..8b8acf3 --- /dev/null +++ b/extensions/bin/config_dump @@ -0,0 +1,42 @@ +#!/usr/bin/env php +getKey(); + $final_value = null; + + $config = new PhabricatorConfigLocalSource(); + $local_value = $config->getKeys(array($key)); + if (!empty($local_value)) { + $final_value = reset($local_value); + } + + try { + $database_config = new PhabricatorConfigDatabaseSource('default'); + $database_value = $database_config->getKeys(array($key)); + if (!empty($database_value)) { + $final_value = reset($database_value); + } + } catch (Exception $e) {} + + // null values will fall back to the coded default + if ($final_value) { + $result[$key] = $final_value; + } +} + +$json = new PhutilJSON(); +$console->writeOut($json->encodeFormatted($result)); \ No newline at end of file