diff --git a/docs/librarymanager/config.rst b/docs/librarymanager/config.rst index 85116f92..2ab3c7f7 100644 --- a/docs/librarymanager/config.rst +++ b/docs/librarymanager/config.rst @@ -25,8 +25,8 @@ to keep project in own structure and define: * advanced build settings PlatformIO Library Crawler uses ``library.json`` manifest to extract -source code from developer's location and keeps cleaned library in own -Library Storage. +source code from developer's location and keeps a cleaned library in own +Library Registry. A data in ``library.json`` should be represented in `JSON-style `_ via @@ -270,17 +270,32 @@ See more ``library.json`` :ref:`library_creating_examples`. Home page of library (if is different from :ref:`libjson_repository` url). -.. _libjson_include: +.. _libjson_export: + +``export`` +---------- + +*Optional* | Type: ``Object`` + +Explain PlatformIO Library Crawler which content from the repository/archive +should be exported as "source code" of the library. This option is useful if +need to exclude extra data (test code, docs, images, PDFs, etc). It allows to +reduce size of the final archive. + +Possible options: + +* ``include`` +* ``exclude`` ``include`` ------------ +~~~~~~~~~~~ *Optional* | Type: ``String`` or ``Array`` | `Glob Pattern `_ -If :ref:`libjson_include` field is a type of ``String``, then -|PIOAPICR| will recognize it like a "relative path inside -repository/archive to library source code". See example below where the only +If ``include`` field is a type of ``String``, then |PIOAPICR| will recognize +it like a "relative path inside repository/archive to library source code". +See example below where the only source code from the relative directory ``LibrarySourceCodeHere`` will be included. @@ -288,21 +303,23 @@ included. "include": "some/child/dir/LibrarySourceCodeHere" -If :ref:`libjson_include` field is a type of ``Array``, then -|PIOAPICR| firstly will apply :ref:`libjson_exclude` filter and -then include only directories/files which match with :ref:`libjson_include` -patterns. +If ``include`` field is a type of ``Array``, then |PIOAPICR| firstly will +apply ``exclude`` filter and then include only directories/files +which match with ``include`` patterns. Example: .. code-block:: javascript - "include": - [ - "dir/*.[ch]pp", - "dir/examples/*", - "*/*/*.h" - ] + "export": { + "include": + [ + "dir/*.[ch]pp", + "dir/examples/*", + "*/*/*.h" + ] + } + Pattern Meaning @@ -322,16 +339,14 @@ Pattern Meaning See more ``library.json`` :ref:`library_creating_examples`. -.. _libjson_exclude: ``exclude`` ------------ +~~~~~~~~~~~ *Optional* | Type: ``String`` or ``Array`` | `Glob Pattern `_ -Exclude the directories and files which match with :ref:`libjson_exclude` -patterns. +Exclude the directories and files which match with ``exclude`` patterns. .. _libjson_frameworks: diff --git a/docs/librarymanager/creating.rst b/docs/librarymanager/creating.rst index 5d150f16..8bdbf5b9 100644 --- a/docs/librarymanager/creating.rst +++ b/docs/librarymanager/creating.rst @@ -32,9 +32,8 @@ There are a several ways how to share your library with the whole world (see `examples `_). You can hold a lot of libraries (split into separated folders) inside one of -the repository/archive. In this case please use :ref:`libjson_include` -field to specify the relative path to your library's source code. - +the repository/archive. In this case, you need to specify ``include`` option of +:ref:`libjson_export` field to relative path to your library's source code. At GitHub ^^^^^^^^^ @@ -132,7 +131,9 @@ of **required** fields in the :ref:`library_config` will look like: }, "version": "2.2", "downloadUrl": "http://www.pjrc.com/teensy/arduino_libraries/OneWire.zip", - "include": "OneWire", + "export": { + "include": "OneWire" + }, "frameworks": "arduino", "platforms": "atmelavr" }