rogerluan / arkana

Use dotenv files for Android and iOS projects.
BSD 2-Clause "Simplified" License
362 stars 18 forks source link

Add a section on guidance of ensuring running arkana command before build every time #38

Closed tomisacat closed 1 year ago

tomisacat commented 1 year ago

It's easy for developers overlook to run bundle exec arkana ... after switching target/environment, and it's annoying when bug occurs due to mismatch token/keys.

Suggest to add a New Run Script Phase before Compile Sources for each target.

rogerluan commented 1 year ago

Hi @tomisacat 👋

I appreciate your input! I feel your pain point, and there's this section in the README that refers to this process:

Arkana should always be run before attempting to build your project, to make sure the files exist and are up-to-date (according to the current config file). This means you might need to add the Arkana run command in your CI/CD scripts, fastlane, Xcode Build Phases, or something similar.

I left this step up to the developer to decide which hook to use (if any) — e.g. during Build Phase — and not be something enforced by Arkana, so it's more flexible (adapting to any type of project, workflow, and build system that your project may use).

Just a heads up that, if you're considering adding a Build Phase for this step, make sure you tell Xcode what are the input and output files so it doesn't run the Build Phase on every build, otherwise this might bust your incremental builds cache and increase build time unnecessarily 😉

tomisacat commented 1 year ago

@rogerluan Thanks for your reply! The flexibility you mentioned is reasonable and practical. And Thanks for you heads up about the input/output on Build Phase script, a new TIL for me! Thanks 😄