7 |
7 |
8 Orb Files |
8 Orb Files |
9 ========= |
9 ========= |
10 Directory tree Description |
10 Directory tree Description |
11 -------------- ----------- |
11 -------------- ----------- |
12 +---ant Ant scripts to transform cxxApiRef dtd xml to dita reference xml. |
12 +---bin Preexisisting symbian build system directory. doxygen.exe is copied here and the batch script to transform output to DITA reference and produce ditamaps. |
13 +---bin Preexisisting symbian build system directory. doxygen.exe is copied here and the batch script to transform output to dita reference and produce ditamaps. |
|
14 | \---MapCreator A tool for creating ditamaps from system definition files. |
13 | \---MapCreator A tool for creating ditamaps from system definition files. |
15 +---CxxApiRef2Dita xslt and ant scripts to perform the cxxApiRef to dita reference conversion. |
14 +---doc_pub Additional documentation about converting output to DITA reference dtd and how to generate and use a system definition file with Orb. |
16 +---documentation Additional documentation about converting output to dita reference dtd and how to generate and use a system definition file with Orb. |
|
17 +---lib Preexisisting symbian build system directory. Orb adds a doxygen configuration to the Symbian Build System so that it can run Doxygen. |
15 +---lib Preexisisting symbian build system directory. Orb adds a doxygen configuration to the Symbian Build System so that it can run Doxygen. |
18 \---python Preexisisting symbian build system directory. |
16 \---python Preexisisting symbian build system directory. |
19 \---doxygen Python scripts that are used by the map creation and transform scripts |
17 \---doxygen Python scripts that are used by the map creation and transform scripts. |
|
18 +---utils Contains the sysdefupgrade.xsl tool. |
20 |
19 |
21 Installation |
20 Installation |
22 ============ |
21 ============ |
23 For installation instructions please read INSTALL.txt |
22 For installation instructions please read INSTALL.txt |
24 |
23 |
25 Running Orb on my project |
24 Prerequisites |
26 ========================= |
25 ============= |
|
26 * %EPOCROOT% environment variable is set to the parent of the epoc32 directory |
|
27 including a last \. If the directory is c:\foo\bar\epoc32 then this must be c:\foo\bar\ |
|
28 if this is C:\epoc32 then %EPOCROOT% must be just \. |
|
29 * %SBS_HOME% environment variable must be set to the Symbian Build System install directory. |
|
30 (usually C:\Apps\sbs) |
|
31 * A version 3 system definition file and all of the package definition files it links to with relative paths OR |
|
32 A version 2 system definition file upgraded to 3 using the provided xslt (see below) |
|
33 * An EPOC source directory (containing all packages prior to export) contains all required |
|
34 system_definition.xml and package_definition.xml files |
|
35 |
|
36 |
|
37 How to create html output from C++ source code |
|
38 ============================================== |
27 |
39 |
|
40 1. Run Orb on your project. |
|
41 This creates the cxx specialised output from source. |
|
42 2. Run the postprocessor on your project |
|
43 This creates the top level maps and the documents for convertion into html with DITA Open Toolkit. |
|
44 3. Run DOT on the output to create html. |
|
45 For small sets of xml use DITA Open Toolkit version 1.5.1 with the cxx specialisation plugin. |
|
46 We recommend the use of the MPDOT tool on large amounts of documents. |
|
47 The MPDOT tool is supplied with the specialised cxx DITA Open Toolkit plugin. |
|
48 |
|
49 |
|
50 1. Run Orb on your project |
|
51 ========================== |
28 Once Orb is installed, open a console, change directory to the folder containing the bld.inf and mrp file for your project and run |
52 Once Orb is installed, open a console, change directory to the folder containing the bld.inf and mrp file for your project and run |
29 |
53 |
30 sbs -c doxygen |
54 sbs -c doxygen |
31 |
55 |
32 You can also run it with a .dox extension to your existing configuration. e.g. |
56 You can also run it with a .dox extension to your existing configuration. e.g. |
33 |
|
34 sbs -c arm.v7.rvct4_0.dox |
57 sbs -c arm.v7.rvct4_0.dox |
35 sbs -c rvct3_0.dox |
58 sbs -c rvct3_0.dox |
36 sbs -c armv5_urel.dox |
59 sbs -c armv5_urel.dox |
37 |
60 |
38 The documentation for your project will be created in the \epoc32\build\release on your system. |
61 The documentation for your project will be created in the \epoc32\build\release on your system. |
39 |
62 |
40 The documentation will conform to the cxx DITA dtd specialisation and will need to be converted to |
63 If you need to run Orb on a complete OS see doc_pub\sysdefv3_guide.txt |
41 to xml that conforms to standard DITA reference xml to be processed by the Dita Open Toolkit. |
64 The above command builds all of the source. Build an SDK release with this command: |
42 For more information on performing this conversion please see documentation\converting_to_reference.txt. |
65 |
|
66 sbs -c doxygen-sdk |
43 |
67 |
44 Output |
68 Output |
45 ====== |
69 ====== |
46 Orb builds output to the epoc32 directory under the location indicated by the EPOCROOT environment variable. |
70 Orb builds output to the epoc32 directory under the location indicated by the EPOCROOT environment variable. |
47 The two locations are epoc32\builds and epoc32\release\dita. The builds directory contains the temporary output |
71 The two locations are epoc32\build and epoc32\release\doxygen\dita. The build directory contains the temporary |
48 that doxygen produces as it runs on all the targets of the Symbian OS. There is one directory per component |
72 output that doxygen produces as it runs on all the targets of the Symbian OS. There is one directory per component |
49 and each component directory contains the doxygen output for the documentation for each dll or executable |
73 and each component directory contains the doxygen output for the documentation for each dll or executable |
50 target being built. The release directory contains the output of every target copied to a single directory |
74 target being built. The release directory contains the output of every target copied to a single directory |
51 to remove duplicates. |
75 to remove duplicates. |
52 The script that converts the cxx dita output from doxygen to dita reference requires the release\dita directory. |
76 The output directory epoc32\release\doxygen\dita is required by the script that converts the cxx DITA output from doxygen to DITA reference. |
53 Its outputs files to epoc32\release\ditareference and epoc32\release\maps. |
77 See doc_pub\converting_to_reference.txt for guidance. |
|
78 |
|
79 |
|
80 Running the postprocessor |
|
81 ========================= |
|
82 Now you must run the postprocessing step to create top level maps and ready your output so that it can be built into html using DITA Open Toolkit. |
|
83 |
|
84 Introduction |
|
85 ============ |
|
86 The postprocessing script runs several scripts on Doxygen output. |
|
87 This includes: |
|
88 -A script that creates a DITA map from a Symbian build system compatible |
|
89 system definition version 3 XML file. |
|
90 -A script that creates a map for each component. |
|
91 -A script that replaces all id attribute values and all links to ids (e.g in xrefs) |
|
92 to a global unique id (GUID) |
|
93 -A script that renames each file to a GUID value. |
|
94 |
|
95 Creating a table of contents from a system definition version 2 file |
|
96 ==================================================================== |
|
97 The map creator in this package is only compatible with system definition version 3 files |
|
98 If the symbian build system is run using a system definition version 2 file it must be converted to version 3 |
|
99 before the convertion can be run. |
|
100 To do this please do the following: |
|
101 Set up the prerequisites as described in sysdefv3_guide.txt (this is to set up the Apache Xalan transformer for use on the command line) |
|
102 From the console run: |
|
103 |
|
104 java org.apache.xalan.xslt.Process -in C:\path_to_system_definition\canonical_system_definition_GT_tb92sf.xml -xsl %SBS_HOME%\utils\sysdefupgrade.xsl -out c:\output_path\new_system_definition.xml |
|
105 |
|
106 You can use one of the examples in the "Running the batch script" section below on this new system defintion version 3 file to produce correct maps for this documentation build. |
|
107 |
|
108 Running the batch script |
|
109 ======================== |
|
110 The batch file is in %SBS_HOME%\bin\orb_process_cxx.bat |
|
111 If the symbian build system version 2 has been installed using an installer the %SBS_HOME% environment |
|
112 variable will be set and be on the system path which means it can be invoked from anywhere. |
|
113 If it is not set then please set it. |
|
114 |
|
115 The usage is as follows: |
|
116 orb_proces_cxx.bat SYSTEM_DEFINITION_PATH [PUBLISHING_TARGET] |
|
117 |
|
118 SYSTEM_DEFINITION_PATH EPOC source tree os the directory containing v3 system definition and package definitions |
|
119 PUBLISHING_TARGET [mode], ditaot |
|
120 |
|
121 PUBLISHING_TARGET is an optional argument that determines how the output of the tool is prepared for the intended publishing environment. |
|
122 "mode" is the default publishing target and will be used if no option is given. |
|
123 |
|
124 Examples: |
|
125 orb_process_cxx.bat C:\EPOC\master\sf\os\deviceplatformrelease\foundation_system\system_model\system_definition.xml |
|
126 |
|
127 orb_process_cxx.bat C:\EPOC\master\sf\os\deviceplatformrelease\foundation_system\system_model\system_definition.xml mode |
|
128 |
|
129 orb_process_cxx.bat C:\EPOC\master\sf\os\deviceplatformrelease\foundation_system\system_model\system_definition.xml ditaot |
|
130 |
|
131 Output |
|
132 ====== |
|
133 The output DITA maps go into %EPOCROOT%epoc32\release\doxygen\dita. |
|
134 This directory now contains: |
|
135 * the main table of contents named GUID-445218BA-A6BF-334B-9337-5DCBD993AEB3.ditamap. |
|
136 * the component level maps. |
|
137 * all of the reference cxx XML files. |
|
138 |
|
139 All of these files are renamed with a GUID. The maps all end with .ditamap and all the reference documents end in .xml. |
|
140 |
|
141 The main table of contents links to the component level maps and they in turn link to each target's ditamap generated by doxygen |
|
142 There is no log capture automatically performed by this script. Capture the stdout if you wish to review this. |
|
143 |
|
144 |
|
145 Running DITA Open Toolkit to create html |
|
146 ======================================== |
|
147 For smaller sets of documents it is possible to use DITA Open Toolkit version 1.5.1 with the cxxapiref plugin to build your documentation. |
|
148 It is recommended that the supplied DITA Open Toolkit is used, as supplied with it is a utility that allows each component to be built |
|
149 concurrently. This saves time and reduces the likelihood of java out of memory errors. |
|
150 |
54 |
151 |
55 Additional documentation |
152 Additional documentation |
56 ======================== |
153 ======================== |
57 Some additional documents have been included in the directory named documentation |
154 Some additional documents have been included in the directory named documentation |
58 For a guide on converting doxygen dita output to dita reference and producing dita maps please see |
|
59 converting_to_reference.txt |
|
60 For a guide on generating and using a system definition version 3 with Orb please see |
155 For a guide on generating and using a system definition version 3 with Orb please see |
61 sysdefv3_guide.txt |
156 sysdefv3_guide.txt |
62 For doxygen documentation please see DoxygenDITAEditionUserGuide.chm |
157 For doxygen documentation please see DoxygenDITAEditionUserGuide.chm |