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

Configuration Parameters Overview #4330

Open
1 task
scordio opened this issue Feb 21, 2025 · 7 comments
Open
1 task

Configuration Parameters Overview #4330

scordio opened this issue Feb 21, 2025 · 7 comments

Comments

@scordio
Copy link
Contributor

scordio commented Feb 21, 2025

The user guide mentions several configuration parameters for the Jupiter Test Engine. However, they are a bit scattered throughout the chapters.

What do you think about adding an overview to the appendix, in the style of the Spring Boot Common Application Properties?

In addition to the user guide benefit, I would like to ask JetBrains if they are open to support code completion in junit-platform.properties files. Having such an overview in the docs might help with that request.

Related Issues

Deliverables

  • Add a configuration parameters overview to the user guide
@YongGoose
Copy link
Contributor

IMHO, It's very good idea 👍

@marcphilipp
Copy link
Member

I second that!

Ideally, we should generate a machine-readable format from our code that can be used to generate the User Guide appendix and included in the JAR so IDEs don't have to hard-code the allowed keys.

@scordio Do you know how this is implemented in IntelliJ IDEA for Spring?

@sbrannen
Copy link
Member

FYI: this is a duplicate of

So, we should only keep one of the issues.

Normally we'd close the newer (duplicate) one, but we could also keep this issue since it has a bit more information.

@sbrannen
Copy link
Member

sbrannen commented Feb 25, 2025

Ideally, we should generate a machine-readable format from our code that can be used to generate the User Guide appendix and included in the JAR so IDEs don't have to hard-code the allowed keys.

@scordio Do you know how this is implemented in IntelliJ IDEA for Spring?

Spring Boot has a specific metadata format (JSON file included in JAR) that IDEs read.

That gets auto-generated based on @ConfigurationProperties (see reference docs), but you can also manually create those JSON files.

They look something like this.

{"properties": [
	{
		"name": "my.messaging.addresses",
		"defaultValue": ["a", "b"]
	},
	{
		"name": "my.messaging.container-type",
		"defaultValue": "simple"
	}
]}

There is no such metadata format for configuration properties (Spring properties) supported directly by the Spring Framework, so I documented them manually here.


As a side note, the documentation for the Common Application Properties for Spring Boot that @scordio linked to is generated from those JSON files in JARs on the classpath for the Spring Boot build.

@sbrannen
Copy link
Member

Spring Boot has a specific metadata format (JSON file included in JAR) that IDEs read.

Someone in the Spring engineering team mentioned that they think IntelliJ IDEA originally read those JSON files but that IDEA now has its own built-in support for processing @ConfigurationProperties classes.

So, it's worth confirming with the IDEA team whether they even support those Spring Boot JSON files anymore.

@scordio
Copy link
Contributor Author

scordio commented Mar 1, 2025

FYI: this is a duplicate of

Sorry, @sbrannen! I should have searched better...

@scordio Do you know how this is implemented in IntelliJ IDEA for Spring?

No, I'm not aware of the IDEA implementation. As @sbrannen mentioned, I would also suggest to get in touch with the IDEA team and understand if there is some sort of contract, not necessarily restricted to Spring Boot, that libraries and frameworks can leverage.

Would you like me to do it, or would you prefer a JUnit team member doing it?

@marcphilipp
Copy link
Member

Would you like me to do it, or would you prefer a JUnit team member doing it?

Please go ahead or let me know whether I should take care of it. 👍

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

4 participants