CB-11777: Restore plugins before preparing #487
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When running
cordova prepare
to restore platforms and plugins, the platform has prepare called before the plugins are restored. This leads to the top-level config.xml data being copied into the platform at prepare time, and then plugin config being appended when they are later restored.In my case, this was causing the Crosswalk version defined in my top-level config.xml to be overwritten by an undefined version when the plugin was installed. A workaround is to run
cordova prepare
a second time.A better fix is probably to restore the platforms, restore the plugins, and then run prepare after everything has been restored.
All the existing tests pass, but this does change the order of operations around the prepare hooks, and I'm not certain if other projects/plugins have dependencies on that ordering.
/cc @vladimir-kotikov