importing messaging-2008 branch to trunk [continued]
[mono.git] / docs / README
1 * Scripts to maintain the Mono VM internal API
2
3 Layout
4 ------
5
6         sources/
7                 mono-api-*.html
8
9                 Contains the various source files, each source file
10                 contains HTML, and a line for each API call like this:
11
12                 <h4><a name="api:mono_something">mono_something</a></h4>
13
14                 The format is static, notice that the tools actually search
15                 for the above format and process that (both the tools here, 
16                 as well as the upcoming Monodoc tools and index creation
17                 tools).
18
19                 The files can contain any ammount of extra information.
20
21                 The documentation from the source code is then merged with 
22                 these files and the header/footer information to produce
23                 the deploy directory.
24
25         deploy/
26
27                 Scripts produce a ready-to-use set of XHTML files that can
28                 be either fed into a monodoc XHTML provider or can be published
29                 directly on the web.
30
31 PROGRAMS
32 --------
33 * check-coverage
34
35         Run this script every once in a while to make sure that a
36         public symbol that has been added to Mono has a corresponding
37         section on the mono-vm-api.html
38
39         This works by looking for the <h4>APICALL</h4> pattern on the
40         HTML file.
41         
42 * produce-lists
43
44         Produces the public-api and wapi files that contain the public
45         libmono API.
46
47 * exdoc
48
49         Extracts the embedded documentation from the sources.
50
51 * check
52
53         This script is used to verify which routines are missing inline
54         documentation, usage:
55
56                 check mono/metadata/*.c
57
58 * convert.cs
59
60         Converts an HTML file into a valid XML document, uses the
61         AgilityPack.dll.  The sources to this DLL live in GNOME CVS
62         module beagle/Filters/AgilityPack.
63
64         A binary is shipped for our convenience.
65
66 DATAFILES:
67 ---------
68
69         ignore
70
71                 Contains the list of public symbols that should be
72                 ignored, they come from tests for example, or are known
73                 to be exposed.
74
75                 This is consumed by produce-lists
76         
77         public-api 
78         wapi
79                 These two are produced by the produce-lists script
80                 and it documents all the public methods.
81