(cordova-apache-board-reports) branch master updated: report: March 2024 (#21)

2024-03-13 Thread erisu
This is an automated email from the ASF dual-hosted git repository.

erisu pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/cordova-apache-board-reports.git


The following commit(s) were added to refs/heads/master by this push:
 new 7be84e9  report: March 2024 (#21)
7be84e9 is described below

commit 7be84e9d448d45eeea4788b3c2ae7d1bab21e0f1
Author: エリス 
AuthorDate: Wed Mar 13 17:13:51 2024 +0900

report: March 2024 (#21)
---
 2024/03.md | 70 ++
 1 file changed, 70 insertions(+)

diff --git a/2024/03.md b/2024/03.md
new file mode 100644
index 000..239737c
--- /dev/null
+++ b/2024/03.md
@@ -0,0 +1,70 @@
+## Status report for the Apache Cordova project - March 2024
+
+## Description
+
+A platform for building native mobile applications using HTML, CSS and 
JavaScript.
+
+## Project Status
+
+**Current project status:**
+
+Our current work continues on staying updated with changes to iOS and Android, 
our most utilized platforms, alongside ensuring regular updates to plugins.
+
+Our status dashboard at http://status.cordova.io remains mostly all green and 
our nightly builds are still extremely stable.
+
+Committers made a major release to update the cordova-electron platform and 
are preparing for cordova-ios minor release to comply with Apple's new privacy 
requirements.
+
+**Issues for the board:**
+
+There are no issues requiring board attention at this time.
+
+## Membership Data
+
+There are currently 99 committers and 96 PMC members in this project.
+
+The Committer-to-PMC ratio is roughly 1:1.
+
+**Community changes, past quarter:**
+
+- No new PMC members. Last addition was Pieter Van Poyer on 2021-04-06.
+- No new committers. Last addition was Pieter Van Poyer on 2021-04-06.
+
+## Project Activity
+
+**Releases:**
+
+- cordova-electron@4.0.0 was released on 2024-03-11.
+
+## Community Health
+
+ASF Project Statistics gives the project a Community Health Score (Chi): 4.70 
(Healthy)
+
+We continue to see contributions from a small group of dedicated individuals. 
Things remain stable and the project continues to see good traffic.
+
+Github discussions have become how our community supports each other. Our 
discussion area is live at https://github.com/apache/cordova/discussions and 
activity is forwarded to the 'issues' list.
+
+## Mailing List Activity
+
+- d...@cordova.apache.org had a 80% decrease in traffic in the past quarter 
(19 emails compared to 94)
+- iss...@cordova.apache.org had a 35% decrease in traffic in the past quarter 
(585 emails compared to 897)
+
+## Github Activity
+
+**Issues:**
+
+Issue close rate of 98%
+
+- 48 issues opened on GitHub, past quarter (-53% change)
+- 47 issues closed on GitHub, past quarter (-44% change)
+
+**PRs:**
+
+PR close rate of 113%
+
+- 31 PRs opened on GitHub, past quarter (-52% change)
+- 35 PRs closed on GitHub, past quarter (-58% change)
+
+**Commits:**
+
+- 42 commits in the past quarter (-50% change)
+- 8 code contributors in the past quarter (-33% change)


-
To unsubscribe, e-mail: commits-unsubscr...@cordova.apache.org
For additional commands, e-mail: commits-h...@cordova.apache.org



(cordova-apache-board-reports) branch doc/2024-03 updated (c72cf8c -> 7587ad9)

2024-03-13 Thread erisu
This is an automated email from the ASF dual-hosted git repository.

erisu pushed a change to branch doc/2024-03
in repository 
https://gitbox.apache.org/repos/asf/cordova-apache-board-reports.git


from c72cf8c  report: March 2024
 add 7587ad9  report: March 2024 - split Community Health section into 
three sections

No new revisions were added by this update.

Summary of changes:
 2024/03.md | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)


-
To unsubscribe, e-mail: commits-unsubscr...@cordova.apache.org
For additional commands, e-mail: commits-h...@cordova.apache.org



(cordova-ios) branch master updated: feat: add privacy-manifest config support (#1406)

2024-03-13 Thread erisu
This is an automated email from the ASF dual-hosted git repository.

erisu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-ios.git


The following commit(s) were added to refs/heads/master by this push:
 new c97845ac feat: add privacy-manifest config support (#1406)
c97845ac is described below

commit c97845acb7e4fe659c0f71103bef44700da37d5c
Author: knaito-asial <81949829+knaito-as...@users.noreply.github.com>
AuthorDate: Wed Mar 13 15:03:13 2024 +0900

feat: add privacy-manifest config support (#1406)

* feat: privacy manifest settings in config.xml
* refac: remove unused code and tidy up
* refac: update class name PlatformConfigParser
* feat: add elementtree in package.json
* dev: change privacy manifest tag name to privacy-manifest from 
privacy-manifest-ios
* test: add test codes
* refactor: Modified to match Linter.
* refac: improve PlatformConfigParser
* refac: remove unnecessary blank line

-

Co-authored-by: エリス 
---
 lib/PlatformConfigParser.js| 32 +
 lib/prepare.js | 40 ++--
 package-lock.json  |  1 +
 package.json   |  3 +-
 .../unit/fixtures/prepare/no-privacy-manifest.xml  | 23 +
 .../unit/fixtures/prepare/privacy-manifest.xml | 56 ++
 tests/spec/unit/prepare.spec.js| 38 +++
 7 files changed, 189 insertions(+), 4 deletions(-)

diff --git a/lib/PlatformConfigParser.js b/lib/PlatformConfigParser.js
new file mode 100644
index ..675287c6
--- /dev/null
+++ b/lib/PlatformConfigParser.js
@@ -0,0 +1,32 @@
+/**
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+*/
+
+const ConfigParser = require('cordova-common').ConfigParser;
+
+class PlatformConfigParser extends ConfigParser {
+/**
+ * Returns the privacy manifest node, if available.
+ * Otherwise `null` is returned.
+ */
+getPrivacyManifest () {
+return this.doc.find('./platform[@name="ios"]/privacy-manifest');
+}
+}
+
+module.exports = PlatformConfigParser;
diff --git a/lib/prepare.js b/lib/prepare.js
index 38239e4c..cfaab02c 100644
--- a/lib/prepare.js
+++ b/lib/prepare.js
@@ -17,12 +17,11 @@
 under the License.
 */
 
-'use strict';
-
 const fs = require('fs-extra');
 const path = require('path');
 const unorm = require('unorm');
 const plist = require('plist');
+const et = require('elementtree');
 const URL = require('url');
 const events = require('cordova-common').events;
 const xmlHelpers = require('cordova-common').xmlHelpers;
@@ -35,6 +34,7 @@ const FileUpdater = require('cordova-common').FileUpdater;
 const projectFile = require('./projectFile');
 const Podfile = require('./Podfile').Podfile;
 const check_reqs = require('./check_reqs');
+const PlatformConfigParser = require('./PlatformConfigParser');
 
 // launch storyboard and related constants
 const IMAGESET_COMPACT_SIZE_CLASS = 'compact';
@@ -43,9 +43,16 @@ const CDV_ANY_SIZE_CLASS = 'any';
 module.exports.prepare = function (cordovaProject, options) {
 const platformJson = PlatformJson.load(this.locations.root, 'ios');
 const munger = new PlatformMunger('ios', this.locations.root, 
platformJson, new PluginInfoProvider());
-
 this._config = updateConfigFile(cordovaProject.projectConfig, munger, 
this.locations);
 
+const parser = new PlatformConfigParser(cordovaProject.projectConfig.path);
+try {
+const manifest = parser.getPrivacyManifest();
+overwritePrivacyManifest(manifest, this.locations);
+} catch (err) {
+return Promise.reject(new CordovaError(`Could not parse 
PrivacyManifest in config.xml: ${err}`));
+}
+
 // Update own www dir with project's www assets and plugins' assets and 
js-files
 return updateWww(cordovaProject, this.locations)
 // update project according to config.xml changes.
@@ -87,6 +94,33 @@ module.exports.clean = function (options) {
 });
 };
 
+/**
+ * Overwrites the privacy manifest file with the provided manifest or sets the 
default manifest.
+ * @param