-
Notifications
You must be signed in to change notification settings - Fork 422
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
meta: Initial metadata support #261
Conversation
this fixes build error in master branch. finally, `make` build method is gone.
for readability.
raise error when Strng is given
How about this format for metadata: components:
- name: bmp180
description: |
Driver for BMP180 digital pressure sensor
groups:
- pressure
- temperature
code_owners:
- UncleRus
depends:
- i2cdev
- log
- esp_idf_lib_helpers
thread_safe: yes
targets:
- esp32
- esp8266
licenses:
- MIT
copyrights:
- name: FrankB
year: 2015
- name: UncleRus
year: 2018
devices:
- name: BMP180
manufacturer: Bosch Sensortec It's less noisy, adds a "devices" section and defines the first group in the list as the main one. |
requiring first, it ensures forward-compatibility. the simplest form of referring to something is a dict: foo:
bar:
buz:
foo:
- bar
- buz
- bar now you can use two foo:
- name: bar
version: 1.0
- name: buz
- name: bar
version: 1.2 for this reason, I even thought that description:
name: language
i18n:
en_US: Language
th_TH: ภาษา
ja_JP: 言語 but at the same time, I thought readers should be able to read English, and we should not do i18n. second reason is, it reduces context switch when writing metadata. it is always what is the purpose of devices:
- name: foo
manufacturer: Bar
product_url: http://bar.example.org
datasheet_url: http://bar.example.org/doc/foo.html please describe what you need in |
maybe, copyrights:
- author:
name: FrankB
year: 2015 which is semantically correct. but update: the above form is now supported. |
the subject is not a component anymore, but `metadatas` is not correct English. use `_array` instead.
also: * add helper methods, such as year? * show more descriptive error messages
now that all components have .eil.yml
I don't think the tests cover all cases. will add more after merged. |
Hi, regarding this, have a look here I think espressif is developing their own "component library" manager. |
i know the manager, and that's a part of purpose of metadata support. but we have our own requirements. when we have metadata, it will be a matter of simple conversion. |
for the record, here's my thoughts about dependency. there would be two kinds of dependency; internal and external. internal dependency is a dependency on components in this repository. external is the one on other components or library we don't manage. external dependency should be limited to one in esp-idf only. if a component requires third party components or libraries, they should be vendered, i.e include the required sources, like some components written by FastLED. no git submodules, nor any other dependency resolver. |
submoduling internal components is acceptable if, and only if, the components are managed by the maintainers, or the same entity that manages this repository, such as a GitHub organization. |
meta: Initial metadata support
see #260 for rationales. the PR includes fixes in build example workflow (master drops make build).
initial tests have been added, but not all components have a metadata file yet (the test fail).