This is an automated email from the ASF dual-hosted git repository.
kou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new b4ed7c8 ARROW-3465: [Documentation] Fix gen_apidocs' docker image
b4ed7c8 is described below
commit b4ed7c894ea6a9c1efb9ab6574eb969ee4d77e80
Author: Krisztián Szűcs <[email protected]>
AuthorDate: Wed Oct 10 12:29:37 2018 +0900
ARROW-3465: [Documentation] Fix gen_apidocs' docker image
It's intend to be only a quickfix for building the apidocs.
@kou I'm still building it locally.
Author: Krisztián Szűcs <[email protected]>
Author: Kouhei Sutou <[email protected]>
Closes #2723 from kszucs/ARROW-3465 and squashes the following commits:
461ef646 <Kouhei Sutou> Add index page for C GLib API document
5d14f2fd <Kouhei Sutou> Fix a typo
ce6f52fc <Krisztián Szűcs> fix cpp build
af84de6b <Krisztián Szűcs> install python dependencies
efb4deb0 <Krisztián Szűcs> remove parquet-cpp
eb1fb3be <Krisztián Szűcs> fix paths
1f34ac8f <Krisztián Szűcs> quickfix for building apidocs
---
dev/docker-compose.yml | 5 +--
dev/gen_apidocs/Dockerfile | 63 +++++++++++++++++++------------------
dev/gen_apidocs/create_documents.sh | 42 +++++++++----------------
site/_docs/c_glib/index.md | 36 +++++++++++++++++++++
4 files changed, 85 insertions(+), 61 deletions(-)
diff --git a/dev/docker-compose.yml b/dev/docker-compose.yml
index 5e5fdc2..a11b401 100644
--- a/dev/docker-compose.yml
+++ b/dev/docker-compose.yml
@@ -45,9 +45,10 @@ services:
gen_apidocs:
build:
- context: gen_apidocs
+ context: ..
+ dockerfile: dev/gen_apidocs/Dockerfile
volumes:
- - ../..:/apache-arrow
+ - ..:/arrow
iwyu:
build:
diff --git a/dev/gen_apidocs/Dockerfile b/dev/gen_apidocs/Dockerfile
index 606ae2e..7daadf1 100644
--- a/dev/gen_apidocs/Dockerfile
+++ b/dev/gen_apidocs/Dockerfile
@@ -21,42 +21,43 @@ FROM ubuntu:18.04
# Otherwise this will install openjdk 8 and openjdk 11 at once.
RUN apt-get update && \
apt-get install -y openjdk-8-jdk-headless && \
- apt-get install -y \
- gcc-8 \
- g++-8 \
- vim \
- git \
- wget \
- make \
- ninja-build \
- rsync \
- maven \
- pkg-config \
- gobject-introspection \
- libgirepository1.0-dev \
- gtk-doc-tools \
- libtool \
- autoconf-archive \
- npm
+ apt-get install -y \
+ gcc-8 \
+ g++-8 \
+ git \
+ wget \
+ make \
+ ninja-build \
+ rsync \
+ maven \
+ pkg-config \
+ gobject-introspection \
+ libgirepository1.0-dev \
+ gtk-doc-tools \
+ libtool \
+ autoconf-archive \
+ npm
+ENV CC=gcc-8 \
+ CXX=g++-8 \
+ PATH=/opt/conda/bin:$PATH \
+ CONDA_PREFIX=/opt/conda
-ENV CC=gcc-8
-ENV CXX=g++-8
-
-ADD . /apache-arrow
-WORKDIR /apache-arrow
-
-RUN arrow/dev/docker_common/install_pyarrow_conda_toolchain.sh 3.6
-ENV PATH="/opt/conda/bin:${PATH}"
-
-# Python dependencies
-# Create Conda environment
-RUN /home/ubuntu/miniconda/bin/conda create -y -q -n pyarrow-dev \
+ADD ci/docker_install_conda.sh \
+ ci/conda_env_cpp.yml \
+ ci/conda_env_python.yml \
+ /arrow/ci/
+RUN arrow/ci/docker_install_conda.sh && \
+ conda install -c conda-forge \
+ --file arrow/ci/conda_env_cpp.yml \
+ --file arrow/ci/conda_env_python.yml \
numpydoc \
sphinx \
sphinx_bootstrap_theme \
doxygen \
- maven \
- -c conda-forge
+ maven && \
+ conda clean --all -y
+
+ADD . /arrow
CMD arrow/dev/gen_apidocs/create_documents.sh
diff --git a/dev/gen_apidocs/create_documents.sh
b/dev/gen_apidocs/create_documents.sh
index 6ea4494..6a3b065 100755
--- a/dev/gen_apidocs/create_documents.sh
+++ b/dev/gen_apidocs/create_documents.sh
@@ -19,15 +19,12 @@
set -ex
# Set up environment and output directory for C++ libraries
-cd /apache-arrow
mkdir -p apidocs-dist
export ARROW_BUILD_TYPE=release
-export ARROW_HOME=$(pwd)/apidocs-dist
-export PARQUET_HOME=$(pwd)/apidocs-dist
-CONDA_BASE=/home/ubuntu/miniconda
-export PKG_CONFIG_PATH=$(pwd)/apidocs-dist/lib/pkgconfig:${PKG_CONFIG_PATH}
-export PATH=${CONDA_BASE}/bin:${PATH}
+export ARROW_HOME=/apidocs-dist
+export PARQUET_HOME=/apidocs-dist
+export PKG_CONFIG_PATH=/apidocs-dist/lib/pkgconfig:${PKG_CONFIG_PATH}
# For newer GCC per
https://arrow.apache.org/docs/python/development.html#known-issues
export CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0"
@@ -48,24 +45,25 @@ popd
# Make Python documentation (Depends on C++ )
# Build Arrow C++
-conda activate pyarrow-dev
export ARROW_BUILD_TOOLCHAIN=$CONDA_PREFIX
-export PARQUET_BUILD_TOOLCHAIN=$CONDA_PREFIX
-export
LD_LIBRARY_PATH=$(pwd)/apidocs-dist/lib:${CONDA_PREFIX}/lib:${LD_LIBRARY_PATH}
+export LD_LIBRARY_PATH=/apidocs-dist/lib:${CONDA_PREFIX}/lib:${LD_LIBRARY_PATH}
export PKG_CONFIG_PATH=${CONDA_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}
-export PKG_CONFIG_PATH=$(pwd)/apidocs-dist/lib/pkgconfig:${PKG_CONFIG_PATH}
+export PKG_CONFIG_PATH=/apidocs-dist/lib/pkgconfig:${PKG_CONFIG_PATH}
-CPP_BUILD_DIR=$(pwd)/arrow/cpp/build_apidocs
+CPP_BUILD_DIR=arrow/cpp/build_apidocs
mkdir -p $CPP_BUILD_DIR
pushd $CPP_BUILD_DIR
cmake -DCMAKE_BUILD_TYPE=$ARROW_BUILD_TYPE \
-DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
- -DARROW_PYTHON=on \
- -DARROW_PLASMA=on \
+ -DARROW_PYTHON=ON \
+ -DARROW_PLASMA=ON \
+ -DARROW_PARQUET=ON \
+ -DARROW_ORC=ON \
-DARROW_BUILD_TESTS=OFF \
-GNinja \
..
+ninja
ninja install
popd
@@ -80,27 +78,15 @@ fi
mkdir -p build_apidocs
pushd build_apidocs
../configure \
- --prefix=${AROW_HOME} \
+ --prefix=${ARROW_HOME} \
--enable-gtk-doc
make -j4 GTK_DOC_V_XREF=": "
mkdir -p ../../site/asf-site/docs/c_glib
-rsync -r doc/reference/html/ ../../site/asf-site/docs/c_glib
+rsync -r doc/arrow-glib/html/ ../../site/asf-site/docs/c_glib/arrow-glib
+rsync -r doc/parquet-glib/html/ ../../site/asf-site/docs/c_glib/parquet-glib
popd
popd
-# Build Parquet C++
-mkdir -p parquet-cpp/build_apidocs
-pushd parquet-cpp/build_apidocs
-cmake -DCMAKE_BUILD_TYPE=$ARROW_BUILD_TYPE \
- -DCMAKE_INSTALL_PREFIX=$PARQUET_HOME \
- -DPARQUET_BUILD_BENCHMARKS=off \
- -DPARQUET_BUILD_EXECUTABLES=off \
- -DPARQUET_BUILD_TESTS=off \
- -GNinja \
- ..
-ninja install
-popd
-
# Now Python documentation can be built
pushd arrow/python
python setup.py build_ext --build-type=$ARROW_BUILD_TYPE \
diff --git a/site/_docs/c_glib/index.md b/site/_docs/c_glib/index.md
new file mode 100644
index 0000000..e92788b
--- /dev/null
+++ b/site/_docs/c_glib/index.md
@@ -0,0 +1,36 @@
+---
+layout: docs
+title: Apache Arrow GLib (C)
+permalink: /docs/c_glib/index.html
+---
+<!--
+{% comment %}
+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.
+{% endcomment %}
+-->
+
+# Apache Arrow GLib (C)
+
+Apache Arrow GLib is a wrapper library for Apache Arrow C++. Apache Arrow GLib
provides C API.
+
+Apache Arrow GLib supports [GObject Introspection][gobject-introspection]. It
means that you can create language bindings at runtime or compile time
automatically.
+
+## API reference manuals
+
+ * [Apache Arrow GLib](arrow-glib/)
+ * [Apache Parquet GLib](parquet-glib/)
+
+[gobject-introspection]:
https://wiki.gnome.org/action/show/Projects/GObjectIntrospection