Ejemplo n.º 1
0
        public override void Help()
        {
            WriteUsage("[target] [options] [project-path]");

            WriteHead("Examples", 26);
            WriteRow("uno build android", "Build Android app, in current directory");
            WriteRow("uno build ios --run", "Build & run iOS app, in current directory");
            WriteRow("uno build native --debug", "Build & open Visual C++ or Xcode, if available");

            WriteHead("Common options", 26);
            WriteRow("-c, --configuration=STRING", "Build configuration [Debug|Release]");
            WriteRow("-t, --target=STRING", "Build target (see: Available build targets)");
            WriteRow("-d, --debug", "Open IDE for debugging after successful build");
            WriteRow("-r, --run", "Start the program after successful build");
            WriteRow("-z, --clean", "Clean the output directory before building");
            WriteRow("-v, -vv, -vvv", "Increment verbosity level");

            WriteHead("Additional options", 26);
            WriteRow("-n, --native-args=STRING", "Arguments to native build command");
            WriteRow("-a, --run-args=STRING", "Arguments to run command");
            WriteRow("-m, --main=STRING", "Override application entrypoint");
            WriteRow("-s, --set:NAME=STRING", "Override build system property");
            WriteRow("-o, --out-dir=PATH", "Override output directory");
            WriteRow("-b, --build-only", "Build only; don't run or open debugger");
            WriteRow("-g, --gen-only", "Generate only; don't compile generated code.");
            WriteRow("-f, --force", "Build even if output is up-to-date");
            WriteRow("-l, --libs", "Rebuild package library if necessary");
            WriteRow("-p, --print-internals", "Print a list of build system properties");
            WriteRow("-N, --no-native", "Disable native build step (faster)");
            WriteRow("-P, --no-parallel", "Disable multi-threading (slower)");
            WriteRow("-S, --no-strip", "Disable removal of unused code (slower)");

            WriteHead("Compiler options", 26);
            WriteRow("-D, --define=STRING", "Add define, to enable a feature");
            WriteRow("-U, --undefine=STRING", "Remove define, to disable a feature");
            WriteRow("-E, --max-errors=NUMBER", "Set max error count (0 = disable)");
            WriteRow("-W<0..3>", "Set warning level (0 = disable)");

            WriteHead("C++ options", 26);
            WriteRow("-DREFLECTION", "Enable run-time type reflection");
            WriteRow("-DSTACKTRACE", "Enable stack traces on Exception");
            WriteRow("-DDEBUG_UNSAFE", "Enable C++ asserts in unsafe code");
            WriteRow("-DDEBUG_NATIVE", "Disable C++ optimizations when debugging");

            if (Log.EnableExperimental)
            {
                WriteRow("-DDEBUG_ARC<0..4>", "Log events from ARC/memory management");
                WriteRow("-DDEBUG_DUMPS", "Dump GraphViz files to help identify cycles in memory");

                WriteHead("GLSL options", 26);
                WriteRow("-DDUMP_SHADERS", "Dump shaders to build directory for inspection");
            }

            WriteHead("Available build targets", 19);

            foreach (var c in BuildTargets.Enumerate(Log.EnableExperimental))
            {
                WriteRow("* " + c.Identifier, c.Description);
            }
        }
Ejemplo n.º 2
0
        public override void Help()
        {
            WriteUsage("[target] [options] [project-path ...]");

            WriteHead("Examples", 28);
            WriteRow("uno clean", "Clean all build-files (in current directory)");
            WriteRow("uno clean android -c Release", "Clean only Android files (Release configuration)");

            WriteHead("Available options", 26);
            WriteRow("-t, --target=STRING", "Build target (see: Available build targets)");
            WriteRow("-c, --configuration=STRING", "Build configuration [Debug|Release]");
            WriteRow("-r, --recursive", "Look for project files recursively");

            WriteHead("Available build targets", 19);

            foreach (var c in BuildTargets.Enumerate(Log.EnableExperimental))
            {
                WriteRow("* " + c.Identifier.ToLowerInvariant());
            }
        }
