Migrate docs into the project 70/76070/4
authorStephen Kitt <skitt@redhat.com>
Thu, 13 Sep 2018 17:00:07 +0000 (19:00 +0200)
committerStephen Kitt <skitt@redhat.com>
Thu, 12 Sep 2019 16:48:34 +0000 (18:48 +0200)
This disables the root Sphinx setup and uses the same docs setup as
other ODL projects.

The developer’s guide is outdated but will be updated in a later
commit.

Change-Id: I5201529c52fe55fec7540464f896e703affdb350
Signed-off-by: Stephen Kitt <skitt@redhat.com>
13 files changed:
Makefile [deleted file]
conf.py [deleted file]
docs/NEWS.rst [moved from NEWS.rst with 96% similarity]
docs/_static/logo.png [new file with mode: 0644]
docs/conf.py [new file with mode: 0644]
docs/conf.yaml [new file with mode: 0644]
docs/developer-guide.rst [new file with mode: 0644]
docs/favicon.ico [new file with mode: 0644]
docs/index.rst [new file with mode: 0644]
docs/requirements.txt [new file with mode: 0644]
index.rst [deleted file]
make.bat [deleted file]
tox.ini

diff --git a/Makefile b/Makefile
deleted file mode 100644 (file)
index e005319..0000000
--- a/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# Minimal makefile for Sphinx documentation
-#
-
-# You can set these variables from the command line.
-SPHINXOPTS    =
-SPHINXBUILD   = sphinx-build
-SPHINXPROJ    = ODLParent
-SOURCEDIR     = .
-BUILDDIR      = _build
-
-# Put it first so that "make" without argument is like "make help".
-help:
-       @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
-
-.PHONY: help Makefile
-
-# Catch-all target: route all unknown targets to Sphinx using the new
-# "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
-%: Makefile
-       @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
\ No newline at end of file
diff --git a/conf.py b/conf.py
deleted file mode 100644 (file)
index 0dbc03d..0000000
--- a/conf.py
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-#
-# ODL Parent documentation build configuration file, created by
-# sphinx-quickstart on Fri Nov 10 10:14:30 2017.
-#
-# This file is execfile()d with the current directory set to its
-# containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#
-# import os
-# import sys
-# sys.path.insert(0, os.path.abspath('.'))
-
-
-# -- General configuration ------------------------------------------------
-
-# If your documentation needs a minimal Sphinx version, state it here.
-#
-# needs_sphinx = '1.0'
-
-# Add any Sphinx extension module names here, as strings. They can be
-# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
-# ones.
-extensions = ['sphinx.ext.autodoc']
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix(es) of source filenames.
-# You can specify multiple suffix as a list of string:
-#
-# source_suffix = ['.rst', '.md']
-source_suffix = '.rst'
-
-# The master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = 'ODL Parent'
-copyright = '2017, The OpenDaylight community'
-author = 'OpenDaylight Project'
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-version = '3.0.0'
-# The full version, including alpha/beta/rc tags.
-release = '3.0.0'
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#
-# This is also used if you do content translation via gettext catalogs.
-# Usually you set "language" from the command line for these cases.
-language = None
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-# This patterns also effect to html_static_path and html_extra_path
-exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# If true, `todo` and `todoList` produce output, else they produce nothing.
-todo_include_todos = False
-
-
-# -- Options for HTML output ----------------------------------------------
-
-# The theme to use for HTML and HTML Help pages.  See the documentation for
-# a list of builtin themes.
-#
-html_theme = 'alabaster'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further.  For a list of options available for each theme, see the
-# documentation.
-#
-# html_theme_options = {}
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
-
-# -- Options for HTMLHelp output ------------------------------------------
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'ODLParentdoc'
-
-
-# -- Options for LaTeX output ---------------------------------------------
-
-latex_elements = {
-    # The paper size ('letterpaper' or 'a4paper').
-    #
-    # 'papersize': 'letterpaper',
-
-    # The font size ('10pt', '11pt' or '12pt').
-    #
-    # 'pointsize': '10pt',
-
-    # Additional stuff for the LaTeX preamble.
-    #
-    # 'preamble': '',
-
-    # Latex figure (float) alignment
-    #
-    # 'figure_align': 'htbp',
-}
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title,
-#  author, documentclass [howto, manual, or own class]).
-latex_documents = [
-    (master_doc, 'ODLParent.tex', 'ODL Parent Documentation',
-     'The OpenDaylight community', 'manual'),
-]
-
-
-# -- Options for manual page output ---------------------------------------
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
-    (master_doc, 'odlparent', 'ODL Parent Documentation',
-     [author], 1)
-]
-
-
-# -- Options for Texinfo output -------------------------------------------
-
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-#  dir menu entry, description, category)
-texinfo_documents = [
-    (master_doc, 'ODLParent', 'ODL Parent Documentation',
-     author, 'ODLParent', 'One line description of project.',
-     'Miscellaneous'),
-]
-
-
-
similarity index 96%
rename from NEWS.rst
rename to docs/NEWS.rst
index c5b4f3c0f4965c865aa7a39489d93d629d04a397..c57df9fd14311dbf7685198e63e9552cebc18b0e 100644 (file)
--- a/NEWS.rst
@@ -673,7 +673,7 @@ Version 4.0.0
 This is a major upgrade from version 3, with breaking changes; projects will
 need to make changes to upgrade to this version.
 
-`This Wiki page <https://wiki.opendaylight.org/view/Neon_platform_upgrade>`_
+`This Wiki page <https://wiki.opendaylight.org/view/Neon_platform_upgrade>`__
 has detailed step-by-step migration instructions.
 
 ODL Parent 4 requires Maven 3.5.3 or later; this is needed in particular to
@@ -684,14 +684,14 @@ Known issues
 
 This release’s SpotBugs support doesn’t handle Guava 25.1 correctly, resulting
 in false-positives regarding null handling; see
