pluginRelease
PluginRelease UI Class.
=== Author: Assaf Ben Zur ===
This admin util is used to procedurally release the mnsPlugins library and version control it.
The UI will find c++ projects based on a directory (which can be changed), and will allow the user (admin) to add it to the next build.
On top of that, the UI will find the latest released version and extract the existing library within it, and update the release colums accordingly.
In case a plugin build exists in the latest version, but it's build project isn't available, the plugin will add to the release option with a flag "[version]"-
This means that the plugin can only be copied from the version selected to the next release- it cannot bild.
Of course this behaviour means that the internal version of the plugin will not change (expected behaviour) to inform the user of the ACTUAL plugin version.
This Tool is meant to BUILD the project on each release as opposed to getting a copy of n .mll file.
This means that the VS project will have to be maintained (expected) in order to be released- hence keeping up to date with maya's releases.
The tool contains a version release choice between patch/minor/major and none.
All mnsReleases, including this tool will mark a version with a suffix of the path version . a dateTime stamp.
This tool also includes a maya version choice for release which will access a different build configuration within the VS project.
The tool accesses the version parameter using a custom macro inserted into the VS project- which will be written with the user version choice- in order for the user to see the correct version when using the plugin-manager "info".
Classes
MnsPluginBuild [Class]
MnsPluginBuild Class. A conviniency class.
This class will contain eixsting plugin builds.
Should contain a plugin name, directory, buildAvailable (bool), and a prevVerDirectory if a build is not available"
Used to access information in a clean manner.
Constructor: | MnsPluginBuild(name(str) ; [default: ""],direct(str) ; [default: ""],buildAvailable(bool) ; [default: False],prevVerDirectory(str) ; [default: ""]) |
Inherits from: | object |
Class Members: |
|
MnsPluginRelease [Class]
pluginRelease UI class
Constructor: | MnsPluginRelease(parent(str) ; [default: mnsUIUtils.get_maya_window()]) |
Inherits from: | form_class, base_class |
Class Members: |
|
Methods: |
|
MnsPluginRelease methods
buildPlugin [MnsPluginRelease class method]
Constructor: | buildPlugin(self, MnsPluginBuild = None, cMakeDir = None, newVersionRootDir = None, plat = "win", versionString = None) |
Return: | None |
Arguments: |
|
Optional Arguments: |
connectSignals [MnsPluginRelease class method]
Connect all the UI signals
Constructor: | connectSignals(self) |
Return: | None |
Arguments: |
|
Optional Arguments: |
dirChanged [MnsPluginRelease class method]
User directory changed trigger action
Constructor: | dirChanged(self) |
Return: | None |
Arguments: |
|
Optional Arguments: |
getCMakeBaseDir [MnsPluginRelease class method]
Constructor: | getCMakeBaseDir(self) |
Return: | None |
Arguments: |
|
Optional Arguments: |
getLastestReleaseVer [MnsPluginRelease class method]
Get the latest version for the build directory
Constructor: | getLastestReleaseVer(self) |
Return: | None |
Arguments: |
|
Optional Arguments: |
getNewVerString [MnsPluginRelease class method]
Get a new vesrtion string based on user version element upgrade. Return as a string.
Constructor: | getNewVerString(self) |
Return: | string (new version id as string) |
Arguments: |
|
Optional Arguments: |
getVersionsForBuild [MnsPluginRelease class method]
Get all valid maya versions for the plugin build directory passed.
Constructor: | getVersionsForBuild(self, buildDir) |
Return: | list (compatibleVersions) |
Arguments: |
|
Optional Arguments: |
initExistingDirs [MnsPluginRelease class method]
Initialize existing directory.
Find all available builds for the selected directory.
Constructor: | initExistingDirs(self) |
Return: | None |
Arguments: |
|
Optional Arguments: |
linux_mnsLicDigest_2024_addExtraCMakeLines [MnsPluginRelease class method]
Constructor: | linux_mnsLicDigest_2024_addExtraCMakeLines(self, cmakeListsFile = None) |
Return: | None |
Arguments: |
|
Optional Arguments: |
linux_mnsLicDigest_addExtraCMakeLines [MnsPluginRelease class method]
Constructor: | linux_mnsLicDigest_addExtraCMakeLines(self, cmakeListsFile = None) |
Return: | None |
Arguments: |
|
Optional Arguments: |
loadWindow [MnsPluginRelease class method]
Main window load
Constructor: | loadWindow(self) |
Return: | None |
Arguments: |
|
Optional Arguments: |
releasePluginVer [MnsPluginRelease class method]
Main version release button trigger.
Compiles all needed information based on user UI slections, and triggers a new version build.
Constructor: | releasePluginVer(self) |
Return: | None |
Arguments: |
|
Optional Arguments: |
releasePluginVer_legacy [MnsPluginRelease class method]
Main version release button trigger.
Compiles all needed information based on user UI slections, and triggers a new version build.
Constructor: | releasePluginVer_legacy(self) |
Return: | None |
Arguments: |
|
Optional Arguments: |
selectDevDir [MnsPluginRelease class method]
Change dev directory trigger action.
Prompts a directory-select dialog for the user to change the dev directory.
A directory change will trigger a 'text-changed' signal emit.
Constructor: | selectDevDir(self) |
Return: | None |
Arguments: |
|
Optional Arguments: |
selectRelDir [MnsPluginRelease class method]
Change release directory trigger action.
Prompts a directory-select dialog for the user to change the release directory.
A directory change will trigger a 'text-changed' signal emit.
Constructor: | selectRelDir(self) |
Return: | None |
Arguments: |
|
Optional Arguments: |
sortLists [MnsPluginRelease class method]
Simple function to re-sort both culomn items.
Used Throughout to simply update the display
Constructor: | sortLists(self) |
Return: | None |
Arguments: |
|
Optional Arguments: |
splitVerStringToList [MnsPluginRelease class method]
split version string to a path/minor/major/timestamp elements
Constructor: | splitVerStringToList(self, versionString) |
Return: | list (versionString) |
Arguments: |
|
Optional Arguments: |
Defenitions
loadPluginRelease
Load the plugin Release UI from globals, avoid UI duplication.
Constructor: | loadPluginRelease() |
Return: | None |
Arguments: | |
Keyword Arguments: |