Ejemplo n.º 3
0
Archivo: Test.cs Proyecto: mortend/uno
        public override void Help()
        {
            WriteUsage("[target] [options] [paths-to-search]");

            Log.Skip();
            WriteLine("[paths-to-search] is a list of paths to unoprojs to run tests from, and/or");
            WriteLine("directories in which to search for test projects.");
            Log.Skip();
            WriteLine("When a directory is given, uno test searches recursively in that directory");
            WriteLine("for projects named '*Test.unoproj'");

            WriteHead("Examples");
            WriteLine("  uno test");
            WriteLine("  uno test path/projects");
            WriteLine("  uno test path/projects/FooTest.unoproj path/projects/BarTest.unoproj");
            WriteLine("  uno test path/projects path/other-projects/FooTest.unoproj");
            WriteLine("  uno test native -v path/projects");

            WriteHead("Available options", 26);
            WriteRow("-l, --logfile=PATH", "Write output to this file instead of stdout");
            WriteRow("-t, --target=STRING", "Build target (see: Available build targets)");
            WriteRow("-v, --verbose", "Verbose, always prints output from compiler and app");
            WriteRow("-q, --quiet", "Quiet, only prints output from compiler and app in case of errors");
            WriteRow("-f, --filter=", "Only run tests matching this string");
            WriteRow("-e, --regex-filter=STRING", "Only run tests matching this regular expression");
            WriteRow("    --trace", "Print trace information from unotest");
            WriteRow("-b, --build-only", "Don't run tests; only build");
            WriteRow("-g, --gen-only", "Don't run tests; only generate code");
            WriteRow("    --no-uninstall", "Don't uninstall tests after running on device");
            WriteRow("-D, --define=STRING", "Add define, to enable a feature");
            WriteRow("-U, --undefine=STRING", "Remove define, to disable a feature");
            WriteRow("-o, --out-dir=PATH", "Override output directory");

            WriteHead("Available build targets", 19);

            foreach (var c in BuildTargets.Enumerate(false))
            {
                WriteRow("* " + c.Identifier, c.Description);
            }
        }
Ejemplo n.º 4
0
        public MainWindow()
        {
            InitializeComponent();
            State        = new AppState(this);
            BuildService = new BuildService(this, this);
            Title        = DefaultTitle;
            DataContext  = this;
            NonActiveWindowTitleBrush = WindowTitleBrush;
            TextEditor.TextArea.TextView.LinkTextForegroundBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#99DAF9"));

            TreeView.SelectedItemChanged   += UpdateSelection;
            DisasmBox.SelectionChanged     += UpdateSelection;
            DisasmBox.SelectedItem          = Disassemblers.First();
            VisibilityBox.SelectionChanged += UpdateSelection;
            VisibilityBox.SelectedItem      = VisibilityModes[1];
            SizeChanged += (s, e) => State.UpdateSize();
            Closing     += (s, e) => State.UpdateSize();
            Closed      += (s, e) => Dispose();

            TreeView.ContextMenuOpening       +=
                (s, e) => TreeView.ContextMenu = GetContextMenu(TreeView.GetContainerAtPoint <TreeViewItem>(Mouse.GetPosition(TreeView))?.DataContext as ILItem);
            TreeView.MouseDoubleClick         +=
                (s, e) => DoubleClick(TreeView.SelectedItem as ILItem);
            TextEditor.ContextMenuOpening       +=
                (s, e) => TextEditor.ContextMenu = GetContextMenu(TreeView.SelectedItem as ILItem);

            MainMenu.Visibility = Visibility.Collapsed;
            KeyUp +=
                (s, e) =>
            {
                if (e.Key == Key.System)
                {
                    MainMenu.Visibility = MainMenu.Visibility == Visibility.Collapsed
                            ? Visibility.Visible
                            : Visibility.Collapsed;
                }
            };

            File_Open = new Command(
                x =>
            {
                string filename;
                if (TryOpenProject(out filename))
                {
                    BuildService.StartBuild(new[] { filename });
                }
            });
            File_Close = new Command(
                x => Close());

            Build_BuildTarget = new Command(
                x => BuildService.StartBuild());
            Build_CleanProject = new Command(
                x => BuildService.StartClean());
            Build_Cancel = new Command(
                x => BuildService.Cancel(),
                x => BuildService.IsBuilding);

            foreach (var target in BuildTargets.Enumerate())
            {
                var targetItem = new MenuItem {
                    Header = target.Identifier
                };
                targetItem.Click += (s, e) => BuildService.StartBuild(target);
                Build_BuildItem.Items.Add(targetItem);
            }

            State.Load();
            new DispatcherTimer(
                TimeSpan.FromSeconds(1.0 / 12.0),
                DispatcherPriority.ApplicationIdle,
                FlushLog,
                Application.Current.Dispatcher)
            .Start();

            FindBox.TextChanged += (s, e) =>
            {
                if (_completionWindow == null)
                {
                    _completionWindow = new CompletionWindow(TextEditor.TextArea);
                    _completionWindow.Show();
                    _completionWindow.Closed += delegate {
                        _completionWindow = null;
                    };
                }
            };
        }