Skip to content

Commit

Permalink
Merge branch 'release/v0.8.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
ivankravets committed Oct 19, 2014
2 parents 8d491b4 + 416bf8e commit c867f9a
Show file tree
Hide file tree
Showing 20 changed files with 450 additions and 213 deletions.
14 changes: 12 additions & 2 deletions HISTORY.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
Release History
===============

0.8.0 (?)
---------
0.8.0 (2014-10-19)
------------------

* Avoided trademark issues in ``library.json`` with new fields:
``frameworks``, ``platforms`` and ``dependencies`` (`issue #17 <https://github.com/ivankravets/platformio/issues/17>`_)
* Switched logic from "Library Name" to "Library Registry ID" for all
``platformio lib`` commands (install, uninstall, update and etc.)
* Renamed ``author`` field to ``authors`` and allowed to setup multiple authors
per library in ``library.json``
* Added option to specify "maintainer" status in ``authors`` field
* New filters/options for ``platformio lib search`` command: ``--framework``
and ``--platform``

0.7.1 (2014-10-06)
------------------
Expand Down
3 changes: 2 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ PlatformIO
`Blog <http://www.ikravets.com/category/computer-life/platformio>`_ |
`Twitter <https://twitter.com/smartanthill>`_

**PlatformIO** is a cross-platform code builder and library manager.
**PlatformIO** is a cross-platform code builder and library manager for
*Arduino, MSP430, ARM*.

* `Website + Library Search <http://platformio.ikravets.com>`_
* `Quickstart <http://docs.platformio.ikravets.com/en/latest/quickstart.html>`_
Expand Down
3 changes: 2 additions & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -274,4 +274,5 @@

# A timeout value, in seconds, for the linkcheck builder
# http://sphinx-doc.org/config.html#confval-linkcheck_timeout
linkcheck_timeout = 30
linkcheck_timeout = 10
linkcheck_anchors = False
9 changes: 9 additions & 0 deletions docs/ide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,19 @@
IDE Integration
===============

Arduino IDE
-----------

`Integration of PlatformIO library manager to Arduino IDE <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_

Eclipse
-------
`Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO <http://www.ikravets.com/computer-life/programming/2014/06/20/building-and-debugging-atmel-avr-arduino-based-project-using-eclipse-ideplatformio>`_

Energia IDE
-----------

`Integration of PlatformIO library manager to Energia IDE <http://www.ikravets.com/computer-life/platformio/2014/10/07/integration-of-platformio-library-manager-to-arduino-and-energia-ides>`_

VIM
---
Expand Down
4 changes: 2 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PlatformIO: A cross-platform code builder and library manager (Arduino, MSP430, ARM)
====================================================================================
PlatformIO: A cross-platform code builder and library manager for Arduino, MSP430, ARM
======================================================================================

`Website + Library Search <http://platformio.ikravets.com>`_ |
`Project Examples <https://github.com/ivankravets/platformio/tree/develop/examples>`_ |
Expand Down
131 changes: 96 additions & 35 deletions docs/librarymanager/config.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.. _library_config:
.. |PIOAPICR| replace:: *PlatformIO Library Registry Crawler*

library.json
============
Expand All @@ -10,9 +11,11 @@ A data in ``library.json`` should be represented via
(name/value pairs). An order doesn't matter.

The allowable fields (names from pairs) are described below. The fields
(:ref:`libjson_name`, :ref:`libjson_description` and :ref:`libjson_keywords`)
(:ref:`libjson_name`, :ref:`libjson_description`, :ref:`libjson_keywords`
and :ref:`libjson_authors`)
will be displayed in the search results at the :ref:`cmd_lib_search` (*CLI*)
and at the *WebSite*. Also, they can be used for searching for libraries.
and at the `WebSite <http://platformio.ikravets.com/#!/lib>`_.
Also, they can be used for searching for libraries.

.. contents::

Expand Down Expand Up @@ -60,57 +63,55 @@ start/end with them). A list from the keywords can be specified with
separator ``,``


.. _libjson_version:
.. _libjson_authors:

``version``
``authors``
-----------

*Required* if :ref:`libjson_repository` field is not defined | Type: ``String``
| Max. Length: 20
A version of the current library source code.

* Can contain a-z, digits, dots or dash.
* `Semantic Versioning <http://semver.org>`_ is recommended.
* A `CVS <http://en.wikipedia.org/wiki/Concurrent_Versions_System>`_
revision from the latest commit. Example: ``13`` (*SVN*) or first 10
chars of *SHA* digest ``e4564b7da4`` (*Git*).

