Esempio n. 1
0
        public override void Run(IEnumerable <string> args)
        {
            ArgumentSyntaxParser.Parse(args.Skip(1).ToArray(), this);

            TcpProjectDatabaseServer server = new TcpProjectDatabaseServer(
                ProjectResolver.GetManager(args.First()),
                Port,
                Path.Combine(
                    AppRootHelper.AppRoot,
                    "cache/upload_server"
                    )
                );

            Thread t = new Thread(server.ServerLoop);

            t.Start();

            while (true)
            {
                System.Console.WriteLine("'exit' to close server");
                System.Console.Write(">");

                string text = System.Console.ReadLine();

                if (text.ToLower() == "exit")
                {
                    break;
                }
            }

            server.Stop();
        }
Esempio n. 2
0
        public static void Build(Dictionary <string, string> args)
        {
            BuilderSettings           settings  = new BuilderSettings();
            AssemblyGeneratorSettings asettings = SettingsManager.GetSettings <AssemblyGeneratorSettings>();
            LinkerSettings            ls        = SettingsManager.GetSettings <LinkerSettings>();
            HlCompilerSettings        hls       = SettingsManager.GetSettings <HlCompilerSettings>();

            ArgumentSyntaxParser.Parse(
                args,
                settings,
                asettings,
                ls,
                hls
                );

            SettingsManager.SaveSettings(ls);
            SettingsManager.SaveSettings(asettings);
            SettingsManager.SaveSettings(hls);

            List <string> ar = new List <string>();

            foreach (string key in args.Keys)
            {
                ar.Add('-' + key);
                string[] vals = args[key].Split(' ');
                ar.AddRange(vals);
            }

            Build(settings, ar.ToArray());
        }
Esempio n. 3
0
        public override void Run(IEnumerable <string> args)
        {
            PackOptions op = new PackOptions();

            ArgumentSyntaxParser.Parse(args.Skip(1).ToArray(), op);
            Pack(args.First(), op);
        }
Esempio n. 4
0
        private void Run(string[] args)
        {
            if (args.Length < 1)
            {
                System.Console.WriteLine("No Arguments");

                return;
            }

            CliSettings s = SettingsManager.GetSettings <CliSettings>();

            EventManager.RegisterDefaultHandlers();
            EventManagerSettings es = new EventManagerSettings();

            Logger.OnLogReceive += (x, y) => System.Console.WriteLine($"[{x}] {y}");
            ArgumentSyntaxParser.Parse(args, s, Logger.s_Settings, es);
            EventManager.SetSettings(es);

            Run(
                args.Concat(
                    s.Configs.SelectMany(
                        x => File.Exists(x)
                                                          ? File.ReadAllText(x).
                        Split(
                            new[] { '\n', '\r', ' ' },
                            StringSplitOptions.RemoveEmptyEntries
                            )
                                                          : new string[0]
                        )
                    )
                );
        }
Esempio n. 5
0
        public override void Run(IEnumerable <string> args)
        {
            CliSettings s = SettingsManager.GetSettings <CliSettings>();

            ArgumentSyntaxParser.Parse(args.ToArray(), s);
            Dictionary <string, ConsoleSubsystem> ss = SubSystems;

            ss["help"] = new HelpSubSystem(this);
            VisConsole.RunConsole(s, args.ToArray(), ss);
        }
Esempio n. 6
0
        public static void WriteSubsystem(string subName, params object[] settings)
        {
            System.Console.WriteLine($"Arguments: {subName}");

            IEnumerable <string> args = ArgumentSyntaxParser.GetArgNames(settings);

            foreach (string s1 in args)
            {
                System.Console.WriteLine("\tArg Name: " + s1);
            }
        }
