Add Extension Build Integration Doc
Change-Id: I8329d7470016894da7a4c26f2942af6e19727d8d
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1262
Reviewed-by: Till Westmann <tillw@apache.org>
diff --git a/content/about.html b/content/about.html
index fcd55ef..1d48a19 100644
--- a/content/about.html
+++ b/content/about.html
@@ -70,7 +70,7 @@
</ul>
</li>
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Contributing <span class="caret"></span></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Development<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li class="dropdown-header">For New Contributors</li>
<li><a href="dev-setup.html">Development Setup</a></li>
@@ -78,6 +78,8 @@
<li class="dropdown-header">For Committers</li>
<li><a href="pushing.html">Pushing changes</a></li>
<li><a href="site.html">Editing this site</a></li>
+ <li class="dropdown-header">Extensions</li>
+ <li><a href="extension.html">Extending AsterixDB</a></li>
</ul>
</li>
</ul>
diff --git a/content/community.html b/content/community.html
index d4e0b8a..7735f6c 100644
--- a/content/community.html
+++ b/content/community.html
@@ -70,7 +70,7 @@
</ul>
</li>
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Contributing <span class="caret"></span></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Development<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li class="dropdown-header">For New Contributors</li>
<li><a href="dev-setup.html">Development Setup</a></li>
@@ -78,6 +78,8 @@
<li class="dropdown-header">For Committers</li>
<li><a href="pushing.html">Pushing changes</a></li>
<li><a href="site.html">Editing this site</a></li>
+ <li class="dropdown-header">Extensions</li>
+ <li><a href="extension.html">Extending AsterixDB</a></li>
</ul>
</li>
</ul>
diff --git a/content/dev-setup.html b/content/dev-setup.html
index d252ee6..da9f7d3 100644
--- a/content/dev-setup.html
+++ b/content/dev-setup.html
@@ -70,7 +70,7 @@
</ul>
</li>
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Contributing <span class="caret"></span></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Development<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li class="dropdown-header">For New Contributors</li>
<li><a href="dev-setup.html">Development Setup</a></li>
@@ -78,6 +78,8 @@
<li class="dropdown-header">For Committers</li>
<li><a href="pushing.html">Pushing changes</a></li>
<li><a href="site.html">Editing this site</a></li>
+ <li class="dropdown-header">Extensions</li>
+ <li><a href="extension.html">Extending AsterixDB</a></li>
</ul>
</li>
</ul>
diff --git a/content/download.html b/content/download.html
index bf2505e..5ac25b6 100644
--- a/content/download.html
+++ b/content/download.html
@@ -70,7 +70,7 @@
</ul>
</li>
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Contributing <span class="caret"></span></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Development<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li class="dropdown-header">For New Contributors</li>
<li><a href="dev-setup.html">Development Setup</a></li>
@@ -78,6 +78,8 @@
<li class="dropdown-header">For Committers</li>
<li><a href="pushing.html">Pushing changes</a></li>
<li><a href="site.html">Editing this site</a></li>
+ <li class="dropdown-header">Extensions</li>
+ <li><a href="extension.html">Extending AsterixDB</a></li>
</ul>
</li>
</ul>
diff --git a/content/extension.html b/content/extension.html
new file mode 100644
index 0000000..900d037
--- /dev/null
+++ b/content/extension.html
@@ -0,0 +1,186 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+ <meta name="description" content="">
+ <meta name="author" content="">
+ <link rel="icon" href="favicon.ico">
+
+ <title>AsterixDB Extensions</title>
+
+ <!-- Bootstrap core CSS -->
+ <link href="css/bootstrap.min.css" rel="stylesheet">
+ <!-- Bootstrap theme -->
+
+ <!-- Custom styles for this template -->
+ <link href="css/theme.css" rel="stylesheet">
+
+ <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+ <!--[if lt IE 9]>
+ <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+ <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+ <![endif]-->
+ <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
+ </head>
+
+ <div class="container theme-showcase" role="main">
+ <div class="masthead">
+ <p class="lead">
+ <a href="index.html">
+ <img src="img/asterixdb_tm.png" style="height:75px; width:auto; vertical-align:bottom; margin-top:10px;"/>
+ </a>
+ </p>
+ </div>
+
+ <nav class="navbar navbar-default">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="index.html">Overview</a>
+ </div>
+ <div class="navbar-collapse collapse">
+ <ul class="nav navbar-nav">
+ <li><a href="download.html">Download</a></li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Documentation<span class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu">
+ <li class="dropdown-header">Stable release</li>
+ <li><a href="docs/0.8.8-incubating/index.html">Documentation for 0.8.8-incubating<i class="fa fa-external-link fa-sm"></i></a></li>
+ <li class="divider"></li>
+ <li class="dropdown-header">Snapshot release</li>
+ <li><a href="https://ci.apache.org/projects/asterixdb/index.html">Documentation for 0.8.9-SNAPSHOT <i class="fa fa-external-link fa-sm"></i></a></li>
+ </ul>
+ </li>
+ <li><a href="about.html">About</a></li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Community<span class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu">
+ <li><a href="community.html">Mailing Lists</a></li>
+ <li><a href="community.html#irc">IRC</a></li>
+ <li><a href="community.html#asterixdb-team">Team</a></li>
+ <li><a href="https://issues.apache.org/jira/browse/ASTERIXDB">Issue Tracker</a></li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Development<span class="caret"></span></a>
+ <ul class="dropdown-menu" role="menu">
+ <li class="dropdown-header">For New Contributors</li>
+ <li><a href="dev-setup.html">Development Setup</a></li>
+ <li class="divider"></li>
+ <li class="dropdown-header">For Committers</li>
+ <li><a href="pushing.html">Pushing changes</a></li>
+ <li><a href="site.html">Editing this site</a></li>
+ <li class="dropdown-header">Extensions</li>
+ <li><a href="extension.html">Extending AsterixDB</a></li>
+ </ul>
+ </li>
+ </ul>
+ <ul class="nav navbar-nav navbar-right">
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"
+ style="padding-right: 30px">
+ <img src="img/feather.png" style="height:20px"/>Apache Software Foundation<span class="caret"/>
+ </a>
+ <ul class="dropdown-menu dropdown-menu-right" role="menu">
+ <li><a href="http://www.apache.org/"><b>ASF Homepage</b></a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Donate</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div><!--/.nav-collapse -->
+ </div>
+ </nav>
+
+
+ <div class="row">
+<div class="col-md-8 col-centered">
+<h2>AsterixDB Extensions</h2>
+<ul id="markdown-toc">
+ <li><a href="#integrating-with-asterixdb-build" id="markdown-toc-integrating-with-asterixdb-build">Integrating with AsterixDB Build</a> <ul>
+ <li><a href="#bill-of-materials-maven-module" id="markdown-toc-bill-of-materials-maven-module">Bill of Materials Maven Module</a></li>
+ </ul>
+ </li>
+</ul>
+
+<hr />
+
+<h2 id="integrating-with-asterixdb-build">Integrating with AsterixDB Build</h2>
+
+<p>Extensions can be built as part of the AsterixDB + Hyracks build by adding a module in ‘asterixdb/asterix-opt’ The
+ presence of a pom.xml in this directory adds this to the maven reactor as a sub-module of asterixdb.</p>
+
+<h3 id="bill-of-materials-maven-module">Bill of Materials Maven Module</h3>
+
+<p>A Bill of Materials (i.e. BOM) must be provided to indicate which (if any) jars & dependencies should be included in
+ the AsterixDB (e.g. asterix-server, asterix-installer, etc.) binary assemblies. Typically, the maven module defined
+ in asterixdb/asterix-opt will have a BOM project as a sub-module.</p>
+
+<p>This BOM must have the following coordinates, as this is used as the linkage into the asterix-server binary-assembly:
+<code>org.apache.asterix:asterix-opt-bom:0.8.9-SNAPSHOT:pom</code> (<em>version must match AsterixDB project version</em>)</p>
+
+<p>Any dependencies specified in the BOM (as well as transitive dependencies) will be included in the AsterixDB binary
+ assemblies. If no jars are desired to be included in the AsterixDB binary assemblies, the BOM need not specify any
+ dependencies.</p>
+
+<h4 id="example-bom">Example BOM</h4>
+
+<pre><code> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- project coordinates -->
+ <groupId>org.apache.asterix</groupId>
+ <artifactId>asterix-opt-bom</artifactId>
+ <version>0.8.9-SNAPSHOT</version>
+ <name>psu-nittany-bom</name>
+ <description>Penn State Nittany Lion Seach Extension to AsterixDB</description>
+
+ <!-- any dependencies listed here will be included in asterix-server, etc. binary assemblies -->
+ <dependencies>
+ <dependency>
+ <groupId>edu.psu.cs</groupId>
+ <artifactId>nittany-search</artifactId>
+ <version>0.1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ </dependency>
+ </dependencies>
+ </project>
+</code></pre>
+
+</div>
+</div>
+
+
+ <hr/>
+
+ <footer>
+ <div class="row">
+ <div class="col-md-9 col-centered text-center">
+ <p/>
+ <p>© Copyright 2016 The Apache Software foundation. All Rights Reserved. </p>
+ <p>Apache AsterixDB, the Apache AsterixDB logo, Apache, and the Apache feather logo are trademarks of the
+ Apache Software Foundation</p>
+ </div>
+ </div>
+ </footer>
+ </div> <!-- /container -->
+
+ <!-- Bootstrap core JavaScript
+ ================================================== -->
+ <!-- Placed at the end of the document so the pages load faster -->
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
+ <script src="js/bootstrap.min.js"></script>
+ </body>
+</html>
diff --git a/content/index.html b/content/index.html
index 7e5e59c..f9781fd 100644
--- a/content/index.html
+++ b/content/index.html
@@ -70,7 +70,7 @@
</ul>
</li>
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Contributing <span class="caret"></span></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Development<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li class="dropdown-header">For New Contributors</li>
<li><a href="dev-setup.html">Development Setup</a></li>
@@ -78,6 +78,8 @@
<li class="dropdown-header">For Committers</li>
<li><a href="pushing.html">Pushing changes</a></li>
<li><a href="site.html">Editing this site</a></li>
+ <li class="dropdown-header">Extensions</li>
+ <li><a href="extension.html">Extending AsterixDB</a></li>
</ul>
</li>
</ul>
diff --git a/content/pushing.html b/content/pushing.html
index 8f811b7..3937cac 100644
--- a/content/pushing.html
+++ b/content/pushing.html
@@ -70,7 +70,7 @@
</ul>
</li>
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Contributing <span class="caret"></span></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Development<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li class="dropdown-header">For New Contributors</li>
<li><a href="dev-setup.html">Development Setup</a></li>
@@ -78,6 +78,8 @@
<li class="dropdown-header">For Committers</li>
<li><a href="pushing.html">Pushing changes</a></li>
<li><a href="site.html">Editing this site</a></li>
+ <li class="dropdown-header">Extensions</li>
+ <li><a href="extension.html">Extending AsterixDB</a></li>
</ul>
</li>
</ul>
diff --git a/content/site.html b/content/site.html
index 73e11bf..db7e4b7 100644
--- a/content/site.html
+++ b/content/site.html
@@ -70,7 +70,7 @@
</ul>
</li>
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Contributing <span class="caret"></span></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Development<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li class="dropdown-header">For New Contributors</li>
<li><a href="dev-setup.html">Development Setup</a></li>
@@ -78,6 +78,8 @@
<li class="dropdown-header">For Committers</li>
<li><a href="pushing.html">Pushing changes</a></li>
<li><a href="site.html">Editing this site</a></li>
+ <li class="dropdown-header">Extensions</li>
+ <li><a href="extension.html">Extending AsterixDB</a></li>
</ul>
</li>
</ul>
diff --git a/content/tools.html b/content/tools.html
index 1547df8..ff08097 100644
--- a/content/tools.html
+++ b/content/tools.html
@@ -70,7 +70,7 @@
</ul>
</li>
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Contributing <span class="caret"></span></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Development<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li class="dropdown-header">For New Contributors</li>
<li><a href="dev-setup.html">Development Setup</a></li>
@@ -78,6 +78,8 @@
<li class="dropdown-header">For Committers</li>
<li><a href="pushing.html">Pushing changes</a></li>
<li><a href="site.html">Editing this site</a></li>
+ <li class="dropdown-header">Extensions</li>
+ <li><a href="extension.html">Extending AsterixDB</a></li>
</ul>
</li>
</ul>