toolsplus / nx-forge

Atlassian Forge plugin for Nx
https://toolsplus.github.io/nx-forge/
MIT License
18 stars 4 forks source link

[question] Specify values for manifest.yml during build (@toolsplus/nx-forge:build) #20

Closed arnthors closed 2 years ago

arnthors commented 2 years ago

Hello there

We are a few developers collaborating on a Forge project, so there are a few different app-id's and base url's going around. In a perfect world we would have a separate env file containing these values which, during build, could then be injected into the build manifest.yml. However I'm not really seeing how to achieve this. Am I missing something obvious here?

tbinna commented 2 years ago

Hey @arnthors,

Your use case makes sense. At the moment the plugin does not do any sort of variable substation on the manifest.yml and I am not sure if this would be required in the long term. I believe Atlassian is working on its own solution for multi-owner apps. Once it is clear what that solution looks like, I think we can revisit this and see what the plugin could do to support it (if necessary at all). I would like to avoid including custom solutions in this project as much as possible unless we foresee other use cases where variable substitution from an env file in the manifest.yml makes sense.

For now, you should be able to solve this using a custom executor in your project. You could create a Forge project-specific .env file in apps/my-forge-app which will be loaded by Nx. After that, your custom executor should substitute the variables in your manifest.yml.

arnthors commented 2 years ago

Thanks for your reply and suggestion @tbinna