[ 
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)

Reply via email to