Adjust Custom PList field from command line

Hey all,

I’m setting up deployment scripts for our JUCE project. One of the fields in our Custom PList is CFBundleShortVersionString, which I’d like to update from our command line script. The Projucer has a command-line interface, but no way of adjusting the data in the Custom PList field.

Is there a way around this, short of find-and-replace in the .jucer file?

Projucer is not particularly command line friendly, and indeed it doesn’t expose any way to change Exporter Settings on the command line.

If you want a more command line friendly experience when building JUCE projects, I invite you to have a look at FRUT (I’m the author).

Otherwise, you can use something like XMLStarlet ( to do XML manipulation on the command line.

1 Like

Ooh, that looks very interesting! The rest of the build system is CMake as well, so it’d be great if we could circumvent the Projucer altogether.

Would you recommend that you convert your .jucer to CMakeLists.txt once and then edit the CMakeLists.txt from there, or do you keep adjusting the Projucer file and running Jucer2Reprojucer with every change?

I would advise keeping the .jucer file while you are evaluating FRUT. Once you are sure that FRUT does all the things you want (and the way you want them done), you can then switch to using the CMakeLists.txt file only (and removing the .jucer file).

However that’s up to you. I know developers who are keeping the .jucer file, even though they were amongst the firsts to use FRUT. I also know developers who started to use FRUT without having a .jucer file (they were already using a custom CMake-based system). In the end, you will end up with your own workflow, and I’ll be happy to help you if you have any questions.

Alright, this sounds great! I’ll definitely take a look, thanks. :slight_smile:
I’ll reach out to you if we have any questions.