Exemplo n.º 1
0
        /// <summary>
        /// Emulates calling wix.exe with standard backends.
        /// </summary>
        /// <param name="args"></param>
        /// <param name="coreProvider"></param>
        /// <param name="messages"></param>
        /// <param name="warningsAsErrors"></param>
        /// <returns></returns>
        public static Task <int> Execute(string[] args, IWixToolsetCoreServiceProvider coreProvider, out List <Message> messages, bool warningsAsErrors = true)
        {
            coreProvider.AddBundleBackend();

            var listener = new TestMessageListener();

            messages = listener.Messages;

            var messaging = coreProvider.GetService <IMessaging>();

            messaging.SetListener(listener);

            if (warningsAsErrors)
            {
                messaging.WarningsAsError = true;
            }

            var arguments = coreProvider.GetService <ICommandLineArguments>();

            arguments.Populate(args);

            var commandLine = HeatCommandLineFactory.CreateCommandLine(coreProvider);
            var command     = commandLine.ParseStandardCommandLine(arguments);

            return(command?.ExecuteAsync(CancellationToken.None) ?? Task.FromResult(1));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Run the application with the given arguments.
        /// </summary>
        /// <param name="serviceProvider">Service provider to use throughout this execution.</param>
        /// <param name="args">The commandline arguments.</param>
        /// <returns>Returns the application error code.</returns>
        public Task <int> Run(IWixToolsetServiceProvider serviceProvider, IMessageListener listener, string[] args)
        {
            var messaging = serviceProvider.GetService <IMessaging>();

            messaging.SetListener(listener);

            var arguments = serviceProvider.GetService <ICommandLineArguments>();

            arguments.Populate(args);

            var commandLine = HeatCommandLineFactory.CreateCommandLine(serviceProvider);
            var command     = commandLine.ParseStandardCommandLine(arguments);

            return(command?.ExecuteAsync(CancellationToken.None) ?? Task.FromResult(1));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Run the application with the given arguments.
        /// </summary>
        /// <param name="serviceProvider">Service provider to use throughout this execution.</param>
        /// <param name="args">The commandline arguments.</param>
        /// <returns>Returns the application error code.</returns>
        public int Run(IWixToolsetServiceProvider serviceProvider, IMessageListener listener, string[] args)
        {
            var messaging = serviceProvider.GetService <IMessaging>();

            messaging.SetListener(listener);

            var arguments = serviceProvider.GetService <ICommandLineArguments>();

            arguments.Populate(args);

            var commandLine = HeatCommandLineFactory.CreateCommandLine(serviceProvider);
            var command     = commandLine.ParseStandardCommandLine(arguments);

            return(command?.Execute() ?? 1);
        }
Exemplo n.º 4
0
        protected override void ExecuteCore(IWixToolsetServiceProvider serviceProvider, IMessageListener listener, string commandLineString)
        {
            this.Log.LogMessage(MessageImportance.Normal, "heat.exe " + commandLineString);

            var messaging = serviceProvider.GetService <IMessaging>();

            messaging.SetListener(listener);

            var arguments = serviceProvider.GetService <ICommandLineArguments>();

            arguments.Populate(commandLineString);

            var commandLine = HeatCommandLineFactory.CreateCommandLine(serviceProvider, true);
            var command     = commandLine.ParseStandardCommandLine(arguments);

            command?.Execute();
        }