Esempio n. 7
0
        private void Pack(string[] args)
        {
            string[] a = args.ToArray();
            DriveImageBuilderSettings settings = SettingsManager.GetSettings <DriveImageBuilderSettings>();

            ArgumentSyntaxParser.Parse(a, settings);

            for (int i = 0; i < settings.InputFiles.Length; i++)
            {
                string inputFile = settings.InputFiles[i];

                string           format = GetOrLastFormat(settings.ImageFormats, i);
                DriveImageFormat f      = s_ImageFormats.FirstOrDefault(x => x.FormatName == format);

                if (f == null)
                {
                    Log("Format '{0}' does not exist!", format);

                    continue;
                }

                ArgumentSyntaxParser.Parse(a, f.GetSettingsObjects());

                bool isDir = Directory.Exists(inputFile);

                if (f.SupportsDirectoryInput && isDir)
                {
                    f.Pack(inputFile);
                }
                else
                {
                    string ext = Path.GetExtension(inputFile);

                    if (f.SupportedExtensions.Contains(ext))
                    {
                        if (!File.Exists(inputFile))
                        {
                            Log("File '{0}' does not exist!", inputFile);

                            continue;
                        }

                        f.Pack(inputFile);
                    }
                    else
                    {
                        Log("Invalid Extension '{1}' for format '{0}'", f.FormatName, Path.GetExtension(inputFile));

                        continue;
                    }
                }
            }
        }
Esempio n. 8
0
        public override void Run(IEnumerable <string> args)
        {
            string[] a = args.ToArray();

            string root = a.Length != 0
                              ? Path.GetFullPath(a[1])
                              : Directory.GetCurrentDirectory();

            ProjectPackSubSystem.PackOptions op = new ProjectPackSubSystem.PackOptions();
            PublishOptions pops = new PublishOptions();

            ArgumentSyntaxParser.Parse(args.ToArray(), op, pops);
            Publish(root, pops, op);
        }
Esempio n. 9
0
        public override void Run(IEnumerable <string> args)
        {
            string[] a = args.ToArray();

            string root = a.Length > 1
                              ? Path.GetFullPath(a[1])
                              : Directory.GetCurrentDirectory();

            RestoreOptions options = new RestoreOptions();

            ArgumentSyntaxParser.Parse(a.Skip(1).ToArray(), options);

            ProjectCleanSubSystem.Clean(root);

            Restore(root, options.Origin);
        }
        public override void Run(IEnumerable <string> args)
        {
            string[]      a = args.ToArray();
            ProjectConfig t = ProjectConfig.Load(Path.Combine(Path.GetFullPath(a[0]), "project.json"));

            AddDependencyConfig config = new AddDependencyConfig();

            ArgumentSyntaxParser.Parse(a.Skip(1).ToArray(), config);

            t.Dependencies.Add(
                new ProjectDependency
            {
                ProjectName    = config.Name,
                ProjectVersion = config.Version
            }
                );

            ProjectConfig.Save(Path.Combine(Directory.GetCurrentDirectory(), "project.json"), t);
        }
Esempio n. 11
0
        public static Cpu Create(
            IEnumerable <string> args,
            CpuSettings cpuSettings = null,
            RunnerSettings settings = null,
            HlCompilerSettings hls  = null,
            MemorySettings ms       = null,
            MemoryBusSettings mbs   = null)
        {
            Logger.LogMessage(LoggerSystems.Console, "Creating CPU...");
            cpuSettings = cpuSettings ?? SettingsManager.GetSettings <CpuSettings>();
            settings    = settings ?? new RunnerSettings();
            hls         = hls ?? SettingsManager.GetSettings <HlCompilerSettings>();
            ms          = ms ?? SettingsManager.GetSettings <MemorySettings>();
            mbs         = mbs ?? SettingsManager.GetSettings <MemoryBusSettings>();

            ArgumentSyntaxParser.Parse(
                args.ToArray(),
                settings,
                hls,
                ms,
                mbs,
                cpuSettings
                );

            SettingsManager.SaveSettings(hls);
            SettingsManager.SaveSettings(ms);
            SettingsManager.SaveSettings(mbs);
            SettingsManager.SaveSettings(cpuSettings);

            if (settings.InputFiles == null)
            {
                Logger.LogMessage(LoggerSystems.Console, "No Files Specified");

                return(null);
            }

            MemoryBus bus = CreateBus(mbs);

            Cpu cpu = new Cpu(bus, cpuSettings.CpuResetAddr, cpuSettings.CpuIntAddr);

            return(cpu);
        }
Esempio n. 12
0
        public static void Build(IEnumerable <string> args)
        {
            BuilderSettings           settings  = new BuilderSettings();
            AssemblyGeneratorSettings asettings = SettingsManager.GetSettings <AssemblyGeneratorSettings>();
            LinkerSettings            ls        = SettingsManager.GetSettings <LinkerSettings>();
            HlCompilerSettings        hls       = SettingsManager.GetSettings <HlCompilerSettings>();

            ArgumentSyntaxParser.Parse(
                args.ToArray(),
                settings,
                asettings,
                ls,
                hls
                );

            SettingsManager.SaveSettings(ls);
            SettingsManager.SaveSettings(asettings);
            SettingsManager.SaveSettings(hls);
            Build(settings, args);
        }
