Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SDL 0234] Proxy Library RPC Generation #203

Closed
vladmu opened this issue Oct 29, 2019 · 3 comments · Fixed by #202
Closed

[SDL 0234] Proxy Library RPC Generation #203

vladmu opened this issue Oct 29, 2019 · 3 comments · Fixed by #202
Labels
proposal Accepted SDL Evolution Proposal

Comments

@vladmu
Copy link
Contributor

vladmu commented Oct 29, 2019

Proposal: Proxy Library RPC Generation

This proposal adds automatic RPC generation for iOS and Java from the XML spec via a python script.

Review: smartdevicelink/sdl_evolution#741

Steering Committee Decision:

The Steering Committee voted to approve this proposal with the following revision: there will be parsing code in each repository, and the rpc spec will be a submodule that pins which rpc spec will be used in each version of the library.

The proposal .md file was updated to reflect these revisions on 6/10/19.

@vladmu
Copy link
Contributor Author

vladmu commented Oct 29, 2019

PR #202 created as prerequisites following this issue and proposal. The further specification of each generator script requires this schema definition.
Related issues:

@theresalech
Copy link
Contributor

theresalech commented Dec 2, 2019

Proposal markdown file has been updated per the revisions included in accepted Evolution Proposal SDL 0234 Revisions - Proxy Library RPC Generation. Please reference issue and proposal markdown file for more details.

@theresalech
Copy link
Contributor

Proposal markdown file has been updated per the revisions included in accepted Evolution Proposal SDL 0234 Revisions - Proxy Library RPC Generation. The revisions include adding a rule that takes into account a set of keywords that currently exist in any of the three client side libraries (iOS, Java Suite, and JavaScript suite), and avoiding creating method signatures that collide. Please reference the issue and proposal markdown file for more details.

Separate issue has been entered in RPC Spec to reflect this change: #231.

Jack-Byrne added a commit that referenced this issue Apr 29, 2020
* Reverse engineer XSD from MOBILE_API.xml

* Add v6.0.0 compatible attributes into XSD

* #203 SDL-0234 Proxy Library RPC Generation

  * Added reverse-engineered [MOBILE_API.xsd](MOBILE_API.xsd)
  * Moved XML Parser named [InterfaceParser](InterfaceParser) from [InterfaceGenerator of smartdevicelink/sdl_core](smartdevicelink/sdl_core/tools/InterfaceGenerator)
  * Refactored [InterfaceParser](InterfaceParser) to be more readable by splitting classes into separate files
  * Refactored [InterfaceParser](InterfaceParser) to be compatible with Python 3.5
  * Added README.md with the base XML structure description into [InterfaceParser](InterfaceParser)
  * Refactored Markdown Generator to use [InterfaceParser](InterfaceParser) and be compatible with Python 3.5

* Update InterfaceParser/README.md

* Parser types section added

* Table markdown correction

* refactoring according to comments in pull/202

* updating markdown_generator to support command line arguments

* adding skip/overwrite feature to markdown

* delete SDLRPCV1 and JSONRPC parsers

* delete SDLRPCV1 and JSONRPC parsers

* adding xsd validating

* small refactoring as requested in code review

* small refactoring as requested in code review

* refactoring rpc_base, split it into some helper functions with descriptive method

* Update README.md

Added Requirements section

* added Double string to extracting type

* adding args.source_xsd into parse

* adding args.source_xsd into parse

* rename ArgumentParser description

* adding manual handling

* minor fixes in markdown_generator

* minor fixes in markdown_generator

* fix issue with hexvalue renaming

* wrap xml.etree.ElementTree.ParseError into parsers.parse_error.ParseError for SDLRPCV2

* wrap XMLSchema exeption

* Add until param for enum elements in the MOBILE_API XML schema definintion file

* Address review comments

* Add reserved keywords

* Apply suggestions from code review

Co-Authored-By: Joel Fischer <joeljfischer@gmail.com>

* Add setFunctionID to reserved keywords

* Remove response params from reserved keywords

* Add keywords without get/set prefixes

Co-authored-by: Vladyslav Mustafin <vmustafin@luxoft.com>
Co-authored-by: Kostiantyn Sologubov <ksologubov@luxoft.com>
Co-authored-by: Aleksandr Mishchenko <AMishchenko@luxoft.com>
Co-authored-by: ShobhitAd <adlakhashobhit@gmail.com>
Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com>
Co-authored-by: Bilal Alsharifi <bilal.alsharifi@gmail.com>
Co-authored-by: Bilal Alsharifi <599206+bilal-alsharifi@users.noreply.github.com>
Co-authored-by: Joel Fischer <joeljfischer@gmail.com>
Co-authored-by: theresalech <theresa@livio.io>
Co-authored-by: Joey Grover <joeygrover@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposal Accepted SDL Evolution Proposal
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants