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); } }
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()); } }
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); } }
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; }; } }; }