.. note::
You can omit :ref:`libjson_version` field and define
:ref:`libjson_repository` field. In this case
*PlatformIO-API Crawler* will use the *CVS*-revision from the latest commit.


.. _libjson_author:

``author``
----------

*Required* if :ref:`libjson_repository` field is not defined | Type: ``Object``
or ``Array``

An author contact information

* ``name`` Full name (**Required**)
* ``email``
* ``url`` An author's contact page
* ``maintainer`` Specify "maintainer" status

Example:
Examples:

.. code-block:: javascript
"author":
"authors":
{
"name": "John Smith",
"email": "[email protected]",
"url": "http://www.john-smith/contact"
}
...
"authors":
[
{
"name": "John Smith",
"email": "[email protected]",
"url": "http://www.john-smith/contact"
},
{
"name": "Andrew Smith",
"email": "[email protected]",
"url": "http://www.andrew-smith/contact",
"maintainer": true
}
]
.. note::
You can omit :ref:`libjson_author` field and define
You can omit :ref:`libjson_authors` field and define
:ref:`libjson_repository` field. Only *GitHub-based* repository is
supported now. In this case
*PlatformIO-API Crawler* will use information from
|PIOAPICR| will use information from
`GitHub API Users <https://developer.github.com/v3/users/>`_.


Expand Down Expand Up @@ -145,6 +146,28 @@ It is the *HTTP URL* to the archived source code of library. It should end
with the type of archive (``.zip`` or ``.tar.gz``).


.. _libjson_version:

``version``
-----------

*Required* if :ref:`libjson_repository` field is not defined | Type: ``String``
| Max. Length: 20
A version of the current library source code.

* Can contain a-z, digits, dots or dash.
* `Semantic Versioning <http://semver.org>`_ is recommended.
* A `CVS <http://en.wikipedia.org/wiki/Concurrent_Versions_System>`_
revision from the latest commit. Example: ``13`` (*SVN*) or first 10
chars of *SHA* digest ``e4564b7da4`` (*Git*).

.. note::
You can omit :ref:`libjson_version` field and define
:ref:`libjson_repository` field. In this case
|PIOAPICR| will use the *CVS*-revision from the latest commit.


.. _libjson_include:

``include``
Expand All @@ -154,7 +177,7 @@ with the type of archive (``.zip`` or ``.tar.gz``).
`Glob Pattern <http://en.wikipedia.org/wiki/Glob_(programming)>`_

If :ref:`libjson_include` field is a type of ``String``, then
*PlatformIO-API Crawler* will recognize it like a "relative path inside
|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.
Expand All @@ -164,7 +187,7 @@ included.
"include": "some/child/dir/LibrarySourceCodeHere"
If :ref:`libjson_include` field is a type of ``Array``, then
*PlatformIO-API Crawler* firstly will apply :ref:`libjson_exclude` filter and
|PIOAPICR| firstly will apply :ref:`libjson_exclude` filter and
then include only directories/files which match with :ref:`libjson_include`
patterns.

Expand Down Expand Up @@ -207,25 +230,63 @@ Pattern Meaning
Exclude the directories and files which match with :ref:`libjson_exclude`
patterns.

.. _libjson_frameworks:

``frameworks``
--------------

*Optional* | Type: ``String`` or ``Array``

A list with compatible frameworks. The available framework types are defined in
the :ref:`platforms` section.


.. _libjson_platforms:

``platforms``
-------------

*Optional* | Type: ``String`` or ``Array``

A list with compatible platforms. The available platform types are
defined in :ref:`platforms` section.


.. _libjson_dependencies:

``dependencies``
----------------

*Optional* | Type: ``Array``
*Optional* | Type: ``Array`` or ``Object``

A list of dependent libraries. They will be installed automatically with
:ref:`cmd_lib_install` command.

Allowed requirements for dependent library:

* ``name`` | Type: ``String``
* ``authors`` | Type: ``String`` or ``Array``
* ``frameworks`` | Type: ``String`` or ``Array``
* ``platforms`` | Type: ``String`` or ``Array``

Example:

.. code-block:: javascript
"dependencies":
[
"Library-Foo",
"Library-Bar"
{
"name": "Library-Foo",
"authors":
[
"Jhon Smith",
"Andrew Smith"
]
},
{
"name": "Library-Bar",
"frameworks": "FrameworkFoo, FrameworkBar"
}
]
Expand Down
2 changes: 1 addition & 1 deletion docs/librarymanager/creating.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.. _library_creating:
.. |PIOAPICR| replace:: *PlatformIO-API Crawler*
.. |PIOAPICR| replace:: *PlatformIO Library Registry Crawler*

