First version of the Docker image with all the dependencies and the ability to 
run the full test suite using Docker. I would like to add a Travis CI after 
this PR: https://issues.apache.org/jira/browse/AVRO-2233

The distribution part is still pending, but before fixing this, I'd like to:

- Fix the C++ testsuite and enable it back in the testsuite, fixed in #335 :
```
Run C++ tests
-- Boost version: 1.55.0
-- Found the following Boost libraries:
--   filesystem
--   system
--   program_options
--   iostreams
Enabled snappy codec
-- Configuring done
-- Generating done
-- Build files have been written to: /avro/lang/c++/build
-- Boost version: 1.55.0
-- Found the following Boost libraries:
--   filesystem
--   system
--   program_options
--   iostreams
Enabled snappy codec
-- Configuring done
-- Generating done
-- Build files have been written to: /avro/lang/c++/build
[  1%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/Compiler.cc.o
/avro/lang/c++/impl/Compiler.cc:174:15: warning: ‘std::string 
avro::nameof(const NodePtr&)’ defined but not used [-Wunused-function]
 static string nameof(const NodePtr& n)
               ^
[  2%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/Node.cc.o
[  4%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/NodeImpl.cc.o
[  5%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/ResolverSchema.cc.o
[  6%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/Schema.cc.o
[  8%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/Types.cc.o
[  9%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/ValidSchema.cc.o
[ 10%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/Zigzag.cc.o
[ 12%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/BinaryEncoder.cc.o
[ 13%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/BinaryDecoder.cc.o
[ 14%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/Stream.cc.o
[ 16%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/FileStream.cc.o
[ 17%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/Generic.cc.o
[ 18%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/GenericDatum.cc.o
[ 20%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/DataFile.cc.o
In file included from /avro/lang/c++/api/Specific.hh:30:0,
                 from /avro/lang/c++/api/DataFile.hh:26,
                 from /avro/lang/c++/impl/DataFile.cc:19:
/avro/lang/c++/api/AvroTraits.hh: In static member function ‘static char (& 
avro::is_defined<T>::test(char (*)[sizeof (U)]))[1]’:
/avro/lang/c++/api/AvroTraits.hh:61:63: warning: no return statement in 
function returning non-void [-Wreturn-type]
     template <class U> static yes& test(char(*)[sizeof(U)]) { };
                                                               ^
/avro/lang/c++/api/AvroTraits.hh: In static member function ‘static char (& 
avro::is_defined<T>::test(...))[2]’:
/avro/lang/c++/api/AvroTraits.hh:63:47: warning: no return statement in 
function returning non-void [-Wreturn-type]
     template <class U> static no& test(...) { };
                                               ^
/avro/lang/c++/api/AvroTraits.hh: In static member function ‘static char (& 
avro::is_not_defined<T>::test(char (*)[sizeof (U)]))[1]’:
/avro/lang/c++/api/AvroTraits.hh:81:63: warning: no return statement in 
function returning non-void [-Wreturn-type]
     template <class U> static yes& test(char(*)[sizeof(U)]) { };
                                                               ^
/avro/lang/c++/api/AvroTraits.hh: In static member function ‘static char (& 
avro::is_not_defined<T>::test(...))[2]’:
/avro/lang/c++/api/AvroTraits.hh:83:47: warning: no return statement in 
function returning non-void [-Wreturn-type]
     template <class U> static no& test(...) { };
                                               ^
[ 21%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/parsing/Symbol.cc.o
[ 22%] Building CXX object 
CMakeFiles/avrocpp_s.dir/impl/parsing/ValidatingCodec.cc.o
[ 24%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/parsing/JsonCodec.cc.o
[ 25%] Building CXX object 
CMakeFiles/avrocpp_s.dir/impl/parsing/ResolvingDecoder.cc.o
[ 27%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/json/JsonIO.cc.o
[ 28%] Building CXX object CMakeFiles/avrocpp_s.dir/impl/json/JsonDom.cc.o
In file included from /avro/lang/c++/impl/json/JsonDom.cc:19:0:
/avro/lang/c++/impl/json/JsonDom.hh: In instantiation of ‘void 
std::__cxx1998::vector<_Tp, _Alloc>::_M_insert_aux(std::__cxx1998::vector<_Tp, 
_Alloc>::iterator, const _Tp&) [with _Tp = avro::json::Entity; _Alloc = 
std::allocator<avro::json::Entity>; std::__cxx1998::vector<_Tp, 
_Alloc>::iterator = __gnu_cxx::__normal_iterator<avro::json::Entity*, 
std::__cxx1998::vector<avro::json::Entity, std::allocator<avro::json::Entity> > 
>; typename std::__cxx1998::_Vector_base<_Tp, _Alloc>::pointer = 
avro::json::Entity*]’:
/usr/include/c++/4.9/bits/stl_vector.h:925:28:   required from ‘void 
std::__cxx1998::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = 
avro::json::Entity; _Alloc = std::allocator<avro::json::Entity>; 
std::__cxx1998::vector<_Tp, _Alloc>::value_type = avro::json::Entity]’
/usr/include/c++/4.9/debug/vector:407:22:   required from ‘void 
std::__debug::vector<_Tp, _Allocator>::push_back(const _Tp&) [with _Tp = 
avro::json::Entity; _Allocator = std::allocator<avro::json::Entity>]’
/avro/lang/c++/impl/json/JsonDom.cc:72:43:   required from here
/avro/lang/c++/impl/json/JsonDom.hh:64:17: error: non-static const member 
‘const size_t avro::json::Entity::line_’, can’t use default assignment operator
 class AVRO_DECL Entity {
                 ^
In file included from /usr/include/c++/4.9/vector:69:0,
                 from /avro/lang/c++/impl/json/JsonDom.hh:26,
                 from /avro/lang/c++/impl/json/JsonDom.cc:19:
/usr/include/c++/4.9/bits/vector.tcc:343:16: note: synthesized method 
‘avro::json::Entity& avro::json::Entity::operator=(const avro::json::Entity&)’ 
first required here 
    *__position = __x_copy;
                ^
make[2]: *** [CMakeFiles/avrocpp_s.dir/impl/json/JsonDom.cc.o] Error 1
CMakeFiles/avrocpp_s.dir/build.make:514: recipe for target 
'CMakeFiles/avrocpp_s.dir/impl/json/JsonDom.cc.o' failed
make[1]: *** [CMakeFiles/avrocpp_s.dir/all] Error 2
CMakeFiles/Makefile2:425: recipe for target 'CMakeFiles/avrocpp_s.dir/all' 
failed
Makefile:147: recipe for target 'all' failed
make: *** [all] Error 2
``` 
- Also I'd like to bump Node from 4.x to 8.x since 4.x has been deprecated, 
this ties in with #333:
```
================================================================================
================================================================================

                              DEPRECATION WARNING                            

  Node.js 4.x LTS Argon is no longer actively supported!

  You will not receive security or critical stability updates for this version.

  You should migrate to a supported version of Node.js as soon as possible.
  Use the installation script that corresponds to the version of Node.js you
  wish to install. e.g.

   * https://deb.nodesource.com/setup_8.x — Node.js 8 LTS "Carbon" (recommended)
   * https://deb.nodesource.com/setup_10.x — Node.js 10 Current

  Please see https://github.com/nodejs/Release for details about which
  version may be appropriate for you.

  The NodeSource Node.js distributions repository contains
  information both about supported versions of Node.js and supported Linux
  distributions. To learn more about usage, see the repository:
    https://github.com/nodesource/distributions

================================================================================
================================================================================
```
- Fix the Javadoc since this does not allow us to do on Java8, please refer to 
#334 

[ Full content available at: https://github.com/apache/avro/pull/336 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to