public ProviderConfiguration deserialize()

in surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterDeserializer.java [82:141]


    public ProviderConfiguration deserialize() {
        final File reportsDirectory = new File(properties.getProperty(REPORTSDIRECTORY));
        final String testNgVersion = properties.getProperty(TESTARTIFACT_VERSION);
        final String testArtifactClassifier = properties.getProperty(TESTARTIFACT_CLASSIFIER);

        final TypeEncodedValue typeEncodedTestForFork = properties.getTypeEncodedValue(FORKTESTSET);
        final boolean preferTestsFromInStream = properties.getBooleanProperty(FORKTESTSET_PREFER_TESTS_FROM_IN_STREAM);

        final String requestedTest = properties.getProperty(REQUESTEDTEST);
        final File sourceDirectory = properties.getFileProperty(SOURCE_DIRECTORY);

        final List<String> excludes = properties.getStringList(EXCLUDES_PROPERTY_PREFIX);
        final List<String> includes = properties.getStringList(INCLUDES_PROPERTY_PREFIX);
        final List<String> specificTests = properties.getStringList(SPECIFIC_TEST_PROPERTY_PREFIX);

        final List<String> testSuiteXmlFiles = properties.getStringList(TEST_SUITE_XML_FILES);
        final File testClassesDirectory = properties.getFileProperty(TEST_CLASSES_DIRECTORY);
        final String runOrder = properties.getProperty(RUN_ORDER);
        final Long runOrderRandomSeed = properties.getLongProperty(RUN_ORDER_RANDOM_SEED);
        final String runStatisticsFile = properties.getProperty(RUN_STATISTICS_FILE);

        final int rerunFailingTestsCount = properties.getIntProperty(RERUN_FAILING_TESTS_COUNT);

        DirectoryScannerParameters dirScannerParams =
                new DirectoryScannerParameters(testClassesDirectory, includes, excludes, specificTests, runOrder);

        RunOrderParameters runOrderParameters = new RunOrderParameters(
                runOrder, runStatisticsFile == null ? null : new File(runStatisticsFile), runOrderRandomSeed);

        TestArtifactInfo testNg = new TestArtifactInfo(testNgVersion, testArtifactClassifier);
        TestRequest testSuiteDefinition = new TestRequest(
                testSuiteXmlFiles, sourceDirectory, new TestListResolver(requestedTest), rerunFailingTestsCount);

        ReporterConfiguration reporterConfiguration =
                new ReporterConfiguration(reportsDirectory, properties.getBooleanProperty(ISTRIMSTACKTRACE));

        Collection<String> cli = properties.getStringList(MAIN_CLI_OPTIONS);

        int failFastCount = properties.getIntProperty(FAIL_FAST_COUNT);

        Shutdown shutdown = Shutdown.valueOf(properties.getProperty(SHUTDOWN));

        String systemExitTimeoutAsString = properties.getProperty(SYSTEM_EXIT_TIMEOUT);
        Integer systemExitTimeout =
                systemExitTimeoutAsString == null ? null : Integer.valueOf(systemExitTimeoutAsString);

        return new ProviderConfiguration(
                dirScannerParams,
                runOrderParameters,
                reporterConfiguration,
                testNg,
                testSuiteDefinition,
                properties.getProperties(),
                typeEncodedTestForFork,
                preferTestsFromInStream,
                fromStrings(cli),
                failFastCount,
                shutdown,
                systemExitTimeout);
    }