Developer docs

Tim Penhey tim.penhey at canonical.com
Wed May 7 04:07:38 UTC 2014


Here are some notes from the discussion we had last week.

A key part was to make sure that the developer documentation was
available outside the actual source tree.  We thought something like:

   https://juju.ubuntu.com/dev/ - Developer Documentation

The actual files are in the source tree in the doc directory, and we
have a process (read script magic) that takes the markdown formatted
local files and creates pretty HTML for the website.  This should happen
automagically every time we have a stable release.

There was a list of topics that we need to make sure are covered:

  * Architecture overview
  * API overview
  * Writing new API calls
  * What is in state (our persistent store - horrible name, I know)
  * How the mgo transactions work
  * How to write tests
     * base suites
     * environment isolation
     * patch variables and environment
     * using gocheck (filter and verbose)
     * table based tests vs. simple tests
     * test should be small and obviously correct
  * Developer environment setup
  * How to run the tests
     * juju test <filter> --no-log (plugin)


And a side note:
  https://juju.ubuntu.com/install/ should say install juju-local

Now we need people to put their hands up and write the docs.  Since I'm
first, I get to choose first (bwahaha), and I choose the "how to write
tests".

I'm also pretty keen on the 'juju-test' plugin.  Partly because I don't
like typing the command line args all the time for verbose logs and
filter stuff, so would like it easier.

I think a side part of the juju-test plugin is that it is conceivable
that the plugin could output subunit output (optionally) for hooking
into other test tools.

I have a feeling that there will be some files in the doc directory that
we don't want up on the website (maybe), so I envision that someone will
end up writing the script that manages the structure and conversion of
the raw files.

Comments or claims?

Tim



More information about the Juju-dev mailing list