Skip to content

extend spring-configuration-metadata.json with all supported parameter #1036

@dominik42

Description

@dominik42

The target artifact for this repository (vaadin-spring-12.43.jar) contains the META-INF/spring-configuration-metadata.json. This file contains the properties which are available for the spring boot config file (application.properties or application.yml).
All major IDEs use such files to provide context assistance for Spring Boot config parameter.

This file should therfore contain ALL properties they are available to use. Currently, only a subset are included.
After extracting the file from the jar due to I can't find the file within the source repo, only the following properties are defined:

{
  "groups": [
    {
      "name": "vaadin",
      "type": "com.vaadin.flow.spring.VaadinConfigurationProperties",
      "sourceType": "com.vaadin.flow.spring.VaadinConfigurationProperties"
    }
  ],
  "properties": [
    {
      "name": "vaadin.async-supported",
      "type": "java.lang.Boolean",
      "description": "Whether asynchronous operations are supported.",
      "sourceType": "com.vaadin.flow.spring.VaadinConfigurationProperties",
      "defaultValue": true
    },
    {
      "name": "vaadin.blacklisted-packages",
      "type": "java.util.List<java.lang.String>",
      "description": "Custom package blacklist that should be skipped in scanning.",
      "sourceType": "com.vaadin.flow.spring.VaadinConfigurationProperties"
    },
    {
      "name": "vaadin.pnpm-enabled",
      "type": "java.lang.Boolean",
      "description": "Whetcher pnpm support is enabled",
      "sourceType": "com.vaadin.flow.spring.VaadinConfigurationProperties",
      "defaultValue": false
    },
    {
      "name": "vaadin.url-mapping",
      "type": "java.lang.String",
      "description": "Base URL mapping of the Vaadin servlet.",
      "sourceType": "com.vaadin.flow.spring.VaadinConfigurationProperties",
      "defaultValue": "\/*"
    },
    {
      "name": "vaadin.whitelisted-packages",
      "type": "java.util.List<java.lang.String>",
      "description": "Custom package whitelist that should be scanned.",
      "sourceType": "com.vaadin.flow.spring.VaadinConfigurationProperties"
    }
  ],
  "hints": []
}

Also, the mentioned VaadinConfigurationProperties contains only the java class members mentioned as properties.

But one can declare and use additional properties not mentioned here, e.g.

vaadin:
  compatibilityMode: false
  devmode:
    transpile: true
  i18n:
    provider: ...

Maybe there are a lot more but nobody knows...
Please add all available properties to the META-INF/spring-configuration-metadata.json.
And BTW: where is this file located within the source repositories ?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions