You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by pu...@apache.org on 2015/03/27 20:17:57 UTC
[2/2] cordova-lib git commit: CB-8703: Add support for semver and
device-specific targeting of config-file to Windows.
CB-8703: Add support for semver and device-specific targeting of
config-file to Windows.
This change enables the use of "versions" and "device-target" attributes
on the config-file element when the config-file element targets
package.appxmanifest. This allows for plugins to be more robust in the
face of future versions of Windows which may require introduction of
additional app manifests.
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/0c65a24a
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/0c65a24a
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/0c65a24a
Branch: refs/heads/master
Commit: 0c65a24aa458bf3473c41078664855cde685cb74
Parents: 5bacee8
Author: Rob Paveza <Ro...@microsoft.com>
Authored: Wed Mar 18 10:32:27 2015 -0700
Committer: Jesse MacFadyen <pu...@gmail.com>
Committed: Fri Mar 27 12:10:06 2015 -0700
----------------------------------------------------------------------
.../spec-plugman/platforms/windows.spec.js | 24 ++---
.../plugins/org.test.configtest/plugin.xml | 24 +++++
.../org.test.plugins.dummyplugin/plugin.xml | 11 +-
.../org.test.plugins.faultyplugin/plugin.xml | 2 +-
.../spec-plugman/util/config-changes.spec.js | 27 +++++
cordova-lib/src/PluginInfo.js | 7 +-
cordova-lib/src/plugman/platforms/windows.js | 4 +-
cordova-lib/src/plugman/util/config-changes.js | 108 +++++++++++++++++--
cordova-lib/src/util/windows/jsprojManager.js | 2 +-
9 files changed, 176 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0c65a24a/cordova-lib/spec-plugman/platforms/windows.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/platforms/windows.spec.js b/cordova-lib/spec-plugman/platforms/windows.spec.js
index ac6a56c..ddaa9ce 100644
--- a/cordova-lib/spec-plugman/platforms/windows.spec.js
+++ b/cordova-lib/spec-plugman/platforms/windows.spec.js
@@ -330,19 +330,19 @@ beforeEach(function () {
.then(function () {
var path = 'ItemGroup/SDKReference';
var incText = 'TestSDK1, Version=1.0';
- var targetConditions = {versions: undefined, target: undefined, arch: 'x86'};
+ var targetConditions = {versions: undefined, deviceTarget: undefined, arch: 'x86'};
validateUninstalledProjects('lib-file', libfiles[0], path, incText, targetConditions, ['all']);
incText = 'TestSDK2, Version=1.0';
- targetConditions = {versions: '>=8.1', target: undefined, arch: undefined};
+ targetConditions = {versions: '>=8.1', deviceTarget: undefined, arch: undefined};
validateUninstalledProjects('lib-file', libfiles[1], path, incText, targetConditions, ['windows', 'phone']);
incText = 'TestSDK3, Version=1.0';
- targetConditions = {versions: undefined, target: 'phone', arch: undefined};
+ targetConditions = {versions: undefined, deviceTarget: 'phone', arch: undefined};
validateUninstalledProjects('lib-file', libfiles[2], path, incText, targetConditions, ['phone']);
incText = 'TestSDK4, Version=1.0';
- targetConditions = {versions: '8.0', target: 'windows', arch: 'x86'};
+ targetConditions = {versions: '8.0', deviceTarget: 'windows', arch: 'x86'};
validateUninstalledProjects('lib-file', libfiles[3], path, incText, targetConditions, ['windows8']);
done();
@@ -360,19 +360,19 @@ beforeEach(function () {
.then(function () {
var path = 'ItemGroup/Reference';
var incText = 'dummy1';
- var targetConditions = {versions: undefined, target: undefined, arch: 'x64'};
+ var targetConditions = {versions: undefined, deviceTarget: undefined, arch: 'x64'};
validateUninstalledProjects('framework', frameworks[0], path, incText, targetConditions, ['all']);
incText = 'dummy2';
- targetConditions = {versions: '>=8.0', target: undefined, arch: undefined};
+ targetConditions = {versions: '>=8.0', deviceTarget: undefined, arch: undefined};
validateUninstalledProjects('framework', frameworks[1], path, incText, targetConditions, ['all']);
incText = 'dummy3';
- targetConditions = {versions: undefined, target: 'windows', arch: undefined};
+ targetConditions = {versions: undefined, deviceTarget: 'windows', arch: undefined};
validateUninstalledProjects('framework', frameworks[2], path, incText, targetConditions, ['windows', 'windows8']);
incText = 'dummy4';
- targetConditions = {versions: '8.1', target: 'phone', arch: 'ARM'};
+ targetConditions = {versions: '8.1', deviceTarget: 'phone', arch: 'ARM'};
validateUninstalledProjects('framework', frameworks[3], path, incText, targetConditions, ['phone']);
done();
@@ -390,19 +390,19 @@ beforeEach(function () {
.then(function () {
var xmlPath = 'ItemGroup/ProjectReference';
var incText = windowsJoin(cordovaProjectPluginsDir , dummy_id, 'src', 'windows', 'dummy1.vcxproj');
- var targetConditions = {versions: undefined, target: undefined, arch: 'x64'};
+ var targetConditions = {versions: undefined, deviceTarget: undefined, arch: 'x64'};
validateUninstalledProjects('framework', frameworks[4], xmlPath, incText, targetConditions, ['all']);
incText = windowsJoin(cordovaProjectPluginsDir , dummy_id, 'src', 'windows', 'dummy2.vcxproj');
- targetConditions = {versions: '<8.1', target: undefined, arch: undefined};
+ targetConditions = {versions: '<8.1', deviceTarget: undefined, arch: undefined};
validateUninstalledProjects('framework', frameworks[5], xmlPath, incText, targetConditions, ['windows8']);
incText = windowsJoin(cordovaProjectPluginsDir , dummy_id, 'src', 'windows', 'dummy3.vcxproj');
- targetConditions = {versions: undefined, target: 'win', arch: undefined};
+ targetConditions = {versions: undefined, deviceTarget: 'win', arch: undefined};
validateUninstalledProjects('framework', frameworks[6], xmlPath, incText, targetConditions, ['windows', 'windows8']);
incText = windowsJoin(cordovaProjectPluginsDir , dummy_id, 'src', 'windows', 'dummy4.vcxproj');
- targetConditions = {versions: '8.1', target: 'all', arch: 'x86'};
+ targetConditions = {versions: '8.1', deviceTarget: 'all', arch: 'x86'};
validateUninstalledProjects('framework', frameworks[7], xmlPath, incText, targetConditions, ['windows', 'phone']);
done();
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0c65a24a/cordova-lib/spec-plugman/plugins/org.test.configtest/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/org.test.configtest/plugin.xml b/cordova-lib/spec-plugman/plugins/org.test.configtest/plugin.xml
index fb6772b..fa1ff51 100644
--- a/cordova-lib/spec-plugman/plugins/org.test.configtest/plugin.xml
+++ b/cordova-lib/spec-plugman/plugins/org.test.configtest/plugin.xml
@@ -34,4 +34,28 @@
<poop/>
</config-file>
</platform>
+
+ <platform name="windows">
+ <config-file target="package.appxmanifest" parent="/Parent/Capabilities">
+ <Capability Note="should-exist-for-all-appxmanifest-target-files" />
+ </config-file>
+ <config-file target="package.appxmanifest" parent="/Parent/Capabilities" versions="<=8.0.0">
+ <Capability Note="should-exist-for-win8-only" />
+ </config-file>
+ <config-file target="package.appxmanifest" parent="/Parent/Capabilities" versions="=8.1.0">
+ <Capability Note="should-exist-for-win81-win-and-phone" />
+ </config-file>
+ <config-file target="package.appxmanifest" parent="/Parent/Capabilities" versions="<=8.1.0" device-target="windows">
+ <Capability Note="should-exist-for-win8-and-win81-win-only" />
+ </config-file>
+ <config-file target="package.appxmanifest" parent="/Parent/Capabilities" versions="<=8.1.0" device-target="phone">
+ <Capability Note="should-exist-for-win81-phone-only" />
+ </config-file>
+ <config-file target="package.appxmanifest" parent="/Parent/Capabilities" versions="<=8.1.0" device-target="all">
+ <Capability Note="should-exist-for-win8-and-win81-both" />
+ </config-file>
+ <config-file target="package.appxmanifest" parent="/Parent/Capabilities" versions=">=10.0.0">
+ <Capability Note="should-exist-in-win10-only" />
+ </config-file>
+ </platform>
</plugin>
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0c65a24a/cordova-lib/spec-plugman/plugins/org.test.plugins.dummyplugin/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/org.test.plugins.dummyplugin/plugin.xml b/cordova-lib/spec-plugman/plugins/org.test.plugins.dummyplugin/plugin.xml
index 03a9c12..02bb445 100644
--- a/cordova-lib/spec-plugman/plugins/org.test.plugins.dummyplugin/plugin.xml
+++ b/cordova-lib/spec-plugman/plugins/org.test.plugins.dummyplugin/plugin.xml
@@ -185,18 +185,19 @@
<lib-file src="TestSDK1, Version=1.0" arch="x86"/>
<lib-file src="TestSDK2, Version=1.0" versions=">=8.1"/>
- <lib-file src="TestSDK3, Version=1.0" target="phone"/>
- <lib-file src="TestSDK4, Version=1.0" target="windows" versions="8.0" arch="x86"/>
+ <lib-file src="TestSDK3, Version=1.0" device-target="phone"/>
+ <lib-file src="TestSDK4, Version=1.0" device-target="windows" versions="8.0" arch="x86"/>
<framework src="src/windows/dummy1.dll" arch="x64"/>
<framework src="src/windows/dummy2.dll" versions=">=8.0"/>
- <framework src="src/windows/dummy3.dll" target="windows"/>
- <framework src="src/windows/dummy4.dll" target="phone" versions="8.1" arch="ARM"/>
+ <framework src="src/windows/dummy3.dll" device-target="windows"/>
+ <framework src="src/windows/dummy4.dll" device-target="phone" versions="8.1" arch="ARM"/>
<framework src="src/windows/dummy1.vcxproj" type="projectReference" arch="x64"/>
<framework src="src/windows/dummy2.vcxproj" type="projectReference" versions="<8.1"/>
+ <!-- "target" attribute is an alias for "device-target" (but is deprecated) - test for it here -->
<framework src="src/windows/dummy3.vcxproj" type="projectReference" target="win"/>
- <framework src="src/windows/dummy4.vcxproj" type="projectReference" target="all" versions="8.1" arch="x86"/>
+ <framework src="src/windows/dummy4.vcxproj" type="projectReference" device-target="all" versions="8.1" arch="x86"/>
<js-module src="www/dummyplugin.js" name="Dummy">
<clobbers target="dummy" />
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0c65a24a/cordova-lib/spec-plugman/plugins/org.test.plugins.faultyplugin/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/org.test.plugins.faultyplugin/plugin.xml b/cordova-lib/spec-plugman/plugins/org.test.plugins.faultyplugin/plugin.xml
index 8ff99c4..abe2f2e 100644
--- a/cordova-lib/spec-plugman/plugins/org.test.plugins.faultyplugin/plugin.xml
+++ b/cordova-lib/spec-plugman/plugins/org.test.plugins.faultyplugin/plugin.xml
@@ -143,7 +143,7 @@
<lib-file src="TestSDK1, Version=1.0" arch="x85"/>
<lib-file src="TestSDK2, Version=1.0" versions="8.0a"/>
- <lib-file src="TestSDK3, Version=1.0" target="daphne"/>
+ <lib-file src="TestSDK3, Version=1.0" device-target="daphne"/>
<!-- does not exist -->
<source-file src="src/windows/NotHere.js" />
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0c65a24a/cordova-lib/spec-plugman/util/config-changes.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/util/config-changes.spec.js b/cordova-lib/spec-plugman/util/config-changes.spec.js
index b5d3358..b509d8d 100644
--- a/cordova-lib/spec-plugman/util/config-changes.spec.js
+++ b/cordova-lib/spec-plugman/util/config-changes.spec.js
@@ -216,6 +216,33 @@ describe('config-changes module', function() {
expect(munge.files['framework'].parents['Custom.framework']).not.toBeDefined();
});
});
+ describe('for windows project', function() {
+ it('should special case config-file elements for windows', function() {
+ var munger = new configChanges.PlatformMunger('windows', temp, 'unused', null, pluginInfoProvider);
+ // Unit testing causes a failure when the package_name function is called from generate_plugin_config_munge
+ // the results aren't really important during the unit test
+ munger.platform_handler.package_name = function() { return 'org.apache.testapppackage'; };
+
+ var munge = munger.generate_plugin_config_munge(configplugin, {});
+ var packageAppxManifest = munge.files['package.appxmanifest'];
+ var windows80AppxManifest = munge.files['package.windows80.appxmanifest'];
+ var windows81AppxManifest = munge.files['package.windows.appxmanifest'];
+ var winphone81AppxManifest = munge.files['package.phone.appxmanifest'];
+ var windows10AppxManifest = munge.files['package.windows10.appxmanifest'];
+
+ expect(packageAppxManifest.parents['/Parent/Capabilities'][0].xml).toBe('<Capability Note="should-exist-for-all-appxmanifest-target-files" />');
+ expect(windows80AppxManifest.parents['/Parent/Capabilities'][0].xml).toBe('<Capability Note="should-exist-for-win8-only" />');
+ expect(windows80AppxManifest.parents['/Parent/Capabilities'][1].xml).toBe('<Capability Note="should-exist-for-win8-and-win81-win-only" />');
+ expect(windows80AppxManifest.parents['/Parent/Capabilities'][2].xml).toBe('<Capability Note="should-exist-for-win8-and-win81-both" />');
+ expect(windows81AppxManifest.parents['/Parent/Capabilities'][0].xml).toBe('<Capability Note="should-exist-for-win81-win-and-phone" />');
+ expect(windows81AppxManifest.parents['/Parent/Capabilities'][1].xml).toBe('<Capability Note="should-exist-for-win8-and-win81-win-only" />');
+ expect(windows81AppxManifest.parents['/Parent/Capabilities'][2].xml).toBe('<Capability Note="should-exist-for-win8-and-win81-both" />');
+ expect(winphone81AppxManifest.parents['/Parent/Capabilities'][0].xml).toBe('<Capability Note="should-exist-for-win81-win-and-phone" />');
+ expect(winphone81AppxManifest.parents['/Parent/Capabilities'][1].xml).toBe('<Capability Note="should-exist-for-win81-phone-only" />');
+ expect(winphone81AppxManifest.parents['/Parent/Capabilities'][2].xml).toBe('<Capability Note="should-exist-for-win8-and-win81-both" />');
+ expect(windows10AppxManifest.parents['/Parent/Capabilities'][0].xml).toBe('<Capability Note="should-exist-in-win10-only" />');
+ });
+ });
});
describe('processing of plugins (via process method)', function() {
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0c65a24a/cordova-lib/src/PluginInfo.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/PluginInfo.js b/cordova-lib/src/PluginInfo.js
index b037b92..fe94682 100644
--- a/cordova-lib/src/PluginInfo.js
+++ b/cordova-lib/src/PluginInfo.js
@@ -129,6 +129,9 @@ function PluginInfo(dirname) {
, parent : tag.attrib['parent']
, after : tag.attrib['after']
, xmls : tag.getchildren()
+ // To support demuxing via versions
+ , versions : tag.attrib['versions']
+ , deviceTarget: tag.attrib['device-target']
};
return configFile;
}
@@ -211,7 +214,7 @@ function PluginInfo(dirname) {
arch: tag.attrib.arch,
Include: tag.attrib.Include,
versions: tag.attrib.versions,
- target: tag.attrib.target
+ deviceTarget: tag.attrib['device-target'] || tag.attrib.target
};
});
return libFiles;
@@ -287,7 +290,7 @@ function PluginInfo(dirname) {
src: el.attrib.src,
weak: isStrTrue(el.attrib.weak),
versions: el.attrib.versions,
- target: el.attrib.target,
+ deviceTarget: el.attrib['device-target'] || el.attrib.target,
arch: el.attrib.arch
};
return ret;
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0c65a24a/cordova-lib/src/plugman/platforms/windows.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/plugman/platforms/windows.js b/cordova-lib/src/plugman/platforms/windows.js
index 7f76e92..22d86ea 100644
--- a/cordova-lib/src/plugman/platforms/windows.js
+++ b/cordova-lib/src/plugman/platforms/windows.js
@@ -150,5 +150,5 @@ module.exports = {
};
function getTargetConditions(obj) {
- return {versions: obj.versions, target: obj.target, arch: obj.arch};
-}
+ return { versions: obj.versions, deviceTarget: obj.deviceTarget, arch: obj.arch };
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0c65a24a/cordova-lib/src/plugman/util/config-changes.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/plugman/util/config-changes.js b/cordova-lib/src/plugman/util/config-changes.js
index 7d7d69c..63c3ec3 100644
--- a/cordova-lib/src/plugman/util/config-changes.js
+++ b/cordova-lib/src/plugman/util/config-changes.js
@@ -156,11 +156,13 @@ function remove_plugin_changes(plugin_name, plugin_id, is_top_level) {
if (self.platform == 'windows' && file == 'package.appxmanifest' &&
!fs.existsSync(path.join(self.project_dir, 'package.appxmanifest'))) {
// New windows template separate manifest files for Windows8, Windows8.1 and WP8.1
- var substs = ['package.phone.appxmanifest', 'package.windows.appxmanifest', 'package.windows80.appxmanifest'];
- for (var subst in substs) {
- events.emit('verbose', 'Applying munge to ' + substs[subst]);
- self.apply_file_munge(substs[subst], munge.files[file], true);
- }
+ var substs = ['package.phone.appxmanifest', 'package.windows.appxmanifest', 'package.windows80.appxmanifest', 'package.windows10.appxmanifest'];
+ /* jshint loopfunc:true */
+ substs.forEach(function(subst) {
+ events.emit('verbose', 'Applying munge to ' + subst);
+ self.apply_file_munge(subst, munge.files[file], true);
+ });
+ /* jshint loopfunc:false */
}
self.apply_file_munge(file, munge.files[file], /* remove = */ true);
}
@@ -209,11 +211,13 @@ function add_plugin_changes(plugin_id, plugin_vars, is_top_level, should_increme
// CB-6976 Windows Universal Apps. Compatibility fix for existing plugins.
if (self.platform == 'windows' && file == 'package.appxmanifest' &&
!fs.existsSync(path.join(self.project_dir, 'package.appxmanifest'))) {
- var substs = ['package.phone.appxmanifest', 'package.windows.appxmanifest', 'package.windows80.appxmanifest'];
- for (var subst in substs) {
- events.emit('verbose', 'Applying munge to ' + substs[subst]);
- self.apply_file_munge(substs[subst], munge.files[file]);
- }
+ var substs = ['package.phone.appxmanifest', 'package.windows.appxmanifest', 'package.windows80.appxmanifest', 'package.windows10.appxmanifest'];
+ /* jshint loopfunc:true */
+ substs.forEach(function(subst) {
+ events.emit('verbose', 'Applying munge to ' + subst);
+ self.apply_file_munge(subst, munge.files[file]);
+ });
+ /* jshint loopfunc:false */
}
self.apply_file_munge(file, munge.files[file]);
}
@@ -279,6 +283,90 @@ function generate_plugin_config_munge(plugin_dir, vars) {
}
});
}
+
+ // Demux 'package.appxmanifest' into relevant platform-specific appx manifests.
+ // Only spend the cycles if there are version-specific plugin settings
+ if (self.platform === 'windows' && changes.some(function(change) { return ((typeof change.versions !== 'undefined') || (typeof change.deviceTarget !== 'undefined')); }))
+ {
+ var manifests = {
+ 'windows': {
+ '8.0.0': 'package.windows80.appxmanifest',
+ '8.1.0': 'package.windows.appxmanifest',
+ '10.0.0': 'package.windows10.appxmanifest'
+ },
+ 'phone': {
+ '8.1.0': 'package.phone.appxmanifest',
+ '10.0.0': 'package.windows10.appxmanifest'
+ },
+ 'all': {
+ '8.0.0': 'package.windows80.appxmanifest',
+ '8.1.0': ['package.windows.appxmanifest', 'package.phone.appxmanifest'],
+ '10.0.0': 'package.windows10.appxmanifest'
+ }
+ };
+
+ var oldChanges = changes;
+ changes = [];
+
+ oldChanges.forEach(function(change, changeIndex) {
+ // Only support semver/device-target demux for package.appxmanifest
+ // Pass through in case something downstream wants to use it
+ if (change.target !== 'package.appxmanifest') {
+ changes.push(change);
+ return;
+ }
+
+ var hasVersion = (typeof change.versions !== 'undefined');
+ var hasTargets = (typeof change.deviceTarget !== 'undefined');
+
+ // No semver/device-target for this config-file, pass it through
+ if (!(hasVersion || hasTargets)) {
+ changes.push(change);
+ return;
+ }
+
+ var targetDeviceSet = hasTargets ? change.deviceTarget : 'all';
+ if (['windows', 'phone', 'all'].indexOf(targetDeviceSet) === -1) {
+ // target-device couldn't be resolved, fix it up here to a valid value
+ targetDeviceSet = 'all';
+ }
+ var knownWindowsVersionsForTargetDeviceSet = Object.keys(manifests[targetDeviceSet]);
+
+ // at this point, 'change' targets package.appxmanifest and has a version attribute
+ knownWindowsVersionsForTargetDeviceSet.forEach(function(winver) {
+ // This is a local function that creates the new replacement representing the
+ // mutation. Used to save code further down.
+ var createReplacement = function(manifestFile, originalChange) {
+ var replacement = {
+ target: manifestFile,
+ parent: originalChange.parent,
+ after: originalChange.after,
+ xmls: originalChange.xmls,
+ versions: originalChange.versions,
+ deviceTarget: originalChange.deviceTarget
+ };
+ return replacement;
+ };
+
+ // version doesn't satisfy, so skip
+ if (hasVersion && !semver.satisfies(winver, change.versions)) {
+ return;
+ }
+
+ var versionSpecificManifests = manifests[targetDeviceSet][winver];
+ if (versionSpecificManifests.constructor === Array) {
+ // e.g. all['8.1.0'] === ['pkg.windows.appxmanifest', 'pkg.phone.appxmanifest']
+ versionSpecificManifests.forEach(function(manifestFile) {
+ changes.push(createReplacement(manifestFile, change));
+ });
+ }
+ else {
+ // versionSpecificManifests is actually a single string
+ changes.push(createReplacement(versionSpecificManifests, change));
+ }
+ });
+ });
+ }
changes.forEach(function(change) {
change.xmls.forEach(function(xml) {
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/0c65a24a/cordova-lib/src/util/windows/jsprojManager.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/util/windows/jsprojManager.js b/cordova-lib/src/util/windows/jsprojManager.js
index 1b2671e..64459ff 100644
--- a/cordova-lib/src/util/windows/jsprojManager.js
+++ b/cordova-lib/src/util/windows/jsprojManager.js
@@ -360,7 +360,7 @@ function createReferenceElement(path, incText, targetConditions, children) {
}
function getTarget(targetConditions) {
- var target = targetConditions.target;
+ var target = targetConditions.deviceTarget;
if (target) {
target = target.toLowerCase().trim();
if (target === "all") {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org