Esempio n. 13
0
        public override void Run(IEnumerable <string> args)
        {
            string[] a = args.ToArray();
            ArgumentSyntaxParser.Parse(a, Logger.s_Settings);
            ProjectResolver.Initialize();
            CommonFiles.GenerateCommonFiles();

            string root = a.Length != 0
                              ? Path.GetFullPath(a[0])
                              : Directory.GetCurrentDirectory();

            string src = Path.Combine(root, "project.json");

            Logger.LogMessage(LoggerSystems.Console, "File: {0}", src);

            ProjectConfig.AddRunner(new BuildJobBuild());
            ProjectConfig.AddRunner(new BuildJobClean());
            ProjectConfig.AddRunner(new BuildJobPublish());
            ProjectConfig.AddRunner(new BuildJobRestore());
            ProjectConfig.AddRunner(new BuildJobExternalBuild());
            ProjectConfig.AddRunner(new BuildJobCombinedJobs());
            ProjectConfig.AddRunner(new BuildJobMoveContent());
            ProjectConfig.AddRunner(new BuildJobCopyContent());
            ProjectConfig.AddRunner(new BuildJobRunJob());
            ProjectConfig.AddRunner(new BuildJobGetDependency());
            ProjectConfig.AddRunner(new BuildJobAddOrigin());
            ProjectConfig.AddRunner(new BuildJobRemoveOrigin());
            ProjectConfig.AddRunner(new BuildJobMergedJobs());
            ProjectConfig.AddRunner(new BuildJobMakeHeader());

            ProjectConfig config = ProjectConfig.Load(src);

            string target = config.DefaultTarget;

            if (a.Length > 1)
            {
                target = a[1];
            }

            config.RunTarget(root, target);
        }
Esempio n. 14
0
        public static void Run(Dictionary <string, string> args)
        {
            CpuSettings    cpuSettings = SettingsManager.GetSettings <CpuSettings>();
            RunnerSettings settings    = new RunnerSettings();

            HlCompilerSettings hls = SettingsManager.GetSettings <HlCompilerSettings>();
            MemorySettings     ms  = SettingsManager.GetSettings <MemorySettings>();
            MemoryBusSettings  mbs = SettingsManager.GetSettings <MemoryBusSettings>();

            ArgumentSyntaxParser.Parse(
                args,
                settings,
                hls,
                ms,
                mbs,
                cpuSettings
                );

            SettingsManager.SaveSettings(hls);
            SettingsManager.SaveSettings(ms);
            SettingsManager.SaveSettings(mbs);
            SettingsManager.SaveSettings(cpuSettings);

            if (settings.InputFiles == null)
            {
                return;
            }

            string origPath = Directory.GetCurrentDirectory();

            Directory.SetCurrentDirectory(settings.WorkingDir);

            foreach (string f in settings.InputFiles)
            {
                string file = Path.GetFullPath(f);

                file = RunPreRunSteps(settings, file);

                if (file == null || !File.Exists(file))
                {
                    EventManager <ErrorEvent> .SendEvent(new FileNotFoundEvent( file, true ));

                    continue;
                }

                Logger.LogMessage(LoggerSystems.Console, "Run File: '{0}'", file);
                uint[] fileCode = File.ReadAllBytes(file).ToUInt();

                if (settings.TrimMemoryToProgram)
                {
                    ms.Size = ( uint )fileCode.Length;
                    SettingsManager.SaveSettings(ms);
                }

                MemoryBus bus = CreateBus(mbs);

                Cpu cpu = new Cpu(bus, cpuSettings.CpuResetAddr, cpuSettings.CpuIntAddr);

                if (settings.LoadDebugSymbols)
                {
                    cpu.SymbolServer.LoadSymbols(file);

                    if (settings.AdditionalSymbols != null)
                    {
                        foreach (string symPath in settings.AdditionalSymbols)
                        {
                            cpu.SymbolServer.LoadSymbols(symPath);
                        }
                    }

                    cpu.SetInterruptHandler(InterruptHandler);
                }

                cpu.LoadBinary(fileCode);
                cpu.Run();
            }

            Directory.SetCurrentDirectory(origPath);
        }