Commit graph

303 commits

Author SHA1 Message Date
Paul Bonser
5626efba7e Optionally unarchive a file already on the remote machine 2013-12-02 19:51:10 -06:00
James Tanner
ad837709bd Addresses #5023 Fix import comments 2013-12-02 15:13:49 -05:00
James Tanner
6000d636b3 Fixes #5023 Convert all modules to use new snippet import pattern 2013-12-02 15:11:23 -05:00
Aleksey Ovcharenko
bcd7af3991 Fixed a typo. 2013-12-02 16:35:44 +02:00
Michael DeHaan
36effd237c There's a cleaner way to do this, commit to module formatter pending.
Revert "No longer need to reference 'version_added' in docs for these, as this was quite a while ago."

This reverts commit ff0a41d446.
2013-11-27 21:23:03 -05:00
Michael DeHaan
ff0a41d446 No longer need to reference 'version_added' in docs for these, as this was quite a while ago. 2013-11-27 21:19:32 -05:00
Josh Kuhn
b1a6bc6e7f Added note about .rsync-filter files, with example 2013-11-25 15:12:58 -05:00
Josh Kuhn
517e4af2cf Added -FF flag to rsync invocation in synchronize
The `-FF` option causes rsync to look for files in the source directory named `.rsync-filter` and uses them to filter directories underneath them. If no `.rsync-filter` files are found, the behavior is identical to the command run without the -FF option. This flag does not sync the .rsync-filter files themselves.

This change should be backwards compatible and not produce surprising behavior for users, since they are unlikely to create `.rsync-filter` files unintentionally.
2013-11-25 12:27:58 -05:00
greenbrian
d80eb4a7fd Update unarchive
Modified argument order provided to unzip command as the -o was being interpreted as a file.
2013-11-25 10:44:39 -06:00
Aleksey Ovcharenko
2814828bc9 Added existing_only options to skip creating new files on receiver 2013-11-22 23:59:57 +02:00
Michael Scherer
9731f388c1 Do not use construct not compatible with python 2.4, fix #5006 2013-11-22 16:06:41 +01:00
Joshua Lund
02adc1fdcf Fixed a typo in the 'unarchive' module documentation 2013-11-21 16:22:20 -07:00
James Tanner
e81c976636 Fix pep8 errors in unarchive module 2013-11-19 16:35:06 -05:00
Michael DeHaan
f7c3975f21 Add version_added to all modules missing version_added information, the docs formatter will now
raise errors when omitted, updated changelog with new modules.
2013-11-18 18:55:49 -05:00
Evan Kaufman
e88ab431f0 Added replace module
Heavily based on existing lineinfile module, but where it literally tests a regexp against
*each individual line* of a file, this replace module is more analogous to common uses of
a `sed` or `perl` match + replacement of all instances of a pattern anywhere in the file.

Was debating adding `all` boolean or `count` numeric options to control how many
replacements to make in the destfile (vs currently replacing all instances)