-`ODLPARENT-161 <https://jira.opendaylight.org/browse/ODLPARENT-161>`_ for
+`ODLPARENT-161 <https://jira.opendaylight.org/browse/ODLPARENT-161>`__ for
 details. Until this is fixed, the corresponding warnings are disabled, which
 matches our existing FindBugs configuration (which suffers from the a variant
 of this, with the same consequences).
 
 We are planning on upgrading Akka during the 4.x cycle, even if it results in
 a technically breaking upgrade. This is currently blocked on an OSGi bug in
-Akka; see `Akka issue 25579 <https://github.com/akka/akka/issues/25579>`_ for
+Akka; see `Akka issue 25579 <https://github.com/akka/akka/issues/25579>`__ for
 details.
 
 Blueprint and OSGi service handling
@@ -723,7 +723,7 @@ with version 4, Blueprint annotations should be used instead:
 
 * service lists can be injected using ``@ReferenceList``.
 
-See `this Gerrit patch <https://git.opendaylight.org/gerrit/75699>`_ for an
+See `this Gerrit patch <https://git.opendaylight.org/gerrit/75699>`__ for an
 example.
 
 Compiler settings
@@ -771,7 +771,7 @@ New FindBugs and SpotBugs settings
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 FindBugs and SpotBugs are configured with
-`the SLF4J extension <http://kengotoda.github.io/findbugs-slf4j/>`_ (version
+`the SLF4J extension <http://kengotoda.github.io/findbugs-slf4j/>`__ (version
 1.4.0 for FindBugs, 1.4.1 for SpotBugs). This will flag misused SLF4J calls, in
 particular message templates which don’t match the arguments, and invalid
 placeholders (*e.g.* ``%s`` instead of ``{}``).
@@ -790,169 +790,169 @@ This version upgrades the following third-party dependencies:
 
 * Aeron 1.7.0 → 1.9.3:
 
-  * `1.8.0 <https://github.com/real-logic/aeron/releases/tag/1.8.0>`_.
-  * `1.8.1 <https://github.com/real-logic/aeron/releases/tag/1.8.1>`_.
-  * `1.8.2 <https://github.com/real-logic/aeron/releases/tag/1.8.2>`_.
-  * `1.9.0 <https://github.com/real-logic/aeron/releases/tag/1.9.0>`_.
-  * `1.9.1 <https://github.com/real-logic/aeron/releases/tag/1.9.1>`_.
-  * `1.9.2 <https://github.com/real-logic/aeron/releases/tag/1.9.2>`_.
-  * `1.9.3 <https://github.com/real-logic/aeron/releases/tag/1.9.3>`_.
+  * `1.8.0 <https://github.com/real-logic/aeron/releases/tag/1.8.0>`__.
+  * `1.8.1 <https://github.com/real-logic/aeron/releases/tag/1.8.1>`__.
+  * `1.8.2 <https://github.com/real-logic/aeron/releases/tag/1.8.2>`__.
+  * `1.9.0 <https://github.com/real-logic/aeron/releases/tag/1.9.0>`__.
+  * `1.9.1 <https://github.com/real-logic/aeron/releases/tag/1.9.1>`__.
+  * `1.9.2 <https://github.com/real-logic/aeron/releases/tag/1.9.2>`__.
+  * `1.9.3 <https://github.com/real-logic/aeron/releases/tag/1.9.3>`__.
 
 * Agrona 0.9.12 → 0.9.21:
 
-  * `0.9.13 <https://github.com/real-logic/agrona/releases/tag/0.9.13>`_.
-  * `0.9.14 <https://github.com/real-logic/agrona/releases/tag/0.9.14>`_.
-  * `0.9.15 <https://github.com/real-logic/agrona/releases/tag/0.9.15>`_.
-  * `0.9.16 <https://github.com/real-logic/agrona/releases/tag/0.9.16>`_.
-  * `0.9.17 <https://github.com/real-logic/agrona/releases/tag/0.9.17>`_.
-  * `0.9.18 <https://github.com/real-logic/agrona/releases/tag/0.9.18>`_.
-  * `0.9.19 <https://github.com/real-logic/agrona/releases/tag/0.9.19>`_.
-  * `0.9.20 <https://github.com/real-logic/agrona/releases/tag/0.9.20>`_.
-  * `0.9.21 <https://github.com/real-logic/agrona/releases/tag/0.9.21>`_.
+  * `0.9.13 <https://github.com/real-logic/agrona/releases/tag/0.9.13>`__.
+  * `0.9.14 <https://github.com/real-logic/agrona/releases/tag/0.9.14>`__.
+  * `0.9.15 <https://github.com/real-logic/agrona/releases/tag/0.9.15>`__.
+  * `0.9.16 <https://github.com/real-logic/agrona/releases/tag/0.9.16>`__.
+  * `0.9.17 <https://github.com/real-logic/agrona/releases/tag/0.9.17>`__.
+  * `0.9.18 <https://github.com/real-logic/agrona/releases/tag/0.9.18>`__.
+  * `0.9.19 <https://github.com/real-logic/agrona/releases/tag/0.9.19>`__.
+  * `0.9.20 <https://github.com/real-logic/agrona/releases/tag/0.9.20>`__.
+  * `0.9.21 <https://github.com/real-logic/agrona/releases/tag/0.9.21>`__.
 
 * Akka 2.5.11 → 2.5.14:
 
-  * `2.5.12 <https://akka.io/blog/news/2018/04/13/akka-2.5.12-released>`_.
-  * `2.5.13 <https://akka.io/blog/news/2018/06/08/akka-2.5.13-released>`_.
-  * `2.5.14 <https://akka.io/blog/news/2018/07/13/akka-2.5.14-released>`_.
+  * `2.5.12 <https://akka.io/blog/news/2018/04/13/akka-2.5.12-released>`__.
+  * `2.5.13 <https://akka.io/blog/news/2018/06/08/akka-2.5.13-released>`__.
+  * `2.5.14 <https://akka.io/blog/news/2018/07/13/akka-2.5.14-released>`__.
 
 * ASM 5.1 → 6.2.1 (synchronised with Karaf).
 
-* Bouncy Castle `1.59 → 1.60 <https://www.bouncycastle.org/releasenotes.html>`_.
+* Bouncy Castle `1.59 → 1.60 <https://www.bouncycastle.org/releasenotes.html>`__.
 
-* Checkstyle `8.4 → 8.12 <http://checkstyle.sourceforge.net/releasenotes.html#Release_8.12>`_.
+* Checkstyle `8.4 → 8.12 <http://checkstyle.sourceforge.net/releasenotes.html#Release_8.12>`__.
 
-* Commons Lang `3.7 → 3.8 <http://www.apache.org/dist/commons/lang/RELEASE-NOTES.txt>`_.
+* Commons Lang `3.7 → 3.8 <http://www.apache.org/dist/commons/lang/RELEASE-NOTES.txt>`__.
 
 * Commons Text 1.1 → 1.4:
 
-  * `1.2 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.2.txt>`_.
-  * `1.3 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.3.txt>`_.
-  * `1.4 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.4.txt>`_.
+  * `1.2 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.2.txt>`__.
+  * `1.3 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.3.txt>`__.
+  * `1.4 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.4.txt>`__.
 
 * Eclipse JDT annotations 2.1.150 → 2.2.0.
 
-* EclipseLink Moxy JAXB `2.7.1 → 2.7.3 <https://www.eclipse.org/eclipselink/releases/2.7.php>`_.
+* EclipseLink Moxy JAXB `2.7.1 → 2.7.3 <https://www.eclipse.org/eclipselink/releases/2.7.php>`__.
 
 * Enunciate core annotations
-  `2.10.1 → 2.11.1 <https://github.com/stoicflame/enunciate/releases>`_.
+  `2.10.1 → 2.11.1 <https://github.com/stoicflame/enunciate/releases>`__.
 
 * Felix Metatype 1.1.6 → 1.2.0 (synchronised with Karaf).
 
-* Google Truth `0.40 → 0.42 <https://github.com/google/truth/releases>`_.
+* Google Truth `0.40 → 0.42 <https://github.com/google/truth/releases>`__.
 
 * Guava 23.6.1 → 25.1:
 
-  * `23.4 <https://github.com/google/guava/releases/tag/v23.4>`_.
-  * `23.5 <https://github.com/google/guava/releases/tag/v23.5>`_.
-  * `23.6 <https://github.com/google/guava/releases/tag/v23.6>`_.
-  * `24.0 <https://github.com/google/guava/releases/tag/v24.0>`_.
-  * `24.1 <https://github.com/google/guava/releases/tag/v24.1>`_.
-  * `25.0 <https://github.com/google/guava/releases/tag/v25.0>`_.
-  * `25.1 <https://github.com/google/guava/releases/tag/v25.1>`_.
+  * `23.4 <https://github.com/google/guava/releases/tag/v23.4>`__.
+  * `23.5 <https://github.com/google/guava/releases/tag/v23.5>`__.
+  * `23.6 <https://github.com/google/guava/releases/tag/v23.6>`__.
+  * `24.0 <https://github.com/google/guava/releases/tag/v24.0>`__.
+  * `24.1 <https://github.com/google/guava/releases/tag/v24.1>`__.
+  * `25.0 <https://github.com/google/guava/releases/tag/v25.0>`__.
+  * `25.1 <https://github.com/google/guava/releases/tag/v25.1>`__.
 
-* Immutables `2.5.6 → 2.7.1 <https://github.com/immutables/immutables/blob/master/README.md#changelog>`_.
+* Immutables `2.5.6 → 2.7.1 <https://github.com/immutables/immutables/blob/master/README.md#changelog>`__.
 
 * Jackson 2.8.9 → 2.9.6:
 
-  * `2.9 feature overview <https://medium.com/@cowtowncoder/jackson-2-9-features-b2a19029e9ff>`_.
-  * `2.9 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9>`_.
-  * `2.9.1 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.1>`_.
-  * `2.9.2 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.2>`_.
-  * `2.9.3 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.3>`_.
-  * `2.9.4 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.4>`_.
-  * `2.9.5 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.5>`_.
-  * `2.9.6 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.6>`_.
+  * `2.9 feature overview <https://medium.com/@cowtowncoder/jackson-2-9-features-b2a19029e9ff>`__.
+  * `2.9 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9>`__.
+  * `2.9.1 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.1>`__.
+  * `2.9.2 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.2>`__.
+  * `2.9.3 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.3>`__.
+  * `2.9.4 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.4>`__.
+  * `2.9.5 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.5>`__.
+  * `2.9.6 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.6>`__.
 
-* JaCoCo `0.8.1 → 0.8.2 <https://github.com/jacoco/jacoco/releases/tag/v0.8.2>`_.
+* JaCoCo `0.8.1 → 0.8.2 <https://github.com/jacoco/jacoco/releases/tag/v0.8.2>`__.
 
 * Javassist 3.22.0 → 3.23.1. This provides compatibility with Java 9 and later,
-  and `fixes a file handle leak <https://github.com/jboss-javassist/javassist/issues/165>`_.
+  and `fixes a file handle leak <https://github.com/jboss-javassist/javassist/issues/165>`__.
 
 * Jettison 1.3.8 → 1.4.0.
 
 * Jetty 9.3.21 → 9.4.11 (synchronised with Karaf):
 
-  * `9.4.0 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00097.html>`_.
-  * `9.4.1 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00100.html>`_.
-  * `9.4.2 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00101.html>`_.
-  * `9.4.3 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00102.html>`_.
-  * `9.4.4 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00105.html>`_.
-  * `9.4.5 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00107.html>`_.
-  * `9.4.6 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00109.html>`_.
-  * `9.4.7 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00111.html>`_.
-  * `9.4.8 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00114.html>`_.
-  * `9.4.9 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00117.html>`_.
-  * `9.4.10 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00119.html>`_.
-  * `9.4.11 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00122.html>`_.
-
-* Jolokia OSGi `1.5.0 → 1.6.0 <https://jolokia.org/changes-report.html#a1.6.0>`_.
+  * `9.4.0 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00097.html>`__.
+  * `9.4.1 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00100.html>`__.
+  * `9.4.2 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00101.html>`__.
+  * `9.4.3 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00102.html>`__.
+  * `9.4.4 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00105.html>`__.
+  * `9.4.5 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00107.html>`__.
+  * `9.4.6 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00109.html>`__.
+  * `9.4.7 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00111.html>`__.
+  * `9.4.8 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00114.html>`__.
+  * `9.4.9 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00117.html>`__.
+  * `9.4.10 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00119.html>`__.
+  * `9.4.11 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00122.html>`__.
+
+* Jolokia OSGi `1.5.0 → 1.6.0 <https://jolokia.org/changes-report.html#a1.6.0>`__.
 
 * Karaf 4.1.5 → 4.2.1:
 
-  * `4.1.6 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342748>`_.
-  * `4.2.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342945>`_.
+  * `4.1.6 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342748>`__.
+  * `4.2.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342945>`__.
 
 * LMAX Disruptor 3.3.10 → 3.4.1:
 
-  * `3.4.0 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.4.0>`_.
-  * `3.4.1 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.4.1>`_.
+  * `3.4.0 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.4.0>`__.
+  * `3.4.1 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.4.1>`__.
 
 * META-INF services 1.7 → 1.8.
 
 * Mockito 1.10.19 → 2.20.1; see
-  `What’s new in Mockito 2 <https://github.com/mockito/mockito/wiki/What%27s-new-in-Mockito-2>`_
+  `What’s new in Mockito 2 <https://github.com/mockito/mockito/wiki/What%27s-new-in-Mockito-2>`__
   for upgrade instructions and
-  `the list of issues you might run into <https://asolntsev.github.io/en/2016/10/11/mockito-2.1/>`_.
+  `the list of issues you might run into <https://asolntsev.github.io/en/2016/10/11/mockito-2.1/>`__.
 
 * Netty 4.1.22 → 4.1.28:
 
-  * `4.1.17 <http://netty.io/news/2017/11/08/4-0-53-Final-4-1-17-Final.html>`_.
-  * `4.1.18 <http://netty.io/news/2017/12/11/4-0-54-Final-4-1-18-Final.html>`_.
-  * `4.1.19 <http://netty.io/news/2017/12/18/4-1-19-Final.html>`_.
-  * `4.1.20 <http://netty.io/news/2018/01/22/4-0-55-Final-4-1-20-Final.html>`_.
-  * `4.1.21 <http://netty.io/news/2018/02/05/4-0-56-Final-4-1-21-Final.html>`_.
-  * `4.1.22 <http://netty.io/news/2018/02/21/4-1-22-Final.html>`_.
-  * `4.1.23 <http://netty.io/news/2018/04/04/4-1-23-Final.html>`_.
-  * `4.1.24 <http://netty.io/news/2018/04/19/4-1-24-Final.html>`_.
-  * `4.1.25 <http://netty.io/news/2018/05/14/4-1-25-Final.html>`_.
-  * `4.1.26 <http://netty.io/news/2018/07/10/4-1-26-Final.html>`_.
-  * `4.1.27 <http://netty.io/news/2018/07/11/4-1-27-Final.html>`_.
-  * `4.1.28 <http://netty.io/news/2018/07/27/4-1-28-Final.html>`_.
+  * `4.1.17 <http://netty.io/news/2017/11/08/4-0-53-Final-4-1-17-Final.html>`__.
+  * `4.1.18 <http://netty.io/news/2017/12/11/4-0-54-Final-4-1-18-Final.html>`__.
+  * `4.1.19 <http://netty.io/news/2017/12/18/4-1-19-Final.html>`__.
+  * `4.1.20 <http://netty.io/news/2018/01/22/4-0-55-Final-4-1-20-Final.html>`__.
+  * `4.1.21 <http://netty.io/news/2018/02/05/4-0-56-Final-4-1-21-Final.html>`__.
+  * `4.1.22 <http://netty.io/news/2018/02/21/4-1-22-Final.html>`__.
+  * `4.1.23 <http://netty.io/news/2018/04/04/4-1-23-Final.html>`__.
+  * `4.1.24 <http://netty.io/news/2018/04/19/4-1-24-Final.html>`__.
+  * `4.1.25 <http://netty.io/news/2018/05/14/4-1-25-Final.html>`__.
+  * `4.1.26 <http://netty.io/news/2018/07/10/4-1-26-Final.html>`__.
+  * `4.1.27 <http://netty.io/news/2018/07/11/4-1-27-Final.html>`__.
+  * `4.1.28 <http://netty.io/news/2018/07/27/4-1-28-Final.html>`__.
 
 * Pax Exam 4.11.0 → 4.12.0.
 
 * Pax URL 2.5.3 → 2.5.4, which only fixes
-  `a potential NullPointerException <https://ops4j1.jira.com/browse/PAXURL-346>`_.
+  `a potential NullPointerException <https://ops4j1.jira.com/browse/PAXURL-346>`__.
 
 * PowerMock 1.6.4 → 1.7.4:
 
-  * `1.6.5 <https://github.com/powermock/powermock/releases/tag/powermock-1.6.5>`_.
-  * `1.6.6 <https://github.com/powermock/powermock/releases/tag/powermock-1.6.6>`_.
-  * `1.7.0 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.0>`_.
-  * `1.7.1 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.1>`_.
-  * `1.7.2 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.2>`_.
-  * `1.7.3 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.3>`_.
-  * `1.7.4 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.4>`_.
+  * `1.6.5 <https://github.com/powermock/powermock/releases/tag/powermock-1.6.5>`__.
+  * `1.6.6 <https://github.com/powermock/powermock/releases/tag/powermock-1.6.6>`__.
+  * `1.7.0 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.0>`__.
+  * `1.7.1 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.1>`__.
+  * `1.7.2 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.2>`__.
+  * `1.7.3 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.3>`__.
+  * `1.7.4 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.4>`__.
 
 * Scala parser combinators 1.0.7 → 1.1.1:
 
-  * `1.1.0 <https://github.com/scala/scala-parser-combinators/releases/tag/v1.1.0>`_.
-  * `1.1.1 <https://github.com/scala/scala-parser-combinators/releases/tag/v1.1.1>`_.
+  * `1.1.0 <https://github.com/scala/scala-parser-combinators/releases/tag/v1.1.0>`__.
+  * `1.1.1 <https://github.com/scala/scala-parser-combinators/releases/tag/v1.1.1>`__.
 
-* SpotBugs `3.1.0 → 3.1.6 <https://github.com/spotbugs/spotbugs/blob/3.1.6/CHANGELOG.md>`_.
+* SpotBugs `3.1.0 → 3.1.6 <https://github.com/spotbugs/spotbugs/blob/3.1.6/CHANGELOG.md>`__.
 
-* Threeten Extra `1.3.2 → 1.4 <https://github.com/ThreeTen/threeten-extra/releases>`_.
+* Threeten Extra `1.3.2 → 1.4 <https://github.com/ThreeTen/threeten-extra/releases>`__.
 
 * Typesafe SSL config 0.2.2 → 0.2.4:
 
-  * `0.2.3 <https://github.com/lightbend/ssl-config/releases/tag/v0.2.3>`_.
-  * `0.2.4 <https://github.com/lightbend/ssl-config/releases/tag/v0.2.4>`_.
+  * `0.2.3 <https://github.com/lightbend/ssl-config/releases/tag/v0.2.3>`__.
+  * `0.2.4 <https://github.com/lightbend/ssl-config/releases/tag/v0.2.4>`__.
 
 * Wagon HTTP
-  `2.10 → 3.1.0 <https://lists.apache.org/thread.html/96024c54db7680697cb066e22a37b0ed5b4498386714a8a9ae1ec9cd@%3Cannounce.maven.apache.org%3E>`_.
+  `2.10 → 3.1.0 <https://lists.apache.org/thread.html/96024c54db7680697cb066e22a37b0ed5b4498386714a8a9ae1ec9cd@%3Cannounce.maven.apache.org%3E>`__.
 
-* XMLUnit `1.6 → 2.6.2 <https://github.com/xmlunit/xmlunit/blob/master/RELEASE_NOTES.md>`_.
+* XMLUnit `1.6 → 2.6.2 <https://github.com/xmlunit/xmlunit/blob/master/RELEASE_NOTES.md>`__.
 
 Upstream version additions
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -994,22 +994,22 @@ The following plugins have been upgraded:
 * Bundle plugin 3.5.0 → 4.0.0.
 
 * Checkstyle
-  `2.17 → 3.0.0 <https://mail-archives.apache.org/mod_mbox/maven-announce/201801.mbox/%3Cop.zchs68akkdkhrr%40desktop-2khsk44.mshome.net%3E>`_.
+  `2.17 → 3.0.0 <https://mail-archives.apache.org/mod_mbox/maven-announce/201801.mbox/%3Cop.zchs68akkdkhrr%40desktop-2khsk44.mshome.net%3E>`__.
 
 * Duplicate finder
-  `1.2.1 → 1.3.0 <https://github.com/basepom/duplicate-finder-maven-plugin/blob/master/CHANGES.md>`_.
+  `1.2.1 → 1.3.0 <https://github.com/basepom/duplicate-finder-maven-plugin/blob/master/CHANGES.md>`__.
 
-* Git commit id `2.2.4 → 2.2.5 <https://github.com/ktoso/maven-git-commit-id-plugin/releases/tag/v2.2.5>`_.
+* Git commit id `2.2.4 → 2.2.5 <https://github.com/ktoso/maven-git-commit-id-plugin/releases/tag/v2.2.5>`__.
 
-* Jacoco Maven plugin `0.8.1 → 0.8.2 <https://github.com/jacoco/jacoco/releases/tag/v0.8.2>`_.
+* Jacoco Maven plugin `0.8.1 → 0.8.2 <https://github.com/jacoco/jacoco/releases/tag/v0.8.2>`__.
 
-* Javadoc `3.0.0 → 3.0.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317529&version=12342283>`_.
+* Javadoc `3.0.0 → 3.0.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317529&version=12342283>`__.
 
 * PMD 3.8 → 3.10.0:
 
-  * `3.10.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12342689&styleName=Text&projectId=12317621>`_.
+  * `3.10.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12342689&styleName=Text&projectId=12317621>`__.
 
-* Sevntu `1.29.0 → 1.32.0 <http://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.32.0>`_.
+* Sevntu `1.29.0 → 1.32.0 <http://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.32.0>`__.
 
 * SpotBugs 3.1.0-RC6 → 3.1.6 (see the SpotBugs changes above).
 
diff --git a/docs/_static/logo.png b/docs/_static/logo.png
new file mode 100644 (file)
index 0000000..861e1af
Binary files /dev/null and b/docs/_static/logo.png differ
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644 (file)
index 0000000..f8d31cf
--- /dev/null
@@ -0,0 +1,24 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2018 The Linux Foundation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+##############################################################################
+
+from docs_conf.conf import *
+
+# Append to intersphinx_mapping
+#intersphinx_mapping['odl-releng-builder'] = ('http://docs.opendaylight.org/projects/releng-builder/en/latest/', None)
+
+linkcheck_ignore = [
+    # Ignore jenkins because it's often slow to respond.
+    'https://jenkins.opendaylight.org/releng',
+    'https://jenkins.opendaylight.org/sandbox',
+]
+
+nitpicky = True
diff --git a/docs/conf.yaml b/docs/conf.yaml
new file mode 100644 (file)
index 0000000..f26e2fb
--- /dev/null
@@ -0,0 +1,4 @@
+---
+project_cfg: opendaylight
+project: ODL Parent
+version: 4.0.0
diff --git a/docs/developer-guide.rst b/docs/developer-guide.rst
new file mode 100644 (file)
index 0000000..a46dcea
--- /dev/null
@@ -0,0 +1,498 @@
+.. _odl-parent-developer-guide:
+
+Developing with ODL Parent
+==========================
+
+Parent POMs
+-----------
+
+Overview
+~~~~~~~~
+
+The ODL Parent component for OpenDaylight provides a number of Maven
+parent POMs which allow Maven projects to be easily integrated in the
+OpenDaylight ecosystem. Technically, the aim of projects in OpenDaylight
+is to produce Karaf features, and these parent projects provide common
+support for the different types of projects involved.
+
+These parent projects are:
+
+-  ``odlparent-lite`` — the basic parent POM for Maven modules which
+   don’t produce artifacts (*e.g.* aggregator POMs)
+
+-  ``odlparent`` — the common parent POM for Maven modules containing
+   Java code
+
+-  ``bundle-parent`` — the parent POM for Maven modules producing OSGi
+   bundles
+
+-  ``single-feature-parent`` — the parent POM for Maven modules producing
+   a single Karaf 4 feature
+
+-  ``feature-repo-parent`` — the parent POM for Maven modules producing
+   Karaf 4 feature repositories
+
+-  ``karaf4-parent`` — the parent POM for Maven modules producing Karaf 4
+   distributions
+
+odlparent-lite
+~~~~~~~~~~~~~~
+
+This is the base parent for all OpenDaylight Maven projects and
+modules. It provides the following, notably to allow publishing
+artifacts to Maven Central:
+
+-  license information;
+
+-  organization information;
+
+-  issue management information (a link to our Bugzilla);
+
+-  continuous integration information (a link to our Jenkins setup);
+
+-  default Maven plugins (``maven-clean-plugin``,
+   ``maven-deploy-plugin``, ``maven-install-plugin``,
+   ``maven-javadoc-plugin`` with HelpMojo support,
+   ``maven-project-info-reports-plugin``, ``maven-site-plugin`` with
+   Asciidoc support, ``jdepend-maven-plugin``);
+
+-  distribution management information.
+
+It also defines two profiles which help during development:
+
+-  ``q`` (``-Pq``), the quick profile, which disables tests, code
+   coverage, Javadoc generation, code analysis, etc. — anything which
+   isn’t necessary to build the bundles and features (see `this blog
+   post <http://blog2.vorburger.ch/2016/06/improve-maven-build-speed-with-q.html>`__
+   for details);
+
+-  ``addInstallRepositoryPath``
+   (``-DaddInstallRepositoryPath=…/karaf/system``) which can be used to
+   drop a bundle in the appropriate Karaf location, to enable
+   hot-reloading of bundles during development (see `this blog
+   post <http://blog2.vorburger.ch/2016/06/maven-install-into-additional.html>`__
+   for details).
+
+For modules which don’t produce any useful artifacts (*e.g.* aggregator
+POMs), you should add the following to avoid processing artifacts:
+
+::
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-install-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+odlparent
+~~~~~~~~~
+
+This inherits from ``odlparent-lite`` and mainly provides dependency and
+plugin management for OpenDaylight projects.
+
+If you use any of the following libraries, you should rely on
+``odlparent`` to provide the appropriate versions:
+
+-  Akka (and Scala)
+
+-  Apache Commons:
+
+   -  ``commons-codec``
+
+   -  ``commons-fileupload``
+
+   -  ``commons-io``
+
+   -  ``commons-lang``
+
+   -  ``commons-lang3``
+
+   -  ``commons-net``
+
+-  Apache Shiro
+
+-  Guava
+
+-  JAX-RS with Jersey
+
+-  JSON processing:
+
+   -  GSON
+
+   -  Jackson
+
+-  Logging:
+
+   -  Logback
+
+   -  SLF4J
+
+-  Netty
+
+-  OSGi:
+
+   -  Apache Felix
+
+   -  core OSGi dependencies (``core``, ``compendium``\ …)
+
+-  Testing:
+
+   -  Hamcrest
+
+   -  JSON assert
+
+   -  JUnit
+
+   -  Mockito
+
+   -  Pax Exam
+
+   -  PowerMock
+
+-  XML/XSL:
+
+   -  Xerces
+
+   -  XML APIs
+
+.. note::
+
+    This list isn’t exhaustive. It’s also not cast in stone; if you’d
+    like to add a new dependency (or migrate a dependency), please
+    contact `the mailing
+    list <https://lists.opendaylight.org/mailman/listinfo/odlparent-dev>`__.
+
+``odlparent`` also enforces some Checkstyle verification rules. In
+particular, it enforces the common license header used in all
+OpenDaylight code:
+
+::
+
+    /*
+     * Copyright © ${year} ${holder} and others.  All rights reserved.
+     *
+     * This program and the accompanying materials are made available under the
+     * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+     * and is available at http://www.eclipse.org/legal/epl-v10.html
+     */
+
+where “\ ``${year}``\ ” is initially the first year of publication, then
+(after a year has passed) the first and latest years of publication,
+separated by commas (*e.g.* “2014, 2016”), and “\ ``${holder}``\ ” is
+the initial copyright holder (typically, the first author’s employer).
+“All rights reserved” is optional.
+
+If you need to disable this license check, *e.g.* for files imported
+under another license (EPL-compatible of course), you can override the
+``maven-checkstyle-plugin`` configuration. ``features-test`` does this
+for its ``CustomBundleUrlStreamHandlerFactory`` class, which is
+ASL-licensed:
+
+::
+
+    <plugin>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <executions>
+            <execution>
+                <id>check-license</id>
+                <goals>
+                    <goal>check</goal>
+                </goals>
+                <phase>process-sources</phase>
+                <configuration>
+                    <configLocation>check-license.xml</configLocation>
+                    <headerLocation>EPL-LICENSE.regexp.txt</headerLocation>
+                    <includeResources>false</includeResources>
+                    <includeTestResources>false</includeTestResources>
+                    <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
+                    <excludes>
+                        <!-- Skip Apache Licensed files -->
+                        org/opendaylight/odlparent/featuretest/CustomBundleUrlStreamHandlerFactory.java
+                    </excludes>
+                    <failsOnError>false</failsOnError>
+                    <consoleOutput>true</consoleOutput>
+                </configuration>
+            </execution>
+        </executions>
+    </plugin>
+
+bundle-parent
+~~~~~~~~~~~~~
+
+This inherits from ``odlparent`` and enables functionality useful for
+OSGi bundles:
+
+-  ``maven-javadoc-plugin`` is activated, to build the Javadoc JAR;
+
+-  ``maven-source-plugin`` is activated, to build the source JAR;
+
+-  ``maven-bundle-plugin`` is activated (including extensions), to build
+   OSGi bundles (using the “bundle” packaging).
+
+In addition to this, JUnit is included as a default dependency in “test”
+scope.
+
+features-parent
+~~~~~~~~~~~~~~~
+
+This inherits from ``odlparent`` and enables functionality useful for
+Karaf features:
+
+-  ``karaf-maven-plugin`` is activated, to build Karaf features — but
+   for OpenDaylight, projects need to use “jar” packaging (**not**
+   “feature” or “kar”);
+
+-  ``features.xml`` files are processed from templates stored in
+   ``src/main/features/features.xml``;
+
+-  Karaf features are tested after build to ensure they can be activated
+   in a Karaf container.
+
+The ``features.xml`` processing allows versions to be ommitted from
+certain feature dependencies, and replaced with “\ ``{{version}}``\ ”.
+For example:
+
+::
+
+    <features name="odl-mdsal-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
+
+        <repository>mvn:org.opendaylight.odlparent/features-odlparent/{{VERSION}}/xml/features</repository>
+
+        [...]
+        <feature name='odl-mdsal-broker-local' version='${project.version}' description="OpenDaylight :: MDSAL :: Broker">
+            <feature version='${yangtools.version}'>odl-yangtools-common</feature>
+            <feature version='${mdsal.version}'>odl-mdsal-binding-dom-adapter</feature>
+            <feature version='${mdsal.model.version}'>odl-mdsal-models</feature>
+            <feature version='${project.version}'>odl-mdsal-common</feature>
+            <feature version='${config.version}'>odl-config-startup</feature>
+            <feature version='${config.version}'>odl-config-netty</feature>
+            <feature version='[3.3.0,4.0.0)'>odl-lmax</feature>
+            [...]
+            <bundle>mvn:org.opendaylight.controller/sal-dom-broker-config/{{VERSION}}</bundle>
+            <bundle start-level="40">mvn:org.opendaylight.controller/blueprint/{{VERSION}}</bundle>
+            <configfile finalname="${config.configfile.directory}/${config.mdsal.configfile}">mvn:org.opendaylight.controller/md-sal-config/{{VERSION}}/xml/config</configfile>
+        </feature>
+
+As illustrated, versions can be ommitted in this way for repository
+dependencies, bundle dependencies and configuration files. They must be
+specified traditionally (either hard-coded, or using Maven properties)
+for feature dependencies.
+
+karaf-parent
+~~~~~~~~~~~~
+
+This allows building a Karaf 3 distribution, typically for local testing
+purposes. Any runtime-scoped feature dependencies will be included in the
+distribution, and the ``karaf.localFeature`` property can be used to
+specify the boot feature (in addition to ``standard``).
+
+single-feature-parent
+~~~~~~~~~~~~~~~~~~~~~
+
+This inherits from ``odlparent`` and enables functionality useful for
+Karaf 4 features:
+
+-  ``karaf-maven-plugin`` is activated, to build Karaf features, typically
+   with “feature” packaging (“kar” is also supported);
+
+-  ``feature.xml`` files are generated based on the compile-scope dependencies
+   defined in the POM, optionally initialised from a stub in
+   ``src/main/feature/feature.xml``.
+
+-  Karaf features are tested after build to ensure they can be activated
+   in a Karaf container.
+
+The ``feature.xml`` processing adds transitive dependencies by default, which
+allows features to be defined using only the most significant dependencies
+(those that define the feature); other requirements are determined
+automatically as long as they exist as Maven dependencies.
+
+“configfiles” need to be defined both as Maven dependencies (with the
+appropriate type and classifier) and as ``<configfile>`` elements in the
+``feature.xml`` stub.
+
+Other features which a feature depends on need to be defined as Maven
+dependencies with type “xml” and classifier “features” (note the plural here).
+
+feature-repo-parent
+~~~~~~~~~~~~~~~~~~~
+
+This inherits from ``odlparent`` and enables functionality useful for
+Karaf 4 feature repositories. It follows the same principles as
+``single-feature-parent``, but is designed specifically for repositories
+and should be used only for this type of artifacts.
+
+It builds a feature repository referencing all the (feature) dependencies
+listed in the POM.
+
+karaf4-parent
+~~~~~~~~~~~~~
+
+This allows building a Karaf 4 distribution, typically for local testing
+purposes. Any runtime-scoped feature dependencies will be included in the
+distribution, and the ``karaf.localFeature`` property can be used to
+specify the boot feature (in addition to ``standard``).
+
+Features (for Karaf 3)
+----------------------
+
+The ODL Parent component for OpenDaylight provides a number of Karaf 3
+features which can be used by other Karaf 3 features to use certain
+third-party upstream dependencies.
+
+These features are:
+
+-  Akka features (in the ``features-akka`` repository):
+
+   -  ``odl-akka-all`` — all Akka bundles;
+
+   -  ``odl-akka-scala-2.11`` — Scala runtime for OpenDaylight;
+
+   -  ``odl-akka-system-2.4`` — Akka actor framework bundles;
+
+   -  ``odl-akka-clustering-2.4`` — Akka clustering bundles and
+      dependencies;
+
+   -  ``odl-akka-leveldb-0.7`` — LevelDB;
+
+   -  ``odl-akka-persistence-2.4`` — Akka persistence;
+
+-  general third-party features (in the ``features-odlparent``
+   repository):
+
+   -  ``odl-netty-4`` — all Netty bundles;
+
+   -  ``odl-guava-18`` — Guava 18;
+
+   -  ``odl-guava-21`` — Guava 21 (not indended for use in Carbon);
+
+   -  ``odl-lmax-3`` — LMAX Disruptor;
+
+   -  ``odl-triemap-0.2`` — Concurrent Trie HashMap.
+
+To use these, you need to declare a dependency on the appropriate
+repository in your ``features.xml`` file:
+
+::
+
+    <repository>mvn:org.opendaylight.odlparent/features-odlparent/{{VERSION}}/xml/features</repository>
+
+and then include the feature, *e.g.*:
+
+::
+
+    <feature name='odl-mdsal-broker-local' version='${project.version}' description="OpenDaylight :: MDSAL :: Broker">
+        [...]
+        <feature version='[3.3.0,4.0.0)'>odl-lmax</feature>
+        [...]
+    </feature>
+
+You also need to depend on the features repository in your POM:
+
+::
+
+    <dependency>
+        <groupId>org.opendaylight.odlparent</groupId>
+        <artifactId>features-odlparent</artifactId>
+        <classifier>features</classifier>
+        <type>xml</type>
+    </dependency>
+
+assuming the appropriate dependency management:
+
+::
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.opendaylight.odlparent</groupId>
+                <artifactId>odlparent-artifacts</artifactId>
+                <version>1.8.0-SNAPSHOT</version>
+                <scope>import</scope>
+                <type>pom</type>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+(the version number there is appropriate for Carbon). For the time being
+you also need to depend separately on the individual JARs as
+compile-time dependencies to build your dependent code; the relevant
+dependencies are managed in ``odlparent``'s dependency management.
+
+| The suggested version ranges are as follows:
+
+-  ``odl-netty``: ``[4.0.37,4.1.0)`` or ``[4.0.37,5.0.0)``;
+
+-  ``odl-guava``: ``[18,19)`` (if your code is ready for it, ``[19,20)``
+   is also available, but the current default version of Guava in
+   OpenDaylight is 18);
+
+-  ``odl-lmax``: ``[3.3.4,4.0.0)``
+
+Features (for Karaf 4)
+----------------------
+
+There are equivalent features to all the Karaf 3 features, for Karaf 4.
+The repositories use “features4” instead of “features”, and the features
+use “odl4” instead of “odl”.
+
+The following new features are specific to Karaf 4:
+
+-  Karaf wrapper features (also in the ``features4-odlparent``
+   repository) — these can be used to pull in a Karaf feature
+   using a Maven dependency in a POM:
+
+   -  ``odl-karaf-feat-feature`` — the Karaf ``feature`` feature;
+
+   -  ``odl-karaf-feat-jdbc`` — the Karaf ``jdbc`` feature;
+
+   -  ``odl-karaf-feat-jetty`` — the Karaf ``jetty`` feature;
+
+   -  ``odl-karaf-feat-war`` — the Karaf ``war`` feature.
+
+To use these, all you need to do now is add the appropriate dependency
+in your feature POM; for example:
+
+::
+
+    <dependency>
+        <groupId>org.opendaylight.odlparent</groupId>
+        <artifactId>odl4-guava-18</artifactId>
+        <classifier>features</classifier>
+        <type>xml</type>
+    </dependency>
+
+assuming the appropriate dependency management:
+
+::
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.opendaylight.odlparent</groupId>
+                <artifactId>odlparent-artifacts</artifactId>
+                <version>1.8.0-SNAPSHOT</version>
+                <scope>import</scope>
+                <type>pom</type>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+(the version number there is appropriate for Carbon). We no longer use version
+ranges, the feature dependencies all use the ``odlparent`` version (but you
+should rely on the artifacts POM).
diff --git a/docs/favicon.ico b/docs/favicon.ico
new file mode 100644 (file)
index 0000000..c9b3888
Binary files /dev/null and b/docs/favicon.ico differ
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644 (file)
index 0000000..1ae2109
--- /dev/null
@@ -0,0 +1,13 @@
+.. ODL Parent documentation master file
+
+ODL Parent Documentation
+========================
+This documentation provides information needed to help you write
+code using the ODL Parent project.
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Contents:
+
+   NEWS
+   developer-guide
diff --git a/docs/requirements.txt b/docs/requirements.txt
new file mode 100644 (file)
index 0000000..74a3b7a
--- /dev/null
@@ -0,0 +1 @@
+lfdocs-conf
diff --git a/index.rst b/index.rst
deleted file mode 100644 (file)
index 042a74a..0000000
--- a/index.rst
+++ /dev/null
@@ -1,20 +0,0 @@
-.. ODL Parent documentation master file, created by
-   sphinx-quickstart on Fri Nov 10 10:14:30 2017.
-   You can adapt this file completely to your liking, but it should at least
-   contain the root `toctree` directive.
-
-Welcome to ODL Parent's documentation!
-======================================
-
-.. toctree::
-   :maxdepth: 2
-   :caption: Contents:
-
-
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
diff --git a/make.bat b/make.bat
deleted file mode 100644 (file)
index 9e9f02a..0000000
--- a/make.bat
+++ /dev/null
@@ -1,36 +0,0 @@
-@ECHO OFF\r
-\r
-pushd %~dp0\r
-\r
-REM Command file for Sphinx documentation\r
-\r
-if "%SPHINXBUILD%" == "" (\r
-       set SPHINXBUILD=sphinx-build\r
-)\r
-set SOURCEDIR=.\r
-set BUILDDIR=_build\r
-set SPHINXPROJ=ODLParent\r
-\r
-if "%1" == "" goto help\r
-\r
-%SPHINXBUILD% >NUL 2>NUL\r
-if errorlevel 9009 (\r
-       echo.\r
-       echo.The 'sphinx-build' command was not found. Make sure you have Sphinx\r
-       echo.installed, then set the SPHINXBUILD environment variable to point\r
-       echo.to the full path of the 'sphinx-build' executable. Alternatively you\r
-       echo.may add the Sphinx directory to PATH.\r
-       echo.\r
-       echo.If you don't have Sphinx installed, grab it from\r
-       echo.http://sphinx-doc.org/\r
-       exit /b 1\r
-)\r
-\r
-%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%\r
-goto end\r
-\r
-:help\r
-%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%\r
-\r
-:end\r
-popd\r
diff --git a/tox.ini b/tox.ini
index 68090af7fcde3ce54d9bda16408e9f65d8a4bc5b..e46bdea914c5d5add9250993c56baea90105f954 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -1,7 +1,6 @@
 [tox]
 minversion = 1.6
-envlist =
-    coala
+envlist = coala,docs
 skipsdist = true
 
 [testenv:coala]
@@ -15,3 +14,8 @@ deps =
 commands =
     python3 -m nltk.downloader punkt maxent_treebank_pos_tagger averaged_perceptron_tagger
     coala --non-interactive
+
+[testenv:docs]
+deps = -rdocs/requirements.txt
+commands =
+    sphinx-build -W -n -b html -d {envtmpdir}/doctrees ./docs/ {envtmpdir}/html