File tree Expand file tree Collapse file tree 3 files changed +57
-4
lines changed Expand file tree Collapse file tree 3 files changed +57
-4
lines changed Original file line number Diff line number Diff line change
1
+ <?php
2
+ declare (strict_types=1 );
3
+
4
+ namespace Jaeger \Symfony \DependencyInjection ;
5
+
6
+ use Symfony \Component \DependencyInjection \Compiler \CompilerPassInterface ;
7
+ use Symfony \Component \DependencyInjection \ContainerBuilder ;
8
+ use Symfony \Component \DependencyInjection \Dumper \Preloader ;
9
+
10
+ class DeprecatedAliasesCompilerPass implements CompilerPassInterface
11
+ {
12
+ public function process (ContainerBuilder $ container ): void
13
+ {
14
+ $ container ->getAlias ('jaeger.span.handler.gloabal ' )
15
+ ->setDeprecated (
16
+ ...
17
+ $ this ->getDeprecationMsg (
18
+ 'The "%alias_id%" service is deprecated. Use "jaeger.span.handler.global". ' ,
19
+ '3.5.0 '
20
+ )
21
+ );
22
+ }
23
+
24
+ /**
25
+ * Returns the correct deprecation param's as an array for setDeprecated.
26
+ *
27
+ * symfony/dependency-injection v5.1 introduces a deprecation notice when calling
28
+ * setDeprecation() with less than 3 args and the
29
+ * `Symfony\Component\DependencyInjection\Dumper\Preloader` class was
30
+ * introduced at the same time. By checking if this class exists,
31
+ * we can determine the correct param count to use when calling setDeprecated.
32
+ *
33
+ * @param string $message
34
+ * @param string $version
35
+ *
36
+ * @return array
37
+ */
38
+ private function getDeprecationMsg (string $ message , string $ version ): array
39
+ {
40
+ if (class_exists (Preloader::class)) {
41
+ return [
42
+ 'code-tool/jaeger-client-symfony-bridge ' ,
43
+ $ version ,
44
+ $ message ,
45
+ ];
46
+ }
47
+
48
+ return [$ message ];
49
+ }
50
+ }
Original file line number Diff line number Diff line change 6
6
use Jaeger \Symfony \DependencyInjection \CodecRegistryCompilerPass ;
7
7
use Jaeger \Symfony \DependencyInjection \ContextExtractorChainCompilerPass ;
8
8
use Jaeger \Symfony \DependencyInjection \DebugExtractorChainCompilerPass ;
9
+ use Jaeger \Symfony \DependencyInjection \DeprecatedAliasesCompilerPass ;
9
10
use Jaeger \Symfony \DependencyInjection \NameGeneratorChainCompilerPass ;
10
11
use Symfony \Component \DependencyInjection \ContainerBuilder ;
11
12
use Symfony \Component \HttpKernel \Bundle \Bundle ;
@@ -19,6 +20,7 @@ public function build(ContainerBuilder $container)
19
20
->addCompilerPass (new CodecRegistryCompilerPass ())
20
21
->addCompilerPass (new ContextExtractorChainCompilerPass ())
21
22
->addCompilerPass (new DebugExtractorChainCompilerPass ())
22
- ->addCompilerPass (new NameGeneratorChainCompilerPass ());
23
+ ->addCompilerPass (new NameGeneratorChainCompilerPass ())
24
+ ->addCompilerPass (new DeprecatedAliasesCompilerPass ());
23
25
}
24
26
}
Original file line number Diff line number Diff line change @@ -139,9 +139,6 @@ services:
139
139
jaeger.span.handler.background :
140
140
class : Jaeger\Symfony\Bridge\BackgroundSpanHandler
141
141
arguments : ['@jaeger.tracer']
142
- jaeger.span.handler.gloabal :
143
- alias : jaeger.span.handler.global
144
- deprecated : ' The "%alias_id%" service is deprecated. Use "jaeger.span.handler.global".'
145
142
jaeger.span.handler.global :
146
143
class : Jaeger\Symfony\Bridge\GlobalSpanHandler
147
144
arguments : ['@jaeger.tracer', '@jaeger.name.generator']
@@ -198,3 +195,7 @@ services:
198
195
- ' @jaeger.span.manager'
199
196
tags :
200
197
- {name: 'kernel.event_subscriber'}
198
+ # deprecated since 3.5.0
199
+ jaeger.span.handler.gloabal :
200
+ alias : jaeger.span.handler.global
201
+
You can’t perform that action at this time.
0 commit comments