Exemple #1
0
        public void TestMergeValueTypeForDebugScript()
        {
            var confLit = CreateObject("frontEnd", CreateObject("debugScript", true));
            var conf    = ConfigurationConverter.AugmentConfigurationWith(
                m_context,
                new CommandLineConfiguration(),
                confLit);

            XAssert.IsNotNull(conf);
            XAssert.AreEqual(true, conf.FrontEnd.DebugScript);
        }
Exemple #2
0
        /// <inheritdoc />
        IConfiguration IConfigurationProcessor.InterpretConfiguration(
            AbsolutePath primaryConfigurationFile,
            ICommandLineConfiguration commandLineConfiguration)
        {
            Contract.Requires(primaryConfigurationFile.IsValid);
            Contract.Requires(commandLineConfiguration != null);

            var configObjectLiteral = ParseAndInterpretConfigFile(primaryConfigurationFile);

            if (configObjectLiteral == null)
            {
                // Error has been reported already
                return(null);
            }

            // Apply Additional configurations from the commandline
            foreach (var additionalConfigurationFile in commandLineConfiguration.Startup.AdditionalConfigFiles)
            {
                configObjectLiteral = ParseAndInterpretConfigFile(additionalConfigurationFile, configObjectLiteral);
            }

            // TODO: user override is not really working now. Fix me!

            try
            {
                // Merge the object literal with the initial C# defaults.
                return(ConfigurationConverter.AugmentConfigurationWith(Context, commandLineConfiguration, configObjectLiteral));
            }
            catch (ConversionException conversionException)
            {
                var configFileString = primaryConfigurationFile.ToString(Context.PathTable);
                Logger.ReportConversionException(
                    Context.LoggingContext,
                    new Location()
                {
                    File = configFileString
                },
                    Name,
                    GetConversionExceptionMessage(primaryConfigurationFile, conversionException));
                return(null);
            }
        }