Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
dominik42 opened this issue May 1, 2022 · 1 comment
Open

Comments

@dominik42
Copy link

dominik42 commented May 1, 2022

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 ?

@dominik42 dominik42 changed the title extends spring-configuration-metadata.xml with all supported parameter extend spring-configuration-metadata.xml with all supported parameter May 1, 2022
@dominik42 dominik42 changed the title extend spring-configuration-metadata.xml with all supported parameter extend spring-configuration-metadata.json with all supported parameter May 1, 2022
@jcgueriaud1
Copy link

jcgueriaud1 commented May 1, 2022

I think it's a duplicate of this ticket: #689
You also have some explanation here: #635 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants