From 48a1a6ded0a19cf1d036eba59e0d9e2d596fc23b Mon Sep 17 00:00:00 2001 From: Stefan Schoettelndreyer Date: Tue, 17 Sep 2019 16:51:51 +0200 Subject: [PATCH 1/8] refs #17039: Adjust hooks to require dependencies explicitly --- package.json | 5 ++++- src/ios/hooks/addTodayWidgetToProject.js | 6 +++--- src/ios/hooks/fixAppEntitlements.js | 8 ++++---- src/ios/hooks/prerequisites.js | 6 +++--- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 7406ad3..dd4a314 100644 --- a/package.json +++ b/package.json @@ -18,12 +18,15 @@ "cordova-android", "cordova-ios" ], - "author": "Codevise Solutions Ltd.", + "author": "Codevise Solutions GmbH", "license": "MIT", "dependencies": { + "child_process": "^1.0.2", + "elementtree": "^0.1.7", "file-system": "^2.2.2", "path": "^0.12.7", "plist": "^2.1.0", + "q": "^1.5.1", "xcode": "git+https://github.com/apache/cordova-node-xcode.git" }, "engines": { diff --git a/src/ios/hooks/addTodayWidgetToProject.js b/src/ios/hooks/addTodayWidgetToProject.js index 2ec14a1..a8ebd3d 100644 --- a/src/ios/hooks/addTodayWidgetToProject.js +++ b/src/ios/hooks/addTodayWidgetToProject.js @@ -69,8 +69,8 @@ log( ); module.exports = function (context) { - var xcode = context.requireCordovaModule('xcode'); - var Q = context.requireCordovaModule('q'); + var xcode = require('xcode'); + var Q = require('q'); var deferral = new Q.defer(); if (context.opts.cordova.platforms.indexOf('ios') < 0) { @@ -92,7 +92,7 @@ module.exports = function (context) { } // Get the bundle-id from config.xml - var elementTree = context.requireCordovaModule('elementtree'); + var elementTree = require('elementtree'); var etree = elementTree.parse(contents); var bundleId = etree.getroot().get('id'); log('Bundle id of your host app: ' + bundleId, 'info'); diff --git a/src/ios/hooks/fixAppEntitlements.js b/src/ios/hooks/fixAppEntitlements.js index 6badff7..cda4857 100644 --- a/src/ios/hooks/fixAppEntitlements.js +++ b/src/ios/hooks/fixAppEntitlements.js @@ -57,8 +57,8 @@ log( ); module.exports = function (context) { - var xcode = context.requireCordovaModule('xcode'); - var Q = context.requireCordovaModule('q'); + var xcode = require('xcode'); + var Q = require('q'); var deferral = new Q.defer(); if (context.opts.cordova.platforms.indexOf('ios') < 0) { @@ -75,7 +75,7 @@ module.exports = function (context) { } // Get the bundle-id from config.xml - var elementTree = context.requireCordovaModule('elementtree'); + var elementTree = require('elementtree'); var etree = elementTree.parse(contents); var bundleId = etree.getroot().get('id'); @@ -84,7 +84,7 @@ module.exports = function (context) { : path.join(context.opts.projectRoot, 'platforms/ios/'); fs.readdir(iosFolder, function (err, data) { - var projectFolder + var projectFolder; var projectName; var run = function () { var placeHolderValues = [ diff --git a/src/ios/hooks/prerequisites.js b/src/ios/hooks/prerequisites.js index c9b57d8..81005fc 100644 --- a/src/ios/hooks/prerequisites.js +++ b/src/ios/hooks/prerequisites.js @@ -1,6 +1,6 @@ -module.exports = function (context) { - var child_process = context.requireCordovaModule('child_process'), - deferral = context.requireCordovaModule('q').defer(); +module.exports = function() { + var child_process = require('child_process'), + deferral = require('q').defer(); child_process.exec('npm install', {cwd:__dirname}, function (error) { -- GitLab From c41a074e13606cea9e4db21110f62d2abfd6094a Mon Sep 17 00:00:00 2001 From: Stefan Schoettelndreyer Date: Fri, 20 Sep 2019 09:33:35 +0200 Subject: [PATCH 2/8] refs #17056: Copy src files one by one Cordova broke support for copying directories in for Android in cordova-android >= 7.0.0. https://github.com/apache/cordova-android/issues/564 https://github.com/apache/cordova/issues/47 --- plugin.xml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/plugin.xml b/plugin.xml index 18726ec..d1bc8ed 100644 --- a/plugin.xml +++ b/plugin.xml @@ -1,5 +1,5 @@ - SportschauWidget @@ -38,7 +38,18 @@ - + + + + + + + + + + + + Date: Fri, 20 Sep 2019 09:54:10 +0200 Subject: [PATCH 3/8] Fix typo in class name --- ...tpsServerAysncTask.java => GetHttpsServerAsyncTask.java} | 6 +++--- src/android/widget/WidgetUpdateService.java | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) rename src/android/widget/{GetHttpsServerAysncTask.java => GetHttpsServerAsyncTask.java} (92%) diff --git a/src/android/widget/GetHttpsServerAysncTask.java b/src/android/widget/GetHttpsServerAsyncTask.java similarity index 92% rename from src/android/widget/GetHttpsServerAysncTask.java rename to src/android/widget/GetHttpsServerAsyncTask.java index 0845fc7..b20b7b9 100644 --- a/src/android/widget/GetHttpsServerAysncTask.java +++ b/src/android/widget/GetHttpsServerAsyncTask.java @@ -9,18 +9,18 @@ import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; -class GetHttpsServerAysncTask extends AsyncTask { +class GetHttpsServerAsyncTask extends AsyncTask { private static final int READ_TIMEOUT = 30000; private static final int CONNECT_TIMEOUT = 30000; private String url = null; private AsyncCallback asyncCallback = null; - public GetHttpsServerAysncTask(String url) { + public GetHttpsServerAsyncTask(String url) { this.url = url; } - public GetHttpsServerAysncTask(String url, AsyncCallback asyncCallback) { + public GetHttpsServerAsyncTask(String url, AsyncCallback asyncCallback) { this.url = url; this.asyncCallback = asyncCallback; } diff --git a/src/android/widget/WidgetUpdateService.java b/src/android/widget/WidgetUpdateService.java index f2aeba8..38336f1 100644 --- a/src/android/widget/WidgetUpdateService.java +++ b/src/android/widget/WidgetUpdateService.java @@ -256,11 +256,11 @@ public class WidgetUpdateService extends Service { hideHint(widgetId); } - new GetHttpsServerAysncTask(menuUrl, new AsyncCallback() { + new GetHttpsServerAsyncTask(menuUrl, new AsyncCallback() { @Override public void onPostExecute(final String json) { if (json != null && json.length() > 0) { - new GetHttpsServerAysncTask(getMainCategoryUrl(json), new AsyncCallback() { + new GetHttpsServerAsyncTask(getMainCategoryUrl(json), new AsyncCallback() { @Override public void onPostExecute(String jsonStr) { if (jsonStr != null && jsonStr.length() > 0) { -- GitLab From 9e70bf24aea89ce966a95005636ed5d868e69f9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Runkel?= Date: Mon, 14 Oct 2019 14:40:31 +0200 Subject: [PATCH 4/8] refs #17058: explicitly add ios widget bundleIdentifier to fix signing --- src/ios/hooks/addTodayWidgetToProject.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ios/hooks/addTodayWidgetToProject.js b/src/ios/hooks/addTodayWidgetToProject.js index a8ebd3d..3e03a6d 100644 --- a/src/ios/hooks/addTodayWidgetToProject.js +++ b/src/ios/hooks/addTodayWidgetToProject.js @@ -369,6 +369,9 @@ module.exports = function (context) { buildSettingsObj['PROVISIONING_PROFILE_SPECIFIER'] = '$WIDGET_PROVISIONING_PROFILE'; log('Added variable $WIDGET_PROVISIONING_PROFILE for widget configuration!', 'info'); + buildSettingsObj['PRODUCT_BUNDLE_IDENTIFIER'] = bundleId + '.' + widgetBundleId; + log('Added widget bundleIdentifier: ' + bundleId + '.' + widgetBundleId +' to configuration!', 'info'); + if (projectContainsSwiftFiles) { buildSettingsObj['SWIFT_VERSION'] = '3.0'; buildSettingsObj['ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'] = 'NO'; -- GitLab From 482cf56b7f16b9c0ddf961e641e55f1e50e99b3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Runkel?= Date: Mon, 14 Oct 2019 15:28:42 +0200 Subject: [PATCH 5/8] try --- src/ios/hooks/addTodayWidgetToProject.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ios/hooks/addTodayWidgetToProject.js b/src/ios/hooks/addTodayWidgetToProject.js index 3e03a6d..951df0d 100644 --- a/src/ios/hooks/addTodayWidgetToProject.js +++ b/src/ios/hooks/addTodayWidgetToProject.js @@ -369,8 +369,8 @@ module.exports = function (context) { buildSettingsObj['PROVISIONING_PROFILE_SPECIFIER'] = '$WIDGET_PROVISIONING_PROFILE'; log('Added variable $WIDGET_PROVISIONING_PROFILE for widget configuration!', 'info'); - buildSettingsObj['PRODUCT_BUNDLE_IDENTIFIER'] = bundleId + '.' + widgetBundleId; - log('Added widget bundleIdentifier: ' + bundleId + '.' + widgetBundleId +' to configuration!', 'info'); + buildSettingsObj['"PRODUCT_BUNDLE_IDENTIFIER"'] = bundleId + '.' + widgetBundleId; + log('Added widget "bundleIdentifier": ' + bundleId + '.' + widgetBundleId +' to configuration!', 'info'); if (projectContainsSwiftFiles) { buildSettingsObj['SWIFT_VERSION'] = '3.0'; -- GitLab From c587570ca8d620f4cfb2fb30545775b932d696e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Runkel?= Date: Mon, 14 Oct 2019 16:07:04 +0200 Subject: [PATCH 6/8] try --- src/ios/SportschauWidget/SportschauWidget-Info.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ios/SportschauWidget/SportschauWidget-Info.plist b/src/ios/SportschauWidget/SportschauWidget-Info.plist index a93fb8b..fe175f4 100644 --- a/src/ios/SportschauWidget/SportschauWidget-Info.plist +++ b/src/ios/SportschauWidget/SportschauWidget-Info.plist @@ -9,7 +9,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - __APP_IDENTIFIER__.__BUNDLE_SUFFIX__ + __APP_IDENTIFIER__ CFBundleInfoDictionaryVersion 6.0 CFBundleName -- GitLab From 162d9632acdb52f1c8f7780591be2daa9b4d99b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Runkel?= Date: Thu, 31 Oct 2019 15:46:13 +0100 Subject: [PATCH 7/8] Set Swift to 4.2 --- src/ios/hooks/addTodayWidgetToProject.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ios/hooks/addTodayWidgetToProject.js b/src/ios/hooks/addTodayWidgetToProject.js index 951df0d..2dc5bf7 100644 --- a/src/ios/hooks/addTodayWidgetToProject.js +++ b/src/ios/hooks/addTodayWidgetToProject.js @@ -373,7 +373,7 @@ module.exports = function (context) { log('Added widget "bundleIdentifier": ' + bundleId + '.' + widgetBundleId +' to configuration!', 'info'); if (projectContainsSwiftFiles) { - buildSettingsObj['SWIFT_VERSION'] = '3.0'; + buildSettingsObj['SWIFT_VERSION'] = '4.2'; buildSettingsObj['ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'] = 'NO'; log('Added build settings for swift support!', 'info'); } @@ -388,7 +388,7 @@ module.exports = function (context) { } } else { if (projectContainsSwiftFiles) { - buildSettingsObj['SWIFT_VERSION'] = '3.0'; + buildSettingsObj['SWIFT_VERSION'] = '4.2'; buildSettingsObj['ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'] = ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES || 'YES'; log('Added build settings for swift support in main target!', 'info'); } -- GitLab From 50055a6f98c520f4835c787616c879ec0628313a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Runkel?= Date: Thu, 31 Oct 2019 18:51:03 +0100 Subject: [PATCH 8/8] Update to Swift 5.0 --- src/ios/SportschauWidget/TodayViewController.swift | 4 ++-- src/ios/hooks/addTodayWidgetToProject.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ios/SportschauWidget/TodayViewController.swift b/src/ios/SportschauWidget/TodayViewController.swift index 674d5e6..a692c15 100644 --- a/src/ios/SportschauWidget/TodayViewController.swift +++ b/src/ios/SportschauWidget/TodayViewController.swift @@ -225,7 +225,7 @@ class TodayViewController: UITableViewController, NCWidgetProviding { fileprivate func fetchCategoriesUrl(_ menuUrl: NSURL?, _ result: @escaping (NSURL?) -> Void) { //fetching the data from the menu url URLSession.shared.dataTask(with: (menuUrl as URL?)!, completionHandler: {(data, response, error) -> Void in - if let jsonObj = try? JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? NSDictionary { + if let jsonObj = ((try? JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? NSDictionary) as NSDictionary??) { result(self.getCategoryUrlFromMenuJson(jsonObj)) return } @@ -246,7 +246,7 @@ class TodayViewController: UITableViewController, NCWidgetProviding { fetchCategoriesUrl(NSURL(string: urlString), { categoriesUrl in //fetching the data from the categories url URLSession.shared.dataTask(with: (categoriesUrl as URL?)!, completionHandler: {(data, response, error) -> Void in - if let jsonObj = try? JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? NSDictionary { + if let jsonObj = ((try? JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? NSDictionary) as NSDictionary??) { result(self.parseCategoriesJson(limit: limit, jsonObj)) return } diff --git a/src/ios/hooks/addTodayWidgetToProject.js b/src/ios/hooks/addTodayWidgetToProject.js index 2dc5bf7..2e0f013 100644 --- a/src/ios/hooks/addTodayWidgetToProject.js +++ b/src/ios/hooks/addTodayWidgetToProject.js @@ -373,7 +373,7 @@ module.exports = function (context) { log('Added widget "bundleIdentifier": ' + bundleId + '.' + widgetBundleId +' to configuration!', 'info'); if (projectContainsSwiftFiles) { - buildSettingsObj['SWIFT_VERSION'] = '4.2'; + buildSettingsObj['SWIFT_VERSION'] = '5.0'; buildSettingsObj['ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'] = 'NO'; log('Added build settings for swift support!', 'info'); } @@ -388,7 +388,7 @@ module.exports = function (context) { } } else { if (projectContainsSwiftFiles) { - buildSettingsObj['SWIFT_VERSION'] = '4.2'; + buildSettingsObj['SWIFT_VERSION'] = '5.0'; buildSettingsObj['ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'] = ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES || 'YES'; log('Added build settings for swift support in main target!', 'info'); } -- GitLab