Class BuildTimeContentProcessor

java.lang.Object
io.quarkus.devui.deployment.BuildTimeContentProcessor

public class BuildTimeContentProcessor extends Object
This creates static content that is used in dev UI. For example the index.html and any other data (json) available on build time
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    (package private) static class 
    This represents a HSLA color see https://www.w3schools.com/html/html_colors_hsl.asp
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) final org.eclipse.microprofile.config.Config
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) void
    createBuildTimeConstJsTemplate(DevUIConfig config, io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem curateOutcomeBuildItem, io.quarkus.vertx.http.deployment.NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem, List<BuildTimeConstBuildItem> buildTimeConstBuildItems, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.devui.spi.buildtime.QuteTemplateBuildItem> quteTemplateProducer, io.quarkus.deployment.annotations.BuildProducer<InternalImportMapBuildItem> internalImportMapProducer)
    Here we find all build time data and make then available via a const js components can import the const with "import {constName} from '{ext}-data';"
    (package private) void
    createBuildTimeData(io.quarkus.deployment.annotations.BuildProducer<BuildTimeConstBuildItem> buildTimeConstProducer, io.quarkus.deployment.annotations.BuildProducer<ThemeVarsBuildItem> themeVarsProducer, io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem curateOutcomeBuildItem, List<InternalPageBuildItem> internalPages, ExtensionsBuildItem extensionsBuildItem, io.quarkus.vertx.http.deployment.NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem, io.quarkus.deployment.builditem.LaunchModeBuildItem launchModeBuildItem, Optional<io.quarkus.deployment.ide.EffectiveIdeBuildItem> effectiveIdeBuildItem, DevUIConfig devUIConfig)
    Creates json data that is available in Javascript
    (package private) io.quarkus.devui.spi.buildtime.QuteTemplateBuildItem
    createIndexHtmlTemplate(DevUIConfig config, MvnpmBuildItem mvnpmBuildItem, ThemeVarsBuildItem themeVarsBuildItem, io.quarkus.vertx.http.deployment.NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem, List<InternalImportMapBuildItem> internalImportMapBuildItems, RelocationImportMapBuildItem relocationImportMapBuildItem)
    Here we create index.html We aggregate all import maps into one This includes import maps from 3rd party libs from mvnpm.org and internal ones defined above
    (package private) void
    createKnownInternalImportMap(io.quarkus.deployment.annotations.BuildProducer<InternalImportMapBuildItem> internalImportMapProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.devui.spi.DevContextBuildItem> devContextProducer, io.quarkus.vertx.http.deployment.NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem, DevUIConfig config)
    Here we create references to internal dev ui files so that they can be imported by ref.
     
    (package private) void
    gatherMvnpmJars(io.quarkus.deployment.annotations.BuildProducer<MvnpmBuildItem> mvnpmProducer, io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem curateOutcomeBuildItem)
    Here we find all the mvnpm jars
    (package private) void
    loadAllBuildTimeTemplates(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.devui.spi.buildtime.StaticContentBuildItem> buildTimeContentProducer, List<io.quarkus.devui.spi.buildtime.QuteTemplateBuildItem> templates)
     
    (package private) DeploymentMethodBuildItem
    mapDeploymentMethods(List<io.quarkus.devui.spi.buildtime.BuildTimeActionBuildItem> buildTimeActions, io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem curateOutcomeBuildItem, io.quarkus.deployment.Capabilities capabilities)
     
    (package private) void
    mapPageBuildTimeData(List<io.quarkus.devui.spi.page.CardPageBuildItem> cards, List<io.quarkus.devui.spi.page.MenuPageBuildItem> menus, List<io.quarkus.devui.spi.page.FooterPageBuildItem> footers, List<io.quarkus.devui.spi.page.SettingPageBuildItem> settings, List<io.quarkus.devui.spi.page.UnlistedPageBuildItem> unlisteds, io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem curateOutcomeBuildItem, io.quarkus.deployment.annotations.BuildProducer<BuildTimeConstBuildItem> buildTimeConstProducer)
    Here we map all the pages (as defined by the extensions) build time data

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • config

      final org.eclipse.microprofile.config.Config config
  • Constructor Details

    • BuildTimeContentProcessor

      public BuildTimeContentProcessor()
  • Method Details

    • createKnownInternalImportMap

      void createKnownInternalImportMap(io.quarkus.deployment.annotations.BuildProducer<InternalImportMapBuildItem> internalImportMapProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.devui.spi.DevContextBuildItem> devContextProducer, io.quarkus.vertx.http.deployment.NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem, DevUIConfig config)
      Here we create references to internal dev ui files so that they can be imported by ref. This will be merged into the final importmap
    • createRelocationMap

      RelocationImportMapBuildItem createRelocationMap()
    • mapPageBuildTimeData

      void mapPageBuildTimeData(List<io.quarkus.devui.spi.page.CardPageBuildItem> cards, List<io.quarkus.devui.spi.page.MenuPageBuildItem> menus, List<io.quarkus.devui.spi.page.FooterPageBuildItem> footers, List<io.quarkus.devui.spi.page.SettingPageBuildItem> settings, List<io.quarkus.devui.spi.page.UnlistedPageBuildItem> unlisteds, io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem curateOutcomeBuildItem, io.quarkus.deployment.annotations.BuildProducer<BuildTimeConstBuildItem> buildTimeConstProducer)
      Here we map all the pages (as defined by the extensions) build time data
      Parameters:
      buildTimeConstProducer -
      pageBuildItems -
    • mapDeploymentMethods

      DeploymentMethodBuildItem mapDeploymentMethods(List<io.quarkus.devui.spi.buildtime.BuildTimeActionBuildItem> buildTimeActions, io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem curateOutcomeBuildItem, io.quarkus.deployment.Capabilities capabilities)
    • createBuildTimeConstJsTemplate

      void createBuildTimeConstJsTemplate(DevUIConfig config, io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem curateOutcomeBuildItem, io.quarkus.vertx.http.deployment.NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem, List<BuildTimeConstBuildItem> buildTimeConstBuildItems, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.devui.spi.buildtime.QuteTemplateBuildItem> quteTemplateProducer, io.quarkus.deployment.annotations.BuildProducer<InternalImportMapBuildItem> internalImportMapProducer)
      Here we find all build time data and make then available via a const js components can import the const with "import {constName} from '{ext}-data';"
      Parameters:
      quteTemplateProducer -
      internalImportMapProducer -
      pageBuildItems -
    • gatherMvnpmJars

      void gatherMvnpmJars(io.quarkus.deployment.annotations.BuildProducer<MvnpmBuildItem> mvnpmProducer, io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem curateOutcomeBuildItem)
      Here we find all the mvnpm jars
    • createIndexHtmlTemplate

      io.quarkus.devui.spi.buildtime.QuteTemplateBuildItem createIndexHtmlTemplate(DevUIConfig config, MvnpmBuildItem mvnpmBuildItem, ThemeVarsBuildItem themeVarsBuildItem, io.quarkus.vertx.http.deployment.NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem, List<InternalImportMapBuildItem> internalImportMapBuildItems, RelocationImportMapBuildItem relocationImportMapBuildItem)
      Here we create index.html We aggregate all import maps into one This includes import maps from 3rd party libs from mvnpm.org and internal ones defined above
      Returns:
      The QuteTemplate Build item that will create the end result
    • loadAllBuildTimeTemplates

      void loadAllBuildTimeTemplates(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.devui.spi.buildtime.StaticContentBuildItem> buildTimeContentProducer, List<io.quarkus.devui.spi.buildtime.QuteTemplateBuildItem> templates)
    • createBuildTimeData

      void createBuildTimeData(io.quarkus.deployment.annotations.BuildProducer<BuildTimeConstBuildItem> buildTimeConstProducer, io.quarkus.deployment.annotations.BuildProducer<ThemeVarsBuildItem> themeVarsProducer, io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem curateOutcomeBuildItem, List<InternalPageBuildItem> internalPages, ExtensionsBuildItem extensionsBuildItem, io.quarkus.vertx.http.deployment.NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem, io.quarkus.deployment.builditem.LaunchModeBuildItem launchModeBuildItem, Optional<io.quarkus.deployment.ide.EffectiveIdeBuildItem> effectiveIdeBuildItem, DevUIConfig devUIConfig)
      Creates json data that is available in Javascript