specVersion: '3.0'
type: library
metadata:
  name: sap.ushell_abap
  copyright: Copyright (c) 2009-${currentYear} SAP SE, All Rights Reserved
resources:
  configuration:
    propertiesFileSourceEncoding: ISO-8859-1
    paths:
      src: src/main/js
      test: src/test/js
framework:
  name: SAPUI5
  libraries:
    - name: sap.ui.core
    - name: sap.m
    - name: sap.ushell
builder:
  bundles:
  # Chunk definitions ============================================
    - bundleDefinition:
        name: sap/ushell_abap/preload-bundles/flex-plugins.js
        # [SAPUI5 1.x only] only required for abap.js and appruntime-min.js
        # until we migrate to library preloads
        # components are bundled via Component-preload any deps are loaded via this bundle
        #   - sap/ushell/appRuntime/ui5/plugins/rtaAgent/
        #   - sap/ushell/appRuntime/ui5/plugins/rtaShell/
        #   - sap/ushell/plugins/rta/
        #   - sap/ushell/plugins/rta-personalize/
        # the related bundle infos have to be maintained for all scenarios in all repos:
        #   - ushell
        #   - ushell_abap
        #   - sap/fiori
        sections:
          - mode: preload
            name: sap/ushell_abap/preload-bundles/flex-plugins
            filters:
              - sap/ushell/plugins/BaseRTAPlugin.js # base component class
              - sap/ushell/appRuntime/ui5/plugins/baseRta/ # reuse files
            resolve: false
      bundleOptions:
        optimize: true
        usePredefineCalls: true
    - bundleDefinition:
        name: sap/ushell_abap/library-preload-bootstrap.js
        # This chunk should not be required during productive usage of ushell,
        # as the boot should ALWAYS include bootstrap
        # It rather ensures that the ushell can always be used via library
        sections:
          - mode: preload
            filters:
              - sap/ushell_abap/bootstrap/
              # Exclude all bundles
              - "!sap/ushell_abap/**/*-preload*.js"
              - "!sap/ushell_abap/preload-bundles/"
              - "!sap/ushell_abap/bootstrap/evo/abap.js"
              - "!sap/ushell_abap/bootstrap/appruntime-min*.js"
              - "!sap/ushell_abap/bootstrap/evo/core-min*.js"
            resolve: false
      bundleOptions:
        optimize: true
  # Bootstrap Bundles ============================================
    - bundleDefinition:
        name: sap/ushell_abap/bootstrap/appruntime-min.js
        sections:
          - mode: raw
            filters:
              - sap/ushell/appRuntime/ui5/BusyIndicator.js
              - sap/ushell/appRuntime/ui5/libsPreload.js
              - ui5loader-autoconfig.js
            declareRawModules: false
            resolve: true
          - mode: bundleInfo
            name: sap/ushell_abap/preload-bundles/flex-plugins.js
            filters:
              - sap/ushell_abap/preload-bundles/flex-plugins.js
          - mode: preload
            filters:
              - sap/ui/core/Core.js
            renderer: true
            resolve: true
            resolveConditional: false
          - mode: preload
            filters:
              - sap/ushell/appRuntime/ui5/
              - sap/ushell/components/applicationIntegration/application/PostMessageAPIInterface.js
              - sap/ushell/services/PluginManager/PostMessagePluginInterface.js
              - sap/ushell/components/pages/controller/PagesAndSpaceId.js
              - sap/ushell/ui5service/UserStatus.js
              - sap/ushell/Ui5ServiceFactory.js
              - sap/ushell/UI5ComponentType.js
              - sap/ushell/utils.js
              - sap/ushell/utils/type.js
              - sap/ushell/utils/objectOperations.js
              - sap/ushell/utils/UrlParsing.js
              - sap/ushell/utils/WindowUtils.js
              - sap/ushell/utils/UrlShortening.js
              - sap/ushell/Container.js
              - sap/ushell/EventHub.js
              - sap/ushell/navigation/ColdStart.js
              - sap/ushell/resources.js
              - sap/ushell/renderer/utils
              - sap/ushell/renderer/ShellLayout
              - sap/ushell/renderer/search/HashChangeHandler.js
              - sap/ushell/System.js
              - sap/ushell/Ui5NativeServiceFactory.js
              - sap/ushell/User.js
              - sap/ushell/services/AppConfiguration.js
              - sap/ushell/services/AppState.js
              - sap/ushell/services/appstate/AppState.js
              - sap/ushell/services/appstate/AppStatePersistencyMethod.js
              - sap/ushell/services/AppLifeCycle.js
              - sap/ushell/Container.js
              - sap/ushell/services/CrossApplicationNavigation.js
              - sap/ushell/services/_CrossApplicationNavigation/utils.js
              - sap/ushell/services/Navigation.js
              - sap/ushell/services/Navigation/utils.js
              - sap/ushell/services/Personalization.js
              - sap/ushell/services/_Personalization/
              - sap/ushell/services/PersonalizationV2.js
              - sap/ushell/services/PersonalizationV2/
              - sap/ushell/services/PluginManager.js
              - sap/ushell/services/ShellNavigation.js
              - sap/ushell/services/ShellNavigationInternal.js
              - sap/ushell/services/ShellNavigationHashChanger.js
              - sap/ushell/services/URLShortening.js
              - sap/ushell/services/URLParsing.js
              - sap/ushell/services/UserInfo.js
              - sap/ushell/services/Ui5ComponentLoader.js
              - sap/ushell/services/Ui5ComponentHandle.js
              - sap/ushell/Config.js
              - sap/ushell/bootstrap/common/common.create.configcontract.core.js
              - sap/ushell/bootstrap/common/common.debug.mode.js
              - sap/ushell/bootstrap/common/common.constants.js
              - sap/ushell/Config/utils.js
              - sap/ushell/Fiori20AdapterTest.js
              - sap/ushell/Fiori20Adapter.js
              - sap/ushell/library.js
              - sap/ushell/ui/footerbar/AddBookmarkButton*
              - sap/ushell/ui/footerbar/SendAsEmailButton*
              - sap/ushell/TechnicalParameters.js
              - sap/ushell/AppInfoParameters.js
              - sap/collaboration/components/fiori/sharing/dialog/Component.js
              - sap/collaboration/components/utils/CommonUtil.js
              - sap/collaboration/components/utils/MessageQueueUtil.js
              - sap/ushell/ui/launchpad/ActionItem*
              - sap/ushell/ui/utils.js
              - sap/ushell/iconfonts.js
              - sap/ushell_abap/ui5appruntime/AppInfoAdapter.js
              - sap/ushell_abap/adapters/abap/AdapterContainer.js
              - sap/ushell_abap/adapters/abap/PersonalizationAdapter.js
              - sap/ushell_abap/adapters/abap/PersonalizationV2Adapter.js
              - sap/ui/thirdparty/datajs.js
              - sap/ui/thirdparty/bignumber.js
              - sap/ui/thirdparty/URITemplate.js
              - sap/ui/integration/services/Navigation.js
              - sap/ui/integration/services/Service.js
              - sap/ui/integration/services/Data.js
              - sap/ui/layout/AlignedFlowLayout.js
              - sap/ui/layout/AlignedFlowLayoutRenderer.js
              - sap/ui/layout/AssociativeSplitter.js
              - sap/ui/layout/BlockLayout.js
              - sap/ui/layout/BlockLayoutCell.js
              - sap/ui/layout/BlockLayoutCellData.js
              - sap/ui/layout/BlockLayoutCellRenderer.js
              - sap/ui/layout/BlockLayoutRenderer.js
              - sap/ui/layout/BlockLayoutRow.js
              - sap/ui/layout/BlockLayoutRowRenderer.js
              - sap/ui/layout/DynamicSideContent.js
              - sap/ui/layout/DynamicSideContentRenderer.js
              - sap/ui/layout/FixFlex.js
              - sap/ui/layout/FixFlexRenderer.js
              - sap/ui/layout/Grid.js
              - sap/ui/layout/GridData.js
              - sap/ui/layout/GridRenderer.js
              - sap/ui/layout/HorizontalLayout.js
              - sap/ui/layout/HorizontalLayoutRenderer.js
              - sap/ui/layout/PaneContainer.js
              - sap/ui/layout/ResponsiveFlowLayout.js
              - sap/ui/layout/ResponsiveFlowLayoutData.js
              - sap/ui/layout/ResponsiveFlowLayoutRenderer.js
              - sap/ui/layout/ResponsiveSplitter.js
              - sap/ui/layout/ResponsiveSplitterPage.js
              - sap/ui/layout/ResponsiveSplitterRenderer.js
              - sap/ui/layout/ResponsiveSplitterUtilities.js
              - sap/ui/layout/SplitPane.js
              - sap/ui/layout/Splitter.js
              - sap/ui/layout/SplitterLayoutData.js
              - sap/ui/layout/SplitterRenderer.js
              - sap/ui/layout/VerticalLayout.js
              - sap/ui/layout/VerticalLayoutRenderer.js
              - sap/ui/layout/changeHandler/AddFormContainer.js
              - sap/ui/layout/changeHandler/AddFormField.js
              - sap/ui/layout/changeHandler/AddSimpleFormField.js
              - sap/ui/layout/changeHandler/AddSimpleFormGroup.js
              - sap/ui/layout/changeHandler/HideSimpleForm.js
              - sap/ui/layout/changeHandler/MoveSimpleForm.js
              - sap/ui/layout/changeHandler/RenameFormContainer.js
              - sap/ui/layout/changeHandler/RenameSimpleForm.js
              - sap/ui/layout/changeHandler/UnhideSimpleForm.js
              - sap/ui/layout/cssgrid/CSSGrid.js
              - sap/ui/layout/cssgrid/CSSGridRenderer.js
              - sap/ui/layout/cssgrid/GridBasicLayout.js
              - sap/ui/layout/cssgrid/GridBoxLayout.js
              - sap/ui/layout/cssgrid/GridBoxLayoutStyleHelper.js
              - sap/ui/layout/cssgrid/GridItemLayoutData.js
              - sap/ui/layout/cssgrid/GridLayoutBase.js
              - sap/ui/layout/cssgrid/GridLayoutDelegate.js
              - sap/ui/layout/cssgrid/GridResponsiveLayout.js
              - sap/ui/layout/cssgrid/GridSettings.js
              - sap/ui/layout/cssgrid/ResponsiveColumnItemLayoutData.js
              - sap/ui/layout/cssgrid/ResponsiveColumnLayout.js
              - sap/ui/layout/cssgrid/VirtualGrid.js
              - sap/ui/layout/flexibility/BlockLayoutCell.flexibility.js
              - sap/ui/layout/flexibility/Form.flexibility.js
              - sap/ui/layout/flexibility/FormContainer.flexibility.js
              - sap/ui/layout/flexibility/FormElement.flexibility.js
              - sap/ui/layout/flexibility/SimpleForm.flexibility.js
              - sap/ui/layout/form/ColumnContainerData.js
              - sap/ui/layout/form/ColumnElementData.js
              - sap/ui/layout/form/ColumnLayout.js
              - sap/ui/layout/form/ColumnLayoutRenderer.js
              - sap/ui/layout/form/Form.js
              - sap/ui/layout/form/FormContainer.js
              - sap/ui/layout/form/FormElement.js
              - sap/ui/layout/form/FormLayout.js
              - sap/ui/layout/form/FormLayoutRenderer.js
              - sap/ui/layout/form/FormRenderer.js
              - sap/ui/layout/form/GridContainerData.js
              - sap/ui/layout/form/GridElementData.js
              - sap/ui/layout/form/GridLayout.js
              - sap/ui/layout/form/GridLayoutRenderer.js
              - sap/ui/layout/form/ResponsiveGridLayout.js
              - sap/ui/layout/form/ResponsiveGridLayoutRenderer.js
              - sap/ui/layout/form/ResponsiveLayout.js
              - sap/ui/layout/form/ResponsiveLayoutRenderer.js
              - sap/ui/layout/form/SimpleForm.js
              - sap/ui/layout/form/SimpleFormRenderer.js
              - sap/ui/layout/library.js
              - sap/fe/navigation/NavigationHandler.js
              - sap/fe/navigation/library.js
              - sap/fe/navigation/PresentationVariant.js
              - sap/fe/navigation/SelectionVariant.js
              - sap/fe/navigation/NavError.js
              - '!**/*-preload.js'
              - '!sap/ushell/appRuntime/ui5/BusyIndicator.js'
              - '!sap/ushell/appRuntime/ui5/libsPreload.js'
              - '!sap/ushell/appRuntime/ui5/plugins/baseRta/'
              - '!sap/ushell/appRuntime/ui5/plugins/rtaAgent/'
              - '!sap/ushell/appRuntime/ui5/plugins/rtaShell/'
              - '!sap/ushell/appRuntime/neo/*.js'
            resolve: false
            renderer: false
          - mode: require
            filters:
              - sap/ui/core/Core.js
      bundleOptions:
        optimize: true
        usePredefineCalls: true
        decorateBootstrapModule: true
        numberOfParts: 4
    - bundleDefinition:
        name: sap/ushell_abap/bootstrap/evo/abap.js
        # [SAPUI5 1.x only]
        sections:
          - mode: raw
            filters:
              - sap/ushell/bootstrap/ui5loader-config.js
              - ui5loader-autoconfig.js
            declareRawModules: false
            resolve: true
          - mode: preload
            filters:
              - sap/ushell_abap/bootstrap/abap-def.js
              - sap/ui/thirdparty/datajs.js
            resolve: true
          - mode: preload
            # This is a copy of the sap-ui-core preload bundle
            # Any changes and new usages have to be aligned with the UI5 Core Team
            filters: &sap-ui-core-preload
              - sap/ui/core/Core.js
              - sap/ui/performance/trace/_InteractionImpl.js
            resolve: true
          - mode: preload
            # Include sap/ushell/base to avoid loading of chunk
            filters:
              - sap/ushell/base/
            resolve: false
          - mode: raw
            filters:
              - sap/ushell_abap/bootstrap/abap-def-loader.js
            declareRawModules: false
            resolve: false
      bundleOptions:
        optimize: true
        usePredefineCalls: true
        decorateBootstrapModule: true
    - bundleDefinition:
        name: sap/ushell_abap/bootstrap/bootBundle.js
        # [SAPUI5 2.x only]
        sections:
          - mode: preload
            filters:
              - sap/ui/thirdparty/datajs.js
            resolve: false
          - mode: provided
            # use a stricter version of the exclude-external-libs
            # filter to ensure that no other dependencies sneak into the boot bundle
            # and break the assumptions that only base and bootstrap modules are used during boot
            filters:
              - "**/"                                             # assume everything as provided ...
              - "!sap/ushell/bootstrap/"                          # ... except the modules from sap/ushell/bootstrap
              - "!sap/ushell/base/"                               # ... and sap/ushell/base
              - "!sap/ushell_abap/bootstrap/"                     # ... and abap related bootstrap parts
              - "!sap/ushell_abap/thirdparty/sap-xhrlib-esm*.js" # ... and thirdparty that contains ESM modules which
              - "!sap/ui/integration/thirdparty/"                 # can't be bundled anyways and would cause build errors
              - "!sap/ui/vk/thirdparty/"
          - mode: preload
            filters:
              - sap/ushell_abap/bootstrap/ConfigurationProvider.js
              - sap/ushell_abap/bootstrap/BootTask/
            resolve: true
          - mode: preload
            # Include sap/ushell/base to avoid loading of chunk
            filters:
              - sap/ushell/base/
            resolve: false
      bundleOptions:
        optimize: true
        decorateBootstrapModule: true
  # Runtime Bundles ============================================
    - bundleDefinition:
        name: sap/ushell_abap/bootstrap/evo/core-min.js
        # [SAPUI5 1.x only]
        sections:
          - mode: provided
            filters:
              - sap/ushell_abap/bootstrap/evo/abap.js
            resolve: false
          - mode: bundleInfo
            name: sap/ushell_abap/preload-bundles/flex-plugins.js
            filters:
              - sap/ushell_abap/preload-bundles/flex-plugins.js
          - mode: preload
            filters:
              - sap/f/gen/ui5/webcomponents/dist/Avatar.js
              - sap/f/gen/ui5/webcomponents/dist/Button.js
              - sap/f/gen/ui5/webcomponents_fiori/dist/ShellBar.js
              - sap/f/gen/ui5/webcomponents_fiori/dist/ShellBarBranding.js
              - sap/f/gen/ui5/webcomponents_fiori/dist/ShellBarItem.js
              - sap/f/gen/ui5/webcomponents_fiori/dist/ShellBarSearch.js
              - sap/f/gen/ui5/webcomponents_fiori/dist/ShellBarSpacer.js
              - sap/f/thirdparty/ui5/webcomponents_icons_business_suite/AllIcons.js
              - sap/f/thirdparty/ui5/webcomponents_icons_tnt/AllIcons.js
              - sap/f/thirdparty/ui5/webcomponents_icons/AllIcons.js
              - sap/f/GridContainer.js
              - sap/f/GridContainerItemLayoutData.js
              - sap/m/App.js
              - sap/m/BusyIndicator.js
              - sap/m/DynamicDateRange.js
              - sap/m/GenericTile.js
              - sap/m/GenericTileRenderer.js
              - sap/m/IllustratedMessage.js
              - sap/m/Image.js
              - sap/m/ImageContent.js
              - sap/m/ImageContentRenderer.js
              - sap/m/Input.js
              - sap/m/InputBase.js
              - sap/m/Label.js
              - sap/m/Link.js
              - sap/m/LinkRenderer.js
              - sap/m/MessagePage.js
              - sap/m/MessageStrip.js
              - sap/m/NumericContent.js
              - sap/m/NumericContentRenderer.js
              - sap/m/Page.js
              - sap/m/ScrollContainer.js
              - sap/m/ScrollContainerRenderer.js
              - sap/m/SearchField.js
              - sap/m/SearchFieldRenderer.js
              - sap/m/SelectDialog.js
              - sap/m/SelectDialogBase.js
              - sap/m/Suggest.js
              - sap/m/SuggestionItem.js
              - sap/m/SuggestionList.js
              - sap/m/SuggestionListRenderer.js
              - sap/m/Table.js
              - sap/m/TileContent.js
              - sap/m/TileContentRenderer.js
              - sap/m/routing/Router.js
              - sap/ui/core/ComponentContainer.js
              - sap/ui/core/CustomData.js
              - sap/ui/core/EventBus.js
              - sap/ui/core/IntervalTrigger.js
              - sap/ui/core/InvisibleMessage.js
              - sap/ui/core/LayoutData.js
              - sap/ui/core/Renderer.js
              - sap/ui/core/ValueStateSupport.js
              - sap/ui/core/XMLComposite.js
              - sap/ui/core/XMLTemplateProcessor.js
              - sap/ui/core/date/Gregorian.js
              - sap/ui/core/delegate/ItemNavigation.js
              - sap/ui/core/delegate/ScrollEnablement.js
              - sap/ui/core/dnd/DragDropInfo.js
              - sap/ui/core/format/NumberFormat.js
              - sap/ui/core/mvc/Controller.js
              - sap/ui/core/mvc/JSView.js
              - sap/ui/core/mvc/XMLView.js
              - sap/ui/core/routing/Router.js
              - sap/ui/core/service/Service.js
              - sap/ui/core/service/ServiceFactory.js
              - sap/ui/core/service/ServiceFactoryRegistry.js
              - sap/ui/model/json/JSONModel.js
              - sap/ui/performance/trace/
              - sap/ui/thirdparty/jquery-mobile-custom.js
              - sap/ushell/Container.js
              - sap/ushell/ApplicationType/
              - sap/ushell/Fiori20AdapterTest.js
              - sap/ushell/SessionHandler.js
              - sap/ushell/System.js
              - sap/ushell/User.js
              - sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js
              - sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js
              - sap/ushell/adapters/local/NavTargetResolutionAdapter.js
              - sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js
              - sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js
              - sap/ushell/adapters/local/UserInfoAdapter.js
              - sap/ushell/api/Copilot.js
              - sap/ushell/api/Inbox.js
              - sap/ushell/api/NewExperience.js
              - sap/ushell/api/RTA.js
              - sap/ushell/api/common/ComponentInstantiation.js
              - sap/ushell/components/ComponentKeysHandler.js
              - sap/ushell/components/container/ApplicationContainer.js
              - sap/ushell/components/pages/controller/PagesAndSpaceId.js
              - sap/ushell/components/SchedulingAgent/*.json                    # json files must be explicitly defined
              - sap/ushell/components/tiles/applauncher/StaticTile.controller.js
              - sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js
              - sap/ushell/components/tiles/cdm/applauncher/Component.js
              - sap/ushell/components/tiles/cdm/applauncher/StaticTile.controller.js
              - sap/ushell/components/tiles/cdm/applauncher/StaticTile.view.js
              - sap/ushell/components/tiles/cdm/applauncher/manifest.json
              - sap/ushell/components/tiles/cdm/applauncherdynamic/Component.js
              - sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js
              - sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.view.xml
              - sap/ushell/components/tiles/cdm/applauncherdynamic/manifest.json
              - sap/ushell/components/tiles/utils.js
              - sap/ushell/iconfonts.js
              - sap/ushell/library.js
              - sap/ushell/modules
              - sap/ushell/override.js
              - sap/ushell/renderer/Renderer.js
              - sap/ushell/renderer/RendererRootView.fragment.xml
              - sap/ushell/renderer/Shell.controller.js
              - sap/ushell/renderer/Shell.view.js
              - sap/ushell/renderer/shellHeader/ShellHeader.fragment.xml
              - sap/ushell_abap/ui/logon/LogonFrameProvider.js
              - sap/ushell/renderers/fiori2/Renderer.js
              - sap/ushell/renderers/fiori2/RendererExtensions.js
              - sap/ushell/renderers/fiori2/Shell.controller.js
              - sap/ushell/renderers/fiori2/Shell.view.js
              - sap/ushell/services/AppLifeCycle.js
              - sap/ushell/services/AppState.js
              - sap/ushell/services/ClientSideTargetResolution.js
              - sap/ushell/services/CommonDataModel.js
              - sap/ushell/services/CrossApplicationNavigation.js
              - sap/ushell/services/DarkModeSupport.js
              - sap/ushell/services/Extension.js
              - sap/ushell/services/FrameBoundExtension.js
              - sap/ushell/services/LaunchPage.js
              - sap/ushell/services/FlpLaunchPage.js
              - sap/ushell/services/MessageBroker.js
              - sap/ushell/services/Menu.js
              - sap/ushell/services/Navigation.js
              - sap/ushell/services/NavTargetResolution.js
              - sap/ushell/services/NavTargetResolutionInternal.js
              - sap/ushell/services/NavigationDataProvider.js
              - sap/ushell/services/PageBuilding.js
              - sap/ushell/services/PagePersistence.js
              - sap/ushell/services/Pages.js
              - sap/ushell/services/Personalization.js
              - sap/ushell/services/PersonalizationV2.js
              - sap/ushell/services/PluginManager.js
              - sap/ushell/services/ReferenceResolver.js
              - sap/ushell/services/ShellNavigation.js
              - sap/ushell/services/ShellNavigationInternal.js
              - sap/ushell/services/SpaceContent.js
              - sap/ushell/services/SupportTicket.js
              - sap/ushell/services/URLParsing.js
              - sap/ushell/services/URLShortening.js
              - sap/ushell/services/Ui5ComponentLoader.js
              - sap/ushell/services/UserDefaultParameterPersistence.js
              - sap/ushell/services/UserDefaultParameters.js
              - sap/ushell/services/UserInfo.js
              - sap/ushell/services/UserRecents.js
              - sap/ushell/services/VisualizationDataProvider.js
              - sap/ushell/services/VisualizationInstantiation.js
              - sap/ushell/ui/shell/SysInfoBar.js
              - sap/ushell/ui/shell/SysInfoBarRenderer.js
              - sap/ushell/ui5service/ShellUIService.js
              - sap/ushell/utils/HttpClient.js
              - sap/ushell/utils/utilsCdm.js
              - sap/ushell_abap/bootstrap/LoadLaunchpadModule.js
              - sap/ushell_abap/adapters/abap/AppStateAdapter.js
              - sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter.js
              - sap/ushell_abap/adapters/abap/ContainerAdapter.js
              - sap/ushell_abap/adapters/abap/LaunchPageAdapter.js
              - sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter.js
              - sap/ushell_abap/adapters/abap/MenuAdapter.js
              - sap/ushell_abap/adapters/abap/NavTargetResolutionAdapter.js
              - sap/ushell_abap/adapters/abap/NavTargetResolutionInternalAdapter.js
              - sap/ushell_abap/adapters/abap/PageBuildingAdapter.js
              - sap/ushell_abap/adapters/abap/PagePersistenceAdapter.js
              - sap/ushell_abap/adapters/abap/PersonalizationAdapter.js
              - sap/ushell_abap/adapters/abap/PersonalizationV2Adapter.js
              - sap/ushell_abap/adapters/abap/Ui5ComponentLoaderAdapter.js
              - sap/ushell_abap/adapters/abap/UserInfoAdapter.js
              - sap/ushell_abap/library.js
              - sap/ushell_abap/pbServices/
              - '!sap/viz/libs/sap-viz.js'
              - '!sap/ui/unified/'
            resolve: true
            renderer: true
          - mode: require
            filters:
              - sap/ui/core/Core.js
      bundleOptions:
        optimize: true
        usePredefineCalls: true
        numberOfParts: 4
    - bundleDefinition:
        name: sap/ushell_abap/bootstrap/evo/core-ext-light.js
        # [SAPUI5 1.x only]
        sections:
          - mode: provided
            filters:
              - sap/ushell_abap/bootstrap/evo/abap.js
            resolve: false
          - mode: provided
            filters:
            - sap/ushell_abap/bootstrap/evo/core-min*.js
            resolve: false
          - mode: preload
            filters:
              - jquery.sap.* # necessary to ensure CSP compliance - as UI5 stubbing layer causes otherwise sync requests
              - sap/base/
              - sap/f/
              - sap/m/
              - sap/ui/base/
              - sap/ui/core/
              - sap/ui/dom/
              - sap/ui/events/
              - sap/ui/layout/ # layout's library.js is used in sap.f in core-min
              - sap/ui/model/
              - sap/ui/performance/
              - sap/ui/security/
              - sap/ui/thirdparty/
              # sap.m has a dependency to sap.ui.unified, therefore, it must be part of
              # the core resources complement (core-min might include the library.js)
              - sap/ui/unified/
              - sap/ui/util/
              - sap/ushell/
              - sap/ushell_abap/
              - '!**/*-preload*.js'
              - '!**/*.support.js'
              - '!**/designtime/'
              - '!sap/f/thirdparty/_dynamics/'
              - '!sap/m/rules/'
              - '!sap/ui/core/messagebundle*.properties'
              - '!sap/ui/core/plugin/'
              - '!sap/ui/core/rules/'
              - '!sap/ui/core/support/'
              - '!sap/ui/core/tmpl/'
              - '!sap/ui/core/util/serializer/'
              - '!sap/ui/core/util/*MockServer*'
              - '!sap/ui/thirdparty/blanket.js'
              - '!sap/ui/thirdparty/qunit*'
              - '!sap/ui/thirdparty/sinon*'
              - '!sap/ui/thirdparty/jszip*' # only used in sap.ui.support, sap.ui.documentation.sdk, sap.zen.* and some test resources (BCP: 002075129400001172342023)
              - '!sap/ushell/adapters/'
              - '!sap/ushell/applications/'
              - '!sap/ushell/appRuntime/'
              - '!sap/ushell/bootstrap/'
              - '!sap/ushell/components/'
              - '!sap/ushell/Layout.js'
              - '!sap/ushell/plugins/'
              - '!sap/ushell/preload-bundles/'
              - '!sap/ushell/services/SearchCEP.js'
              - '!sap/ushell/UIActions.js'
              - '!sap/ushell/ui/appfinder/'         # part of the homepage-af-dep bundle
              - '!sap/ushell/ui/launchpad/'
              - '!sap/ushell/ui/tile/'
              - '!sap/ushell/ui5service/UserStatus.js'
              - '!sap/ushell/utils/'
              - '!sap/ushell_abap/bootstrap/'
              - '!sap/ushell_abap/thirdparty/sap-xhrlib-esm*.js'
              - '!sap/ushell_abap/ui5appruntime/'
              # include only the legacy KPI tiles and legacy factsheet
              # modules from sap/ushell/components
              # all others should be loaded via individual Component-preload bundles
              # or be part of the core-min or homepage-af-dep bundle
              - sap/ushell/components/tiles/indicator*/**
              - sap/ushell/components/tiles/generic.js
              - sap/ushell/components/tiles/sbtilecontent.js
              - sap/ushell/components/factsheet/
              # dependency of SearchableContent service
              - sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js
              # dependency of NotificationsV2 service
              - sap/ushell/utils/Deferred.js
              # dependency of sap.ushell.ui.QuickAccess
              - sap/ushell/utils/AppType.js
              # Default ushell modules
              - sap/ushell/components/shell/Notifications/NotificationsModule.js
              - sap/ushell/components/shell/ProductSwitch/ProductSwitchModule.js
            resolve: false
      bundleOptions:
        optimize: true
        usePredefineCalls: true
        numberOfParts: 4
  # Library Bundle ============================================
    - bundleDefinition:
        name: sap/ushell_abap/library-preload.js
        sections:
          # disabling thirdparty lib preload as it is already bundled with ushell
          # if it gets removed there its has to be enabled here again
          # - mode: preload
          #   filters:
          #     - sap/ui/thirdparty/datajs.js
          #     - sap/ui/thirdparty/jquery.js
          #     - sap/ui/thirdparty/URI.js
          #   resolve: false
          - mode: preload
            filters:
              # Add abap relevant adapters from ushell
              - sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js
              - sap/ushell/adapters/cdm/util/AppForInbound.js
              - sap/ushell/adapters/cdm/util/cdmSiteUtils.js
              - sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js
              - sap/ushell/adapters/local/NavTargetResolutionAdapter.js
              - sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js
              - sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js
              - sap/ushell/adapters/local/UserInfoAdapter.js
              # Required by Classic Homepage
              - sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js
            resolve: false
          - mode: provided
            filters: &exclude-external-libs
              - "**/"                             # assume everything as provided ...
              - "!sap/ushell_abap/"               # ... except the modules from sap/ushell_abap
              - "**/designtime/"                  # also exclude all designtime ...
              - "**/*.designtime.js"              #
              - "**/support/"                     # ... and support files
              - "**/*.support.js"                 #
              - "!sap/ui/integration/thirdparty/" # Do not include thirdparty that contains ESM modules which
              - "!sap/ui/vk/thirdparty/"          # can't be bundled anyways and would cause build errors
        # Include Chunks --------------------------
          - mode: bundleInfo
            name: sap/ushell_abap/library-preload-bootstrap.js
            filters:
              - sap/ushell_abap/library-preload-bootstrap.js
            resolve: false
          - mode: provided
            filters:
              - sap/ushell_abap/library-preload-bootstrap.js
            resolve: false
        # Bundle the Rest --------------------------
          - mode: preload
            filters:
              - sap/ushell_abap/
              # Exclude all bundles
              - "!sap/ushell_abap/**/*-preload*.js"
              - "!sap/ushell_abap/preload-bundles/"
              - "!sap/ushell_abap/bootstrap/evo/abap.js"
              - "!sap/ushell_abap/bootstrap/appruntime-min*.js"
              - "!sap/ushell_abap/bootstrap/evo/core-min*.js"
              # Exclude thirdparty that contains ESM modules which can't be bundled and would cause build errors
              - "!sap/ushell_abap/thirdparty/sap-xhrlib-esm*.js"
            resolve: true
            renderer: true
      bundleOptions:
        optimize: true
  jsdoc:
    excludes:
      - sap/ui/Device.js
      - sap/ushell_abap/bootstrap/evo/abap.js
      - "sap/ushell_abap/bootstrap/appruntime-*"
      - "sap/ushell_abap/bootstrap/evo/core-*"
