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]