Loading .editorconfig +5 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,11 @@ indent_style = space indent_size = 2 trim_trailing_whitespace=true [*.{cs,ps1}] indent_style = space indent_size = 4 trim_trailing_whitespace=true #[*.scala] #indent_style = space #indent_size = 2 Loading .github/autolabeler.yml 0 → 100644 +29 −0 Original line number Diff line number Diff line # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # C: ["lang/c/*"] C++: ["lang/c++/*"] C#: ["lang/csharp/*"] Java: ["lang/java/*"] Js: ["lang/js/*"] Perl: ["lang/perl/*"] Php: ["lang/php/*"] Python: ["lang/py/*"] Python3: ["lang/py3/*"] Ruby: ["lang/ruby/*"] build: ["Dockerfile","*.sh", "pom.xml", ".github/*"] website: ["doc/*"] .gitignore +4 −0 Original line number Diff line number Diff line Loading @@ -13,3 +13,7 @@ target /build test-output /dist /lang/java/compiler/nbactions.xml /lang/java/compiler/nb-configuration.xml /lang/java/compiler/nbproject/ **/.vscode/**/* .travis.yml 0 → 100644 +40 −0 Original line number Diff line number Diff line # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # sudo: required services: - docker language: generic env: - JAVA=8 - JAVA=11 before_install: - sudo apt-get -q update - sudo apt-get -q install --no-install-recommends -y curl git gnupg-agent locales pinentry-curses pkg-config rsync software-properties-common - sudo apt-get -q clean - sudo rm -rf /var/lib/apt/lists/* - curl -L https://www-us.apache.org/dist/yetus/0.8.0/yetus-0.8.0-bin.tar.gz | tar xvz -C /tmp/ script: - sed 's/java:8-jdk/java:'${JAVA}'-jdk/' share/docker/Dockerfile - /tmp/yetus-0.8.0/bin/test-patch --plugins=buildtest --user-plugins=share/precommit/ --run-tests --empty-patch --docker --dockerfile=share/docker/Dockerfile --dirty-workspace --verbose=true BUILD.txt→BUILD.md +32 −15 Original line number Diff line number Diff line Apache Avro Build Instructions # Apache Avro Build Instructions REQUIREMENTS ## Requirements The following packages must be installed before Avro can be built: - Java: JDK 1.6, Maven 2 or better, protobuf-compile - Java: JDK 1.8, Maven 2 or better, protobuf-compile - PHP: php5, phpunit, php5-gmp - Python: 2.5 or greater, python-setuptools for dist target - Python 2: 2.7 or greater, python-setuptools for dist target - Python 3: 3.5 or greater - C: gcc, cmake, asciidoc, source-highlight - C++: cmake 2.8.4 or greater, g++, flex, bison, libboost-dev - C++: cmake 3.7.2 or greater, g++, flex, bison, libboost-dev - C#: mono-devel mono-gmcs nunit - JavaScript: nodejs, npm - Ruby: ruby 1.86 or greater, ruby-dev, gem, rake, echoe, yajl-ruby - Perl: perl 5.8.1 or greater, gmake, Module::Install, - JavaScript: Node 6.x+, nodejs, npm - Ruby: Ruby 2.3.3 or greater, ruby-dev, gem, rake, echoe, yajl-ruby - Perl: Perl 5.24.1 or greater, gmake, Module::Install, Module::Install::ReadmeFromPod, Module::Install::Repository, Math::BigInt, JSON::XS, Try::Tiny, Regexp::Common, Encode, IO::String, Object::Tiny, Compress::ZLib, Test::More, Test::Exception, Test::Pod - Apache Ant 1.7 - Apache Forrest 0.8 (for documentation) - Apache Forrest 0.9 (for documentation) - md5sum, sha1sum, used by top-level dist target To simplify this, you can run a Docker container with all the above dependencies installed by installing docker.io and typing: dependencies installed by installing Docker and run: ```bash ./build.sh docker docker@539f6535c9db:~/avro$ cd lang/java/ docker@539f6535c9db:~/avro/lang/java$ ./build.sh test [INFO] Scanning for projects... ``` When this completes you will be in a shell running in the container. Building the image the first time may take a while (20 Loading @@ -36,11 +42,22 @@ The working directory in the container is mounted from your host. This allows you to access the files in your Avro development tree from the Docker container. BUILDING ## Building Once the requirements are installed (or from the Docker container), build.sh can be used as follows: './build.sh test' runs tests for all languages './build.sh dist' creates all release distribution files in dist/ './build.sh clean' removes all generated artifacts ``` ./build.sh test # runs tests for all languages ./build.sh dist # creates all release distribution files in dist/ ./build.sh clean # removes all generated artifacts ``` ## Testing Testing is done with the same Docker container as mentioned in the building step. The difference is that it will do clean run of the full test suite: ```bash ./build.sh docker-test ``` Loading
.editorconfig +5 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,11 @@ indent_style = space indent_size = 2 trim_trailing_whitespace=true [*.{cs,ps1}] indent_style = space indent_size = 4 trim_trailing_whitespace=true #[*.scala] #indent_style = space #indent_size = 2 Loading
.github/autolabeler.yml 0 → 100644 +29 −0 Original line number Diff line number Diff line # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # C: ["lang/c/*"] C++: ["lang/c++/*"] C#: ["lang/csharp/*"] Java: ["lang/java/*"] Js: ["lang/js/*"] Perl: ["lang/perl/*"] Php: ["lang/php/*"] Python: ["lang/py/*"] Python3: ["lang/py3/*"] Ruby: ["lang/ruby/*"] build: ["Dockerfile","*.sh", "pom.xml", ".github/*"] website: ["doc/*"]
.gitignore +4 −0 Original line number Diff line number Diff line Loading @@ -13,3 +13,7 @@ target /build test-output /dist /lang/java/compiler/nbactions.xml /lang/java/compiler/nb-configuration.xml /lang/java/compiler/nbproject/ **/.vscode/**/*
.travis.yml 0 → 100644 +40 −0 Original line number Diff line number Diff line # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # sudo: required services: - docker language: generic env: - JAVA=8 - JAVA=11 before_install: - sudo apt-get -q update - sudo apt-get -q install --no-install-recommends -y curl git gnupg-agent locales pinentry-curses pkg-config rsync software-properties-common - sudo apt-get -q clean - sudo rm -rf /var/lib/apt/lists/* - curl -L https://www-us.apache.org/dist/yetus/0.8.0/yetus-0.8.0-bin.tar.gz | tar xvz -C /tmp/ script: - sed 's/java:8-jdk/java:'${JAVA}'-jdk/' share/docker/Dockerfile - /tmp/yetus-0.8.0/bin/test-patch --plugins=buildtest --user-plugins=share/precommit/ --run-tests --empty-patch --docker --dockerfile=share/docker/Dockerfile --dirty-workspace --verbose=true
BUILD.txt→BUILD.md +32 −15 Original line number Diff line number Diff line Apache Avro Build Instructions # Apache Avro Build Instructions REQUIREMENTS ## Requirements The following packages must be installed before Avro can be built: - Java: JDK 1.6, Maven 2 or better, protobuf-compile - Java: JDK 1.8, Maven 2 or better, protobuf-compile - PHP: php5, phpunit, php5-gmp - Python: 2.5 or greater, python-setuptools for dist target - Python 2: 2.7 or greater, python-setuptools for dist target - Python 3: 3.5 or greater - C: gcc, cmake, asciidoc, source-highlight - C++: cmake 2.8.4 or greater, g++, flex, bison, libboost-dev - C++: cmake 3.7.2 or greater, g++, flex, bison, libboost-dev - C#: mono-devel mono-gmcs nunit - JavaScript: nodejs, npm - Ruby: ruby 1.86 or greater, ruby-dev, gem, rake, echoe, yajl-ruby - Perl: perl 5.8.1 or greater, gmake, Module::Install, - JavaScript: Node 6.x+, nodejs, npm - Ruby: Ruby 2.3.3 or greater, ruby-dev, gem, rake, echoe, yajl-ruby - Perl: Perl 5.24.1 or greater, gmake, Module::Install, Module::Install::ReadmeFromPod, Module::Install::Repository, Math::BigInt, JSON::XS, Try::Tiny, Regexp::Common, Encode, IO::String, Object::Tiny, Compress::ZLib, Test::More, Test::Exception, Test::Pod - Apache Ant 1.7 - Apache Forrest 0.8 (for documentation) - Apache Forrest 0.9 (for documentation) - md5sum, sha1sum, used by top-level dist target To simplify this, you can run a Docker container with all the above dependencies installed by installing docker.io and typing: dependencies installed by installing Docker and run: ```bash ./build.sh docker docker@539f6535c9db:~/avro$ cd lang/java/ docker@539f6535c9db:~/avro/lang/java$ ./build.sh test [INFO] Scanning for projects... ``` When this completes you will be in a shell running in the container. Building the image the first time may take a while (20 Loading @@ -36,11 +42,22 @@ The working directory in the container is mounted from your host. This allows you to access the files in your Avro development tree from the Docker container. BUILDING ## Building Once the requirements are installed (or from the Docker container), build.sh can be used as follows: './build.sh test' runs tests for all languages './build.sh dist' creates all release distribution files in dist/ './build.sh clean' removes all generated artifacts ``` ./build.sh test # runs tests for all languages ./build.sh dist # creates all release distribution files in dist/ ./build.sh clean # removes all generated artifacts ``` ## Testing Testing is done with the same Docker container as mentioned in the building step. The difference is that it will do clean run of the full test suite: ```bash ./build.sh docker-test ```