ARROW-295: [Documentation] Add DOAP file

Hi,

Went to have a look at the [Apache Project listing](https://projects.apache.org/projects.html?language) and couldn't find Arrow there, so quickly grabbed Avro's DOAP, compared with a few Commons' DOAP files, and here's the result.

Notes:

- Use GitHub instead of git-wip (as far as I know, [git-wip is EOL](https://blogs.apache.org/infra/entry/relocation-of-apache-git-repositories), and all projects have to migrate to GitBox).
- Couldn't find a Wikipedia page for Arrow. That's where I normally find when the project was created, so used the [TLP project announcement](https://blogs.apache.org/foundation/entry/the_apache_software_foundation_announces87) date for the project `created` value.
- Use README's list of programming languages to create the list in this DOAP file.
- Some projects include updating DOAP release notes during/after the release, but it is not mandatory, and some (most?) ASF projects have outdated dates for the release in their DOAP files... having a DOAP file with valid metadata is still useful.

Happy to update branch it if necessary.

Other comments:

- Validated with W3C RDF validator, looks OK
- Built site locally and pushed to my fork to test that the DOAP file appeared correctly in the [browser](https://kinow.github.io/arrow/arrow.rdf). Basically, by having the file in the `site` directory and not including it in the `_config.yaml` to be excluded seems to be enough
- If/once merged, the ASF project listing would still lack Arrow. That's because someone (a PMC or committer) still needs to follow the [documentation for projects](https://projects.apache.org/create.html) and updated the [ASF SVN XML](https://svn.apache.org/repos/asf/comdev/projects.apache.org/trunk/data/projects.xml) used. But that's just one line, pointing to http://arrowapache.org/arrow.rdf

Cheers
Bruno

Author: Bruno P. Kinoshita <kinow@users.noreply.github.com>

Closes #3307 from kinow/add-doap-file and squashes the following commits:

d92566e9f <Bruno P. Kinoshita> ARROW-295: Add Matlab, and update release date/version
2c8b23ef9 <Bruno P. Kinoshita> ARROW-295: add DOAP file
1 file changed
tree: 8baff4e11d9106563d4f5950f20c5f623fbec1c3
  1. _data/
  2. _docs/
  3. _includes/
  4. _layouts/
  5. _posts/
  6. _release/
  7. _sass/
  8. assets/
  9. css/
  10. img/
  11. scripts/
  12. .gitignore
  13. _config.yml
  14. arrow.rdf
  15. blog.html
  16. committers.html
  17. Gemfile
  18. index.html
  19. install.md
  20. powered_by.md
  21. README.md
README.md

Apache Arrow Website

Overview

Site content is maintained in the main Arrow repository, mostly in markdown format. Jekyll is used to generate HTML files that can then be committed to the arrow-site repository.

Prerequisites

With Ruby >= 2.1 installed, run the following commands to install Jekyll.

gem install jekyll bundler
bundle install

If you are planning to publish the website, you must clone the arrow-site git repository. Run this command from the site directory so that asf-site is a subdirectory of site.

git clone --branch=asf-site https://github.com/apache/arrow-site.git asf-site

Previewing the site

From the site directory, run the following to generate HTML files and run the web site locally.

bundle exec jekyll serve

Publishing

After following the above instructions, run the following commands from the site directory:

JEKYLL_ENV=production bundle exec jekyll build
rsync -r build/ asf-site/
cd asf-site
git status

Now git add any new files, then commit everything, and push:

git push

Updating Code Documentation

To update the documentation, run the script ./dev/gen_apidocs.sh. This script will run the code documentation tools in a fixed environment.

C (GLib)

First, build Apache Arrow C++ and Apache Arrow GLib.

mkdir -p ../cpp/build
cd ../cpp/build
cmake .. -DCMAKE_BUILD_TYPE=debug
make
cd ../../c_glib
./autogen.sh
./configure \
  --with-arrow-cpp-build-dir=$PWD/../cpp/build \
  --with-arrow-cpp-build-type=debug \
  --enable-gtk-doc
LD_LIBRARY_PATH=$PWD/../cpp/build/debug make GTK_DOC_V_XREF=": "
rsync -r doc/reference/html/ ../site/asf-site/docs/c_glib/

Javascript

cd ../js
npm run doc
rsync -r doc/ ../site/asf-site/docs/js

Then add/commit/push from the site/asf-site git checkout.