Hi there, I am a student of the Master Degree in Computer Science at the University of Padua. I am currently working on my thesis. The thesis is about Pulumi and I am studying which benefits a Scala support for pulumi would actually bring. Since I don’t have the time for a complete and formal integration of the Scala language for Pulumi, I thought to write a partial support in the following way:
- Write a Java compiler plugin that, while compiling the Java source code of Pulumi, generates a support file describing the structure of the Pulumi’s Java source code
- With Scala3 macros analyze such a support file and use it to generate the syntactic sugar for Scala’s support for Pulumi (that will call Pulumi Java’s libraries while offering a powerful abstraction to the user for using Pulumi with scala)
Said this, I am writing to ask you if you would help me in understanding how the Java source code for Pulumi is generated and how the whole cycle of Pulumi source code generation works. As I understood so far, there is a go program that automatically generates the source code of the Java libraries. In such case, the Java’s compiler plugin would superfluous since I could use one of the templates that you may use for code generation already.
Thank you in advance
P.S. Related to what I wrote, I opened an issue on github since I have problems in building the project https://github.com/pulumi/pulumi-java
. The issue link: https://github.com/pulumi/pulumi-java/issues/909