Example #1
0
 public static void DartScript(this ICakeContext context, FilePath dartScriptFile, DartSettings settings) =>
 DartScript(context, vmOptions: null, dartScriptFile, settings);
        static void AppendSettingsArguments(ProcessArgumentBuilder builder, ICakeEnvironment cakeEnvironment, DartSettings settings)
        {
            if (settings.EnableAsserts)
            {
                builder.Append("--enable-asserts");
            }
            if (settings.PackageRoot != null)
            {
                builder.Append($"--package-root='{settings.PackageRoot.MakeAbsolute(cakeEnvironment).FullPath}'");
            }
            if (settings.Packages != null)
            {
                builder.Append($"--packages='{settings.Packages.MakeAbsolute(cakeEnvironment).FullPath}'");
            }
            if (settings.OldGenHeapSize.HasValue)
            {
                builder.Append($"--old_gen_heap_size={settings.OldGenHeapSize}");
            }
            var enableVmServiceSettings = settings.EnableVmService;

            if (enableVmServiceSettings?.IsEnabled ?? false)
            {
                builder.Append($"--enable-vm-service{FromObservatorySettings(enableVmServiceSettings)}");
            }
            if (settings.PauseIsolatesOnExit)
            {
                builder.Append("--pause-isolates-on-exit");
            }
            if (settings.PauseIsolatesOnStart)
            {
                builder.Append("--pause-isolates-on-start");
            }
            var observeSettings = settings.Observe;

            if (observeSettings?.IsEnabled ?? false)
            {
                builder.Append($"--observe{FromObservatorySettings(enableVmServiceSettings)}");
            }
            if (settings.Profile)
            {
                builder.Append("--profile");
            }
            if (settings.Snapshot != null)
            {
                builder.Append($"--snapshot='{settings.Snapshot.MakeAbsolute(cakeEnvironment).FullPath}'");
            }
            if (settings.SnapshotKind.HasValue)
            {
                builder.Append($"--snapshot-kind={(settings.SnapshotKind == SnapshotKind.Kernel ? "kernel": "app-jit")}");
            }
            if (settings.RootCertsFile != null)
            {
                builder.Append($"--root-certs-file='{settings.RootCertsFile.MakeAbsolute(cakeEnvironment).FullPath}'");
            }
            if (settings.RootCertsCache != null)
            {
                builder.Append($"--root-certs-cache='{settings.RootCertsFile.MakeAbsolute(cakeEnvironment).FullPath}'");
            }
        }
Example #3
0
        public static void DartScript(this ICakeContext context, Dictionary <string, object> vmOptions, FilePath dartScriptFile, DartSettings settings)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            if (dartScriptFile == null)
            {
                throw new ArgumentNullException(nameof(dartScriptFile));
            }
            var runner = new DartTool(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools);

            runner.Run(vmOptions, dartScriptFile, settings);
        }
 internal static void AppendAll(this ProcessArgumentBuilder builder, ICakeEnvironment cakeEnvironment,
                                Dictionary <string, object> vmOptions, FilePath dartScriptFile, DartSettings settings)
 {
     if (builder == null)
     {
         throw new ArgumentNullException(nameof(builder));
     }
     if (dartScriptFile == null)
     {
         throw new ArgumentNullException(nameof(dartScriptFile));
     }
     if (vmOptions != null)
     {
         AppendVmOptionsArguments(builder, cakeEnvironment, vmOptions);
     }
     builder.Append(dartScriptFile.MakeAbsolute(cakeEnvironment).FullPath);
     if (settings != null)
     {
         AppendSettingsArguments(builder, cakeEnvironment, settings);
     }
 }