Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion c_glib/arrow-glib/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
# under the License.

CLEANFILES =
DISTCLEANFILES =

EXTRA_DIST = \
meson.build
Expand Down Expand Up @@ -169,6 +170,10 @@ BUILT_SOURCES = \
stamp-enums.c \
stamp-enums.h

DISTCLEANFILES += \
stamp-enums.c \
stamp-enums.h

EXTRA_DIST += \
enums.c.template \
enums.h.template
Expand Down Expand Up @@ -214,7 +219,7 @@ INTROSPECTION_SCANNER_ARGS =
INTROSPECTION_SCANNER_ENV =
if USE_ARROW_BUILD_DIR
INTROSPECTION_SCANNER_ENV += \
LD_LIBRARY_PATH=$(ARROW_LIB_DIR):$${PKG_CONFIG_PATH}
LD_LIBRARY_PATH=$(ARROW_LIB_DIR):$${LD_LIBRARY_PATH}
endif
if OS_MACOS
INTROSPECTION_SCANNER_ENV += \
Expand Down
4 changes: 2 additions & 2 deletions dev/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
version: '3'
services:
gen_apidocs:
build:
build:
context: gen_apidocs
volumes:
- ../..:/apache-arrow
Expand All @@ -29,7 +29,7 @@ services:
volumes:
- ../..:/apache-arrow
dask_integration:
build:
build:
context: dask_integration
volumes:
- ../..:/apache-arrow
20 changes: 13 additions & 7 deletions dev/gen_apidocs/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,24 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
FROM ubuntu:14.04
# Prerequsites for apt-add-repository
RUN apt-get update && apt-get install -y \
software-properties-common python-software-properties
FROM ubuntu:16.04

# Basic OS dependencies
RUN apt-add-repository -y ppa:ubuntu-toolchain-r/test && \
apt-get update && apt-get install -y \
RUN apt-get update && apt-get install -y \
wget \
rsync \
git \
gcc-4.9 \
g++-4.9 \
build-essential
build-essential \
software-properties-common

# Java build fails with default JDK8
RUN add-apt-repository ppa:openjdk-r/ppa &&\
apt-get update &&\
apt-get install -y openjdk-7-jdk &&\
update-java-alternatives -s java-1.7.0-openjdk-amd64

# This will install conda in /home/ubuntu/miniconda
RUN wget -O /tmp/miniconda.sh \
https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && \
Expand Down Expand Up @@ -73,6 +78,7 @@ RUN /home/ubuntu/miniconda/bin/conda create -y -q -n pyarrow-dev \
doxygen \
maven \
-c conda-forge

ADD . /apache-arrow
WORKDIR /apache-arrow
CMD arrow/dev/gen_apidocs/create_documents.sh
73 changes: 48 additions & 25 deletions dev/gen_apidocs/create_documents.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ export ARROW_HOME=$(pwd)/dist
export PARQUET_HOME=$(pwd)/dist
CONDA_BASE=/home/ubuntu/miniconda
export LD_LIBRARY_PATH=$(pwd)/dist/lib:${CONDA_BASE}/lib:${LD_LIBRARY_PATH}
export PKG_CONFIG_PATH=$(pwd)/dist/lib/pkgconfig:${PKG_CONFIG_PATH}
export PATH=${CONDA_BASE}/bin:${PATH}

# Prepare the asf-site before copying api docs
Expand All @@ -38,16 +39,38 @@ git clone --branch=asf-site \
https://git-wip-us.apache.org/repos/asf/arrow-site.git asf-site
popd

# Make Java documentation
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
wget http://mirrors.gigenet.com/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
tar xvf apache-maven-3.5.2-bin.tar.gz
export PATH=$(pwd)/apache-maven-3.5.2/bin:$PATH

pushd arrow/java
rm -rf target/site/apidocs/*
mvn -Drat.skip=true install
mvn -Drat.skip=true site
mkdir -p ../site/asf-site/docs/java/
rsync -r target/site/apidocs/ ../site/asf-site/docs/java/
popd

# Make Python documentation (Depends on C++ )
# Build Arrow C++
source activate pyarrow-dev

export ARROW_BUILD_TOOLCHAIN=$CONDA_PREFIX
export BOOST_ROOT=$CONDA_PREFIX
export PARQUET_BUILD_TOOLCHAIN=$CONDA_PREFIX
export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:${LD_LIBRARY_PATH}
export PKG_CONFIG_PATH=$CONDA_PREFIX/lib/pkgconfig:${PKG_CONFIG_PATH}

export CC=gcc-4.9
export CXX=g++-4.9

rm -rf arrow/cpp/build_docs
mkdir arrow/cpp/build_docs
pushd arrow/cpp/build_docs
CPP_BUILD_DIR=$(pwd)/arrow/cpp/build_docs

rm -rf $CPP_BUILD_DIR
mkdir $CPP_BUILD_DIR
pushd $CPP_BUILD_DIR
cmake -DCMAKE_BUILD_TYPE=$ARROW_BUILD_TYPE \
-DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
-DARROW_PYTHON=on \
Expand All @@ -58,6 +81,28 @@ make -j4
make install
popd

# Build c_glib documentation
pushd arrow/c_glib
if [ -f Makefile ]; then
# Ensure updating to prevent auto re-configure
touch configure **/Makefile
make distclean
# Work around for 'make distclean' removes doc/reference/xml/
git checkout doc/reference/xml
fi
./autogen.sh
rm -rf build_docs
mkdir build_docs
pushd build_docs
../configure \
--prefix=${AROW_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
popd
popd

# Build Parquet C++
rm -rf parquet-cpp/build_docs
mkdir parquet-cpp/build_docs
Expand All @@ -83,32 +128,10 @@ mkdir -p ../site/asf-site/docs/python
rsync -r doc/_build/html/ ../site/asf-site/docs/python
popd

# Build c_glib documentation
pushd arrow/c_glib
rm -rf doc/reference/html/*
./autogen.sh
./configure \
--with-arrow-cpp-build-dir=$(pwd)/../cpp/build \
--with-arrow-cpp-build-type=$ARROW_BUILD_TYPE \
--enable-gtk-doc
LD_LIBRARY_PATH=$(pwd)/../cpp/build/$ARROW_BUILD_TYPE make GTK_DOC_V_XREF=": "
mkdir -p ../site/asf-site/docs/c_glib
rsync -r doc/reference/html/ ../site/asf-site/docs/c_glib
popd

# Make C++ documentation
pushd arrow/cpp/apidoc
rm -rf html/*
doxygen Doxyfile
mkdir -p ../../site/asf-site/docs/cpp
rsync -r html/ ../../site/asf-site/docs/cpp
popd

# Make Java documentation
pushd arrow/java
rm -rf target/site/apidocs/*
mvn -Drat.skip=true install
mvn -Drat.skip=true site
mkdir -p ../site/asf-site/docs/java/
rsync -r target/site/apidocs/ ../site/asf-site/docs/java/
popd
9 changes: 9 additions & 0 deletions dev/release/RELEASE_MANAGEMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,15 @@ software must be built in order to create the documentation, so this
step may take some time to run, especially the first time around as the
Docker container will also have to be built.

To upload the updated documentation to the website, navigate to `site/asf-site`
and commit all changes:

```
pushd site/asf-site
git add .
git commit -m "Updated API documentation for version X.Y.Z"
```

After successfully creating the API documentation the website can be
run locally to browse the API documentation from the top level
`Documentation` menu. To run the website issue the command:
Expand Down