ODL Parent 3.0.0 release notes 11/65411/3
authorStephen Kitt <skitt@redhat.com>
Fri, 10 Nov 2017 10:41:51 +0000 (11:41 +0100)
committerStephen Kitt <skitt@redhat.com>
Wed, 15 Nov 2017 18:59:38 +0000 (18:59 +0000)
... and supporting Sphinx framework.

Change-Id: Ifa6a8ec9f159aa855868509de588d30f671d2680
Signed-off-by: Stephen Kitt <skitt@redhat.com>
.gitignore
Makefile [new file with mode: 0644]
NEWS.rst [new file with mode: 0644]
conf.py [new file with mode: 0644]
index.rst [new file with mode: 0644]
make.bat [new file with mode: 0644]

index d0ca0aec765a7c9a932234ef68c0ba0ee309a3dd..138ebd03b80fcf4ad9316b7092dcb82d4ee88794 100644 (file)
@@ -81,3 +81,6 @@ target-ide/
 
 # ./tox.ini Python packages used e.g. by http://coala.io
 .tox/
+
+# Sphinx build directory
+_build
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..e005319
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,20 @@
+# 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/NEWS.rst b/NEWS.rst
new file mode 100644 (file)
index 0000000..0cf096c
--- /dev/null
+++ b/NEWS.rst
@@ -0,0 +1,289 @@
+========================
+ODL Parent release notes
+========================
+
+Version 3.0.0
+-------------
+
+Compiler settings
+~~~~~~~~~~~~~~~~~
+
+Build now show compiler warnings and deprecation warnings. This doesn't affect
+the result or require any changes currently, it just makes the issues more
+visible.
+
+New Checkstyle rules
+~~~~~~~~~~~~~~~~~~~~
+
+Checkstyle has been upgraded from 7.6 to 8.4 (see the
+`Checkstyle release notes`_ for details), and Sevntu from 1.21.0 to 1.24.2
+(note that the latter's group identifier changed from
+``com.github.sevntu.checkstyle`` to ``com.github.sevntu-checkstyle``; you
+might need to update your IDE's configuration).
+
+The following Checkstyle rules are enabled; this might require changes in
+projects which enforce Checkstyle validation:
+
+* `AvoidHidingCauseExceptionCheck`_
+* `FinalClass`_: utility classes must be declared ``final``
+* `HiddenField`_: fields must not be shadowed
+* `HideUtilityClassConstructor`_: utility classes must hide their constructor
+
+.. _Checkstyle release notes: http://checkstyle.sourceforge.net/releasenotes.html
+
+.. _AvoidHidingCauseExceptionCheck: http://sevntu-checkstyle.github.io/sevntu.checkstyle/apidocs/com/github/sevntu/checkstyle/checks/coding/AvoidHidingCauseExceptionCheck.html
+.. _FinalClass: http://checkstyle.sourceforge.net/config_design.html#FinalClass
+.. _HiddenField: http://checkstyle.sourceforge.net/config_coding.html#HiddenField
+.. _HideUtilityClassConstructor: http://checkstyle.sourceforge.net/config_design.html#HideUtilityClassConstructor
+
+Karaf
+~~~~~
+
+Karaf has been upgraded to 4.1.3. This should be transparent for dependent
+projects.
+
+Karaf distributions
+~~~~~~~~~~~~~~~~~~~
+
+* When building a Karaf distribution using ``karaf4-parent``, projects can
+  specify which archives to build: the ``karaf.archiveZip`` property will
+  enable ZIP files if true, and ``karaf.archiveTarGz`` will enable
+  gzip-compressed tarballs if true. By default both are enabled.
+
+* Our Karaf distribution provides Bouncy Castle at startup. Auto-generated
+  feature descriptors take this into account (they won't embed a Bouncy
+  Castle dependency).
+
+Feature removals
+~~~~~~~~~~~~~~~~
+
+* The ``odl-triemap-0.2`` feature wrapping
+  ``com.github.romix:java-concurrent-hash-trie-map`` was rendered obsolete by
+  YANG Tools' implementation and has been removed.
+
+Feature additions
+~~~~~~~~~~~~~~~~~
+
+* ``odl-javassist-3`` provides Javassist in a feature.
+
+* ``odl-jung-2.1`` provides `JUNG`_ in a feature.
+
+.. _JUNG: http://jung.sourceforge.net/
+
+Upstream version upgrades
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following upstream dependencies have been upgraded:
+
+* Akka 2.4.18 → 2.5.4; release notes:
+
+  * `Akka 2.5.0`_
+  * `Akka 2.5.1`_
+  * `Akka 2.5.2`_
+  * `Akka 2.5.3`_
+  * `Akka 2.5.4`_
+
+* `Awaitility 2 → 3`_
+
+* `Bouncy Castle 1.57 → 1.58`_
+
+* `Commons Codec 1.10 → 1.11`_
+
+* `Commons File Upload 1.3.2 → 1.3.3`_
+
+* `Commons IO 2.5 → 2.6`_
+
+* Eclipse JDT annotations 2.0.0 → 2.1.0
+
+* Felix Dependency Manager 4.3.0 → 4.4.1
+* Felix Dependency Manager Shell 4.0.4 → 4.0.6
+* Felix Metatype 1.1.2 → 1.1.6
+
+* `Google Truth 0.28 → 0.36`_ (with the Java 8 extensions)
+
+* `Gson 2.7 → 2.8.2`_
+
+* Guava 22 → 23.3 along with the associated feature name change from
+  ``odl-guava-22`` to ``odl-guava-23`` (dependent packages *must* change their
+  dependency); release notes:
+
+  * `Guava 23`_
+  * `Guava 23.1`_
+  * `Guava 23.2`_
+  * `Guava 23.3`_
+
+* Immutables 2.4.2 → 2.5.6
+
+* Jackson 2.3.2 → 2.8.9
+
+* Jacoco 0.7.7 → 0.7.9; release notes:
+
+  * `Jacoco 0.7.8`_
+  * `Jacoco 0.7.9`_
+
+* Jacoco Listeners 2.4 → 3.8
+
+* `Javassist 3.20.0 → 3.21.0`_
+
+* `Jettison 1.3.7 → 1.3.8`_
+
+* `Jolokia 1.3.6 → 1.3.7`_
+
+* `JSONassert 1.3.0 → 1.5.0`_
+
+* `logback 1.2.2 → 1.2.3`_
+
+* `LMAX Disruptor 3.3.6 → 3.3.7`_
+
+* Netty 4.1.8 → 4.1.16; release notes:
+
+  * `Netty 4.1.9`_
+  * `Netty 4.1.10`_
+  * `Netty 4.1.11`_
+  * `Netty 4.1.12`_
+  * `Netty 4.1.13`_
+  * `Netty 4.1.14`_
+  * `Netty 4.1.15`_
+  * `Netty 4.1.16`_
+
+* `Pax URL 2.5.2 → 2.5.3`_
+
+* Scala 2.11.11 → 2.12.4; release notes:
+
+  * `Scala 2.12.0`_
+  * `Scala 2.12.1`_
+  * `Scala 2.12.2`_
+  * `Scala 2.12.3`_
+  * `Scala 2.12.4`_
+
+* Servlet API 3.0.1 → 3.1.0
+
+* `SLF4J 1.7.21 → 1.7.25`_
+
+* `webcohesion enunciate 2.6.0 → 2.10.1`_
+
+* `Xtend 2.12 → 2.13`_
+
+.. _Akka 2.5.0: http://akka.io/blog/news/2017/04/13/akka-2.5.0-released
+.. _Akka 2.5.1: http://akka.io/blog/news/2017/05/02/akka-2.5.1-released
+.. _Akka 2.5.2: http://akka.io/blog/news/2017/05/24/akka-2.5.2-released
+.. _Akka 2.5.3: http://akka.io/blog/news/2017/06/19/akka-2.5.3-released
+.. _Akka 2.5.4: http://akka.io/blog/news/2017/08/10/akka-2.5.4-released
+
+.. _Awaitility 2 → 3: https://github.com/awaitility/awaitility/wiki/ReleaseNotes30
+
+.. _Bouncy Castle 1.57 → 1.58: https://www.bouncycastle.org/releasenotes.html
+
+.. _Commons Codec 1.10 → 1.11: http://www.apache.org/dist/commons/codec/RELEASE-NOTES.txt
+
+.. _Commons File Upload 1.3.2 → 1.3.3: http://www.apache.org/dist/commons/fileupload/RELEASE-NOTES.txt
+
+.. _Commons IO 2.5 → 2.6: http://www.apache.org/dist/commons/io/RELEASE-NOTES.txt
+
+.. _Google Truth 0.28 → 0.36: https://github.com/google/truth/releases
+
+.. _Gson 2.7 → 2.8.2: https://github.com/google/gson/blob/master/CHANGELOG.md
+
+.. _Guava 23: https://github.com/google/guava/wiki/Release23
+.. _Guava 23.1: https://github.com/google/guava/releases/tag/v23.1
+.. _Guava 23.2: https://github.com/google/guava/releases/tag/v23.2
+.. _Guava 23.3: https://github.com/google/guava/releases/tag/v23.3
+
+.. _Jacoco 0.7.8: https://github.com/jacoco/jacoco/releases/tag/v0.7.8
+.. _Jacoco 0.7.9: https://github.com/jacoco/jacoco/releases/tag/v0.7.9
+
+.. _Javassist 3.20.0 → 3.21.0: https://github.com/jboss-javassist/javassist/compare/rel_3_20_0_ga...rel_3_21_0_ga
+
+.. _Jettison 1.3.7 → 1.3.8: https://github.com/jettison-json/jettison/compare/jettison-1.3.7...jettison-1.3.8
+
+.. _Jolokia 1.3.6 → 1.3.7: https://github.com/rhuss/jolokia/releases/tag/v1.3.7
+
+.. _JSONassert 1.3.0 → 1.5.0: https://github.com/skyscreamer/JSONassert/releases
+
+.. _logback 1.2.2 → 1.2.3: https://logback.qos.ch/news.html
+
+.. _LMAX Disruptor 3.3.6 → 3.3.7: https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.7
+
+.. _Netty 4.1.9: http://netty.io/news/2017/03/10/4-0-45-Final-4-1-9-Final.html
+.. _Netty 4.1.10: http://netty.io/news/2017/04/30/4-0-46-Final-4-1-10-Final.html
+.. _Netty 4.1.11: http://netty.io/news/2017/05/12/4-0-47-Final-4-1-11-Final.html
+.. _Netty 4.1.12: http://netty.io/news/2017/06/09/4-0-48-Final-4-1-12-Final.html
+.. _Netty 4.1.13: http://netty.io/news/2017/07/06/4-0-49-Final-4-1-13-Final.html
+.. _Netty 4.1.14: http://netty.io/news/2017/08/03/4-0-50-Final-4-1-14-Final.html
+.. _Netty 4.1.15: http://netty.io/news/2017/08/25/4-0-51-Final-4-1-15-Final.html
+.. _Netty 4.1.16: http://netty.io/news/2017/09/25/4-0-52-Final-4-1-16-Final.html
+
+.. _Pax URL 2.5.2 → 2.5.3: https://ops4j1.jira.com/browse/PAXURL-345?jql=project%20%3D%20PAXURL%20AND%20fixVersion%20%3D%202.5.3
+
+.. _Scala 2.12.0: https://github.com/scala/scala/releases/tag/v2.12.0
+.. _Scala 2.12.1: https://github.com/scala/scala/releases/tag/v2.12.1
+.. _Scala 2.12.2: https://github.com/scala/scala/releases/tag/v2.12.2
+.. _Scala 2.12.3: https://github.com/scala/scala/releases/tag/v2.12.3
+.. _Scala 2.12.4: https://github.com/scala/scala/releases/tag/v2.12.4
+
+.. _SLF4J 1.7.21 → 1.7.25: https://www.slf4j.org/news.html
+
+.. _webcohesion enunciate 2.6.0 → 2.10.1: https://github.com/stoicflame/enunciate/releases
+
+.. _Xtend 2.12 → 2.13: https://www.eclipse.org/xtend/releasenotes.html
+
+Upstream version additions
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following upstream dependencies have been added to dependency management:
+
+* Commons Text, ``org.apache.commons:commons-text`` (this will allow downstreams
+  to migrate from ``commons-lang3``\’s ``WordUtils``, which is deprecated)
+
+Upstream version removals
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following upstream dependencies have been removed from dependency
+management (they are obsolete and unused):
+
+* Chameleon MBeans
+* Eclipse Link
+* Equinox HTTP service bridge
+* ``equinoxSDK381`` artifacts
+* Coda Hale Metrics, which are mostly unused and should eventually be wrapped
+  by InfraUtils
+* ``com.google.code.findbugs:jsr305`` (which *must not* be used; this is
+  enforced — ``annotations`` should be used instead)
+* Felix File Install and Web Console
+* Gemini Web
+* Orbit
+* ``org.mockito:mockito-all`` (which *must not* be used; this is enforced —
+  ``mockito-core`` should be used instead)
+* Spring Framework
+* ``txw2``
+* Xerces
+* ``xml-apis``
+
+Plugin version upgrades
+~~~~~~~~~~~~~~~~~~~~~~~
+
+The following plugins have been upgraded:
+
+* ``org.apache.servicemix.tooling:depends-maven-plugin`` 1.3.1 → 1.4.0
+* ``org.apache.felix:maven-bundle-plugin`` 2.4.0 → 3.3.0
+* ``maven-compiler-plugin`` 3.6.1 → 3.7.0
+* ``maven-dependency-plugin`` 3.0.1 → 3.0.2
+* ``maven-enforcer-plugin`` 1.4.1 → 3.0.0-M1
+* ``maven-failsafe-plugin`` 2.18.1 → 2.20.1
+* ``maven-javadoc-plugin`` 2.10.4 → 3.0.0-M1
+* ``maven-shade-plugin`` 2.4.3 → 3.1.0
+
+New plugins
+~~~~~~~~~~~
+
+* The `Maven Find Duplicates`_ plugin can be enabled by setting the
+  ``duplicate-finder.skip`` property to ``false``.
+
+* The SpotBugs_ Maven plugin can now be used instead of the FindBugs plugin
+  (both are available, so no change is required). To use SpotBugs, replace
+  ``org.codehaus.mojo:findbugs-maven-plugin`` with
+  ``com.github.spotbugs:spotbugs-maven-plugin``.
+
+.. _Maven Find Duplicates: https://github.com/basepom/duplicate-finder-maven-plugin/
+
+.. _SpotBugs: https://spotbugs.github.io/
diff --git a/conf.py b/conf.py
new file mode 100644 (file)
index 0000000..0dbc03d
--- /dev/null
+++ b/conf.py
@@ -0,0 +1,157 @@
+#!/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'),
+]
+
+
+
diff --git a/index.rst b/index.rst
new file mode 100644 (file)
index 0000000..042a74a
--- /dev/null
+++ b/index.rst
@@ -0,0 +1,20 @@
+.. 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
new file mode 100644 (file)
index 0000000..9e9f02a
--- /dev/null
+++ b/make.bat
@@ -0,0 +1,36 @@
+@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