Ejegg has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/359079 )

Change subject: WIP get provider config dir from global config
......................................................................

WIP get provider config dir from global config

Little more boilerplate setting up provider config, but it should
make sure everyone's looking in the same directory

Bug: T147503
Change-Id: If06d9b8d64fd95336a42c1409c5d1e44f4f978ab
---
M Core/Context.php
M Core/Http/RequestHandler.php
M Core/ProviderConfiguration.php
M Maintenance/MaintenanceBase.php
M PaymentProviders/Adyen/Tests/AdyenTestConfiguration.php
A PaymentProviders/Adyen/Tests/BaseAdyenTestCase.php
M PaymentProviders/Adyen/Tests/phpunit/CaptureJobTest.php
M PaymentProviders/Adyen/Tests/phpunit/CaptureResponseActionTest.php
M PaymentProviders/Adyen/Tests/phpunit/PaymentCaptureActionTest.php
M PaymentProviders/Adyen/Tests/phpunit/RecordCaptureJobTest.php
M PaymentProviders/Adyen/Tests/phpunit/ReportAvailableTest.php
M PaymentProviders/Adyen/Tests/phpunit/RequeueMessageTest.php
M PaymentProviders/Amazon/Tests/AmazonTestCase.php
M PaymentProviders/Amazon/Tests/AmazonTestConfiguration.php
M PaymentProviders/Amazon/Tests/phpunit/AuditTest.php
M PaymentProviders/PayPal/Tests/PayPalTestConfiguration.php
M PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php
M Tests/BaseSmashPigUnitTestCase.php
M Tests/TestingContext.php
M config/main.yaml
20 files changed, 98 insertions(+), 74 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/SmashPig 
refs/changes/79/359079/1

