1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
diff -up ./bin/compatinfo-db.rpm ./bin/compatinfo-db
--- ./bin/compatinfo-db.rpm 2021-03-13 11:06:38.000000000 +0100
+++ ./bin/compatinfo-db 2021-03-15 08:10:44.740722798 +0100
@@ -4,7 +4,7 @@
gc_disable(); // performance boost
-require_once dirname(__DIR__) . '/config/bootstrap.php';
+require_once '/usr/share/php/Bartlett/CompatInfoDb/config/bootstrap.php';
use Bartlett\CompatInfoDb\Presentation\Console\ApplicationInterface;
@@ -12,7 +12,7 @@ use Symfony\Component\Console\CommandLoa
use Symfony\Component\DependencyInjection\ContainerBuilder;
/** @var ContainerBuilder $container */
-$container = require dirname(__DIR__) . '/config/container.php';
+$container = require '/usr/share/php/Bartlett/CompatInfoDb/config/container.php';
/** @var ApplicationInterface $app */
$app = $container->get(ApplicationInterface::class);
diff -up ./cli-config.php.rpm ./cli-config.php
--- ./cli-config.php.rpm 2021-03-13 11:06:38.000000000 +0100
+++ ./cli-config.php 2021-03-15 08:09:31.260112531 +0100
@@ -3,9 +3,9 @@
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\Tools\Console\ConsoleRunner;
-require_once __DIR__ . '/config/bootstrap.php';
+require_once __DIR__ . '/src/config/bootstrap.php';
-$container = require __DIR__ . '/config/container.php';
+$container = require __DIR__ . '/src/config/container.php';
$entityManager = $container->get(EntityManagerInterface::class);
diff -up ./config/bootstrap.php.rpm ./config/bootstrap.php
--- ./config/bootstrap.php.rpm 2021-03-13 11:06:38.000000000 +0100
+++ ./config/bootstrap.php 2021-03-15 08:09:31.260112531 +0100
@@ -6,6 +6,8 @@ if (\Phar::running()) {
];
} else {
$possibleAutoloadPaths = [
+ // RPM
+ __DIR__ . '/../autoload.php',
// local dev repository
__DIR__ . '/../vendor/autoload.php',
// dependency
diff -up ./src/config/container.php.rpm ./config/container.php
--- ./config/container.php.rpm 2021-03-13 11:06:38.000000000 +0100
+++ ./config/container.php 2021-03-15 08:09:31.260112531 +0100
@@ -16,7 +16,7 @@ use Symfony\Component\Messenger\Dependen
$containerBuilder = new ContainerBuilder();
$containerBuilder->addCompilerPass(new MessengerPass());
-$loader = new PhpFileLoader($containerBuilder, new FileLocator('config/set'));
+$loader = new PhpFileLoader($containerBuilder, new FileLocator(__DIR__ . '/set'));
$loader->load('default.php');
$containerBuilder->compile();
diff -up ./config/set/default.php.rpm ./config/set/default.php
--- ./config/set/default.php.rpm 2021-03-13 11:06:38.000000000 +0100
+++ ./config/set/default.php 2021-03-15 08:09:31.260112531 +0100
@@ -75,7 +75,10 @@ return static function (ContainerConfigu
;
}
- $services->load('Bartlett\CompatInfoDb\\', __DIR__ . '/../../src');
+ $services->load('Bartlett\CompatInfoDb\\Application\\', __DIR__ . '/../../Application');
+ $services->load('Bartlett\CompatInfoDb\\Domain\\', __DIR__ . '/../../Domain');
+ $services->load('Bartlett\CompatInfoDb\\Infrastructure\\', __DIR__ . '/../../Infrastructure');
+ $services->load('Bartlett\CompatInfoDb\\Presentation\\', __DIR__ . '/../../Presentation');
$services->set(JsonFileHandler::class);
$services->set(VersionParser::class);
@@ -97,7 +100,7 @@ return static function (ContainerConfigu
$dbUrl = getenv('DATABASE_URL');
if (false === $dbUrl) {
- $dbUrl = 'sqlite:///${HOME}/.cache/bartlett/compatinfo-db.sqlite';
+ $dbUrl = 'sqlite:////usr/share/php-bartlett-php-compatinfo-db/compatinfo.sqlite';
putenv('DATABASE_URL=' . $dbUrl);
}
$connectionParams = ['url' => $dbUrl];
diff -up ./src/Presentation/Console/Application.php.rpm ./src/Presentation/Console/Application.php
--- ./src/Presentation/Console/Application.php.rpm 2021-03-13 11:06:38.000000000 +0100
+++ ./src/Presentation/Console/Application.php 2021-03-15 08:09:31.260112531 +0100
@@ -14,8 +14,6 @@
namespace Bartlett\CompatInfoDb\Presentation\Console;
-use PackageVersions\Versions;
-
use Symfony\Component\Config\Exception\FileLocatorFileNotFoundException;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\Console\Application as SymfonyApplication;
@@ -53,20 +51,7 @@ class Application extends SymfonyApplica
*/
public function __construct(string $version = 'UNKNOWN')
{
- if ('UNKNOWN' === $version) {
- // composer or git outside world strategy
- $version = self::VERSION;
- } elseif (substr_count($version, '.') === 2) {
- // release is in X.Y.Z format
- } else {
- // composer or git strategy
- $version = Versions::getVersion('bartlett/php-compatinfo-db');
- list($ver, ) = explode('@', $version);
-
- if (strpos($ver, 'dev') === false) {
- $version = $ver;
- }
- }
+ $version = self::VERSION;
parent::__construct(self::NAME, $version);
}
diff -up ./tests/Reference/GenericTest.php.rpm ./tests/Reference/GenericTest.php
--- ./tests/Reference/GenericTest.php.rpm 2021-03-13 11:06:38.000000000 +0100
+++ ./tests/Reference/GenericTest.php 2021-03-15 08:09:31.260112531 +0100
@@ -103,7 +103,7 @@ abstract class GenericTest extends TestC
*/
public static function setUpBeforeClass(): void
{
- $container = require implode(DIRECTORY_SEPARATOR, [dirname(__DIR__, 2), 'config', 'container.php']);
+ $container = require implode(DIRECTORY_SEPARATOR, [dirname(__DIR__, 2), 'src', 'config', 'container.php']);
self::$optionalreleases = [];
diff -up ./src/Infrastructure/Persistence/Doctrine/EntityManagerFactory.php.rpm ./src/Infrastructure/Persistence/Doctrine/EntityManagerFactory.php
--- ./src/Infrastructure/Persistence/Doctrine/EntityManagerFactory.php.rpm 2021-03-17 08:18:49.451918156 +0100
+++ ./src/Infrastructure/Persistence/Doctrine/EntityManagerFactory.php 2021-03-17 08:20:26.733494710 +0100
@@ -31,6 +31,9 @@ final class EntityManagerFactory
public static function create(array $connection, bool $isDevMode, string $proxyDir, Cache $cache = null): EntityManagerInterface
{
$paths = [implode(DIRECTORY_SEPARATOR, [__DIR__, 'Entity'])];
+ // Static files in RPM mode
+ $isDevMode = false;
+ $proxyDir = dirname(__DIR__, 3) . '/proxies';
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode, $proxyDir, $cache);
if ($isDevMode) {
// suggested for DEV mode: see Doctrine ORM documentation
@@ -38,7 +41,7 @@ final class EntityManagerFactory
$config->setAutogenerateProxyClasses(AbstractProxyFactory::AUTOGENERATE_ALWAYS);
} else {
// lazy generation on PROD or TEST modes (i.e: CI)
- $config->setAutogenerateProxyClasses(AbstractProxyFactory::AUTOGENERATE_FILE_NOT_EXISTS);
+ $config->setAutogenerateProxyClasses(AbstractProxyFactory::AUTOGENERATE_NEVER);
}
return EntityManager::create(self::connection($connection), $config);
|