Files
UnrealEngine/Engine/Programs/SubmitTool/Config/SubmitTool.ini
2025-05-18 13:04:45 +08:00

181 lines
9.4 KiB
INI

;To pack submit tool run these two commands substituting the correct paths
;RunUBT.bat -Target="SubmitTool Win64 Development -Target="UnrealPak Win64 Development -Project=Programs/SubmitTool/SubmitTool.uproject"
;RunUAT.bat BuildCookRun -platform=Win64 -project=SubmitTool -skipcook -stage -pak -nodebuginfo -nobootstrapexe -stagingdirectory=***STAGINGDESTINATION***/SubmitTool -NoCodeSign
;After these you will have a standalone submit tool you can zip and distribute in ***STAGINGDESTINATION***/SubmitTool
; For general parameters see Engine\Source\Programs\SubmitTool\Private\Parameters\SubmitToolParameters.h
[SubmitTool.CopyLog]
LogsToCollect=(\
"$(SubmitToolSavedDir)Logs/SubmitTool.log"\
)
; Tags parameters (See Engine\Source\Programs\SubmitTool\Private\Models\TagDefinition.h):
; Tags:
; TagId -> tag to add in the CLDescription
; TagLabel -> label to display in SubmitTool
; ToolTip -> Tooltip to show on hovering the Tag
; DocumentationUrl -> URL to navigate to upon clicking the tag help
; InputType -> Type of widget {FreeText, PerforceUser}
; ValueDelimiter -> string that acts as a delimiter to split different values
; MinValues - theminimum amount of values that this tag should have
; MaxValues -> the maximum amount of values this tag can have
; bIsUserValue -> if true, values for this tag will need to be valid p4 usernames (if RegexValidation is present, both the regex and p4 users are valid)
; Filters -> if present acts as an allow list, any value that contains any of the listed filter will be included
; Validation -> How the tag is validated
; IsMandatory -> if the tag needs to appear for the CL to be submitted
; RegexValidation -> if present, validates the values of the tag against this regex
; RegexErrorMessage -> Shows this error when RegexValidation fails
; ValidationOverrides -> List of overrides for specific paths
; RegexPath -> If any depot files matches this path use this validation instead:
; Validation (see above)
;
[Tags.Review]
TagId="#rb"
TagLabel="Reviewed By"
ToolTip="The RB (reviewed by) tag will display any reviewers on the change."
InputType="PerforceUser"
InputSubType="Swarm"
MinValues=1
MaxValues=10
bIsUserValue="true"
Validation=(\
bIsMandatory="false",\
RegexValidation="^skip$|^none$|^trivial$",\
RegexErrorMessage="#RB tag value should be one of 'skip', 'none', 'trivial' or a valid p4 username or group"\
)
ValidationOverrides=(\
(\
RegexPath="^.*\.(?:c|cc|cpp|inl|m|mm|rc|cs|csproj|h|hpp|inl|usf|ush|uproject|uplugin|sln)$",\
ConfigOverride=(\
bIsMandatory="true",\
RegexValidation="^skip$|^none$|^trivial$",\
RegexErrorMessage="#RB tag value should be one of 'skip', 'none', 'trivial' or a valid p4 username or group, this tag is mandatory for code changes"\
)\
)\
)
[Tags.ComboSample]
TagId="#comboSample"
TagLabel="Combo"
ToolTip="This is an example."
DocumentationURL="https://www.google.com/"
InputType="MultiSelect"
MinValues=1
MaxValues=20
SelectValues=(\
"I",\
"am",\
"an ",\
"example")
[Tags.EmptySample]
TagId="#bool"
TagLabel="Bool"
ToolTip="Bool example."
InputType="Boolean"
[Tags.TextSample]
TagId="#text"
TagLabel="Value Tag"
ToolTip="Text example."
InputType="FreeText"
; Validator Parameters (more in Engine\Source\Programs\SubmitTool\Private\Logic\Validators\ValidatorDefinition.h)
; [Validator.Id] -> The value after the . is the Validator unique ID
; Values:
; Type -> Validator Class {TagValidator, CustomValidator, UBTValidator}
; CustomName -> Name of the custom validator, example <"MyCustomValidator">
; IsRequired -> True or False if this validator is required to pass to submit. If it's not it will just throw warnings instead of blocking errors.
; bRequireCompleteWhenOptional -> Whether the validator is required to finish running before allowing submission
; TimeoutLimit -> Timeout for validators, infinite if unspecified
;
; IncludeFilesWithExtension -> List extension for which this Validator needs to run.
; IncludeFilesInDirectory -> Only run this validator for files under this directory
; ChangelistDescriptionAddendum -> This text will be added to the CL description if this validation passes
; bSkipWhenAddendumInDescription -> Skip this validator when the addendum is already present in the CL description
; SkipForbiddenTags -> Skip is forbidden when this text if found in the CL description
; DependsOn -> List of Validator Ids that needs to succeed before this validator runs
; ExecutionBlockGroups -> List of execution groups this Validator is part of. Two validators with an execution group in commmon cannot run concurrently
; UIGroup -> Name of the UI Section this Validator is part of
; bAcceptDeletedFiles -> If this Validator runs on files marked for delete
; bTreatWarningsAsErrors -> If this Validator should treat warnings as errors
; bUsesIncrementalCache -> If this validator maintains a local cache of results per file between runs on the same CL, used for incremental validations
; bUsesIncrementalCache -> If this validator maintains a local cache of results per file between runs on the same CL, used for incremental validations
; AdditionalValidationErrorMessages -> Additional error messages to print when this validation fails
; ToolTip -> Tooltip when hovering over the Validator
; TaskArea -> Area this validator works on, if an area is updated, the validator state will be automatically resetted { Everything, LocalFiles, ShelvedFiles, LocalAndShelvedFiles, Changelist }
;
[Validator.Tag]
Type="TagValidator"
CustomName="P4 Changelist Tag Validator"
IsRequired="true"
ToolTip="This validator ensures you have all of the required tags in your changelist description."
TaskArea="Changelist"
[Validator.NonUnityAndStaticAnalysis]
Type="UBTValidator"
IsRequired="true"
bUsesIncrementalCache="true"
CustomName="Non Unity + SA Validator"
IncludeFilesWithExtension=(".h", ".hpp", ".c", ".cpp")
ExecutablePath="$(root)/Engine/Build/BatchFiles/RunUBT.bat"
ExecutableArguments="-Define:CHECK_PUREVIRTUALS=1 -Define:UE_CHECK_DISABLE_OPTIMIZATION=1 -NoPCH -DisableUnity -AllModules -NoLink -WarningsAsErrors -IncludeHeaders"
StaticAnalysers=( "Default", "visualcpp", "clang", "PVSStudio")
StaticAnalyser="Default"
StaticAnalyserArg="-staticanalyzer="
bUseStaticAnalyser="true"
FileListArgument="-FileList="
TargetListArgument="-TargetList="
ProjectArgument="-Project="
Configuration="Development"
Platform="Win64"
Configurations=("Development", "Debug", "Shipping")
Platforms=("Win64", "Linux", "Mac")
Targets=("Editor", "Client")
ToolTip="This Validator compiles the code in the changelist using the configuration/platform provided, it also runs Static Code Analysis at the same time."
ErrorMessages=("A conflicting instance of", "dereferencing NULL pointer", "Unhandled exception:")
UIGroup="Code Validations"
ExecutionBlockGroups=("UBT")
TaskArea="LocalFiles"
[Validator.CrossChangelist]
Type="CrossChangelistValidator"
IsRequired="false"
Invalidated=("Files")
CustomName="Cross Changelists Validator"
bAcceptDeletedFiles="true"
ToolTip="This validator checks for both files in uncontrolled CLs and files that might need to be in the same changelist. A .h and .cpp in a different changelist might be an issue."
TaskArea="LocalFiles"
; This is an example of configuration for a validator that calls the editor with your project and runs a commandlet, to do in-editor validations
; You'll need to replace paths and commandlets, and tweak cmdline parameters
;
; [Validator.EditorCommandletExample]
; Type="CustomValidator"
; IsRequired="true"
; bLaunchHidden="true"
; bLaunchReallyHidden="false"
; CustomName="Editor Validator"
; bAcceptDeletedFiles="true"
; bTreatWarningsAsErrors="true"
; IncludeFilesWithExtension=(".uasset", ".umap", ".uplugin")
; ExecutableCandidates=(\
; ("Editor Config: Development", "$(root)/Engine/Binaries/Win64/UnrealEditor.exe"),\
; ("Editor Config: DebugGame", "$(root)/Engine/Binaries/Win64/UnrealEditor-Win64-DebugGame.exe"),\
; ("Editor Config: Debug", "$(root)/Engine/Binaries/Win64/UnrealEditor-Win64-Debug.exe")\
; )
; bUseLatestExecutable="true"
; ExecutableArguments="********YOUR PROJECT NAME********* -Run=******YOUR COMMANDLET******* -P4Changelist=$(CL) -p4client=$(CLIENT) -abslog=$(SubmitToolLogsDir)/EditorValidation.log -unattended -traceautostart=0 -fastexit -ini:EditorPerProjectUserSettings:[/Script/LiveCoding.LiveCodingSettings]:bEnabled=false"
; IncludeFilesInDirectory="$(root)/********PATH TO YOUR PROJECT********"
; ChangelistDescriptionAddendum="#changelist validated"
; bSkipWhenAddendumInDescription="true"
; EnableOutputErrorsAnchor="Submit Tool Anchor - any error after this line shall be considered and cause error."
; DisableOutputErrorsAnchor="Submit Tool Anchor - any error after this line shall be ignored."
; ToolTip="This validator runs a commandlet in the local editor validation."
; UIGroup="Editor Validations"
; AdditionalValidationErrorMessages=("This validation runs UnrealEditor, please make sure you have a working non-crashing editor and, if you build your own, you have the right configuration selected in the validator options")
; ExecutionBlockGroups=("Editor")
; TaskArea="LocalFiles"