publish(mPropertyBag) {
			var oResourceBundle = Lib.getResourceBundleFor("sap.ui.fl");

			var fnHandleAllErrors = function(oError) {
				BusyIndicator.hide();
				var sMessage = oResourceBundle.getText("MSG_TRANSPORT_ERROR", oError ? [oError.message || oError] : undefined);
				var sTitle = oResourceBundle.getText("HEADER_TRANSPORT_ERROR");
				Log.error(`transport error: ${oError}`);
				MessageBox.show(sMessage, {
					icon: MessageBox.Icon.ERROR,
					title: sTitle,
					styleClass: mPropertyBag.transportDialogSettings.styleClass
				});
				return "Error";
			};

			var oTransportSelection = new TransportSelection();
			return oTransportSelection.openTransportSelection(null, mPropertyBag.transportDialogSettings.rootControl, mPropertyBag.transportDialogSettings.styleClass)
			.then(function(oTransportInfo) {
				if (oTransportSelection.checkTransportInfo(oTransportInfo)) {
					BusyIndicator.show(0);
					var oContentParameters = {
						reference: mPropertyBag.reference,
						layer: mPropertyBag.layer
					};
					return oTransportSelection._prepareChangesForTransport(
						oTransportInfo,
						mPropertyBag.localChanges,
						mPropertyBag.appVariantDescriptors,
						oContentParameters
					).then(function() {
						BusyIndicator.hide();
						if (oTransportInfo.transport === "ATO_NOTIFICATION") {
							return oResourceBundle.getText("MSG_ATO_NOTIFICATION");
						}
						return oResourceBundle.getText("MSG_TRANSPORT_SUCCESS");
					});
				}
				return "Cancel";
			}).catch(fnHandleAllErrors);
		}
Publish flexibility files for a given application and layer.

@param {object} mPropertyBag Property bag
@param {string} mPropertyBag.url Configured url for the connector
@param {object} mPropertyBag.transportDialogSettings Settings for Transport dialog
@param {object} mPropertyBag.transportDialogSettings.rootControl The root control of the running application
@param {string} mPropertyBag.transportDialogSettings.styleClass Style class name to be added in the TransportDialog
@param {string} mPropertyBag.layer Working layer
@param {string} mPropertyBag.reference Flex reference of the application
@param {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} mPropertyBag.localChanges Local changes to  be published
@param {object[]} [mPropertyBag.appVariantDescriptors] An array of app variant descriptors which needs to be transported
@returns {Promise<string>} Promise that can resolve to the following strings:
- "Cancel" if publish process was canceled
- <sMessage> when all the artifacts are successfully transported fl will return the message to show
- "Error" in case of a problem