Skip to content

Commit

Permalink
Avoid trademark issues in library.json; switch to PlatformIO Library …
Browse files Browse the repository at this point in the history
…Registry ID logic

Resolve issue #17
  • Loading branch information
ivankravets committed Oct 18, 2014
1 parent 4f817a5 commit 2d6c0ef
Show file tree
Hide file tree
Showing 11 changed files with 327 additions and 163 deletions.
10 changes: 10 additions & 0 deletions HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,16 @@ Release History
0.8.0 (?)
---------

* 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
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
93 changes: 73 additions & 20 deletions docs/userguide/lib/cmd_search.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ Usage
Description
-----------

Search for library over ``name``, ``description`` and ``keywords`` fields from
the :ref:`library_config` file in the boolean mode.
Search for library in *PlatformIO Library Registry* by
:ref:`library_config` fields in the boolean mode.

The boolean search capability supports the following operators:

Expand Down Expand Up @@ -71,66 +71,119 @@ Filter libraries by specified author

Filter libraries by specified keyword


.. option::
-f, --framework

Filter libraries by specified framework


.. option::
-p, --platform

Filter libraries by specified keyword

Examples
--------

1. Search for "1-Wire" library
1. List all libraries

.. code-block:: bash
$ platformio lib search ""
Found N libraries:
[ ID ] Name Compatibility "Authors": Description
-------------------------------------------------------------------------------------
[ 14 ] Adafruit-9DOF-Unified arduino, atmelavr "Adafruit Industries": Unified sensor driver for the Adafruit 9DOF Breakout (L3GD20 / LSM303)
[ 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.)
[ 23 ] Adafruit-L3GD20-Unified arduino, atmelavr "Adafruit Industries": Unified sensor driver for the L3GD20 Gyroscope
[ 26 ] Adafruit-LSM303DLHC-Unified arduino, atmelavr "Adafruit Industries": Unified sensor driver for Adafruit's LSM303 Breakout (Accelerometer + Magnetometer)
[ 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
[ 4 ] IRremote arduino, atmelavr "Ken Shirriff": Send and receive infrared signals with multiple protocols
[ 1 ] OneWire arduino, atmelavr "Paul Stoffregen": Control devices (from Dallas Semiconductor) that use the One Wire protocol (DS18S20, DS18B20, DS2408 and etc)
[ 6 ] XBee arduino, atmelavr "Andrew Rapp": Arduino library for communicating with XBees in API mode
[ 15 ] Adafruit-ADXL345-Unified arduino, atmelavr "Adafruit Industries": Unified driver for the ADXL345 Accelerometer
Show next libraries? [y/N]:
...
2. Search for "1-Wire" library
.. code-block:: bash
$ platformio lib search 1-wire
Found N libraries:
Arduino-OneWire Control devices (from Dallas Semiconductor) that use the One Wire protocol
[ ID ] Name Compatibility "Authors": Description
-------------------------------------------------------------------------------------
[ 1 ] OneWire arduino, atmelavr "Paul Stoffregen": Control devices (from Dallas Semiconductor) that use the One Wire protocol (DS18S20, DS18B20, DS2408 and etc)
...
2. Search for Arduino-based "I2C" libraries. The ``+`` sign is here like ``AND``
3. Search for Arduino-based "I2C" libraries. The ``+`` sign is here like ``AND``
operator.
.. code-block:: bash
$ platformio lib search "+i2c +arduino"
$ platformio lib search "+i2c" --framework=arduino
Found N libraries:
i2cdevlib-Arduino-i2cdev The I2C Device Library (i2cdevlib) is a collection of uniform and well-documented classes to provide simple and intuitive interfaces to I2C devices.
i2cdevlib-Arduino-AK8975 AK8975 is 3-axis electronic compass IC with high sensitive Hall sensor technology
[ ID ] Name Compatibility "Authors": Description
-------------------------------------------------------------------------------------
[ 11 ] I2Cdevlib-Core arduino, atmelavr "Jeff Rowberg": The I2C Device Library (I2Cdevlib) is a collection of uniform and well-documented classes to provide simple and intuitive interfaces to I2C devices.
[ 24 ] Adafruit-L3GD20 arduino, atmelavr "Adafruit Industries": Driver for Adafruit's L3GD20 I2C Gyroscope Breakout
[ 10 ] I2Cdevlib-AK8975 arduino, atmelavr "Jeff Rowberg": AK8975 is 3-axis electronic compass IC with high sensitive Hall sensor technology
[ 14 ] Adafruit-9DOF-Unified arduino, atmelavr "Adafruit Industries": Unified sensor driver for the Adafruit 9DOF Breakout (L3GD20 / LSM303)
...
3. Search for libraries by "web" and "http" keywords. The ``""`` here is for
4. Search for libraries by "web" and "http" keywords. The ``""`` here is for
"empty" query argument.

.. code-block:: bash
$ platformio lib search "" --keyword web --keyword http
$ platformio lib search "" --keyword=web --keyword=http
Found N libraries:
Arduino-Webduino An extensible web server library (for use with the Arduino Ethernet Shield)
Arduino-aJson An Arduino library to enable JSON processing with Arduino
[ ID ] Name Compatibility "Authors": Description
-------------------------------------------------------------------------------------
[ 5 ] Webduino arduino, atmelavr "Ben Combee": An extensible web server library (for use with the Arduino WizNet Ethernet Shield)
[ 17 ] Adafruit-CC3000 arduino, atmelavr "Adafruit Industries": Library code for Adafruit's CC3000 Wi-Fi/WiFi breakouts
...
4. Search for libraries from "Adafruit Industries" author.
5. Search for libraries from "Adafruit Industries" author.
.. code-block:: bash
$ platformio lib search "" --author "Adafruit Industries"
$ platformio lib search "" --author="Adafruit Industries"
Found N libraries:
Adafruit-Arduino-ST7735 A library for the Adafruit 1.8" SPI display
Adafruit-Arduino-GFX A core graphics library for all our displays, providing a common set of graphics primitives (points, lines, circles, etc.)
[ ID ] Name Compatibility "Authors": Description
-------------------------------------------------------------------------------------
[ 14 ] Adafruit-9DOF-Unified arduino, atmelavr "Adafruit Industries": Unified sensor driver for the Adafruit 9DOF Breakout (L3GD20 / LSM303)
[ 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.)
[ 23 ] Adafruit-L3GD20-Unified arduino, atmelavr "Adafruit Industries": Unified sensor driver for the L3GD20 Gyroscope
[ 26 ] Adafruit-LSM303DLHC-Unified arduino, atmelavr "Adafruit Industries": Unified sensor driver for Adafruit's LSM303 Breakout (Accelerometer + Magnetometer)
...
5. Search for libraries that are compatible with Dallas temperature sensors
6. Search for libraries that are compatible with Dallas temperature sensors
like DS18B20, DS18S20 and etc.

.. code-block:: bash
$ platformio lib search "DS*"
Found N libraries:
Arduino-OneWire Control devices (from Dallas Semiconductor) that use the One Wire protocol
[ ID ] Name Compatibility "Authors": Description
-------------------------------------------------------------------------------------
[ 1 ] OneWire arduino, atmelavr "Paul Stoffregen": Control devices (from Dallas Semiconductor) that use the One Wire protocol (DS18S20, DS18B20, DS2408 and etc)
...
6. Search for Arduino-based *X10* or *XBee* libraries. The search query that is
7. Search for Arduino-based *X10* or *XBee* libraries. The search query that is
described below can be interpreted like ``arduino x10 OR arduino xbee``.

.. code-block:: bash
$ platformio lib search "+arduino +(x10 xbee)"
$ platformio lib search --framework=arduino "+(x10 xbee)"
Found 2 libraries:
Arduino-X10 Sending X10 signals over AC power lines
Arduino-XBee Arduino library for communicating with XBees in API mode
21 changes: 12 additions & 9 deletions docs/userguide/lib/cmd_show.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Usage

.. code-block:: bash
platformio lib show NAME
platformio lib show ID
Description
Expand All @@ -24,11 +24,14 @@ Examples

.. code-block:: bash
$ platformio lib show Arduino-XBee
Arduino-XBee
------------
Author: Andrew Rapp <[email protected]>
Keywords: xbee, protocol, radio
Version: 0.5
Arduino library for communicating with XBees in API mode
# OneWire: http://platformio.ikravets.com/#!/lib/show/1
$ platformio lib show 1
OneWire
-------
Authors: Paul Stoffregen http://www.pjrc.com/teensy/td_libs_OneWire.html
Keywords: onewire, 1-wire, bus, sensor, temperature, ibutton
Frameworks: arduino
Platforms: atmelavr
Version: 2.2
Control devices (from Dallas Semiconductor) that use the One Wire protocol (DS18S20, DS18B20, DS2408 and etc)
10 changes: 4 additions & 6 deletions docs/userguide/lib/cmd_uninstall.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Usage

.. code-block:: bash
platformio lib uninstall NAME
platformio lib uninstall ID
Description
Expand All @@ -24,8 +24,6 @@ Examples

.. code-block:: bash
$ platformio lib install Arduino-IRremote
Installing Arduino-IRremote library:
Downloading [####################################] 100%
Unpacking [####################################] 100%
The library 'Arduino-IRremote' has been successfully installed!
# XBee: http://platformio.ikravets.com/#!/lib/show/6
$ platformio lib uninstall 6
The library #6 'XBee' has been successfully uninstalled!
22 changes: 16 additions & 6 deletions docs/userguide/lib/cmd_update.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,19 @@ Examples
.. code-block:: bash
$ platformio lib update
Updating Arduino-IRremote library:
Versions: Current=24ba950f5c, Latest=24ba950f5c [Up-to-date]
Updating Arduino-Webduino library:
Versions: Current=3631af8e02, Latest=3631af8e02 [Up-to-date]
Updating Arduino-XBee library:
Versions: Current=0.5, Latest=0.5 [Up-to-date]
Updating [ 23 ] Adafruit-L3GD20-Unified library:
Versions: Current=63de2eb9ea, Latest=63de2eb9ea [Up-to-date]
Updating [ 12 ] Adafruit-ST7735 library:
Versions: Current=e880eb1687, Latest=e880eb1687 [Up-to-date]
Updating [ 31 ] Adafruit-Unified-Sensor library:
Versions: Current=88ae805bce, Latest=88ae805bce [Up-to-date]
Updating [ 26 ] Adafruit-LSM303DLHC-Unified library:
Versions: Current=59767208a8, Latest=59767208a8 [Up-to-date]
Updating [ 13 ] Adafruit-GFX library:
Versions: Current=a9e5bc4707, Latest=a9e5bc4707 [Up-to-date]
Updating [ 1 ] OneWire library:
Versions: Current=2.2, Latest=2.2 [Up-to-date]
Updating [ 4 ] IRremote library:
Versions: Current=f2dafe5030, Latest=f2dafe5030 [Up-to-date]
Updating [ 14 ] Adafruit-9DOF-Unified library:
Versions: Current=b2f07242ac, Latest=b2f07242ac [Up-to-date]
Loading

0 comments on commit 2d6c0ef

Please sign in to comment.