diff --git a/Core/Context.php b/Core/Context.php
index 4f3a9c1..e1ecc1c 100644
--- a/Core/Context.php
+++ b/Core/Context.php
@@ -26,7 +26,7 @@
        public static function init( GlobalConfiguration $config, 
$providerConfig = null ) {
                if ( !Context::$instance ) {
                        if ( !$providerConfig ) {
-                               $providerConfig = 
ProviderConfiguration::createDefault();
+                               $providerConfig = 
ProviderConfiguration::createDefault( $config );
                        }
                        Context::$instance = new Context();
                        Context::$instance->setGlobalConfiguration( $config );
diff --git a/Core/Http/RequestHandler.php b/Core/Http/RequestHandler.php
index 11e0c9b..b2fdec0 100644
--- a/Core/Http/RequestHandler.php
+++ b/Core/Http/RequestHandler.php
@@ -48,7 +48,7 @@
 
                // --- Initialize core services ---
                $config = GlobalConfiguration::create();
-               $providerConfig = ProviderConfiguration::createForProvider( 
$view );
+               $providerConfig = ProviderConfiguration::createForProvider( 
$view, $config );
                Context::init( $config, $providerConfig );
                // FIXME: let's always initialize this with the context
                Logger::init(
diff --git a/Core/ProviderConfiguration.php b/Core/ProviderConfiguration.php
index d5c9006..3fa4c33 100644
--- a/Core/ProviderConfiguration.php
+++ b/Core/ProviderConfiguration.php
@@ -6,18 +6,27 @@
 class ProviderConfiguration extends Configuration {
 
        const NO_PROVIDER = 'no_provider';
-
        protected $provider;
+       protected $machinewideBaseDirectory;
+
+       protected function __construct( GlobalConfiguration $globalConfig ) {
+               $baseDir = $globalConfig->val( 
'provider-configuration-directory' );
+               $this->machinewideBaseDirectory = $baseDir;
+       }
 
        /**
-        * @param string $provider
+        * @param string $provider identifier of payment provider
+        * @param GlobalConfiguration $globalConfig
         * @return static
         */
-       public static function createForProvider( $provider ) {
+       public static function createForProvider(
+               $provider,
+               GlobalConfiguration $globalConfig
+       ) {
                // FIXME: transitional code, remove when everything points to 
new names
                $provider = self::remapProvider( $provider );
 
-               $config = new static();
+               $config = new static( $globalConfig );
                $config->provider = $provider;
                $config->loadDefaultConfig();
 
@@ -27,13 +36,18 @@
        /**
         * @param string $provider
         * @param string|array $overridePath
+        * @param GlobalConfiguration $globalConfig
         * @return static
         */
-       public static function createForProviderWithOverrideFile( $provider, 
$overridePath ) {
+       public static function createForProviderWithOverrideFile(
+               $provider,
+               $overridePath,
+               GlobalConfiguration $globalConfig
+       ) {
                // FIXME: transitional code, remove when everything points to 
new names
                $provider = self::remapProvider( $provider );
 
-               $config = new static();
+               $config = new static( $globalConfig );
                $config->provider = $provider;
                $searchPath = array_merge(
                        ( array ) $overridePath,
@@ -58,10 +72,11 @@
         * Create a ProviderConfiguration with just the defaults,
         * to be used in processes that are not specific to one provider.
         * We need this for logging in the pending queue consumer, for example.
+        * @param GlobalConfiguration $globalConfig
         * @return static
         */
-       public static function createDefault() {
-               $config = new static();
+       public static function createDefault( GlobalConfiguration $globalConfig 
) {
+               $config = new static( $globalConfig );
                $config->provider = self::NO_PROVIDER;
                $config->loadDefaultConfig();
 
@@ -73,13 +88,13 @@
                        if ( isset( $_SERVER['HOME'] ) ) {
                                $searchPath[] = 
"{$_SERVER['HOME']}/.smashpig/{$this->provider}/main.yaml";
                        }
-                       $searchPath[] = 
"/etc/smashpig/{$this->provider}/main.yaml";
+                       $searchPath[] = 
"{$this->machinewideBaseDirectory}/{$this->provider}/main.yaml";
                        $searchPath[] = __DIR__ . 
"/../config/{$this->provider}/main.yaml";
                }
                if ( isset( $_SERVER['HOME'] ) ) {
                        $searchPath[] = 
"{$_SERVER['HOME']}/.smashpig/provider-defaults.yaml";
                }
-               $searchPath[] = '/etc/smashpig/provider-defaults.yaml';
+               $searchPath[] = 
"{$this->machinewideBaseDirectory}/provider-defaults.yaml";
                $searchPath[] = __DIR__ . '/../config/provider-defaults.yaml';
                return $searchPath;
        }
@@ -87,4 +102,4 @@
        public function getProviderName() {
                return $this->provider;
        }
-}
\ No newline at end of file
+}
diff --git a/Maintenance/MaintenanceBase.php b/Maintenance/MaintenanceBase.php
index 3e2398f..2fe77b4 100755
--- a/Maintenance/MaintenanceBase.php
+++ b/Maintenance/MaintenanceBase.php
@@ -143,10 +143,10 @@
                }
                // FIXME: 'provider' instead of 'config-node'
                if ( $configNode === 'default' ) {
-                       $providerConfig = 
ProviderConfiguration::createDefault();
+                       $providerConfig = ProviderConfiguration::createDefault( 
$config );
                } else {
                        // FIXME: need different override file for provider 
config
-                       $providerConfig = 
ProviderConfiguration::createForProvider( $configNode );
+                       $providerConfig = 
ProviderConfiguration::createForProvider( $configNode, $config );
                }
                Context::init( $config, $providerConfig );
                Logger::init(
diff --git a/PaymentProviders/Adyen/Tests/AdyenTestConfiguration.php 
b/PaymentProviders/Adyen/Tests/AdyenTestConfiguration.php
index e65114e..1120f74 100644
--- a/PaymentProviders/Adyen/Tests/AdyenTestConfiguration.php
+++ b/PaymentProviders/Adyen/Tests/AdyenTestConfiguration.php
@@ -1,17 +1,18 @@
 <?php namespace SmashPig\PaymentProviders\Adyen\Tests;
 
+use SmashPig\Core\GlobalConfiguration;
 use SmashPig\Tests\TestingProviderConfiguration;
 
 class AdyenTestConfiguration extends TestingProviderConfiguration {
 
-       public static function instance( $overrides = array() ) {
-               $config = static::createForProvider( 'adyen' );
+       public static function instance( $overrides = array(), 
GlobalConfiguration $globalConfig ) {
+               $config = static::createForProvider( 'adyen', $globalConfig );
                $config->override( $overrides );
 
                return $config;
        }
 
-       public static function createWithSuccessfulApi() {
+       public static function createWithSuccessfulApi( GlobalConfiguration 
$globalConfig ) {
                $override = array( 'api' =>
                        array(
                                'class' => 
'SmashPig\PaymentProviders\Adyen\Tests\MockAdyenPaymentsAPI',
@@ -19,10 +20,10 @@
                                        array( 'Success!' )
                        )
                );
-               return self::instance( $override );
+               return self::instance( $override, $globalConfig );
        }
 
-       public static function createWithUnsuccessfulApi() {
+       public static function createWithUnsuccessfulApi( GlobalConfiguration 
$globalConfig ) {
                $override = array( 'api' =>
                        array(
                                'class' => 
'SmashPig\PaymentProviders\Adyen\Tests\MockAdyenPaymentsAPI',
@@ -32,6 +33,6 @@
                                        array( 'false' )
                        )
                );
-               return self::instance( $override );
+               return self::instance( $override, $globalConfig );
        }
 }
diff --git a/PaymentProviders/Adyen/Tests/BaseAdyenTestCase.php 
b/PaymentProviders/Adyen/Tests/BaseAdyenTestCase.php
new file mode 100644
index 0000000..bcf62ef
--- /dev/null
+++ b/PaymentProviders/Adyen/Tests/BaseAdyenTestCase.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace SmashPig\PaymentProviders\Adyen\Tests;
+
+use SmashPig\Core\Context;
+use SmashPig\Core\ProviderConfiguration;
+use SmashPig\Tests\BaseSmashPigUnitTestCase;
+
+class BaseAdyenTestCase extends BaseSmashPigUnitTestCase {
+
+       /**
+        * @var ProviderConfiguration
+        */
+       public $config;
+
+       public function setUp() {
+               parent::setUp();
+               $ctx = Context::get();
+               $this->config = AdyenTestConfiguration::createWithSuccessfulApi(
+                       $ctx->getGlobalConfiguration()
+               );
+               $ctx->setProviderConfiguration( $this->config );
+       }
+}
diff --git a/PaymentProviders/Adyen/Tests/phpunit/CaptureJobTest.php 
b/PaymentProviders/Adyen/Tests/phpunit/CaptureJobTest.php
index 6636b80..dd85942 100644
--- a/PaymentProviders/Adyen/Tests/phpunit/CaptureJobTest.php
+++ b/PaymentProviders/Adyen/Tests/phpunit/CaptureJobTest.php
@@ -8,6 +8,7 @@
 use SmashPig\Core\ProviderConfiguration;
 use SmashPig\PaymentProviders\Adyen\Jobs\ProcessCaptureRequestJob;
 use SmashPig\PaymentProviders\Adyen\Tests\AdyenTestConfiguration;
+use SmashPig\PaymentProviders\Adyen\Tests\BaseAdyenTestCase;
 use SmashPig\Tests\BaseSmashPigUnitTestCase;
 
 /**
@@ -15,12 +16,7 @@
  *
  * @group Adyen
  */
-class CaptureJobTest extends BaseSmashPigUnitTestCase {
-
-       /**
-        * @var ProviderConfiguration
-        */
-       public $config;
+class CaptureJobTest extends BaseAdyenTestCase {
        /**
         * @var PendingDatabase
         */
@@ -33,8 +29,7 @@
 
        public function setUp() {
                parent::setUp();
-               $this->config = 
AdyenTestConfiguration::createWithSuccessfulApi();
-               Context::get()->setProviderConfiguration( $this->config );
+
                $this->pendingDatabase = PendingDatabase::get();
                $this->pendingMessage = json_decode(
                        file_get_contents( __DIR__ . '/../Data/pending.json' ) 
, true
diff --git a/PaymentProviders/Adyen/Tests/phpunit/CaptureResponseActionTest.php 
b/PaymentProviders/Adyen/Tests/phpunit/CaptureResponseActionTest.php
index 195cc7e..248a066 100644
--- a/PaymentProviders/Adyen/Tests/phpunit/CaptureResponseActionTest.php
+++ b/PaymentProviders/Adyen/Tests/phpunit/CaptureResponseActionTest.php
@@ -10,7 +10,7 @@
 /**
  * @group Adyen
  */
-class CaptureResponseActionTest extends BaseSmashPigUnitTestCase {
+class CaptureResponseActionTest extends BaseAdyenTestCase {
 
        /**
         * @var FifoQueueStore
@@ -19,12 +19,7 @@
 
        public function setUp() {
                parent::setUp();
-               $context = Context::get();
-               $context->setProviderConfiguration(
-                       AdyenTestConfiguration::createWithSuccessfulApi()
-               );
-
-               $this->jobQueue = $context->getGlobalConfiguration()
+               $this->jobQueue = Context::get()->getGlobalConfiguration()
                        ->object( 'data-store/jobs-adyen' );
        }
 
diff --git a/PaymentProviders/Adyen/Tests/phpunit/PaymentCaptureActionTest.php 
b/PaymentProviders/Adyen/Tests/phpunit/PaymentCaptureActionTest.php
index 9667abc..bfa8a49 100644
--- a/PaymentProviders/Adyen/Tests/phpunit/PaymentCaptureActionTest.php
+++ b/PaymentProviders/Adyen/Tests/phpunit/PaymentCaptureActionTest.php
@@ -10,7 +10,7 @@
 /**
  * @group Adyen
  */
-class PaymentCaptureActionTest extends BaseSmashPigUnitTestCase  {
+class PaymentCaptureActionTest extends BaseAdyenTestCase {
 
        /**
         * @var FifoQueueStore
@@ -19,8 +19,6 @@
 
        public function setUp() {
                parent::setUp();
-               $providerConfig = 
AdyenTestConfiguration::createWithSuccessfulApi();
-               Context::get()->setProviderConfiguration( $providerConfig );
                $globalConfig = Context::get()->getGlobalConfiguration();
                $this->jobQueue = $globalConfig->object( 
'data-store/jobs-adyen' );
        }
diff --git a/PaymentProviders/Adyen/Tests/phpunit/RecordCaptureJobTest.php 
b/PaymentProviders/Adyen/Tests/phpunit/RecordCaptureJobTest.php
index 09d4aa8..f14d4df 100644
--- a/PaymentProviders/Adyen/Tests/phpunit/RecordCaptureJobTest.php
+++ b/PaymentProviders/Adyen/Tests/phpunit/RecordCaptureJobTest.php
@@ -6,6 +6,7 @@
 use SmashPig\Core\DataStores\QueueWrapper;
 use SmashPig\PaymentProviders\Adyen\Jobs\RecordCaptureJob;
 use SmashPig\PaymentProviders\Adyen\Tests\AdyenTestConfiguration;
+use SmashPig\PaymentProviders\Adyen\Tests\BaseAdyenTestCase;
 use SmashPig\Tests\BaseSmashPigUnitTestCase;
 
 /**
@@ -13,12 +14,8 @@
  *
  * @group Adyen
  */
-class RecordCaptureJobTest extends BaseSmashPigUnitTestCase {
+class RecordCaptureJobTest extends BaseAdyenTestCase {
 
-       /**
-        * @var AdyenTestConfiguration
-        */
-       public $config;
        /**
         * @var PendingDatabase
         */
@@ -27,8 +24,6 @@
 
        public function setUp() {
                parent::setUp();
-               $this->config = 
AdyenTestConfiguration::createWithSuccessfulApi();
-               Context::get()->setProviderConfiguration( $this->config );
                $this->pendingDatabase = PendingDatabase::get();
                $this->pendingMessage = json_decode(
                        file_get_contents( __DIR__ . '/../Data/pending.json' ) 
, true
diff --git a/PaymentProviders/Adyen/Tests/phpunit/ReportAvailableTest.php 
b/PaymentProviders/Adyen/Tests/phpunit/ReportAvailableTest.php
index f5ccb06..afdc0b3 100644
--- a/PaymentProviders/Adyen/Tests/phpunit/ReportAvailableTest.php
+++ b/PaymentProviders/Adyen/Tests/phpunit/ReportAvailableTest.php
@@ -12,12 +12,7 @@
 /**
  * @group Adyen
  */
-class ReportAvailableTest extends BaseSmashPigUnitTestCase {
-       /**
-        * @var AdyenTestConfiguration
-        */
-       protected $config;
-
+class ReportAvailableTest extends BaseAdyenTestCase {
        /**
         * @var FifoQueueStore
         */
@@ -25,8 +20,6 @@
 
        public function setUp() {
                parent::setUp();
-               $this->config = 
AdyenTestConfiguration::createWithSuccessfulApi();
-               Context::get()->setProviderConfiguration( $this->config );
                $this->jobQueue = QueueWrapper::getQueue( 'jobs-adyen' );
        }
 
diff --git a/PaymentProviders/Adyen/Tests/phpunit/RequeueMessageTest.php 
b/PaymentProviders/Adyen/Tests/phpunit/RequeueMessageTest.php
index bd4977d..236c19b 100644
--- a/PaymentProviders/Adyen/Tests/phpunit/RequeueMessageTest.php
+++ b/PaymentProviders/Adyen/Tests/phpunit/RequeueMessageTest.php
@@ -5,6 +5,7 @@
 use SmashPig\Core\DataStores\PendingDatabase;
 use SmashPig\PaymentProviders\Adyen\Jobs\ProcessCaptureRequestJob;
 use SmashPig\PaymentProviders\Adyen\Tests\AdyenTestConfiguration;
+use SmashPig\PaymentProviders\Adyen\Tests\BaseAdyenTestCase;
 use SmashPig\Tests\BaseSmashPigUnitTestCase;
 
 /**
@@ -13,13 +14,7 @@
  *
  * @group Adyen
  */
-class RequeueMessageTest extends BaseSmashPigUnitTestCase {
-
-       public function setUp() {
-               parent::setUp();
-               $config = AdyenTestConfiguration::createWithSuccessfulApi();
-               Context::get()->setProviderConfiguration( $config );
-       }
+class RequeueMessageTest extends BaseAdyenTestCase {
 
        /**
         * @expectedException \SmashPig\Core\RetryableException
diff --git a/PaymentProviders/Amazon/Tests/AmazonTestCase.php 
b/PaymentProviders/Amazon/Tests/AmazonTestCase.php
index 640130d..ce3eb45 100644
--- a/PaymentProviders/Amazon/Tests/AmazonTestCase.php
+++ b/PaymentProviders/Amazon/Tests/AmazonTestCase.php
@@ -12,8 +12,9 @@
        public function setUp() {
                parent::setUp();
                chdir( __DIR__ ); // So the mock client can find its response 
files
-               $config = AmazonTestConfiguration::instance();
-               Context::get()->setProviderConfiguration( $config );
+               $ctx = Context::get();
+               $config = AmazonTestConfiguration::instance( 
$ctx->getGlobalConfiguration() );
+               $ctx->setProviderConfiguration( $config );
                $this->mockClient = $config->object( 'payments-client', true );
                $this->mockClient->calls = array();
                $this->mockClient->returns = array();
diff --git a/PaymentProviders/Amazon/Tests/AmazonTestConfiguration.php 
b/PaymentProviders/Amazon/Tests/AmazonTestConfiguration.php
index 1af13fb..95dc530 100644
--- a/PaymentProviders/Amazon/Tests/AmazonTestConfiguration.php
+++ b/PaymentProviders/Amazon/Tests/AmazonTestConfiguration.php
@@ -2,14 +2,16 @@
 
 namespace SmashPig\PaymentProviders\Amazon\Tests;
 
+use SmashPig\Core\GlobalConfiguration;
 use SmashPig\Tests\TestingProviderConfiguration;
 
 class AmazonTestConfiguration extends TestingProviderConfiguration {
 
-       public static function instance() {
+       public static function instance( GlobalConfiguration $globalConfig ) {
                return self::createForProviderWithOverrideFile(
                        'amazon',
-                       __DIR__ . '/config_test.yaml'
+                       __DIR__ . '/config_test.yaml',
+                       $globalConfig
                );
        }
 }
diff --git a/PaymentProviders/Amazon/Tests/phpunit/AuditTest.php 
b/PaymentProviders/Amazon/Tests/phpunit/AuditTest.php
index 108d74d..29f13b0 100644
--- a/PaymentProviders/Amazon/Tests/phpunit/AuditTest.php
+++ b/PaymentProviders/Amazon/Tests/phpunit/AuditTest.php
@@ -11,8 +11,9 @@
 class AuditTest extends BaseSmashPigUnitTestCase {
        public function setUp() {
                parent::setUp();
-
-               Context::get()->setProviderConfiguration( 
AmazonTestConfiguration::instance() );
+               $ctx = Context::get();
+               $config = AmazonTestConfiguration::instance( 
$ctx->getGlobalConfiguration() );
+               $ctx->setProviderConfiguration( $config );
        }
 
        /**
diff --git a/PaymentProviders/PayPal/Tests/PayPalTestConfiguration.php 
b/PaymentProviders/PayPal/Tests/PayPalTestConfiguration.php
index 6cce474..ca0b15d 100644
--- a/PaymentProviders/PayPal/Tests/PayPalTestConfiguration.php
+++ b/PaymentProviders/PayPal/Tests/PayPalTestConfiguration.php
@@ -1,14 +1,16 @@
 <?php
 namespace SmashPig\PaymentProviders\PayPal\Tests;
 
+use SmashPig\Core\GlobalConfiguration;
 use SmashPig\Tests\TestingProviderConfiguration;
 
 class PayPalTestConfiguration extends TestingProviderConfiguration {
 
-       public static function get () {
+       public static function get( GlobalConfiguration $globalConfig ) {
                return self::createForProviderWithOverrideFile(
                        'paypal',
-                       __DIR__ . '/config_test.yaml'
+                       __DIR__ . '/config_test.yaml',
+                       $globalConfig
                );
        }
 
diff --git 
a/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php 
b/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php
index a25426d..2b08ef4 100644
--- a/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php
+++ b/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php
@@ -44,7 +44,7 @@
                parent::setUp();
                $this->config = Context::get()->getGlobalConfiguration();
                Context::get()->setProviderConfiguration(
-                       PayPalTestConfiguration::get()
+                       PayPalTestConfiguration::get( $this->config )
                );
        }
 
diff --git a/Tests/BaseSmashPigUnitTestCase.php 
b/Tests/BaseSmashPigUnitTestCase.php
index eb918eb..676fc91 100644
--- a/Tests/BaseSmashPigUnitTestCase.php
+++ b/Tests/BaseSmashPigUnitTestCase.php
@@ -28,8 +28,10 @@
         * @return TestingProviderConfiguration
         */
        protected function setProviderConfiguration( $provider ) {
-               $config = TestingProviderConfiguration::createForProvider( 
$provider );
-               Context::get()->setProviderConfiguration( $config );
+               $ctx = Context::get();
+               $globalConfig = $ctx->getGlobalConfiguration();
+               $config = TestingProviderConfiguration::createForProvider( 
$provider, $globalConfig );
+               $ctx->setProviderConfiguration( $config );
                return $config;
        }
 }
diff --git a/Tests/TestingContext.php b/Tests/TestingContext.php
index 77e0822..db93ef4 100644
--- a/Tests/TestingContext.php
+++ b/Tests/TestingContext.php
@@ -15,7 +15,7 @@
                // Override the existing context
                Context::$instance = new TestingContext();
                if ( !$providerConfig ) {
-                       $providerConfig = 
TestingProviderConfiguration::createDefault();
+                       $providerConfig = 
TestingProviderConfiguration::createDefault( $config );
                }
                Context::$instance->setProviderConfiguration( $providerConfig );
                Context::$instance->setGlobalConfiguration( $config );
@@ -48,4 +48,4 @@
                return parent::getProviderConfiguration();
        }
 
-}
\ No newline at end of file
+}
diff --git a/config/main.yaml b/config/main.yaml
index 1751969..7c24cb2 100644
--- a/config/main.yaml
+++ b/config/main.yaml
@@ -104,3 +104,8 @@
 requeue-delay: 1200
 
 requeue-max-age: 12000
+
+# By default, provider configuration files live in the same directory as
+# global configuration files. Change this value to read provider configuration
+# files from an alternate directory.
+provider-configuration-directory: '/etc/smashpig'

-- 
To view, visit https://gerrit.wikimedia.org/r/359079
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If06d9b8d64fd95336a42c1409c5d1e44f4f978ab
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/SmashPig
Gerrit-Branch: master
Gerrit-Owner: Ejegg <ej...@ejegg.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to