Noted use of MULTILINE mode in docs, per suggestion from @jarv
2013-11-16 13:23:50 -06:00
James Tanner
af0cdd464c Clean up erroneous lineinfile.orig file 2013-11-15 12:17:17 -05:00
James Tanner
575d7eb8be Set required = True for src in unarchive module. 2013-11-14 10:59:24 -05:00
jctanner
be67a6f815 Merge pull request #4625 from pileofrogs/devel
unarchive module & action plugin
2013-11-14 07:57:57 -08:00
James Tanner
d96f469520 Merge pull request #4525 from ko-zu/ansible
Add a regexp parameter to assemble module to match or exclude filenames.
2013-11-14 10:30:12 -05:00
James Tanner
33242cacf3 Merge pull request #4375 from pfalcon/ansible
copy: Implement recursive copying if src is a directory.
2013-11-13 15:52:40 -05:00
James Tanner
5a3032a950 Fixes #4884 Do not prematurely exit from file module if src not defined 2013-11-12 18:17:20 -05:00
James Tanner
e4c2517e89 Add default for remote_src to assemble dostrings to avoid confusion 2013-11-12 13:21:49 -05:00
jctanner
2cf335969f Merge pull request #4738 from bcoca/assemble_action_plugin
assemble can now use src from master/origin
2013-11-12 08:23:39 -08:00
James Tanner
36ca726258 Fixes #4522 Document that comments in ini files will be discarded with the ini module 2013-11-08 09:57:22 -05:00
James Tanner
934ec1c0b6 Addresses #4801 Update file module docs to indicate behavior for relative src paths 2013-11-07 17:02:34 -05:00
jctanner
bd9fb39634 Merge pull request #4801 from sspans/devel
Add support for relative symlinks
2013-11-07 13:57:18 -08:00
James Tanner
aaa44f9151 Add doc example for lineinfile without a regexp parameter 2013-11-06 18:51:31 -05:00
James Tanner
9ac91916c3 Merge pull request #4660 from kolbyjack/lineinfile_no_regexp 2013-11-06 18:43:10 -05:00
James Tanner
6694b28d51 Fix merge conflict 2013-11-06 18:38:01 -05:00
James Tanner
5c34ed0827 Addresses #4676 Add module notes about the behavior of sudo and the destination paths within the synchronize module. 2013-11-04 12:19:31 -05:00
James Tanner
9fb4be0e73 Update synchronize docstrings for rsync_timeout parameter 2013-11-04 10:57:08 -05:00
James Tanner
0adf095677 Add a timeout to the synchronize module to prevent infinite hangs while waiting on passwords for misconfigured users 2013-11-04 10:52:44 -05:00
sspans
904a129ac1 skip absolute path creation for old_src, not needed with the new relative links 2013-11-04 10:44:06 +01:00
sspans
684921c1c1 only require absolute paths for hardlinks 2013-11-04 10:37:36 +01:00
James Tanner
f4b59fe285 Fixes #4516 file module: check prev_state earlier and use that if state is not specified 2013-11-01 09:31:32 -04:00
Brian Coca
ac40d15120 now assemble module is also action plugin and can use local source for
files
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-10-30 21:40:42 -04:00
Daniel Koch
dcdce838cf Clean up temp file left behind by assemble module 2013-10-30 20:24:03 -04:00
Michael DeHaan
99d6726114 Revert "fix conversion from file to hardlink when force=yes"
This reverts commit 4d4518ed52.
2013-10-27 11:51:43 -04:00
Michael DeHaan
3778b39115 Merge pull request #4380 from joshkehn/lineinfile_validate
Added validate option to lineinfile
2013-10-27 08:46:47 -07:00
Michael DeHaan
41ed5635dc Merge pull request #4632 from simonsd/devel
refusing to convert between file and hard when force=yes
2013-10-27 08:32:34 -07:00
jctanner
43f48a2e02 Merge pull request #4167 from tima/rsync3
synchronization module take 3
2013-10-25 14:43:08 -07:00
Jon Kolb
ba7d05222a Fixes #3847: lineinfile without regex 2013-10-23 21:04:18 -04:00
Dave Simons
4d4518ed52 fix conversion from file to hardlink when force=yes
Signed-off-by: Dave Simons <dave@inuits.eu>
2013-10-22 10:46:45 +02:00
Dylan Martin
84152fec3f unarchive - mvd docs to top of file 2013-10-21 16:10:55 -05:00
Dylan Martin
da9e2e765c better docs 2013-10-21 15:30:22 -05:00
Dylan Martin
2c28e1daea unarchive module & action_plugin added 2013-10-21 15:22:42 -05:00
jctanner
c737f222d5 Merge pull request #4480 from joemaller/absent_path_fix
ignore src when file module state=absent
2013-10-16 17:29:21 -07:00
jctanner
51a1a54bfb Merge pull request #4428 from robparrott/devel
Properly handle DEFAULT section with ConfigParser in ini_file modules
2013-10-16 17:18:17 -07:00
Paul Sokolovsky
2e668f14f7 copy: Handle "no copy/propagate attrs only" for recursive mode well.
For this, add internal "original_basename" param to file module,
similar to copy module. (Param name is a bit misnormer now, should
be treated as "original basepath").
2013-10-15 18:40:40 +03:00
Paul Sokolovsky
b3b4f9885f copy: Implement recursive copying if src is a directory.
If src param to copy is a directory, all files under it are collected
and pushed one by one to target. Source dir path handled in a way
simalar to rsync: if it ends with slash, only inside contents of
directory are copied to destination, otherwise the dir itself is
copied (with all contents of course). Original idea and implementation
by https://github.com/ansible/ansible/pull/1809 . Rewritten to address
review comments and simplify/correct logic.
2013-10-15 18:40:39 +03:00
jctanner
79071aee79 Merge pull request #4470 from jyap808/patch-1
Assume state='directory' if recurse is set and previous state was 'direc...
2013-10-14 13:49:35 -07:00
Michael DeHaan
de3731a14e Some minor doc updates for the acl module. 2013-10-14 11:36:48 -04:00
Michael DeHaan
658b7d1f47 Merge pull request #3610 from bcoca/acl_module
initial draft acl module
2013-10-14 08:32:10 -07:00
Brian Coca
311892a567 added long names to support older version as per feedback
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-10-14 10:48:30 -04:00
Joe Maller
8597bf6bba ignore src when file module state=absent 2013-10-13 01:22:53 -04:00
Julian Yap
76cec9d360 Assume state='directory' if recurse is set and previous state was 'directory'
Resolves this issue: https://github.com/ansible/ansible/issues/2067
2013-10-11 15:56:14 -10:00
Andrew Pope
6342046da6 Fixed broken force=yes on files for directories 2013-10-11 18:02:18 -04:00
Robert Parrott
54aeaaf486 small change ... in order to get changed signal correct, move DEFAULT section test upward. 2013-10-10 09:10:00 -04:00
Robert Parrott
762135915c fix handling of [DEFAULT] section by ConfigParser. it is there by DEFAULT. 2013-10-10 09:01:00 -04:00
Jim Kleckner
f231c86ff3 Add detail to copy module validate argument
This clarifies the validate command argument and makes it clear that if
it is present, it must include the '%s' argument for the path to the
temporary file to validate.
2013-10-09 18:21:43 -07:00
Michael DeHaan
ce0efc8e25 Fix typo, relative to absolute, fixes #4126 2013-10-08 08:40:22 -04:00
Joshua Kehn
cc0c908cee Added validate option to lineinfile
The validate option is constructed similarly to the template command's
validate option. TestRunner.py has been updated to include two new
tests, one for passing and one for failing validation.
2013-10-06 13:51:27 -04:00
Michael DeHaan
b9c337e436 "touch" option on file is new in 1.4 2013-10-04 08:45:05 -04:00
Joshua Lund
db8dd1dcc2 Fixed a typo in the fetch module documentation 2013-10-02 16:02:18 -06:00
James Cammarata
93336ce00d Merge branch 'devel' of https://github.com/volker48/ansible into volker48-devel 2013-09-23 21:24:43 -05:00
James Cammarata
d647c5dc00 Added a delimiter example and a version_added string for assemble 2013-09-23 15:32:36 -05:00
James Cammarata
a97872906f Fixed a bug in the delimiter change for the assemble module 2013-09-23 15:29:13 -05:00
James Cammarata
bcf9a75d94 Merge branch 'devel' of https://github.com/pcgentry/ansible into pcgentry-devel 2013-09-23 15:18:15 -05:00
James Cammarata
4a467f71cd Change touched -> touch for new file state, and cleaning up docs 2013-09-22 09:16:07 -05:00
René Moser
3a0fd84115 file: added file attributes in state=touched 2013-09-22 12:54:24 +02:00
René Moser
573ea5bdce file: skip in check_mode if state=touched 2013-09-22 12:53:49 +02:00
René Moser
06fae59e8b file: implemented state=touched. Closes GH-4097 2013-09-21 15:07:50 +02:00
Phillip
4b5b6e91fe adding an optional delimiter argument to the assemble module 2013-09-20 15:50:09 -05:00
Timothy Appnel
99f616ecff Added docs for archive options in sychronize module. Added missing default value for dirs option. 2013-09-19 03:17:45 -04:00
Timothy Appnel
c2e4129812 Modified changed marker in sychronize module 2013-09-19 03:17:45 -04:00
Timothy Appnel
c1bec5fa07 Added archive options to sychronize module as suggested by @smoothify but with a different default scheme to keep param definitions to a minimum. 2013-09-19 03:17:45 -04:00
Timothy Appnel
4a30ba3a61 Added ingenious change detection trick from @smoothify though at the cost of verbosity controls. (Quiet or verbosity > 1 breaks change detection. Also added better use of module_common methods. 2013-09-19 03:17:44 -04:00
Timothy Appnel
90867d0d0a Removed busted tmp_dir option that was a bad idea to begin with. 2013-09-19 03:17:44 -04:00
Timothy Appnel
370784ef61 Updated version_added in sychronize module 2013-09-19 03:17:43 -04:00
Timothy Appnel
32ae6fdd43 Return of sychronize module code for take 3 2013-09-19 03:17:43 -04:00
James Cammarata
cee2bddc24 Updated version_added string for the new validate_md5 option 2013-09-16 05:42:13 -05:00
James Cammarata
d9cf1dfefb Merge branch 'fetch' of https://github.com/bpennypacker/ansible into bpennypacker-fetch 2013-09-16 05:39:48 -05:00
Brian Coca
ef5b735cd5 now w/o python module dependencies
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-09-10 23:13:36 -04:00
James Cammarata
af139cd56a Merge branch 'file_fixes' of https://github.com/bcoca/ansible into bcoca-file_fixes 2013-09-09 10:29:11 -05:00
James Cammarata
4a30bac78b Corrected example for lineinfile due to ': ' on line
Closes #3992
2013-09-05 20:37:54 -05:00
Marcus McCurdy
46ff02bc57 Makes pervious lineinfile fix more explicit 2013-09-02 16:16:45 -04:00
Marcus McCurdy
64fa95ca11 Improves lineinfile's error checking
Line in file would raise a TypeError exception if
the 'line' key was in params, but its value was None.
2013-09-02 11:14:40 -04:00
Bruce Pennypacker
cf6a76c814 changed ignore_md5_mismatch to validate_md5 2013-08-28 14:41:00 +00:00
Bruce Pennypacker
41c474d129 added optional ignore_md5_mismatch parameter 2013-08-28 14:16:57 +00:00
Brian Coca
0e2c63212c - fixed typos and errors from feedback
- now makes sure a proper mask is added
- now captures I/O error produced when group, user or permissions are
  invalid
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-08-22 23:35:24 -04:00
James Cammarata
49b0ff18a7 Missed some typos in macros for the xattr doc 2013-08-20 00:50:56 -05:00
James Cammarata
230077fda9 Fixing docs in xattr module 2013-08-20 00:47:07 -05:00
James Cammarata
0747d41e76 Cleaning up some typos in the xattr module 2013-08-19 16:08:32 -05:00
James Cammarata
5e4f9657ca Merge branch 'xattr2' of https://github.com/bcoca/ansible into bcoca-xattr2 2013-08-19 15:42:51 -05:00
Michael DeHaan
dacd311474 Removing synchronize momentarily as it looks like this won't make 1.3 dates 2013-08-16 15:22:39 -04:00
Brian Coca
49d7f22db8 now correctly detects hard links
simplified check_mode
simplified other file attribute handling in link mode
made conditionals clearer

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-08-15 23:39:02 -04:00
Ben Podoll
3e32654f9d fixing problem causing docs not to build 2013-08-12 12:17:34 -05:00
Ben Podoll
13bef3579f adding a little more info to the 'path' param so it's clear there are aliases (which are used in other examples) to avoid confusion 2013-08-12 11:45:32 -05:00
Mark Mandel
6e3ec9ccc0 expand user home path in stat. 2013-08-12 17:34:54 +10:00
Michael DeHaan
cde87f2f55 Add missing version_added to docs. 2013-08-11 16:21:00 -04:00
Michael DeHaan
f8c97d6e79 Style/docs cleanup, and also improve an error message. 2013-08-10 18:58:45 -04:00
Brian Coca
f451063ef2 fixed error on detecting missing requirements
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-07-25 21:51:29 -04:00
Bruce Pennypacker
0bbbefeb3f doc update 2013-07-25 09:59:23 -04:00
Michael DeHaan
19d78d6e18 Remove reference to 'context' since it's not implemented. 2013-07-21 11:52:22 -04:00
Brian Coca
db22e2c7aa corrected absent example
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-07-21 11:32:56 -04:00
Brian Coca
0c7add6951 initial draft acl module
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-07-21 11:18:31 -04:00
Michael DeHaan
e003f1e1cc Revert "Fix inconsistent json output"
Breaks recursion parameter on file.

This reverts commit e7226e104e.
2013-07-20 18:08:42 -04:00
Michael DeHaan
cac5e7d168 Merge pull request #3516 from dagwieers/file-dest
Fix inconsistent json output in file module
2013-07-20 09:01:19 -07:00
Brian Coca
b21f6fc591 new module that handles extended attributes on files
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-07-18 22:29:07 -04:00
Stephen Fromm
2af6510ded Update stat module to handle symlinks
Add follow parameter to stat module that controls whether to follow
symlinks.  It defaults to no.
This then calls os.stat or os.lstat based on the value of follow.
Add lnk_source key/value pair if path is a symlink and follow=no.
Drop the statement that sets isdir=False and islnk=True when path is a
symlink that points to a directory.
2013-07-16 10:27:38 -07:00
Dag Wieers
e7226e104e Fix inconsistent json output
The file module would in some cases return dest=/path/to/file, and in other cases return path=/path/to/file, this change makes it more consistent and in line with all the other file-related modules (i.e. copy, assemble, template, ...) by using dest= instead of path= as the input and output argument. (Of course, path is still there as an alias for compatibility).
2013-07-12 21:23:34 +02:00
Michael DeHaan
2631823b8b Merge pull request #3425 from jpmens/stat1
files/stat: add pw_name and md5 sum to stat, and add meaningful? example
2013-07-12 07:21:09 -07:00
Michael DeHaan
f8c7a3c654 Merge pull request #3406 from podollb/devel
fixing small mis-spelling
2013-07-11 05:29:11 -07:00
Michael DeHaan
4dfbbc4499 Revert "ini_file: add support for lists of options/values"
Breaks "," values in INI files

This reverts commit af051d6f77.
2013-07-05 12:04:07 -04:00
Jan-Piet Mens
9a82d8c692 files/stat: add pw_name and md5 sum to stat, and add meaningful? example
remove unnecessary import,
  md5 sum on regular files only
2013-07-03 21:07:45 +02:00
Ben Podoll
1bea4b1709 fixing small mis-spelling 2013-07-01 21:33:25 -05:00
Jan-Piet Mens
f77c0a44f9 broken docs in files/file module!
remove obsolete examples: key
2013-07-01 12:18:07 +02:00
Michael DeHaan
c9b6f0d0f2 Merge branch 'files_force' of git://github.com/rhaido/ansible into devel 2013-06-30 19:24:37 -04:00
Michael DeHaan
899ea4de82 Styling: indentation 2013-06-30 18:51:11 -04:00
Michael DeHaan
88c907af90 Merge pull request #3340 from bpennypacker/stat
get file/path facts via 'stat'
2013-06-30 09:19:06 -07:00
billwanjohi
bf56d69df7 validate files: fix usage error in example command
visudo requires the -f option to check any other file than the default.
I've added this to the example ansible tasks.
2013-06-26 13:24:15 -05:00
Bruce Pennypacker
c47d121481 don't fail if the file doesn't exist. Just set 'exists' to true/false as appropriate 2013-06-26 12:32:28 -04:00
Bruce Pennypacker
59a045e4cb Fixed stat of symlinked dirs 2013-06-25 14:14:18 -04:00
Bruce Pennypacker
19b8de7ede get file/path facts via 'stat' 2013-06-25 11:04:22 -04:00
Mike Grozak
bba19cb998 Fixed typo 2013-06-20 12:46:23 +02:00
Mike Grozak
541b086883 Updated documentaion for the file module 2013-06-20 12:46:23 +02:00
Mike Grozak
6c44e264c9 added possibility to force symlinks to none-existent destination (which might appear later) 2013-06-20 12:43:23 +02:00
Mike Grozak
57154b04bb added force parameter to symlink invocation, in order to force the creation in case of already existing destination with the type of 'file' 2013-06-20 12:43:23 +02:00
Michael DeHaan
c80ad67d7e Merge pull request #3226 from jpmens/ini_file2
ini_file: add support for lists of options/values
2013-06-19 18:59:19 -07:00
Michael DeHaan
dd7f7d5593 Merge branch 'file_hard' of git://github.com/bcoca/ansible into devel
Conflicts:
	library/files/file
2013-06-18 20:31:05 -04:00
Jan-Piet Mens
30d641094b Docs: consistently format playbook EXAMPLES 2013-06-17 08:53:46 +02:00
Michael DeHaan
78fdedd490 Merge remote branch 'origin' into devel
Conflicts:
	library/web_infrastructure/django_manage
2013-06-16 22:15:30 -04:00
Jan-Piet Mens
af051d6f77 ini_file: add support for lists of options/values 2013-06-15 22:21:34 +02:00
Jan-Piet Mens
5c69918d53 DOCS: standardize on EXAMPLES (a.k.a. Docs-JumboPatch JetLag Edition)
Migrated all examples: in DOCUMENTATION=''' string to standalone EXAMPLES=''' string
  Added deprecation warning to moduledev.rst and remove deprecated example from it
  Fixed up a few typos and uppercased some acronyms.
  add consistency to how EXAMPLES are formatted
2013-06-15 20:54:25 +02:00
Brian Coca
9e6a584c3f Added hardlink option
Also a bit nicer now with failures
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-06-15 11:14:34 -04:00
Serge van Ginderachter
8b188429c7 docfix on file module, aliases for path parameter 2013-06-14 20:45:58 +02:00
Lorin Hochstein
04aa74ddf1 lineinfile example: /etc/host[s]
Change a lineinfile example from /etc/host to /etc/hosts
2013-06-05 13:54:37 -04:00
Michael DeHaan
a9fcea5893 Merge branch 'escape' of git://github.com/ngrilly/ansible into repr 2013-05-29 18:29:16 -04:00
Michael DeHaan
f9a14f0d70 Fixup fetch doc formatting. 2013-05-29 10:45:31 -04:00
Michael DeHaan
01a2384cdd Minor style tweak. 2013-05-29 10:14:47 -04:00
Timothy Appnel
3e774fedea Modified assemble module so the dest file is streamed together rather than built-in memory before writing. 2013-05-29 10:14:47 -04:00
Nicolas Grilly
75ceb80572 Escape args injected in new style modules 2013-05-24 01:01:07 +02:00
Stoned Elipot
d25888f410 Fix empty requirements specifications in modules documentation
And also be liberal in what ansible-doc accepts as an empty
requirements specification.

While here fix a typo in template module documentation
wrt jinja2 overrides example.
2013-05-16 17:15:21 +02:00
Michael DeHaan
13d98f3977 copy module fixes for 'make pep8' 2013-05-11 17:21:04 -04:00
Michael DeHaan
3afa8b373e Improve check mode reporting for directories and file modes. 2013-05-11 15:05:00 -04:00
Michael DeHaan
ec184676b1 Merge pull request #2886 from fesplugas/devel
Fixed Typo
2013-05-11 11:29:20 -07:00
Michael DeHaan
38629b7104 Merge pull request #2860 from bcoca/lininfile_safe
makes lineinfile a bit safer by using atomic rename
2013-05-11 10:58:17 -07:00
Francesc Esplugas
5b6087c85a s/temlpate/template 2013-05-10 20:34:36 +02:00
Michael Vogt
fe7843d689 add "no_log=True to copy:content 2013-05-10 20:32:33 +02:00
Brian Coca
3d568db0c9 changed lininfile to be safer by writing to temp file and moving into place
instead of writing directly to original
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-05-07 22:08:29 -04:00
Michael DeHaan
92c23c85d1 Fix error in previous PR. 2013-05-05 14:30:48 -04:00
Brian Coca
3ac6c45499 generalized cleanup function, in case modules want to use
removed return code as it doesn't make sense anymore
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-05-05 13:26:29 -04:00
Michael DeHaan
391fb98ee2 Allow modules to be categorized, and also sort them when generating the documentation. 2013-04-28 15:03:45 -04:00