[
https://issues.apache.org/jira/browse/ARROW-1991?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16329047#comment-16329047
]
ASF GitHub Bot commented on ARROW-1991:
---------------------------------------
wesm closed pull request #1472: ARROW-1991: [Website] Fix Docker documentation
build
URL: https://github.com/apache/arrow/pull/1472
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/c_glib/arrow-glib/Makefile.am b/c_glib/arrow-glib/Makefile.am
index 16d070314..9148f8a58 100644
--- a/c_glib/arrow-glib/Makefile.am
+++ b/c_glib/arrow-glib/Makefile.am
@@ -16,6 +16,7 @@
# under the License.
CLEANFILES =
+DISTCLEANFILES =
EXTRA_DIST = \
meson.build
@@ -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
@@ -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 += \
diff --git a/dev/docker-compose.yml b/dev/docker-compose.yml
index 4b9014894..a73fd1bfb 100644
--- a/dev/docker-compose.yml
+++ b/dev/docker-compose.yml
@@ -17,7 +17,7 @@
version: '3'
services:
gen_apidocs:
- build:
+ build:
context: gen_apidocs
volumes:
- ../..:/apache-arrow
@@ -29,7 +29,7 @@ services:
volumes:
- ../..:/apache-arrow
dask_integration:
- build:
+ build:
context: dask_integration
volumes:
- ../..:/apache-arrow
diff --git a/dev/gen_apidocs/Dockerfile b/dev/gen_apidocs/Dockerfile
index ca4718e63..da740ee07 100644
--- a/dev/gen_apidocs/Dockerfile
+++ b/dev/gen_apidocs/Dockerfile
@@ -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 && \
@@ -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
diff --git a/dev/gen_apidocs/create_documents.sh
b/dev/gen_apidocs/create_documents.sh
index 566d9cee7..54031262b 100755
--- a/dev/gen_apidocs/create_documents.sh
+++ b/dev/gen_apidocs/create_documents.sh
@@ -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
@@ -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 \
@@ -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
@@ -83,19 +128,6 @@ 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/*
@@ -103,12 +135,3 @@ 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
diff --git a/dev/release/RELEASE_MANAGEMENT.md
b/dev/release/RELEASE_MANAGEMENT.md
index 73eaf5f95..0f8c2202f 100644
--- a/dev/release/RELEASE_MANAGEMENT.md
+++ b/dev/release/RELEASE_MANAGEMENT.md
@@ -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:
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> [GLib] Docker-based documentation build is broken
> -------------------------------------------------
>
> Key: ARROW-1991
> URL: https://issues.apache.org/jira/browse/ARROW-1991
> Project: Apache Arrow
> Issue Type: Bug
> Components: GLib
> Reporter: Wes McKinney
> Priority: Major
> Labels: pull-request-available
> Fix For: 0.9.0
>
>
> I'm putting up a patch that got me to here
> {code}
> DOC Building HTML
> ../arrow-glib-docs.xml:25: warning: failed to load external entity
> "../xml/gtkdocentities.ent"
> %gtkdocentities;
> ^
> Entity: line 1:
> %gtkdocentities;
> ^
> ../arrow-glib-docs.xml:29: parser error : Entity 'package_name' not defined
> <title>&package_name; Reference Manual</title>
> ^
> ../arrow-glib-docs.xml:31: parser error : Entity 'package_string' not defined
> for &package_string;.
> ^
> warning: failed to load external entity "../xml/basic-array.xml"
> ../arrow-glib-docs.xml:43: element include: XInclude error : could not load
> ../xml/basic-array.xml, and no fallback was found
> warning: failed to load external entity "../xml/composite-array.xml"
> ../arrow-glib-docs.xml:44: element include: XInclude error : could not load
> ../xml/composite-array.xml, and no fallback was found
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)