Creating Library
================
Expand Down
2 changes: 1 addition & 1 deletion docs/librarymanager/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Library Manager

..
*"The missing library manager for embedded platforms"* [#]_
*"A missing library manager for embedded platforms (Atmel AVR, MSP430 and ARM)"* [#]_

*PlatformIO Library Manager* allows you to organize external embedded libraries.
You can search for new libraries via :ref:`Command Line <cmd_lib_search>`
Expand Down
30 changes: 17 additions & 13 deletions docs/userguide/lib/cmd_install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,14 @@ Usage

.. code-block:: bash
platformio lib install [OPTIONS] [NAMES]
platformio lib install [OPTIONS] [LIBRARY_ID]
Description
-----------

Install new library
Install new library by specified
`PlatformIO Library Registry ID <http://platformio.ikravets.com/#!/lib>`_.

Options
-------
Expand All @@ -34,35 +35,38 @@ Examples

.. code-block:: bash
$ platformio lib install Arduino-IRremote
Installing Arduino-IRremote library:
# IRremote: http://platformio.ikravets.com/#!/lib/show/4
$ platformio lib install 4
Installing library [ 4 ]:
Downloading [####################################] 100%
Unpacking [####################################] 100%
The library 'Arduino-IRremote' has been successfully installed!
The library #4 'IRremote' has been successfully installed!
2. Install specified version of library
.. code-block:: bash
$ platformio lib install Arduino-XBee --version=0.5
Installing Arduino-XBee library:
# XBee: http://platformio.ikravets.com/#!/lib/show/6
$ platformio lib install 6 --version=0.5
Installing library [ 6 ]:
Downloading [####################################] 100%
Unpacking [####################################] 100%
The library 'Arduino-XBee' has been successfully installed!
The library #6 'XBee' has been successfully installed!
3. Install library with dependencies
.. code-block:: bash
$ platformio lib install Adafruit-Arduino-ST7735
Installing Adafruit-Arduino-ST7735 library:
# Adafruit-ST7735: http://platformio.ikravets.com/#!/lib/show/12
$ platformio lib install 12
Installing library [ 12 ]:
Downloading [####################################] 100%
Unpacking [####################################] 100%
The library 'Adafruit-Arduino-ST7735' has been successfully installed!
The library #12 'Adafruit-ST7735' has been successfully installed!
Installing dependencies:
Installing Adafruit-Arduino-GFX library:
Installing library [ 13 ]:
Downloading [####################################] 100%
Unpacking [####################################] 100%
The library 'Adafruit-Arduino-GFX' has been successfully installed!
The library #13 'Adafruit-GFX' has been successfully installed!
14 changes: 11 additions & 3 deletions docs/userguide/lib/cmd_list.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,15 @@ Examples
.. code-block:: bash
$ platformio lib list
Arduino-IRremote Send and receive infrared signals with multiple protocols
[ ID ] Name Compatibility "Authors": Description
-------------------------------------------------------------------------------------
[ 23 ] Adafruit-L3GD20-Unified arduino, atmelavr "Adafruit Industries": Unified sensor driver for the L3GD20 Gyroscope
[ 12 ] Adafruit-ST7735 arduino, atmelavr "Adafruit Industries": A library for the Adafruit 1.8" SPI display
[ 31 ] Adafruit-Unified-Sensor arduino, atmelavr "Adafruit Industries": Adafruit Unified Sensor Driver
[ 26 ] Adafruit-LSM303DLHC-Unified arduino, atmelavr "Adafruit Industries": Unified sensor driver for Adafruit's LSM303 Breakout (Accelerometer + Magnetometer)
[ 6 ] XBee arduino, atmelavr "Andrew Rapp": Arduino library for communicating with XBees in API mode
[ 13 ] Adafruit-GFX arduino, atmelavr "Adafruit Industries": A core graphics library for all our displays, providing a common set of graphics primitives (points, lines, circles, etc.)
[ 4 ] IRremote arduino, atmelavr "Ken Shirriff": Send and receive infrared signals with multiple protocols
[ 14 ] Adafruit-9DOF-Unified arduino, atmelavr "Adafruit Industries": Unified sensor driver for the Adafruit 9DOF Breakout (L3GD20 / LSM303)
...
Arduino-Webduino An extensible web server library (for use with the Arduino Ethernet Shield)
Arduino-XBee Arduino library for communicating with XBees in API mode
Loading

0 comments on commit c867f9a

Please sign in to comment.