Commit 698a22a0 authored by Greg Williams's avatar Greg Williams
Browse files

Bumped version for release. Updated README and moved library development info to DEVELOP.md

parent d27a718c
Loading
Loading
Loading
Loading

DEVELOP.md

0 → 100644
+34 −0
Original line number Diff line number Diff line

Prerequisites
=============

* [Ruby](https://www.ruby-lang.org) (v1.9.3 or higher) scripting language
* [RubyGems](http://rubygems.org) (installed w/ `bundle install)
    * [bundler](http://bundler.io) (v1.3.5 or higher) environment/dependency manager for Ruby projects
* [CppCheck](http://cppcheck.sourceforge.net/) for static analysis of source code
* [Valgrind](http://valgrind.org/) for validation of memory usage/management
* [Doxygen](https://github.com/doxygen) and [GraphViz](http://www.graphviz.org/) for generating API documentation

Common Developer Tasks
======================

NOTE: Prefix the following commands with `bundle exec` so that they execute in the context of the bundle environment setup via `bundle install`.

* List available Rake tasks w/descriptions
    * `rake -T`
* Run all tests and build the library and examples
    * `rake`
* Build the library
    * `rake release`
* Run all unit/integration/system/example tests
    * `rake test_all`
* Analyze code
    * `rake cppcheck`
* Generate documentation
    * `rake doxygen:gen`
* Apply license to source files (skips already licensed files)
    * `rake apply_license`
* Build/install Google Protocol Buffers support for the Kinetic-Protocol
    * `rake proto`
* Enable verbose output (for current Rake run)
    * `rake verbose <task_A> <task_B>`
+19 −63
Original line number Diff line number Diff line
@@ -6,8 +6,12 @@ This repo contains code for producing C Kinetic clients which use the Seagate Ki

[Kinetic-C build status](http://travis-ci.org/atomicobject/kinetic-c) is provided via [Travis CI](http://travis-ci.org)

Prerequisites
-------------
* [Open SSL](https://www.openssl.org/) for security and encryption

Getting Started
================
---------------

**Clone the repo**

@@ -21,53 +25,18 @@ Getting Started
    > git submodule update --init # Ensure submodules are up to date
    > bundle install # Ensure you have all RubyGems at the proper versions

**Build Kinetic-C and run all tests**
**Build and install static library**

    > make
    > sudo make install

**Build example utility and run tests against Kinetic Device simulator**

    > bundle exec rake
    > make run

API Documentation
=================
[Kinetic-C API](http://atomicobject.github.io/kinetic-c/) (generated with Doxygen)

Dependencies
============
* [Kinetic Protocol](https://github.com/Seagate/kinetic-protocol)
    * [Kinetic-Protocol v2.0.4](https://github.com/Seagate/kinetic-protocol/releases/tag/2.0.4)
* [Ruby](https://www.ruby-lang.org) (v1.9.3 or higher) scripting language
* [RubyGems](http://rubygems.org) (installed w/ `bundle install)
    * [bundler](http://bundler.io) (v1.3.5 or higher) environment/dependency manager for Ruby projects
    * [rake](https://github.com/jimweirich/rake) (0.9.2.2 or higher) Ruby implementation of Make
    * [ceedling](https://github.com/ThrowTheSwitch/Ceedling) Ruby/Rake-based build/test system for C projects
        * Ceedling also includes the following tools for testing C code
            * [Unity](https://github.com/ThrowTheSwitch/Unity) lightweight assertion framework and test executor for C
            * [CMock](https://github.com/ThrowTheSwitch/CMock) mock/fake generator for C modules using only C header files as input (written in Ruby)
* [CppCheck](http://cppcheck.sourceforge.net/) for static analysis of source code
* [Valgrind](http://valgrind.org/) for validation of memory usage/management
* [Doxygen](https://github.com/doxygen) and [GraphViz](http://www.graphviz.org/) for generating API documentation

Common Developer Tasks
======================

NOTE: Prefix the following commands with `bundle exec` so that they execute in the context of the bundle environment setup via `bundle install`.

* List available Rake tasks w/descriptions
    * `rake -T`
* Run all tests and build the library and examples
    * `rake`
* Build the library
    * `rake release`
* Run all unit/integration/system/example tests
    * `rake test_all`
* Analyze code
    * `rake cppcheck`
* Generate documentation
    * `rake doxygen:gen`
* Apply license to source files (skips already licensed files)
    * `rake apply_license`
* Build/install Google Protocol Buffers support for the Kinetic-Protocol
    * `rake proto`
* Enable verbose output (for current Rake run)
    * `rake verbose <task_A> <task_B>`
[Kinetic-C API](http://atomicobject.github.io/kinetic-c/kinetic__api_8h.html) (generated with Doxygen)

Examples
========
@@ -85,23 +54,10 @@ You can then execute `kinetic-c` with a valid example name, optionally preceeded
* `--tls` - Use the TLS port to execute the specified operation(s)

**Operations**
* `kinetic-c [--hostname|-h hostname|123.253.253.23] noop`
* `kinetic-c-client [--hostname|-h hostname|123.253.253.23] noop put get`
    * `kinetic-c noop`
        * Execute the NoOp operation against default host: `localhost`
    * `kinetic-c noop --host my-kinetic-server.com`
        * Execute the NoOp operation against `my-kinetic-server.com`
* `read_file_blocking` (incomplete!)
* `read_file_nonblocking` (incomplete!)
* `write_file_blocking` (incomplete!)
* `write_file_nonblocking` (incomplete!)
* `write_file_blocking_threads` (incomplete!)
* `delete_file_blocking` (incomplete!)
* `delete_file_nonblocking` (incomplete!)
* `instant_secure_erase` (incomplete!)
* `kinetic_stat` (incomplete!)
* `dump_keyspace` (incomplete!)
* `set_acls` (incomplete!)
* `set_pin` (incomplete!)
* `set_clusterversion` (incomplete!)
* `update_firmware` (incomplete!)
* `copy_drive` (incomplete!)
        * Execute a NoOp (ping) operation to verify the Kinetic Device is ready
    * `kinetic-c put`
        * Execute a Put operation to store a key/value
    * `kinetic-c get`
        * Execute a Get operation to retrieve a key/value

RELEASE.md

0 → 100644
+6 −0
Original line number Diff line number Diff line
v0.6.0
------
* Added Makefile build option.
* Added GET operation.
* Added ByteArray type for buffer management.
* Added Kinetic_KeyValue type for key/value pair handling.
+1 −1
Original line number Diff line number Diff line
0.5.2
0.6.0