-
Notifications
You must be signed in to change notification settings - Fork 243
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
plugin.xml <dependency> tag commit attribute doesn't work as documented for branches #830
Comments
I was about to open a bug on cordova-fetch with this exact same behaviour but wasn't entirely sure if it should be opened there or here, on cordova-lib. Anyway, I'll just use this issue and expand with my findings on the situation, hopefully it will help understand the real root of the problem. As reported here, there's a mismatch between the public documentation and the behaviour experienced when installing a cordova plugin that in turn depends on another plugin and specified the commit attribute. https://github.com/apache/cordova-lib/blob/rel/10.0.0/src/plugman/install.js#L306 : Here the model representing the dependency contains all the correct information as obtained from PluginInfo, namely, URL, ID, git_ref, etc, they are all correctly parsed. Example: {
"id": "cordova-plugin-secure-storage",
"version": "",
"url": "<https://github.com/OutSystems/cordova-plugin-secure-storage.git>",
"subdir": "",
"commit": "2.6.8-OS5",
"git_ref": "2.6.8-OS5",
"install_dir": "/Users/calcifer/Development/tmp/test-plugin-dependency/myapp/plugins/cordova-plugin-secure-storage"
} In fact, this is the value of cordova-lib/src/plugman/install.js Lines 545 to 546 in 9fd7354
possiblyFetch where the "id" argument receives the value of the URL alone. In turn, possiblyFetch ends up executing cordova-fetch by providing only the following inputs:
As we can see, This is why I wasn't sure if this is a bug here or on cordova-fetch. This is replicable on cordova-cli 10.0.0. |
Bug Report
Problem
The documentation on how to use plugin.xml dependency tag does not match usage.
Either there is a bug in cordova-lib or the documentation is incorrect.
Here is the documentation:
What is expected to happen?
When installing a plugin that has this dependency tag in plugin.xml:
I expect that most recent version on branch
2.x-custom
should be retrieved.What does actually happen?
Instead it seems to ignore the
commit
attribute and fetches themaster
branch. Here is the log:Information
Interestingly, this does produce the desired result:
Environment, Platform, Device
windows building android
mac building ios
Version information
cordova 9.0.0
cordova-lib 9.0.1
Any plugin with this type of dependancy should demonstrate this problem, but in this case, my examples are retrieving:
Checklist
The text was updated successfully, but these errors were encountered: