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
|
diff -up ./bin/phpcompatinfo.rpm ./bin/phpcompatinfo
--- ./bin/phpcompatinfo.rpm 2015-02-20 10:59:04.000000000 +0100
+++ ./bin/phpcompatinfo 2015-02-22 09:37:46.130869824 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env php
+#!/usr/bin/php
<?php
$appName = 'phpCompatInfo';
@@ -16,8 +16,28 @@ if (\Phar::running()) {
putenv("BARTLETTRC=" . strtolower($appName) . '.json');
}
}
-$loader = require_once $vendorDir . '/autoload.php';
-$loader->setUseIncludePath(true);
+
+putenv('BARTLETT_COMPATINFO_DB=/usr/share/php-bartlett-PHP-CompatInfo/compatinfo.sqlite');
+
+$vendorDir = '/usr/share/php';
+require_once $vendorDir . '/PhpParser/Autoloader.php';
+PhpParser\Autoloader::register();
+
+require_once $vendorDir . '/SebastianBergmann/Version/Version.php';
+
+require_once $vendorDir . '/Symfony/Component/ClassLoader/UniversalClassLoader.php';
+use Symfony\Component\ClassLoader\UniversalClassLoader;
+
+$loader = new UniversalClassLoader();
+$loader->registerNamespaces(array(
+ 'Symfony\\Component' => $vendorDir,
+ 'Doctrine\\Common' => $vendorDir,
+ 'phpDocumentor\\Reflection' => $vendorDir,
+ 'Seld\\JsonLint' => $vendorDir,
+ 'JsonSchema' => $vendorDir,
+ 'Bartlett' => $vendorDir,
+));
+$loader->register();
if (PHP_SAPI !== 'cli') {
return;
diff -up ./data/handleDB.php.rpm ./data/handleDB.php
--- ./data/handleDB.php.rpm 2015-02-20 10:59:04.000000000 +0100
+++ ./data/handleDB.php 2015-02-22 09:36:34.008567158 +0100
@@ -11,7 +11,18 @@
* @since Release 4.0.0alpha3
*/
-require_once dirname(__DIR__) . '/vendor/autoload.php';
+$baseDir = dirname(__DIR__);
+$vendorDir = '/usr/share/php';
+require_once $vendorDir . '/Symfony/Component/ClassLoader/UniversalClassLoader.php';
+use Symfony\Component\ClassLoader\UniversalClassLoader;
+
+$loader = new UniversalClassLoader();
+$loader->registerNamespaces(array(
+ 'Symfony\\Component' => $vendorDir,
+ ));
+
+$loader->register();
+
require_once __DIR__ . '/ReferenceCollection.php';
use Bartlett\CompatInfo\Reference\ExtensionFactory;
diff -up ./src/Bartlett/CompatInfo/Environment.php.rpm ./src/Bartlett/CompatInfo/Environment.php
--- ./src/Bartlett/CompatInfo/Environment.php.rpm 2015-02-20 10:59:04.000000000 +0100
+++ ./src/Bartlett/CompatInfo/Environment.php 2015-02-22 09:36:34.008567158 +0100
@@ -34,6 +34,10 @@ class Environment
*/
public static function initRefDb()
{
+ if ($database = getenv('BARTLETT_COMPATINFO_DB')) {
+ return new \PDO('sqlite:' . $database);
+ }
+
$database = 'compatinfo.sqlite';
$tempDir = sys_get_temp_dir() . '/bartlett';
diff -up ./tests/bootstrap.php.rpm ./tests/bootstrap.php
--- ./tests/bootstrap.php.rpm 2015-02-20 10:59:04.000000000 +0100
+++ ./tests/bootstrap.php 2015-02-22 09:36:34.008567158 +0100
@@ -1,8 +1,30 @@
<?php
$baseDir = dirname(__DIR__);
-$vendorDir = $baseDir . '/vendor';
+$vendorDir = '/usr/share/php';
-require_once $vendorDir . '/autoload.php';
+require_once $vendorDir . '/PhpParser/Autoloader.php';
+PhpParser\Autoloader::register();
+require_once $vendorDir . '/SebastianBergmann/Version/Version.php';
+
+require_once $vendorDir . '/Symfony/Component/ClassLoader/UniversalClassLoader.php';
+use Symfony\Component\ClassLoader\UniversalClassLoader;
+
+$loader = new UniversalClassLoader();
+$loader->registerNamespaces(array(
+ 'Doctrine\\Common' => $vendorDir,
+ 'phpDocumentor\\Reflection' => $vendorDir,
+ 'Symfony\\Component' => $vendorDir,
+ 'Seld\\JsonLint' => $vendorDir,
+ 'JsonSchema' => $vendorDir,
+ 'Bartlett\\Reflect' => $vendorDir,
+ 'Bartlett\\Tests\\CompatInfo' => $baseDir . '/tests',
+ 'Bartlett' => $baseDir . '/src',
+ ));
+
+$loader->register();
+
+# Class not catched by autoloader
+require $vendorDir . '/Bartlett/Reflect.php';
require __DIR__ . '/Reference/GenericTest.php';
|