CB-13741: Updating checked-in node_modules, otherwise plugin installation fails

This commit is contained in:
Joe Bowser
2017-11-29 13:32:12 -08:00
parent 3dcc319cd2
commit 3642ffb57a
16 changed files with 177 additions and 97 deletions

View File

@@ -5,6 +5,7 @@ git:
node_js:
- "4"
- "6"
- "8"
install:
- npm install
- npm install -g codecov

View File

@@ -20,6 +20,14 @@
-->
# Cordova-common Release Notes
### 2.2.0 (Nov 22, 2017)
* [CB-13471](https://issues.apache.org/jira/browse/CB-13471) File Provider fix belongs in cordova-common
* [CB-11244](https://issues.apache.org/jira/browse/CB-11244) Spot fix for upcoming `cordova-android@7` changes. https://github.com/apache/cordova-android/pull/389
### 2.1.1 (Oct 04, 2017)
* [CB-13145](https://issues.apache.org/jira/browse/CB-13145) added `getFrameworks` to unit tests
* [CB-13145](https://issues.apache.org/jira/browse/CB-13145) added variable replacing to framework tag
### 2.1.0 (August 30, 2017)
* [CB-13145](https://issues.apache.org/jira/browse/CB-13145) added variable replacing to `framework` tag
* [CB-13211](https://issues.apache.org/jira/browse/CB-13211) Add `allows-arbitrary-loads-for-media` attribute parsing for `getAccesses`

View File

@@ -5,6 +5,7 @@ environment:
matrix:
- nodejs_version: "4"
- nodejs_version: "6"
- nodejs_version: "8"
install:
- ps: Install-Product node $env:nodejs_version

View File

@@ -2,48 +2,48 @@
"_args": [
[
{
"raw": "cordova-common@^2.1.0",
"raw": "cordova-common@^2.2.0",
"scope": null,
"escapedName": "cordova-common",
"name": "cordova-common",
"rawSpec": "^2.1.0",
"spec": ">=2.1.0 <3.0.0",
"rawSpec": "^2.2.0",
"spec": ">=2.2.0 <3.0.0",
"type": "range"
},
"/Users/jbowser/cordova/cordova-android"
]
],
"_from": "cordova-common@>=2.1.0 <3.0.0",
"_id": "cordova-common@2.1.0",
"_from": "cordova-common@>=2.2.0 <3.0.0",
"_id": "cordova-common@2.2.0",
"_inCache": true,
"_location": "/cordova-common",
"_nodeVersion": "6.6.0",
"_npmOperationalInternal": {
"host": "s3://npm-registry-packages",
"tmp": "tmp/cordova-common-2.1.0.tgz_1504306462859_0.04064799007028341"
"tmp": "tmp/cordova-common-2.2.0.tgz_1511807085778_0.6969101736322045"
},
"_npmUser": {
"name": "audreyso",
"email": "audreyeso@gmail.com"
"name": "stevegill",
"email": "stevengill97@gmail.com"
},
"_npmVersion": "4.6.1",
"_phantomChildren": {},
"_requested": {
"raw": "cordova-common@^2.1.0",
"raw": "cordova-common@^2.2.0",
"scope": null,
"escapedName": "cordova-common",
"name": "cordova-common",
"rawSpec": "^2.1.0",
"spec": ">=2.1.0 <3.0.0",
"rawSpec": "^2.2.0",
"spec": ">=2.2.0 <3.0.0",
"type": "range"
},
"_requiredBy": [
"/"
],
"_resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-2.1.0.tgz",
"_shasum": "bb357ee1b9825031ed9db3c56b592efe973d1640",
"_resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-2.2.0.tgz",
"_shasum": "0d00f5bcd2bc6c7d06b1ddc0328aea3fe38bcf07",
"_shrinkwrap": null,
"_spec": "cordova-common@^2.1.0",
"_spec": "cordova-common@^2.2.0",
"_where": "/Users/jbowser/cordova/cordova-android",
"author": {
"name": "Apache Software Foundation"
@@ -84,8 +84,8 @@
},
"directories": {},
"dist": {
"shasum": "bb357ee1b9825031ed9db3c56b592efe973d1640",
"tarball": "https://registry.npmjs.org/cordova-common/-/cordova-common-2.1.0.tgz"
"shasum": "0d00f5bcd2bc6c7d06b1ddc0328aea3fe38bcf07",
"tarball": "https://registry.npmjs.org/cordova-common/-/cordova-common-2.2.0.tgz"
},
"engines": {
"node": ">=4.0.0"
@@ -144,5 +144,5 @@
"jasmine": "jasmine JASMINE_CONFIG_PATH=spec/support/jasmine.json",
"test": "npm run eslint && npm run jasmine"
},
"version": "2.1.0"
"version": "2.2.0"
}

View File

@@ -184,16 +184,34 @@ function resolveConfigFilePath (project_dir, platform, file) {
return filepath;
}
// special-case config.xml target that is just "config.xml". This should be resolved to the real location of the file.
// TODO: move the logic that contains the locations of config.xml from cordova CLI into plugman.
// XXX this checks for android studio projects
// only if none of the options above are satisfied does this get called
// TODO: Move this out of cordova-common and into the platforms somehow
if (platform === 'android' && !fs.existsSync(filepath)) {
if (file === 'AndroidManifest.xml') {
filepath = path.join(project_dir, 'app', 'src', 'main', 'AndroidManifest.xml');
} else if (file.endsWith('config.xml')) {
filepath = path.join(project_dir, 'app', 'src', 'main', 'res', 'xml', 'config.xml');
} else if (file.endsWith('strings.xml')) {
// Plugins really shouldn't mess with strings.xml, since it's able to be localized
filepath = path.join(project_dir, 'app', 'src', 'main', 'res', 'values', 'strings.xml');
} else if (file.match(/res\/xml/)) {
// Catch-all for all other stored XML configuration in legacy plugins
var config_file = path.basename(file);
filepath = path.join(project_dir, 'app', 'src', 'main', 'res', 'xml', config_file);
}
return filepath;
}
// special-case config.xml target that is just "config.xml" for other platforms. This should
// be resolved to the real location of the file.
// TODO: Move this out of cordova-common into platforms
if (file === 'config.xml') {
if (platform === 'ubuntu') {
filepath = path.join(project_dir, 'config.xml');
} else if (platform === 'ios') {
var iospath = getIOSProjectname(project_dir);
var iospath = module.exports.getIOSProjectname(project_dir);
filepath = path.join(project_dir, iospath, 'config.xml');
} else if (platform === 'android') {
filepath = path.join(project_dir, 'res', 'xml', 'config.xml');
} else {
matches = modules.glob.sync(path.join(project_dir, '**', 'config.xml'));
if (matches.length) filepath = matches[0];
@@ -201,12 +219,6 @@ function resolveConfigFilePath (project_dir, platform, file) {
return filepath;
}
// XXX this checks for android studio projects
// only if none of the options above are satisfied does this get called
if (platform === 'android' && !fs.existsSync(filepath)) {
filepath = path.join(project_dir, 'app', 'src', 'main', 'res', 'xml', 'config.xml');
}
// None of the special cases matched, returning project_dir/file.
return filepath;
}
@@ -240,3 +252,6 @@ function isBinaryPlist (filename) {
}
module.exports = ConfigFile;
module.exports.isBinaryPlist = isBinaryPlist;
module.exports.getIOSProjectname = getIOSProjectname;
module.exports.resolveConfigFilePath = resolveConfigFilePath;

View File

@@ -312,6 +312,11 @@ function PluginInfo (dirname) {
var src = el.attrib.src;
if (options) {
var vars = options.cli_variables || {};
if (Object.keys(vars).length === 0) {
// get variable defaults from plugin.xml for removal
vars = self.getPreferences(platform);
}
var regExp;
// Iterate over plugin variables.
// Replace them in framework src if they exist