NDEVR
API Documentation
BuildActions.h
1#pragma once
2#include <NDEVR/GenericOptionGroup.h>
3#include <NDEVR/Model.h>
4#include <NDEVR/ApplicationOptions.h>
5#include <NDEVR/LogStream.h>
6namespace NDEVR
7{
53
61
75
83
86 {
87 public:
88 static constexpr StringView const working_directory = "WorkDir";//e_git_action, e_git_clone
89 static constexpr StringView const command_options = "Options";//e_git_action, e_git_clone
90 static constexpr StringView const git_command_name = "Command";//e_git_action, e_git_clone
91 static constexpr StringView const command_name = "command";//e_git_action, e_git_clone
92 static constexpr StringView const file_name = "Filename";
93 static constexpr StringView const path = "path";
94 static constexpr StringView const path_include_pattern = "Ext";
95 static constexpr StringView const path_exclude_pattern = "ExclExt";
96 static constexpr StringView const destination_directory = "DestDir";
97 static constexpr StringView const source_directory = "SourceDir";
98 static constexpr StringView const command_file = "CmdFile";
99 static constexpr StringView const run_command = "command";
100 static constexpr StringView const command_read_file = "outputfile";
101 static constexpr StringView const generate_command_file = "generate_command_file";
102 static constexpr StringView const command_file_string = "CmdStr";
103 static constexpr StringView const command_file_path = "FilePath";
104 static constexpr StringView const search_sub_dirs = "search_sub_dirs";
105 static constexpr StringView const dont_expand_macros = "dont_expand_macros";
106 static constexpr StringView const vs_config = "Config";
107 static constexpr StringView const vs_action = "action";
108
136 static void BuildSetVariableGroup(GenericOptionGroup& group, bool has_parent);
140 static void BuildZipGroup(GenericOptionGroup& group, bool is_compress);
196 static bool IsSupported(const BuildAction& action);
199 static bool UseSource();
206 };
207}
The equivelent of std::vector but with a bit more control.
Definition Buffer.hpp:58
Provides static constants, option group builders, and metadata queries for the build action system,...
static bool IsSupported(const BuildAction &action)
Checks whether a given build action is supported on this platform.
static Buffer< BuildAction > SupportedActions()
Returns all supported build actions.
static void CreateFactoryGroup(GenericOptionGroup &group)
Populates the option group for creating a new IOFactory.
static bool UseSource()
Returns whether source-based building is available.
static void FileActionGroup(GenericOptionGroup &group)
Populates the option group for general file actions.
static void FileCopyMoveActionGroup(BuildAction action, GenericOptionGroup &group)
Populates the option group for file copy or move actions.
static void CreateGenerateModelGroup(GenericOptionGroup &group)
Populates the option group for generating a new model.
static Buffer< std::pair< TranslatedString, StringAllocatingView > > SourceDirectories()
Returns all known source directory paths with their display names.
static Buffer< TranslatedString > Categories()
Returns all build action category names.
static void BuildEasyIncludeGroup(GenericOptionGroup &group)
Populates the option group for easy-include generation.
static void FileFiltersGroup(GenericOptionGroup &group)
Populates the option group for file filter settings.
static TranslatedString Category(BuildAction action)
Returns the category name for the given build action.
static void BuildInstallerGroup(GenericOptionGroup &group)
Populates the option group for installer builder actions.
static void ActivateOptionGroup(GenericOptionGroup &group)
Populates the option group for license activation actions.
static void BuildShaderGroup(GenericOptionGroup &group)
Populates the option group for shader compilation actions.
static void BuildSetVariableGroup(GenericOptionGroup &group, bool has_parent)
Populates the option group for variable assignment actions.
static void QTCreatorCroup(GenericOptionGroup &group)
Populates the option group for Qt Creator actions.
static void GitCloneGroup(GenericOptionGroup &group)
Populates the option group for git clone actions.
static void SoundOptionGroup(GenericOptionGroup &group)
Populates the option group for sound playback actions.
static void BuildCollectStatisticsGroup(GenericOptionGroup &group)
Populates the option group for code statistics collection.
static TranslatedString Description(BuildAction action)
Returns the description for the given build action.
static void CreateWidgetGroup(GenericOptionGroup &group)
Populates the option group for creating a new widget.
static void VSActionOptionGroup(GenericOptionGroup &group)
Populates the option group for Visual Studio build actions.
static StringView BestSourceFolder()
Returns the best available source folder path.
static StringView Icon(BuildAction action)
Returns the icon resource name for the given build action.
static void RegistrySetGroup(GenericOptionGroup &group)
Populates the option group for registry variable actions.
static void GitActionGroup(GenericOptionGroup &group)
Populates the option group for git command actions.
static void BuildZipGroup(GenericOptionGroup &group, bool is_compress)
Populates the option group for zip/unzip actions.
static void FileDeleteActionGroup(GenericOptionGroup &group)
Populates the option group for file deletion actions.
static void IncrementVersionGroup(GenericOptionGroup &group)
Populates the option group for version increment actions.
Stores a groups of GenericOptions that can be used to group them.
The core String View class for the NDEVR API.
Definition StringView.h:58
The core String class for the NDEVR API.
Definition String.h:95
Any text displayed to the user should be defined as a TranslatedString which allows the program to lo...
Describes a build variable with its internal name, display title, and description.
TranslatedString title
The user-facing display title.
String variable
The internal variable name.
TranslatedString definition
The description of what the variable represents.
The primary namespace for the NDEVR SDK.
BuildAction
Enumerates all supported build action types available in the Developer module build workflow system.
@ e_unzip
Extracts files from a zip archive.
@ e_process_files
Processes files with child actions.
@ e_create_factory
Creates a new IOFactory scaffold.
@ e_move_files
Moves files to a destination.
@ e_generate_widget
Generates a new widget scaffold.
@ e_increment_version
Increments a module version number.
@ e_installer_builder
Builds an installer package.
@ e_workflow
A container action that executes child actions sequentially.
@ e_set_variable
Sets a build variable.
@ e_translate
Generates or updates translation files.
@ e_download_api
Downloads the NDEVR API.
@ e_visual_studio_action
Invokes MSBuild or Visual Studio.
@ e_copy_files
Copies files to a destination.
@ e_zip
Compresses files into a zip archive.
@ e_generate_out
Generates the output directory.
@ e_exit_software
Exits the application.
@ e_log_message
Logs a message.
@ e_delete_files
Deletes files matching a pattern.
@ e_play_sound
Plays an audio file.
@ e_qt_creator_action
Invokes Qt Creator or qmake.
@ e_git_clone
Clones a git repository.
@ e_set_registry_variable
Sets a Windows registry variable.
@ e_text_to_speech
Converts text to speech.
@ e_generate_api
Generates the NDEVR API directory.
@ e_git_action
Executes a git command.
@ e_collect_statistics
Collects code statistics.
@ e_list_files
Lists files matching a pattern.
@ e_stop_process
Stops a running process.
@ e_variable_loop
Loops over a set of variable values.
@ e_run_file
Runs a specific file.
@ e_run
Runs an executable or command.
@ e_perform_activation
Performs license activation.
@ e_file_loop
Loops over files matching a pattern.
@ e_generate_model
Generates a new model scaffold.
@ e_install_visual_studio
Installs Visual Studio components.
@ e_build_shaders
Compiles GLSL shaders to SPIR-V.
@ e_create_module
Creates a new module scaffold.
@ e_index_loop
Loops over a range of integer indices.
@ e_generate_easy_include
Generates convenience include files.
ExecuteCriteria
Specifies conditional criteria that determine whether a build action should execute.
@ e_contains
Execute if the variable contains the specified value.
@ e_is_undefined
Execute if the variable is undefined.
@ e_is_true
Execute if the variable evaluates to true.
@ e_is_equal_to
Execute if the variable equals the specified value.
@ e_does_not_contain
Execute if the variable does not contain the specified value.
@ e_is_not_equal_to
Execute if the variable does not equal the specified value.
@ e_file_not_exists
Execute if the specified file does not exist.
@ e_is_false
Execute if the variable evaluates to false.
@ e_is_defined
Execute if the variable is defined.
OnFailureAction
Specifies the behavior when a build action fails during workflow execution.
@ e_shutdown_software
Shut down the application.
@ e_stop_workflow
Stop the entire workflow.
@ e_ignore
Ignore the failure and continue.
@ e_prompt_user
Prompt the user for a decision.
@ e_file_exists
Whether the file exists on disk.
Definition FileCache.h:13
@ e_invalid
No fix available or fix is invalid.
Definition GPSPoint.h:17