-
-
Notifications
You must be signed in to change notification settings - Fork 24
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
Generate action wrappers code #71
Comments
I can work on that if you want @krzema12 |
@jmfayard That would be really cool, let's try that! I thought about kotlinpoet, but then I figured it will be simpler to generate the whole code by hand because I don't have experience with kotlinpoet. However, I'm open to checking how kotlinpoet will work for us. So far I don't have much: https://github.com/krzema12/github-actions-kotlin-dsl/commits/generator .
I propose to implement and merge it often and in small pieces, so that if our ideas diverge, we can quickly sync and no large amount of work could be wasted in case of change of approach. |
I have a MVP here #75 |
Reading GitHub docs, it turned out this YAML file is called "metadata".
PoC prepared by Jean-Michel Fayard, refactored by Piotr Krzemiński.
It's not really needed to make them data classes, it's even against their real meaning. Their task is to get built and execute `toYamlArguments()` function.
This is the first wrapper that can be generated. It's the simplest one.
It's not needed since the code is generated, and we have unit tests in the generator for generated code.
To say more about the complexity level of this action and wrapper.
…name Needed to generate custom type name in enum typing.
Before this change, when rendering the comment in IntelliJ, the link was invisible. Now it's visible and clickable. I couldn't set the same visible text as the URL because then the link is not visible (a bug?).
Not needed when all wrappers are generated.
Nice milestone: all wrappers are now generated, there're no hand-crafted ones. What I plan to do still in this task:
|
Nice! |
There should be a piece of logic that, given basic info about the action, generates Kotlin code.
The text was updated successfully, but these errors were encountered: