Commit graph

101 commits

Author SHA1 Message Date
Marti Bolivar 55b462cdfa scripts: update west to latest upstream version.
Update to the latest west. This includes a new 'attach' command. There
are also multi-repo commands, but those won't get exposed to the user
unless they install Zephyr using "west init" + "west fetch" (and not,
say, "git clone").

Replace the launchers; they now detect whether zephyr is part of a
multi-repo installation, and run the west code in its own repository
if that is the case.

This also requires an update to:

- the flash/debug CMakeLists.txt, as the new west package is no longer
  executable as a module and must have its main script run by the
  interpreter instead.

- the documentation, to reflect a rename and with a hack to fix
  the automodule directive in flash-debug.rst for now

Signed-off-by: Marti Bolivar <marti@foundries.io>
2018-09-25 17:51:22 +02:00
David B. Kinder 531f8ed93d doc: update copyright contents and display
Tweak copyright year (2018) and display copyright unconditionally.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-09-10 17:45:55 -04:00
David B. Kinder 23d4c5d6d0 doc: changes for 1.13 documentaiton release
Doc changes listed in the release checklist (#8320)

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-09-10 13:46:14 -04:00
Daniel Leung 9945e7fda0 doc: add ability to generate PDF
This adds new targets to generate build documentation through
LaTEX to PDF.

There are a few notes:

1. pdflatex complains about the tex file generated by doxygen
   so it needs to be fixed with a Python script before feeding
   in through pdflatex.

2. SVG files are not recognized by pdflatex so they are converted
   to known good format on the fly, only for producing PDF. This
   uses the libRSVG's rsvg-convert tool.

Relates to #6782.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2018-08-29 18:16:56 -04:00
David B. Kinder 5c8398da05 doc: switch to use RTD theme
This PR removes use of the customized zephyr_docs_theme, replacing it
with the new read_the_docs theme.  It ignores the tags that were
previously used to switch the theme for "development" vs. "daily" or
"release" and always uses the RTD theme.  (The "daily" vs. "release" is
still honored to change the breadcrumb and doc version to "latest" if
"daily" is specified (as we did for the current doc build process),
otherwise it uses the version extracted from the
VERSION file in the source code (as would be appropriate for the docs
for a tagged release.)

This also pulls in using template extensions for breadcrumb and the
notice about latest having more up-to-date content when the "release"
tag is set.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-08-08 17:48:27 +02:00
David B. Kinder f3f266ea9d doc: more RTD theme tweaks
Change logo and increase logo size, remove RTD links to github source,
add CSS for :kbd: role (keyboard key press), change logo link to project
home rather than doc home (via zephyr-custom.js). Update 404 error page
for wider page layout, force page break before footer, show URL that got
you to the 404 page.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-07-31 20:19:19 -04:00
David B. Kinder d47bd0b5c3 doc: prepare for read_the_docs theme change
Add infrastructure for switching production documentation to use the
cleaner read_the_docs theme as noted in issue #6774.  This change won't
affect the current "daily" or "release" builds but will change local
builds that previously also used the RTD theme, but now have the version
selection capability added.

This PR also adds the Zephyr logo and favicon to the RTD-themed docs,
and moves the top level images into an images/ folder.

Note that issue #9128 requires workaround.rst to force a reference to
files needed for the build but not directly referened in a .rst file.
(When #9128 is fixed, we can remove this workaround.rst.)

Once merged and tested, we'll tweak the conf.py to use the RTD theme
for all doc builds (e.g, when DOC_TAG=daily or release) in a subsequent
PR.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-07-26 18:13:05 -04:00
Carles Cufi e182dbc22e doc: cmake: Enable out-of-tree builds
The following changes have been made to support out-of-tree builds:

* In order to avoid using relative hardcoded paths, use CMake's
  configure_file() to replace the paths in the doxygen input file
  so that the output directory is set correctly.
* All .rst and additional required files are now copied from the doc/
  folder into the build/rst folder using extract_content.py. The
  samples/ and boards/ folder are copied twice (once into build/rst
  and another into build/doc/rst) to manage relative paths.
* All paths are absolute where possible, including themes and static
  content.

This patch ensures that the Zephyr repo is not contaminated by the
build at all.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-07-19 08:44:41 -04:00
Marti Bolivar f8251693bb conf.py: clean up exit if ZEPHYR_BASE is unset
Suggested by Ulf Magnusson.

Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
2018-06-08 16:06:16 -05:00
Marti Bolivar 3a766aedf0 doc: conf.py: add sphinx.ext.autodoc extension
This will allow us to pull in Python API documentation from source
files.

Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
2018-06-08 16:06:16 -05:00
Marti Bolivar 1c852ddf5c doc: conf.py: make sure west is importable from Python
We need this to be able to pull in its API documentation.

This will need modifications when multi-repo support is available, in
order to get the imports from the independent West repo, but for now
just use the copy in Zephyr.

Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
2018-06-08 16:06:16 -05:00
Marti Bolivar e802d8de35 doc: conf.py: remove unused import
Make a pep8 linter happier.

Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
2018-06-08 16:06:16 -05:00
David B. Kinder 486c5a54e5 doc: add doc writing guides w/common usages
I've collected some of the common issues encountered with doc reviews
into a new contributing document, and included use of the
Zephyr-specific extension for generating code building examples.

Updated conf.py and created an external list of substitutions making it
easier to manage them without editing the sphinx conf file (and
documented this).

Tweaked the comments in the application.py extension python code to
render better in the generated doc that extracts these comments (keeps
the documentation in the python code too to ease maintenance when
updates are made).

Updated the sample template to mention use of this sphinx extension.

fixes: #6831
fixes: #6811

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-05-11 09:09:49 -07:00
Bobby Noelte a5a29e4efc doc: sphinx: Add Pygment lexer for DTS
Add pygment lexer for DTS code-block.

Fixes #6029

Origin: skiboot, https://github.com/qemu/skiboot
Status:  91350c5a926795d8917a4eff699941361f780476
Description: Syntax highlighting of Device Tree Source (dts)
Dependencies: None
URL: https://github.com/qemu/skiboot/blob/master/doc/DtsLexer.py
commit: 91350c5a926795d8917a4eff699941361f780476
Maintained-by: External
License: BSL-1.0
License Link:
    https://github.com/qemu/skiboot/blob/master/doc/DtsLexer.py

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
2018-03-23 08:16:49 -04:00
David B. Kinder 5229f87e8b doc: add version info on Latest docs
All Sphinx-generated pages for tagged release documentation include the
release version number in the breadcrumb header.  This patch adds this
to the "Latest" daily doc build results that are the default pages seen
when visiting docs.zephyrproject.org

Fixes: #6432
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-03-07 13:56:28 -05:00
David B. Kinder 05e00f6e7f doc: remove use of sphinx autodoc extension
Looks like newer versions of Sphinx have a problem with the autodoc
extension.  Since we're not usine Sphinx to process python source for
documentation, removing use of autodoc eliminates the problem.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-02-22 15:28:34 -05:00
Anas Nashif 7514178df4 doc: fix version parsing
Something stopped working after we move to 1.10, this seems to fix it.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-12-09 12:23:52 -05:00
Anas Nashif cb9390c791 doc: add full version to generated docs
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-11-19 23:16:03 -05:00
Anas Nashif b53d69747b doc: add a new template variable
Signify if the documentation is for a release or if it is the
development version from master.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-11-18 08:47:57 -05:00
Marti Bolivar 6092fb0f86 doc: add zephyr-app-commands directive
Add extensions/zephyr to the documentation. This is where Sphinx
extensions customized for Zephyr will live.

Within, add application.py. This provides a directive,
zephyr-app-commands, which generates commands in the docs to build,
flash, debug, etc. an application. For now, these are Unix shell
specific. Later on, they can be customized to generate additional
formats, perhaps with extra options.

After this is used throughout the tree, doing this with an extension
enables global changes with changes to the directive implementation
only.

Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
2017-11-08 20:00:22 -05:00
Anas Nashif a037c363bb doc: fixed version parsing for docs
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-11-08 20:00:22 -05:00
David B. Kinder de85fdedf9 doc: more attribute ids to eliminate warnings
Building off the success of PR #4119, add more attributes to the sphinx
processing list (as encountered in PR #4123) plus others from
include/toolchain/gcc.h that looked safe to add.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-09-29 16:10:38 -07:00
David B. Kinder 3d4f213a9c doc: add sphinx/breathe conf to eliminate warnings
The doxygen/sphinx/breathe processing for API documentation has some
known issues and we've been using a post-processing filter to eliminate
"expected" warnings.  Sphinx/Breathe 5.0 was updated to support
identifying attributes causing these warnings, so this PR adds a
starting list to get around warnings recently introduced with __syscall
and __syscall_inline (PR #4103).

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-09-29 12:17:28 -07:00
David B. Kinder 8875a98221 doc: fix sphinx 1.5 broken search box
Sphinx 1.5 introduced changes that broke the
sphinx-supplied search (as explained in
https://github.com/sphinx-doc/sphinx/pull/2454)

This patch, along with a patch in the docs-theme
https://github.com/zephyrproject-rtos/docs-theme/pull/10
repairs things.

Jira: INF-136

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-08-22 16:28:53 -04:00
David B. Kinder cbec29ab95 doc: change UTF-8 chars to sphinx inline replaces
Avoiding use of UTF-8 characters (trip up some tools)

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-06-16 07:35:11 -05:00
Anas Nashif 3ba693fe03 doc: do not put version in breadcrumbs for daily docs
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-05-19 16:38:21 -04:00
David B. Kinder 11baf5c0f1 doc: identify release version in generated docs
It's not obvious which kernel release version you're reading about in the
documentation.  Add the version info in the breadcrumb header (instead
of "Home / Docs / Subsystems /" show as
"Home / Docs / 1.8 / Subsystems /").

(Depends on docs-theme PR-9, but can be merged now with no ill-effect)

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-05-18 20:21:27 -04:00
David B. Kinder 7200513699 doc: define more unicode replacement chars
added some additional unicode character replacements for
those encountered (will fix those references after this PR)

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-05-09 20:16:11 -04:00
David B. Kinder 2a1adfccae doc: tweak Sphinx linkcheck options
Sphinx has a builder option that we can use to check links
(invoked with '$ make linkcheck' in the /doc folder)
Add some configuration tweaks to conf.py, and update the
Makefile to also use the nitpick (-n) option to Sphinx
if this linkcheck build option is selected (does much more
checking of internal references)

Change-Id: Ib413bc8d4195c72f1a8a4c345a5a722f88fad8b8
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-04-28 00:44:40 +00:00
David B. Kinder d17a053605 doc: add substitutions for special characters
Add substitution patterns for (r), (tm), and (c) special symbols
via |reg| |trade| and |copy|  (same names as html entities
e.g., &reg; )

Change-Id: I0d4932435107a0bb9eef7c319c9307883e00bcb5
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-04-07 22:31:47 +00:00
David B. Kinder 4031da8c92 doc: add permalinks to document headings
Permalinks make it much easier to create html links to specific sections
in a document (you over over the section heading and an icon appears that
you can click on to get a reference link directly to that section).

Change-Id: I905449158f834783b9df6c04bf5fa3e5f245b3fd
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-02-08 13:16:40 +00:00
Anas Nashif 1fdfc5dc2b doc: rename doxygen configuration file and build from doc/
Rename file to zephyr.doxyfile to allow integration in eclipse and make
it build locally in the doc/ directory without have to change to ../
first.

Change-Id: Ib2c4c26f385b050ea3d0e814ebfc3509f31e5e12
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-02-08 12:04:35 +00:00
David B. Kinder 6bd5dff367 doc: add CSS support for hlist directive
Lists that are long and narrow can be displayed better using the
hlist directive:

.. hlist::
   :columns: 3

   * item 1
   * item 2
   * item 3
   * item 4
   * item 5
   * item 6
   * item 7
   * item 8
   * item 9
   * item 10

Will display as:

   * item 1  * item 5  * item 8
   * item 2  * item 6  * item 9
   * item 3  * item 7  * item 10
   * item 4

and with this patch, the generated table will display full page width
instead of compact.

Change-Id: I238a22461c45b51911d2d3039c9e5eb0c4dbf23c
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-02-02 00:25:26 +00:00
Anas Nashif 2131d1785c doc: update copyright for documentation
Jira: ZEP-1493

Change-Id: I31aacf94fc2a69a3b99711e3f70889dab4d876aa
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-01-31 21:35:29 +00:00
Anas Nashif 457ae38dd0 doc: support official website theme
Jira: ZEP-1512
Change-Id: I795b1cdec3eb6096c97e2b97013184914102dccf
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-01-05 12:26:49 +00:00
Anas Nashif b7b2318148 doc: add JIRA macro
In the documentation you can now reference issues in JIRA using the
following macro:

 :jira:`ZEP-308`

This will link to the JIRA in the macro.

Change-Id: I3785d4abd243f5c5b75e9e3b58a449e2a3225415
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-01-05 12:26:48 +00:00
Anas Nashif 9f52ee6354 doc: use ReadTheDocs.org theme if available
Instead of including the rtd theme in zephyr use an installed instance,
if nothing is installed, use the default zephyr theme.

Change-Id: Ife4bd878e3f879cf59ecf2bc5d186a531a3bf1b6
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-24 13:12:59 +00:00
Anas Nashif 762bd85807 doc: read version from Makefile
Change-Id: I6edb5ee53cdff1c687e97663c93ddaa3b09a9288
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-24 01:53:18 +00:00
Inaky Perez-Gonzalez 54a5d72d9c doc: Merge substitutions into conf.py:rst_epilog
This file is only used there, it is short and keeping it away
introduces problems (warnings about .rst not being in any TOC entry,
:orphan: dangling if added, etc).

Change-Id: Iea33f22721856884aae9fc1dce46a2b90896286a
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
2016-06-15 01:44:52 +00:00
Javier B Perez 3186d30ea6 doc: sphinx conf: use env var in sphinx doc version
Changed conf.py to use env var in the version of documentation.
CI can take advantage of this to name documentation using
tag version from git.

Change-Id: If59f800ccd37648a9c0dab6c948b13166a7f4aed
Signed-off-by: Javier B Perez <javier.b.perez.hernandez@intel.com>
2016-04-13 23:42:18 +00:00
Yannis Damigos ab1c6a1c81 doc: Fixed two warnings in html format documentation generation
The patch modifies the file doc/conf.py to fix the warnings:

1) the config value 'html_add_permalinks' has type `bool',
	defaults to `str.'
2) html_static_path entry '/media/projects/zephyr/doc/_static'
	does not exist

Change-Id: I01e74b5db85311c514ef437e75b8f378ce80125f
Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2016-03-02 12:33:44 +00:00
Anas Nashif 5401ded10b Zephyr 0.6.0
Bump release in makefile and documentation.

Change-Id: I395e3a1caa304f00be5343160b2a62829a66ad46
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:37 -05:00
Rodrigo Caballero 8d7b52f146 doc: Change conf.py and index.rst to fix the copyright and license.
Removes permalinks and sets the correct version and release. The change places
the copyright notice and license in the footer of every page.
Both copyright and license do not appear in the website's version.

Change-Id: Idb5171b24af004fc2f7aff42aab43469f26305b4
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:34 -05:00
Anas Nashif 5d563192c7 doc: set copyright on every page
Move license to bottom of first page.

Change-Id: Ib7ee2fc0485d4f386fcf3f2d6d209f4da4ffaf77
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:23 -05:00
Carol Lee 1aa7733298 Changes conf.py and fine tunes doxygen.config for index & auto-generated files.
Improves previous patch that enabled doxygen GUI for Reference.
Navigate to forto-collab/docs/ html/index.html to view. Not
linked to main docs in this patch. Index changes to show a
collapsed view as default.

Change-Id: I4d0c23699f645c5c20ca3ad50c988a5729afa24f
Signed-off-by: Carol Lee <carol.lee@windriver.com>
2016-02-05 20:15:21 -05:00
Anas Nashif 128675085c doc: add custom zephyr theme
Add a new theme inherited from sphinxdocs to allow zephyr
specific customisations and improvements.

Initially, it adds css style for guilabel and makes that
appear bold in html output.

Change-Id: I2c80b3be4d06ab73907d2f117ea84c847c0ddf7f
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:28 -05:00
Anas Nashif 75472567b4 Set version of documentation to 0.1
Change-Id: I667fd8a1afcede1b87e09c5f540ed7f40432db1f

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif 089a10b128 Rename documentation project
Also use substitutions globally.

Change-Id: Ieafec21820e73c4befe0979dbc1a43ecdf5178a9
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:16 -05:00
Anas Nashif 5d91c935fe doc: put a 'Last update on: timestamp' in footer
Change-Id: I8cf2e1dfe8836273991c278e2c7e68c7e7bad9fd
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Rodrigo Caballero c394b34406 CHANGE Doxygen configuration to limit it to the doc folder.
Configures Doxygen to generate its output inside the doc/xml folder. It
also configures Breathe to look for that output in that location.

Patset 2: Changed the project name to Tiny Mountain included aditional
files for Doxygen.

Change-Id: I8514dc7035b196fae365d2f02fe9f6ca54584af0
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:00 -05:00
Anas Nashif 06d380c2ba Add tools and Makefiles for Documentation
This will allow us to start adding content and structure.
To generate documentation you will need to install both
- sphinx
- breathe

go into the doc directory and run:

$ make doxy html

No content has been submitted here, only a few placeholders.

Change-Id: Ifc3617aee8f7d45fa4e4a494ff0a1ab71516af06
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:13:58 -05:00