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

Add Kotlin Symbol Processor for auto configuration #28668

Closed
wants to merge 2 commits into from

Conversation

bespaltovyj
Copy link

KSP issue - #28046
I made a draft in which I added support for ksp.
I have a few questions:

  1. Сan I use kotlin?
  2. Do I need to create a separate gradle module for ksp?
  3. Is there a description of the spring-autoconfigure-metadata.properies file somewhere? The result of processing java annotations is slightly different from the results of ksp and it is unclear whether these differences affect something.

If you tell me what fixes are needed now, then after that I will start doing ksp support for spring-boot-configuration-processor

@pivotal-cla
Copy link

@bespaltovyj Please sign the Contributor License Agreement!

Click here to manually synchronize the status of this Pull Request.

See the FAQ for frequently asked questions.

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Nov 13, 2021
@wilkinsona
Copy link
Member

Thanks for opening this, @bespaltovyj. I haven't yet looked closely at what will be required to support KSP, but I had imagined that we would refactor the existing logic so that it can be called from either a Kotlin symbol processor or a Java annotation processor. Compared to duplicating the logic, this should make it easier to achieve consistent behaviour across the two processors particularly in the case of the @ConfigurationProperties processing which is quite complex. I would also prefer that we try to use Java as much as possible.

@wilkinsona wilkinsona marked this pull request as draft November 15, 2021 12:47
@wilkinsona wilkinsona changed the title Draft: Add Kotlin Symbol Processor for auto configuration Add Kotlin Symbol Processor for auto configuration Nov 15, 2021
@bespaltovyj
Copy link
Author

Ok, I'll try to combine KSP and annotation processing in Java.

@cd-ff
Copy link

cd-ff commented Jun 13, 2022

@bespaltovyj thanks for working on this. Do you know if there is still anything missing here, besides you signing the "Contributor License Agreement"?

@bespaltovyj
Copy link
Author

@cd-ff I don't understand what you mean. Can add more details?

@wilkinsona
Copy link
Member

@bespaltovyj I believe @cd-ff was referring to the earlier request to sign the CLA.

@bespaltovyj
Copy link
Author

I resign CLA yesterday

@pivotal-cla
Copy link

@bespaltovyj Thank you for signing the Contributor License Agreement!

@wslaghekke
Copy link

What would be required to allow this feature to be implemented, are there changes that need to be made or just tests that need to be fixed / need to work?

@aboutZZ
Copy link

aboutZZ commented May 19, 2023

Any updates?

@philwebb philwebb added the for: team-meeting An issue we'd like to discuss as a team to make progress label May 20, 2023
@philwebb philwebb removed the for: team-meeting An issue we'd like to discuss as a team to make progress label Jul 26, 2023
@wilkinsona
Copy link
Member

We chatted about this today and I'm afraid that we decided that we don't think this is something that we'll be able to merge. Sorry. We need to take a step back, consider our options for #28046 and decide how we want to tackle KSP support in general.

@wilkinsona wilkinsona closed this Jul 26, 2023
@wilkinsona wilkinsona added status: declined A suggestion or change that we don't feel we should currently apply and removed status: waiting-for-triage An issue we've not yet triaged labels Jul 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: declined A suggestion or change that we don't feel we should currently apply
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants