The preGenCommand may generate files, change paths, etc. If we run this after checking the cache, it never gets the chance to run if the cache hasn't changed. Running it before checking the cache lets us make these changes and _then_ we can check the cache to see if we need to regenerate or not.
Co-authored-by: Dale Myers <dalemyers@microsoft.com>
* allow spec to be a comma separated list of specs instead of one
* update readme and --spec command documentation
* update Changelog
* print project name
* Adding graphviz support in dump
Added tests
* Updating graph viz to use UML formatting
Updating README
Adding Changelog entry
* Adding dependency type to graphviz display
* Improving variable expansion runtime
The current implementation of variable expansion is O(n x m) with n being the
number of strings in the project spec and m being the number of project variables.
This implementation is now O(n).
Also, this effectively deprecates the support for $legacy_variables in favor of the
${new_variables} making this whole patch possible.
* Adding option to disable variable expansion
* Adding performance test for spec loading
* Updating changelog
When the `Info.plist` doesn’t exist in filesystem (e.g. because it’s in `.gitignore`)
xcodegen generates the file but doesn’t add it to the `xcodeproj`. Only when
`xcodegen` is executed a second time it is included.
This changes the order of generation of these files to first generate the
plist and then the project.
This allows parameterizing templates. Also change
placeholder syntax to `${placeholderName}` also for
existing placeholders `$target_name`and `$platform`
and generate warnings when using the old placeholder
syntax.