%ZHSLIB.PackageManager.Developer.Extension.SourceControl.Interface
abstract class %ZHSLIB.PackageManager.Developer.Extension.SourceControl.Interface
Additional inteface for source control extensions to implement to plug in to module lifecycles.Method Inventory (Including Private)
- %GetClass()
- %GetPage()
- %OnAfterBuild()
- %OnAfterPhase()
- %OnBeforeBuild()
- %OnBeforePhase()
- %OnChangeModuleRoot()
- %OnMakeModuleEditable()
- %OnModifyResources()
- %SourceControlMethod()
- Configure()
- OnAfterBuild()
- OnBeforeBuild()
- OnChangeModuleRoot()
- OnMakeModuleEditable()
Parameters
parameter SETTINGSPAGE;
Name of page to help configure source control on a per-module basis
Methods (Including Private)
final classmethod %GetClass() as %String [ Language = objectscript ]
final classmethod %GetPage() as %String [ Language = objectscript ]
final classmethod %OnAfterBuild(pIsDev As %Boolean, pSuccessful As %Boolean) as %Status [ Language = objectscript ]
Invoked after running build processes
Should be called even if the build fails
final classmethod %OnAfterPhase(pModule As %ZHSLIB.PackageManager.Developer.Module, pPhase As %String, ByRef pParams) as %Status [ Language = objectscript ]
Invoked prior to running build processes
final classmethod %OnBeforePhase(pModule As %ZHSLIB.PackageManager.Developer.Module, pPhase As %String, ByRef pParams) as %Status [ Language = objectscript ]
final classmethod %OnChangeModuleRoot(pModule As %ZHSLIB.PackageManager.Developer.Module) as %Status [ Language = objectscript ]
final classmethod %OnMakeModuleEditable(pModule As %ZHSLIB.PackageManager.Developer.Module) as %Status [ Language = objectscript ]
final classmethod %OnModifyResources(pModule As %ZHSLIB.PackageManager.Developer.Module) as %Status [ Language = objectscript ]
classmethod %SourceControlMethod(pMethod, pArgs...) as %Status [ Language = objectscript ]
Follows a similar pattern to %Studio.SourceControl.Interface, but permits all methods defined in the current Studio extension.
Moves %SourceControl (which must be defined!) to a different variable name, New's %SourceControl, then runs pMethod
of that object with pArgs....
If expected to return a value, will return what this method does (most often a %Status); otherwise, will just do $method.
Much low-level (^%apiOBJ, etc.) import/export code behaves differently when %SourceControl is defined, so this is typically necessary
and always safest.
classmethod Configure() as %Status [ Language = objectscript ]
Invoked after zpm "init" to configure settings for this source control class
Default implementation is a no-op
classmethod OnAfterBuild(pIsDev As %Boolean, pSuccessful As %Boolean) as %Status [ Language = objectscript ]
Invoked after build process runs
Invoked before build process runs
classmethod OnChangeModuleRoot(pModule As %ZHSLIB.PackageManager.Developer.Module) as %Status [ Language = objectscript ]
Invoked when an existing module is reloaded from a different directory than its known module root
classmethod OnMakeModuleEditable(pModule As %ZHSLIB.PackageManager.Developer.Module) as %Status [ Language = objectscript ]
Invoked when the user has attempted to edit a module document reported by the active Studio extension as read-only (i.e., because it is not checked out)