[GitHub] [cordova-test-platform] breautek merged pull request #19: chore: package-lock
breautek merged pull request #19: URL: https://github.com/apache/cordova-test-platform/pull/19 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] [cordova-test-platform] breautek opened a new pull request #19: chore: package-lock
breautek opened a new pull request #19: URL: https://github.com/apache/cordova-test-platform/pull/19 ### Platforms affected ### Motivation and Context Progresses https://github.com/apache/cordova/issues/4 ### Description ### Testing ### Checklist - [ ] I've run the tests to see all new and existing tests pass - [ ] I added automated test coverage as appropriate for this change - [ ] Commit is prefixed with `(platform)` if this change only applies to one platform (e.g. `(android)`) - [ ] If this Pull Request resolves an issue, I linked to the issue in the text above (and used the correct [keyword to close issues using keywords](https://help.github.com/articles/closing-issues-using-keywords/)) - [ ] I've updated the documentation if necessary This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] [cordova-test-platform] raphinesse merged pull request #17: pkg fixup
raphinesse merged pull request #17: URL: https://github.com/apache/cordova-test-platform/pull/17 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] [cordova-test-platform] raphinesse commented on a change in pull request #17: pkg fixup
raphinesse commented on a change in pull request #17: URL: https://github.com/apache/cordova-test-platform/pull/17#discussion_r499161520 ## File path: package.json ## @@ -18,17 +20,6 @@ "author": "Apache Software Foundation", "license": "Apache-2.0", "bugs": "https://github.com/apache/cordova-test-platform/issues;, - "homepage": "https://github.com/cordova/cordova-test-platform#readme;, Review comment: I removed it since only four packages had this field set at all. Two of them to the default value This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] [cordova-test-platform] timbru31 merged pull request #18: chore(asf): update git notification settings
timbru31 merged pull request #18: URL: https://github.com/apache/cordova-test-platform/pull/18 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] [cordova-test-platform] timbru31 opened a new pull request #18: chore(asf): update git notification settings
timbru31 opened a new pull request #18: URL: https://github.com/apache/cordova-test-platform/pull/18 ### Platforms affected ### Motivation and Context ### Description ### Testing ### Checklist - [ ] I've run the tests to see all new and existing tests pass - [ ] I added automated test coverage as appropriate for this change - [ ] Commit is prefixed with `(platform)` if this change only applies to one platform (e.g. `(android)`) - [ ] If this Pull Request resolves an issue, I linked to the issue in the text above (and used the correct [keyword to close issues using keywords](https://help.github.com/articles/closing-issues-using-keywords/)) - [ ] I've updated the documentation if necessary This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] [cordova-test-platform] erisu commented on a change in pull request #17: pkg fixup
erisu commented on a change in pull request #17: URL: https://github.com/apache/cordova-test-platform/pull/17#discussion_r499159095 ## File path: package.json ## @@ -18,17 +20,6 @@ "author": "Apache Software Foundation", "license": "Apache-2.0", "bugs": "https://github.com/apache/cordova-test-platform/issues;, - "homepage": "https://github.com/cordova/cordova-test-platform#readme;, Review comment: Looks like you are removing it instead from everywhere. So I approved it. Thought it might have been better to point to the actual home page so people coming from npmjs has a quick link to our home page. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] [cordova-test-platform] erisu commented on a change in pull request #17: pkg fixup
erisu commented on a change in pull request #17: URL: https://github.com/apache/cordova-test-platform/pull/17#discussion_r499158727 ## File path: package.json ## @@ -18,17 +20,6 @@ "author": "Apache Software Foundation", "license": "Apache-2.0", "bugs": "https://github.com/apache/cordova-test-platform/issues;, - "homepage": "https://github.com/cordova/cordova-test-platform#readme;, Review comment: Is this meant to be removed? Description did not mention it. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] [cordova-test-platform] raphinesse opened a new pull request #17: pkg fixup
raphinesse opened a new pull request #17: URL: https://github.com/apache/cordova-test-platform/pull/17 - chore(pkg): remove field "maintainers" - fix(pkg): fix declaration for binary "create" This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] [cordova-test-platform] raphinesse merged pull request #16: chore: clean up package.json
raphinesse merged pull request #16: URL: https://github.com/apache/cordova-test-platform/pull/16 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] [cordova-test-platform] raphinesse opened a new pull request #16: chore: clean up package.json
raphinesse opened a new pull request #16: URL: https://github.com/apache/cordova-test-platform/pull/16 See https://github.com/apache/cordova/issues/55 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] [cordova-eslint] raphinesse merged pull request #5: Test all exported configurations
raphinesse merged pull request #5: Test all exported configurations URL: https://github.com/apache/cordova-eslint/pull/5 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
Re: [GitHub] janpio opened a new issue #2: TEst
Seems apache/cordova is misconfiged, I created an INFRA issue to change the notification email from dev@ to commits@: https://issues.apache.org/jira/browse/INFRA-16945 Am Do., 23. Aug. 2018 um 11:11 Uhr schrieb GitBox : > > janpio opened a new issue #2: TEst > URL: https://github.com/apache/cordova/issues/2 > > >_From @janpio on August 23, 2018 9:11_ > >test > >_Copied from original issue: apache/cordova-discuss#109_ > > > This is an automated message from the Apache Git Service. > To respond to the message, please log on GitHub and use the > URL above to go to the specific comment. > > For queries about this service, please contact Infrastructure at: > us...@infra.apache.org > > > With regards, > Apache Git Services > > - > To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org > For additional commands, e-mail: dev-h...@cordova.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] janpio closed issue #2: TEst
janpio closed issue #2: TEst URL: https://github.com/apache/cordova/issues/2 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] janpio commented on issue #2: TEst
janpio commented on issue #2: TEst URL: https://github.com/apache/cordova/issues/2#issuecomment-415347724 Manually closing this now. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] janpio opened a new issue #2: TEst
janpio opened a new issue #2: TEst URL: https://github.com/apache/cordova/issues/2 _From @janpio on August 23, 2018 9:11_ test _Copied from original issue: apache/cordova-discuss#109_ This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-lib issue #601: CB-13485: Test with Node8
Github user stevengill commented on the issue: https://github.com/apache/cordova-lib/pull/601 yeah i ran into this last time i tried to do it. npm 5 doesn't handle `npm link` properly. Doesn't work with our current link all the cordova deps strategy --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-lib issue #601: CB-13485: Test with Node8
Github user akdor1154 commented on the issue: https://github.com/apache/cordova-lib/pull/601 Ah, don't we love npm 5? I didn't expect this to break so early, I'll look tomorrow. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-lib pull request #601: CB-13485: Test with Node8
GitHub user akdor1154 opened a pull request: https://github.com/apache/cordova-lib/pull/601 CB-13485: Test with Node8 ### What does this PR do? Enables testing on Node 8 with Travis, and fixes the failing tests (no behaviour changes seem necessary). ### What testing has been done on this change? `npm test` ### Checklist - [x] [Reported an issue](http://cordova.apache.org/contribute/issues.html) in the JIRA database - [x] Commit message follows the format: "CB-3232: (android) Fix bug with resolving file paths", where CB- is the JIRA ID & "android" is the platform affected. - [x] Added automated test coverage as appropriate for this change. You can merge this pull request into a Git repository by running: $ git pull https://github.com/akdor1154/cordova-lib node8 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cordova-lib/pull/601.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #601 commit 8e38e274cdd140717766fc43a4b28934f4106e64 Author: Jarrad Whitaker <jwhita...@officeworks.com.au> Date: 2017-10-23T23:38:55Z Test Node 8 with Travis commit 0a704ab17d420273d95c6ef3cc7b7774d6f3 Author: Jarrad Whitaker <jwhita...@officeworks.com.au> Date: 2017-10-23T23:51:26Z fix error test on Node 8 --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-lib pull request #594: CB-13288 : updated index.js and test to fix c...
Github user asfgit closed the pull request at: https://github.com/apache/cordova-lib/pull/594 --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-lib pull request #594: CB-13288 : updated index.js and test to fix c...
GitHub user audreyso opened a pull request: https://github.com/apache/cordova-lib/pull/594 CB-13288 : updated index.js and test to fix cordova plugin search ### Platforms affected ### What does this PR do? Updated index.js and test to fix cordova plugin search ### What testing has been done on this change? ### Checklist - [X] [Reported an issue](http://cordova.apache.org/contribute/issues.html) in the JIRA database - [X] Commit message follows the format: "CB-3232: (android) Fix bug with resolving file paths", where CB- is the JIRA ID & "android" is the platform affected. - [X] Added automated test coverage as appropriate for this change. You can merge this pull request into a Git repository by running: $ git pull https://github.com/audreyso/cordova-lib CB-13288 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cordova-lib/pull/594.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #594 commit e50c9b60e45cdc033d68bce62a2af894da0e1b61 Author: Audrey So <audre...@apache.org> Date: 2017-09-15T20:34:44Z CB-13288 : updated index.js and test to fix cordova plugin search --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-js pull request #148: CB-13232: added test for cordova's unique loca...
Github user asfgit closed the pull request at: https://github.com/apache/cordova-js/pull/148 --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-js issue #148: CB-13232: added test for cordova's unquie local style...
Github user filmaj commented on the issue: https://github.com/apache/cordova-js/pull/148 Ah, this test clarifies the style _so much better_. I know we've thrown the idea around to change this, but until we do, I think it may be worth documenting this. The README, in general, I think, needs updating. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-js pull request #148: CB-13232: added test for cordova's unquie loca...
GitHub user stevengill opened a pull request: https://github.com/apache/cordova-js/pull/148 CB-13232: added test for cordova's unquie local style require This is in response to https://github.com/apache/cordova-js/pull/146 You can merge this pull request into a Git repository by running: $ git pull https://github.com/stevengill/cordova-js CB-13232 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cordova-js/pull/148.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #148 commit 133850782a8166ad1b51e5a248ac5cc6869de726 Author: Steve Gill <stevengil...@gmail.com> Date: 2017-08-31T00:47:09Z CB-13232: added test for cordova's unquie local style require --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] shazron closed pull request #40: Test again, the sequel. No JIRA prefix.
shazron closed pull request #40: Test again, the sequel. No JIRA prefix. URL: https://github.com/apache/cordova-browser/pull/40 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] shazron closed pull request #39: CB-123 - Test again
shazron closed pull request #39: CB-123 - Test again URL: https://github.com/apache/cordova-browser/pull/39 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] shazron commented on issue #39: CB-123 - Test again
shazron commented on issue #39: CB-123 - Test again URL: https://github.com/apache/cordova-browser/pull/39#issuecomment-319768397 Test comment (with prefix) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] shazron commented on issue #40: Test again, the sequel. No JIRA prefix.
shazron commented on issue #40: Test again, the sequel. No JIRA prefix. URL: https://github.com/apache/cordova-browser/pull/40#issuecomment-319768329 Test comment (no prefix) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-plugin-test-framework pull request #26: CB-12895 : replaced jshint w...
Github user asfgit closed the pull request at: https://github.com/apache/cordova-plugin-test-framework/pull/26 --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-plugin-test-framework issue #26: CB-12895 : replaced jshint with esl...
Github user filmaj commented on the issue: https://github.com/apache/cordova-plugin-test-framework/pull/26 Yep! LGTM --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-plugin-test-framework issue #26: CB-12895 : replaced jshint with esl...
Github user audreyso commented on the issue: https://github.com/apache/cordova-plugin-test-framework/pull/26 Thanks for the review! Okay to merge @filmaj? --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-plugin-test-framework pull request #26: CB-12895 : replaced jshint w...
GitHub user audreyso opened a pull request: https://github.com/apache/cordova-plugin-test-framework/pull/26 CB-12895 : replaced jshint with eslint ### Platforms affected ### What does this PR do? Replaced jshint with eslint ### What testing has been done on this change? ### Checklist - [X] [Reported an issue](http://cordova.apache.org/contribute/issues.html) in the JIRA database - [X] Commit message follows the format: "CB-3232: (android) Fix bug with resolving file paths", where CB- is the JIRA ID & "android" is the platform affected. - [X] Added automated test coverage as appropriate for this change. You can merge this pull request into a Git repository by running: $ git pull https://github.com/audreyso/cordova-plugin-test-framework CB-12895 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cordova-plugin-test-framework/pull/26.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #26 commit 37acdf6074e05a27768e02ab892782f97fedee24 Author: Audrey So <audre...@apache.org> Date: 2017-08-01T00:00:17Z CB-12895 : replaced jshint with eslint --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r129673561 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,173 @@ + + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node +- invoking this script would create a platform-specific, cordova-compatible project shell + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json must export a 'main'. `"main": "src/cordova/Api.js"` +- A 'main' must exist, and it must be an instance of the `PlatformApi` with methods as you define later. +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations + +- The PlatformApi class +- The `PlatformApi` class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single `prepare` method to provide a way for cordova-lib to apply a project's setting/www content to the platform. It interpolates metadata, such as application name or description from a `Cordova` project's config.xml into the format expected by the platform. See [config.xml documentation](https://cordova.apache.org/docs/en/latest/config_ref/). +- The `PlatformApi` class should be implemented by each platform that wants to use the new API flow. +- Platforms that implement their own `PlatformApi` instance should implement all prototype methods of this class to be fully compatible with `cordova-lib`. --- End diff -- This should probably be "must implement all prototype methods", not "should"? Can we be explicit about which of these methods are required? Off the top of my head, a platform _needs_ `create`, `requirements`, `prepare`, `addPlugin` and `removePlugin`... are those the only necessary ones? `build`, `run` and others may not be required. But perhaps it is worth having implementers create, at the minimum, functions that return resolved promises for the method that are considered "no-op" for a platform. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r129671498 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,173 @@ + + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node +- invoking this script would create a platform-specific, cordova-compatible project shell + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json must export a 'main'. `"main": "src/cordova/Api.js"` +- A 'main' must exist, and it must be an instance of the `PlatformApi` with methods as you define later. +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations + +- The PlatformApi class +- The `PlatformApi` class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single `prepare` method to provide a way for cordova-lib to apply a project's setting/www content to the platform. It interpolates metadata, such as application name or description from a `Cordova` project's config.xml into the format expected by the platform. See [config.xml documentation](https://cordova.apache.org/docs/en/latest/config_ref/). +- The `PlatformApi` class should be implemented by each platform that wants to use the new API flow. --- End diff -- I'm not sure we need this point. Do new users looking to implement a platform care that the platform API is "new" or that there used to be a different, legacy approach to implementation? In the "Package Expectations" section we already state that the platform package _must_ expose a `main` module that returns an instance of `PlatformApi` - that tells me that the requirement for using/implementing the `PlatformApi` class is a _must_, not a _should_. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r129181275 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r129180869 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user purplecabbage commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r129178197 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user purplecabbage commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r129108993 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions --- End diff -- Static is the correct term for a method that is called by referencing the Class and not an instance of the class. Can we merge this, and create new comments/issues for remaining changes? This is impossible to follow now with the number of comments. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user audreyso commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r129106466 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r129105861 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user audreyso commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r129104787 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user audreyso commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r129092432 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions --- End diff -- Hmm so "static" functions came up in all of the notes, discussions, etc that I read through. I assumed it meant --> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static Should I remove all the instances of "static" functions in this guide? Or maybe replace it with something else? Or define static functions at the top somewhere so readers know? --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128902594 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128902258 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. --- End diff -- To Jesse's point, I would also add that a default template is standard structure for a cordova platform. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user audreyso commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128880654 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. --- End diff -- Thank you for explaining that! So would be enough to just write : - Templates allow developers to create apps based on boilerplate application code. - https://cordova.apache.org/docs/en/latest/guide/cli/template.html (and just exclude the rest of the information since it's already in the docs?) --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user audreyso commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128880058 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user purplecabbage commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128879785 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. --- End diff -- Voice should be 2nd person. Something like ... Templates allow app developers to create apps based on boilerplate application code ... Not sure how deep you need to go as the audience for this guide is/are platform developers, so it should be more 'How to I respect the template parameter when it is given?' and not 'How do I use templates?' --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at i
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user audreyso commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128879376 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. --- End diff -- How about something like this: Templates allow you to use preexisting code to jumpstart your project. Locate a template you wish to use. Then, create your project using that template, by specifying the --template flag during the create command, followed by your template source. You can createCordova project with a custom template located locally, in NPM, or GitHub. ``` $ cordova create hello com.example.hello HelloWorld --template $ cordova create hello com.example.hello HelloWorld --template $ cordova create hello com.example.hello HelloWorld --temp
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user audreyso commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128878157 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + --- End diff -- https://issues.apache.org/jira/browse/CB-13058 --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user purplecabbage commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128877837 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` --- End diff -- Yes, you can remove the update api. I would also recommend that you test it and verify that it does not get called. ie. try commenting out Api.updatePlatform in ios,android,browser,windows,test platforms and call cordova platform update for each ... --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user audreyso commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128877652 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user audreyso commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128876824 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` --- End diff -- Ohh okay! Just to confirm, all of the info about the updatePlatform function should be totally removed? --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform issue #1: Doc requirements for platform api expectatio...
Github user purplecabbage commented on the issue: https://github.com/apache/cordova-test-platform/pull/1 Another thing to note is that the tests that are in this repo *could* be used to verify the platformAPI for anyone attempting to implement it. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user purplecabbage commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128874756 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + --- End diff -- File an issue that we remove the requirement that the file be called Api.js --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128869649 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. --- End diff -- maybe just link to the template documentation? https://cordova.apache.org/docs/en/latest/guide/cli/template.html --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128869395 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. --- End diff -- yup. polyfill is on the way out --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128838089 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128837876 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128833191 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts --- End diff -- Can we describe what the purpose of the scripts are? i.e. "invoking this script would create a platform-specific cordova-compatible project shell" --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128838640 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128836281 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. --- End diff -- Re: the `CordovaProject` object/instance, anything we can link to to provide more details on what this means and how it works? --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128834498 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. --- End diff -- I'm unsure about this point, as I've heard the polyfill is on its way out. Can someone else confirm? --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128837070 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128837925 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128836475 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. --- End diff -- I think we need a pre-amble about what a template is and how it is used in the context of `create`. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128838987 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128833488 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update --- End diff -- I think we should remove this, as the `update` script seems to be going away, e.g. https://issues.apache.org/jira/browse/CB-12948 --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128838263 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128837813 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128834387 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. --- End diff -- I would expand on this, in particular the "project settings" part. Something like "interpolates metadata from a cordova project's config.xml (link to cordova docs' config.xml section) (such as application name, description, etc.) into the format expected by the platform." --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128833714 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` --- End diff -- I would tweak the wording and remove "usually" - gives a sense of uncertainty. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128839290 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128839772 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128834664 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) --- End diff -- Is this todo still applicable? I am not sure that _will_ change. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128837509 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128837232 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the Api.js file be av
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128836016 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` --- End diff -- Similar to above note on update, not sure it is worth documenting this since it is going away. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user filmaj commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128834741 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions --- End diff -- What is meant by "static" functions? That's not a very javascript-y concept. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user purplecabbage commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128835893 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` +- PlatformApi.createPlatform = function(cordovaProject, options) {}; +- The `createPlatform method` is equal to the bin/create script. It should install the platform to a specified directory and create a platform project. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject : This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from the platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. +- The `createPlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +The way most platforms work is somewhat tricky. The Api.js could be anywhere in the platform repo, ex. /templates/cordova/Api.js . When a new project is created for the platform, the platform copies this file (and supporting files ) to destination/cordova/Api.js. The project expectations demand that the
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user purplecabbage commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128835035 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + + +- Api.js exports static function `updatePlatform(destination, options, events);` +- PlatformApi.updatePlatform = function (cordovaProject, options) {}; +- The `updatePlatform` method is equal to the bin/update script. It should update an already installed platform. It should accept a CordovaProject instance, that defines a project structure and configuration, that should be applied to the new platform, and an options object. +- cordovaProject: This is a CordovaProject instance that defines a project structure and configuration, that should be applied to the new platform. This argument is optional and if not defined, that platform is used as a standalone project and not as part of a Cordova project. +- options : This is an options object. The most common options are : +- options.customTemplate : This is a path to custom template, that should override the default one from platform. +- options.link : This is a flag that should indicate that the platform's sources will be linked to the installed platform instead of copying. + - The `updatePlatform` method must return a promise, which is either fulfilled with a PlatformApi instance or rejected with a CordovaError. + +- Api.js exports static function `createPlatform(destination, cfg, options, events);` --- End diff -- MUST export a static function createPlatform that returns a new instance of the platformAPI --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user purplecabbage commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128834822 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. --- End diff -- this is a MUST main MUST exist, and it MUST be an instance of the platformAPI with methods as you define later. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user audreyso commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128834432 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + --- End diff -- Is there a better way to say this? --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #1: Doc requirements for platform api exp...
Github user audreyso commented on a diff in the pull request: https://github.com/apache/cordova-test-platform/pull/1#discussion_r128834249 --- Diff: PlatformRequirements.md --- @@ -0,0 +1,144 @@ + +# New Platform Checklist + +## Stand-alone scripts + +bin/create scripts +- bin/create _(typically a node script)_ +- bin/create.bat for windows +- windows .bat file typically just calls bin/create with node + +bin/update +- not entirely sure this code is run, or needs to exist with newish non-destructive platform updates + +## Package Expectations + +- Platforms must have a package.json in their root. +- Package.json exports a 'main', usually `"main": "src/cordova/Api.js"` +- This allows other modules to simply require() the path to this platform and get access to the Api. + +## Api (Platform) Expectations +- The PlatformApi class +- The PlatformApi class is an abstraction around a particular platform that exposes all the actions, properties, and methods for this platform so they are accessible programmatically. +- It can install & uninstall plugins with all source files, web assets and js files. +- It exposes a single 'prepare' method to provide a way for cordova-lib to apply a project's setting/www content to the platform. +- The PlatformApi class should be implemented by each platform that wants to use the new API flow. For those platforms, which don't provide their own PlatformApi, there will be a polyfill in cordova-lib. +- Platforms that implement their own PlatformApi instance should implement all prototype methods of this class to be fully compatible with cordova-lib. +- The PlatformApi instance should define the following field: +- platform : This is a String that defines a platform name. + +- Api.js exports static functions +- there is currently a requirement that the file be called Api.js (todo:change that) + --- End diff -- I think this to-do is a note left from someone else as a reminder for something... Can I just take it out? --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-test-platform pull request #2: CB-11347: a bit more documentation ar...
GitHub user filmaj opened a pull request: https://github.com/apache/cordova-test-platform/pull/2 CB-11347: a bit more documentation around platform API + links to a few additional discussion PRs. FYI / please review @purplecabbage @shazron You can merge this pull request into a Git repository by running: $ git pull https://github.com/filmaj/cordova-test-platform CB-11347 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cordova-test-platform/pull/2.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2 commit 2e0a0f9ef09522082ba30986fc47899a356f9edb Author: filmaj <maj@gmail.com> Date: 2017-07-21T18:17:42Z CB-11347: a bit more documentation around platform API and additional reading. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-android pull request #391: CB-12950: E2E test tweaks + Appveyor now ...
Github user asfgit closed the pull request at: https://github.com/apache/cordova-android/pull/391 --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-android issue #391: CB-12950: E2E test tweaks + Appveyor now runs E2...
Github user infil00p commented on the issue: https://github.com/apache/cordova-android/pull/391 LGTM --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-android issue #391: CB-12950: E2E test tweaks + Appveyor now runs E2...
Github user alsorokin commented on the issue: https://github.com/apache/cordova-android/pull/391 Here's a JIRA issue: https://issues.apache.org/jira/browse/CB-12960 --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-android issue #391: CB-12950: E2E test tweaks + Appveyor now runs E2...
Github user filmaj commented on the issue: https://github.com/apache/cordova-android/pull/391 @alsorokin perfect! Yeah no worries, I can do it too. How about let's file an issue for it first and then go from there? As for this particular PR, today I will attempt to start an emulator in appveyor + travis and run the native cordova-android instrumented tests. That would end up running _all_ the tests we have in cordova-android in CI, on both Windows and Linux, which would be a big win, I think. Further, I'd like to direct people to the original issue thread where I commented about how we can speed up the integration tests (by removing a bunch of the create tests). Still looking for feedback on that - if you have an opinion (either for or against it), please speak up! --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-android issue #391: CB-12950: E2E test tweaks + Appveyor now runs E2...
Github user alsorokin commented on the issue: https://github.com/apache/cordova-android/pull/391 As I've already done this for plugins and have the knowledge, I can do the same thing for iOS and Android if you like, after this is merged. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-android issue #391: CB-12950: E2E test tweaks + Appveyor now runs E2...
Github user alsorokin commented on the issue: https://github.com/apache/cordova-android/pull/391 Take a look at this: http://austinpray.com/ops/2015/09/20/change-travis-node-version.html So, we're basically download nvm and pass it a node version stored in the environment variable. I've already done it for the plugins repos (only node 4.2 so far though): https://github.com/apache/cordova-plugin-device/blob/master/.travis.yml#L55 --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-android issue #391: CB-12950: E2E test tweaks + Appveyor now runs E2...
Github user purplecabbage commented on the issue: https://github.com/apache/cordova-android/pull/391 Yeah that might be the same issue with iOS ... --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-android issue #391: CB-12950: E2E test tweaks + Appveyor now runs E2...
Github user filmaj commented on the issue: https://github.com/apache/cordova-android/pull/391 Might be tough as we tell travis to use the Android image preset via `language: android` so it comes pre-installed with some bits from the Android SDK... --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-lib pull request #568: Reorganized unit test directory structure + u...
Github user filmaj closed the pull request at: https://github.com/apache/cordova-lib/pull/568 --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-android issue #391: CB-12950: E2E test tweaks + Appveyor now runs E2...
Github user purplecabbage commented on the issue: https://github.com/apache/cordova-android/pull/391 Yeah, iOS doesn't even care ... https://github.com/apache/cordova-ios/blob/master/.travis.yml Windows does 4+6 ( without `nvm` ) https://github.com/apache/cordova-windows/blob/master/.travis.yml Browser also 4+6 https://github.com/apache/cordova-browser/blob/master/.travis.yml --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
Re: cordova-lib proposal on test directory reorganization
Everything looked good from my once over -- thanks for the work you're putting in to this! Sent from my phone. ___ Kerri > On Jun 27, 2017, at 12:44, Filip Maj <maj@gmail.com> wrote: > > I'm planning on merging this in later today if there are no more > comments. So far only positive ones! > >> On Mon, Jun 26, 2017 at 7:45 AM, Filip Maj <maj@gmail.com> wrote: >> Still looking for a bit more feedback, please take a look if you have >> time! Thanks Anis for your feedback :) >> >> Don't worry about the diff / changeset (~1900 files changed!), the PR >> description, I think, summarizes the changes well enough. Almost all >> the changes are renaming files and tweaking the directory structure. >> >> I am thinking of merging this in Wednesday if I get no more comments, >> or possibly sooner if I get nothing but positive feedback. They are >> big directory structure changes, and the sooner we can get this in, >> the less rebase headache will exist. >> >> Thanks! >> Fil >> >>> On Thu, Jun 22, 2017 at 5:41 PM, Filip Maj <maj@gmail.com> wrote: >>> Proposal up in PR form here: https://github.com/apache/cordova-lib/pull/568 >>> >>> tl;dr consolidating `spec-cordova/` and `spec-plugman` directories >>> into one, setting up to for one-unit-test-spec.js per source-module.js >>> file. >>> >>> Looking for eyes and feedback! If you have any, please drop comments in the >>> PR. >>> >>> Thanks! >>> Fil > > - > To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org > For additional commands, e-mail: dev-h...@cordova.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-android issue #391: CB-12950: E2E test tweaks + moar testing on Wind...
Github user filmaj commented on the issue: https://github.com/apache/cordova-android/pull/391 I just realized... on Windows, we run against both node v4 and node v6. On travis, only against node v6. We should make this consistent. Which one? The `package.json` file _does_ specify as supporting node v4+... --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-android pull request #391: WIP: E2E test tweaks + moar testing on Wi...
GitHub user filmaj opened a pull request: https://github.com/apache/cordova-android/pull/391 WIP: E2E test tweaks + moar testing on Windows Please don't merge! Testing how appveyor behaves when we tell it to install the latest Android SDK, and run the e2e tests. FINGERS CROSSED You can merge this pull request into a Git repository by running: $ git pull https://github.com/filmaj/cordova-android e2e-test-tweaks Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cordova-android/pull/391.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #391 commit 2428df867c9c938e1784a2a993bfc19aa21261fa Author: filmaj <maj@gmail.com> Date: 2017-06-27T17:02:38Z CB-12950 rename npm tasks to reflect what they do (npm run unit-tests, npm run e2e-tests). main `npm test` runs linter, unit tests and e2e tests now. updated travis to run `npm test`. locked jasmine down to ~2.6.0. commit 1c9210b638a810a03e53e89762b43220c602131b Author: filmaj <maj@gmail.com> Date: 2017-06-27T17:54:47Z consolidate gitignores. commit bd7d006c17135d2c89294fa3144762175cace0af Author: filmaj <maj@gmail.com> Date: 2017-06-27T17:55:32Z Lets see how appveyor rolls with android sdk installation --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
Re: cordova-lib proposal on test directory reorganization
I'm planning on merging this in later today if there are no more comments. So far only positive ones! On Mon, Jun 26, 2017 at 7:45 AM, Filip Maj <maj@gmail.com> wrote: > Still looking for a bit more feedback, please take a look if you have > time! Thanks Anis for your feedback :) > > Don't worry about the diff / changeset (~1900 files changed!), the PR > description, I think, summarizes the changes well enough. Almost all > the changes are renaming files and tweaking the directory structure. > > I am thinking of merging this in Wednesday if I get no more comments, > or possibly sooner if I get nothing but positive feedback. They are > big directory structure changes, and the sooner we can get this in, > the less rebase headache will exist. > > Thanks! > Fil > > On Thu, Jun 22, 2017 at 5:41 PM, Filip Maj <maj@gmail.com> wrote: >> Proposal up in PR form here: https://github.com/apache/cordova-lib/pull/568 >> >> tl;dr consolidating `spec-cordova/` and `spec-plugman` directories >> into one, setting up to for one-unit-test-spec.js per source-module.js >> file. >> >> Looking for eyes and feedback! If you have any, please drop comments in the >> PR. >> >> Thanks! >> Fil - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-lib issue #568: Reorganized unit test directory structure + updated ...
Github user filmaj commented on the issue: https://github.com/apache/cordova-lib/pull/568 Thanks for the feedback @stevengill, good point. I've just removed `npm run ci` and updated travis and appveyor to just run `npm test` - just like a developer would on their local machine. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org
[GitHub] cordova-lib issue #568: Reorganized unit test directory structure + updated ...
Github user stevengill commented on the issue: https://github.com/apache/cordova-lib/pull/568 looks good to me. Only thing I would add is updating travis and appveyor as well. They run the integration tests as a separate task currently. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- - To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org