apatrida09/22/2023, 6:35 PM
But, Taking existing compiler plugin projects found in open-source, and massaging them slightly, none of them work in this model. Compile/Run does the right thing. Gradle run does the right thing. IDE during editing, not the right thing. (I'm not yet modifying the FIR but instead modifying the file as a preprocessor to add a function, just to test that it shows up as known by the IDE) I've also checked all of the compiler plugin example, compiler plugin template, compiler plugin sample, crash course, etc. and none either do it all in one project, or don't work when converted to try and accompilsh this. One like Cite looked like a good test case, but didn't work either (added a small change here to make it more obvious if loaded). Is there really not 1 working repo that does this model that shows the best practice and works? Anyone have a repo to share?e @Justin Tullgren @leandro @Rick Clephas@natario1 @Vampire (people talking recently on similar topics)...?
Javier09/22/2023, 6:46 PM
Rick Clephas09/22/2023, 6:51 PM
Vampire09/22/2023, 6:52 PM
apatrida09/22/2023, 7:21 PM
So if you want to play with it you need to build IDEA from sources (there is a preparedI think this actually should berun configuration for that. Also you will need to set
IDEA Community (K2 Kotlin)registry key to
kotlin.k2.only.bundled.compiler.plugins.enabledin the IDE you built to enable plugins loading (there are not solved questions about binary compatibility, so by default only official plugins are loaded)
might be that compiler also needs free arg set of
Javier09/22/2023, 8:15 PM
using the Gradle plugin approach.
apatrida09/23/2023, 1:42 AM
Vampire09/23/2023, 12:07 PM
I saw you talking recently with knowledge related to the whole dynamic of compiler plugin, gradle plugin, getting them to load correctly, and so on.
No, I have no knowledge about compiler plugins at all, besides that they exist. All I contributed was how to use a composite build properly to substitute a dependency genetically which happens to be faintly related, as compiler plugins are resolved as dependencies.
What I'm trying to do is get this information into one place to benefit the community, and I hope that isn't rude to try and do.
It is not, to achieve this goal, best collect the information and write a blog post. :-) But pinging people to get an answer is. "Random" in that context doesn't mean you just pick any names. It means the pinged person is not part of this particular conversation and you ping them because you think they could answer your question.
People will come and ask, and ask, and ask.
That they will anyway unfortunately. For the next 90 days the few ones that do search before they ask will find it, all others will still ask. And after the 90 days even less people will search successfully as they are either not even aware of the linen archive or too lazy to switch to a different page to search. So while your intentions are of course great, your action is not. ;-)
ephemient09/23/2023, 2:54 PM
Please do not ping or mention someone directly to get your questions answered, specially project owners, whether the project is Kotlin or other, unless they specifically indicate that you can.
is explicitly listed in the guidelines you agreed to when joining this workspace
apatrida09/23/2023, 7:00 PM
ephemient09/23/2023, 7:02 PM
apatrida09/23/2023, 7:04 PM
Justin Tullgren09/25/2023, 3:54 PM
apatrida09/25/2023, 8:07 PM
Askhar Aydarov09/29/2023, 8:00 PM
Javier09/29/2023, 9:23 PM
apatrida10/10/2023, 5:20 PM