77use Closure ;
88use Qameta \Allure \Attribute \AttributeParser ;
99use Qameta \Allure \Attribute \AttributeReader ;
10- use Qameta \Allure \Exception \OutputDirectorySetFailureException ;
1110use Qameta \Allure \Internal \StepContext ;
1211use Qameta \Allure \Internal \LifecycleBuilder ;
1312use Qameta \Allure \Io \DataSourceFactory ;
3635
3736final class Allure
3837{
39-
4038 private const DEFAULT_STEP_NAME = 'step ' ;
4139
4240 private static ?self $ instance = null ;
4341
4442 private ?LifecycleBuilderInterface $ lifecycleBuilder = null ;
4543
46- private ?string $ outputDirectory = null ;
47-
4844 private ?AllureLifecycleInterface $ lifecycle = null ;
4945
5046 private string $ defaultStepName = self ::DEFAULT_STEP_NAME ;
@@ -60,9 +56,12 @@ public static function reset(): void
6056 self ::$ instance = null ;
6157 }
6258
59+ /**
60+ * @deprecated Please use lifecycle configurator to set output directory.
61+ */
6362 public static function setOutputDirectory (string $ outputDirectory ): void
6463 {
65- self ::getInstance ()->doSetOutputDirectory ($ outputDirectory );
64+ self ::getLifecycleConfigurator ()->setOutputDirectory ($ outputDirectory );
6665 }
6766
6867 public static function getLifecycleConfigurator (): LifecycleConfiguratorInterface
@@ -305,14 +304,6 @@ public static function setLifecycleBuilder(LifecycleBuilderInterface $builder):
305304 self ::getInstance ()->lifecycleBuilder = $ builder ;
306305 }
307306
308- private function doSetOutputDirectory (string $ outputDirectory ): void
309- {
310- if (isset ($ this ->resultsWriter )) {
311- throw new OutputDirectorySetFailureException ();
312- }
313- $ this ->outputDirectory = $ outputDirectory ;
314- }
315-
316307 private function doGetLifecycle (): AllureLifecycleInterface
317308 {
318309 return $ this ->lifecycle ??= $ this ->getLifecycleFactory ()->createLifecycle ($ this ->getResultsWriter ());
@@ -343,16 +334,11 @@ private function getLifecycleFactory(): LifecycleFactoryInterface
343334 return $ this ->getLifecycleBuilder ();
344335 }
345336
346- private function getOutputDirectory (): string
347- {
348- return $ this ->outputDirectory ?? throw new Exception \OutputDirectoryUndefinedException ();
349- }
350-
351337 private function getResultsWriter (): ResultsWriterInterface
352338 {
353339 return $ this ->resultsWriter ??= $ this
354340 ->getLifecycleFactory ()
355- ->createResultsWriter ($ this -> getOutputDirectory () );
341+ ->createResultsWriter ();
356342 }
357343
358344 private function doAddStep (string $ name , ?Status $ status = null ): void
0 commit comments