summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames E. King III <jking@apache.org>2018-01-12 10:43:25 -0500
committerJames E. King III <jking@apache.org>2018-02-17 11:20:07 -0500
commitd907cc92db5b93e699a4282e979d097ea863215a (patch)
treeb0e2d210a2a6447e2094bfe0dfd0ffd604309417
parent35d62edd6e9ff84b0fdd472e132a739b663a41c2 (diff)
downloadthrift-d907cc92db5b93e699a4282e979d097ea863215a.tar.gz
THRIFT-4352: update artful to use haxe 3.4.4 which fixes a core in haxe
-rw-r--r--.gitignore1
-rw-r--r--.travis.yml15
-rw-r--r--LANGUAGES.md2
-rw-r--r--build/docker/README.md4
-rwxr-xr-xbuild/docker/scripts/autotools.sh4
-rwxr-xr-xbuild/docker/scripts/sca.sh7
-rw-r--r--build/docker/ubuntu-artful/Dockerfile46
-rwxr-xr-x[-rw-r--r--]test/haxe/make_all.sh2
8 files changed, 40 insertions, 41 deletions
diff --git a/.gitignore b/.gitignore
index dc9306c31..03e3e9e61 100644
--- a/.gitignore
+++ b/.gitignore
@@ -227,6 +227,7 @@ project.lock.json
/lib/erl/test/*.hrl
/lib/erl/test/Thrift_omit_without.thrift
/lib/haxe/test/bin
+/lib/haxe/test/data.tmp
/lib/hs/dist
/lib/java/.gradle
/lib/java/android/.gradle
diff --git a/.travis.yml b/.travis.yml
index 9a94e3649..9735f43e4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -43,7 +43,7 @@ env:
global:
- SCRIPT="cmake.sh"
- BUILD_ARG=""
- - BUILD_ENV="-e CC=clang -e CXX=clang++"
+ - BUILD_ENV="-e CC=gcc -e CXX=g++ -e THRIFT_CROSSTEST_CONCURRENCY=4"
- DISTRO=ubuntu-xenial
- BUILD_LIBS="CPP C_GLIB HASKELL JAVA PYTHON TESTING TUTORIALS" # only meaningful for CMake builds
- TRAVIS_BUILD_STAGE=test
@@ -87,8 +87,6 @@ jobs:
env:
- JOB="Cross Language Tests"
- SCRIPT="cross-test.sh"
- - BUILD_ARG=""
- - BUILD_ENV="-e CC=clang -e CXX=clang++ -e THRIFT_CROSSTEST_CONCURRENCY=4"
# fork based PR builds cannot exceed 50 minutes per job
- stage: thrift
@@ -98,7 +96,6 @@ jobs:
- JOB="Cross Language Tests (Binary Protocol)"
- SCRIPT="cross-test.sh"
- BUILD_ARG="-'(binary)'"
- - BUILD_ENV="-e CC=clang -e CXX=clang++ -e THRIFT_CROSSTEST_CONCURRENCY=4"
- stage: thrift
script: build/docker/run.sh
@@ -107,7 +104,6 @@ jobs:
- JOB="Cross Language Tests (Header, JSON Protocols)"
- SCRIPT="cross-test.sh"
- BUILD_ARG="-'(header|json)'"
- - BUILD_ENV="-e CC=clang -e CXX=clang++ -e THRIFT_CROSSTEST_CONCURRENCY=4"
- stage: thrift
script: build/docker/run.sh
@@ -116,7 +112,6 @@ jobs:
- JOB="Cross Language Tests (Compact and Multiplexed Protocols)"
- SCRIPT="cross-test.sh"
- BUILD_ARG="-'(compact|multiplexed)'"
- - BUILD_ENV="-e CC=clang -e CXX=clang++ -e THRIFT_CROSSTEST_CONCURRENCY=4"
# ------------------------- phase: sca --------------------------
# QA jobs for code analytics and metrics
@@ -149,7 +144,7 @@ jobs:
- SCRIPT="cmake.sh"
- BUILD_LIBS="CPP TESTING TUTORIALS"
- BUILD_ARG="-DCMAKE_CXX_STANDARD=98 -DCMAKE_CXX_STANDARD_REQUIRED=ON -DCMAKE_CXX_EXTENSIONS=OFF --DWITH_BOOSTTHREADS=ON -DWITH_PYTHON=OFF -DWITH_C_GLIB=OFF -DWITH_JAVA=OFF -DWITH_HASKELL=OFF"
- - BUILD_ENV=""
+ - BUILD_ENV="-e CC=clang -e CXX=clang++"
- script: build/docker/run.sh
env:
@@ -166,31 +161,27 @@ jobs:
- JOB="Autotools (Ubuntu Artful)"
- DISTRO=ubuntu-artful
- SCRIPT="autotools.sh"
- - BUILD_ENV="-e CC=gcc -e CXX=g++"
- script: build/docker/run.sh
env:
- JOB="Autotools (Ubuntu Xenial)"
- DISTRO=ubuntu-xenial
- SCRIPT="autotools.sh"
- - BUILD_ENV="-e CC=gcc -e CXX=g++"
- script: build/docker/run.sh
env:
- JOB="Autotools (Ubuntu Trusty)"
- DISTRO=ubuntu-trusty
- SCRIPT="autotools.sh"
- - BUILD_ENV="-e CC=gcc -e CXX=g++"
# ------------------------- phase: dist -------------------------
- script: build/docker/run.sh
env:
- JOB="make dist"
- SCRIPT="make-dist.sh"
- - BUILD_ENV="-e CC=gcc -e CXX=g++"
- script: build/docker/run.sh
env:
- JOB="Debian Packages"
- SCRIPT="dpkg.sh"
- - BUILD_ENV="-e CC=gcc -e CXX=g++"
+
diff --git a/LANGUAGES.md b/LANGUAGES.md
index 897494e5b..7f6194e9a 100644
--- a/LANGUAGES.md
+++ b/LANGUAGES.md
@@ -154,7 +154,7 @@ The Language/Library Levels indicate the minimum and maximum versions that are u
<tr align=center>
<td align=left><a href="lib/haxe/README.md">Haxe</a></td>
<!-- Build Systems ---------><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
-<!-- Language Levels -------><td colspan=2>3.2.1</td>
+<!-- Language Levels -------><td>3.2.1</td><td>3.4.4</td>
<!-- Low-Level Transports --><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
<!-- Transport Wrappers ----><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
<!-- Protocols -------------><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td>
diff --git a/build/docker/README.md b/build/docker/README.md
index f58e88ba0..bc6c36ab9 100644
--- a/build/docker/README.md
+++ b/build/docker/README.md
@@ -150,11 +150,11 @@ Last updated: October 1, 2017
| erlang | R16B03 | 18.3 | 20.0.4 | |
| go | 1.2.1 | 1.6.2 | 1.8.3 | |
| haskell | 7.6.3 | 7.10.3 | 8.0.2 | |
-| haxe | | 3.2.1 | 3.4.2 | disabled in trusty builds - cores on install v3.0.0, disabled in artful builds - see THRIFT-4352 |
+| haxe | | 3.2.1 | 3.4.4 | THRIFT-4352: avoid 3.4.2 |
| java | 1.7.0_151 | 1.8.0_151 | 1.8.0_151 | |
| js | | | | Unsure how to look for version info? |
| lua | 5.1.5 | 5.2.4 | 5.2.4 | Lua 5.3: see THRIFT-4386 |
-| nodejs | | 4.2.6 | 8.9.1 | trusty has node.js 0.10.0 which is too old |
+| nodejs | | 4.2.6 | 8.9.4 | trusty has node.js 0.10.0 which is too old |
| ocaml | | 4.02.3 | 4.04.0 | |
| perl | 5.18.2 | 5.22.1 | 5.26.0 | |
| php | 5.5.9 | 7.0.22 | 7.1.11 | |
diff --git a/build/docker/scripts/autotools.sh b/build/docker/scripts/autotools.sh
index 8388f728c..67e4f2d19 100755
--- a/build/docker/scripts/autotools.sh
+++ b/build/docker/scripts/autotools.sh
@@ -1,6 +1,10 @@
#!/bin/sh
set -ev
+# haxe hxcpp > 3.4.188 will enable c++11 by default, and break the
+# build when compiling C files with clang++ by adding -std=c++11
+export HXCPP_NO_CPP11=1
+
./bootstrap.sh
./configure $*
make check -j3
diff --git a/build/docker/scripts/sca.sh b/build/docker/scripts/sca.sh
index c9a36686b..886548cf7 100755
--- a/build/docker/scripts/sca.sh
+++ b/build/docker/scripts/sca.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
set -ev
#
@@ -50,8 +50,9 @@ flake8 --ignore=E501,E722 test/crossrunner
flake8 test/features
# PHP code style
-composer install --quiet
-./vendor/bin/phpcs
+### causing build failures like https://travis-ci.org/apache/thrift/jobs/341109387
+### composer install --quiet
+### ./vendor/bin/phpcs
# TODO etc
echo FIXMEs: `grep -r FIXME * | wc -l`
diff --git a/build/docker/ubuntu-artful/Dockerfile b/build/docker/ubuntu-artful/Dockerfile
index 4babc3f3e..d8e7e12f1 100644
--- a/build/docker/ubuntu-artful/Dockerfile
+++ b/build/docker/ubuntu-artful/Dockerfile
@@ -14,11 +14,11 @@
# Apache Thrift Docker build environment for Ubuntu Artful
# Using all stock Ubuntu Artful packaging except for:
# - cpp: stock boost 1.62 in artful has a nasty bug so we use stock boost 1.63
-# - d: does not come with Ubuntu so we're installing the latest
-# - d: deimos for libevent and openssl omitted - not compatible / build errors
-# - haxe: see THRIFT-4352, but test/haxe cores during testing
-# and hxcpp 3.4.64 is not compatible with artful
-#
+# - d: dmd does not come with Ubuntu
+# - dart: does not come with Ubuntu
+# - dotnet: does not come with Ubuntu
+# - haxe: version 3.4.2 that comes with Ubuntu cores in our CI build
+# - nodejs: want v8, Ubuntu comes with v6
FROM buildpack-deps:artful-scm
MAINTAINER Apache Thrift <dev@thrift.apache.org>
@@ -41,15 +41,6 @@ RUN apt-get update && \
# RUN echo "deb http://download.mono-project.com/repo/debian xenial main" | tee /etc/apt/sources.list.d/mono.list && \
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A6A19B38D3D831EF
-# dotnet (core)
-RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
- echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-artful-prod artful main" > \
- /etc/apt/sources.list.d/dotnetdev.list
-
-# node.js
-RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
- echo "deb https://deb.nodesource.com/node_8.x artful main" | tee /etc/apt/sources.list.d/nodesource.list
-
# D
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EBCF975E5BA24D5E && \
wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list && \
@@ -60,6 +51,18 @@ RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - &
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
/etc/apt/sources.list.d/dart_stable.list
+# dotnet (netcore)
+RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
+ echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-artful-prod artful main" > \
+ /etc/apt/sources.list.d/dotnetdev.list
+
+# haxe (https://haxe.org/download/linux/)
+RUN add-apt-repository ppa:haxe/releases -y
+
+# node.js
+RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
+ echo "deb https://deb.nodesource.com/node_8.x artful main" | tee /etc/apt/sources.list.d/nodesource.list
+
### install general dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
`# General dependencies` \
@@ -146,14 +149,13 @@ RUN apt-get install -y --no-install-recommends \
ghc \
cabal-install
-# see THRIFT-4352, test/haxe cores on artful
-# RUN apt-get install -y --no-install-recommends \
-# `# Haxe dependencies` \
-# haxe \
-# neko \
-# neko-dev
-# RUN haxelib setup --always /usr/share/haxe/lib && \
-# haxelib install --always hxcpp 2>&1 > /dev/null
+RUN apt-get install -y --no-install-recommends \
+`# Haxe dependencies` \
+ haxe \
+ neko \
+ neko-dev && \
+ haxelib setup --always /usr/share/haxe/lib && \
+ haxelib install --always hxcpp 2>&1 > /dev/null
RUN apt-get install -y --no-install-recommends \
`# Java dependencies` \
diff --git a/test/haxe/make_all.sh b/test/haxe/make_all.sh
index 262125877..eb2c9c2c7 100644..100755
--- a/test/haxe/make_all.sh
+++ b/test/haxe/make_all.sh
@@ -19,7 +19,7 @@
#
# invoke Thrift comnpiler
-thrift -r -gen haxe ../ThriftTest.thrift
+../../compiler/cpp/thrift -r -gen haxe ../ThriftTest.thrift
# output folder
if [ ! -d bin ]; then