Orb/README.txt
changeset 1 82f11024044a
parent 0 42188c7ea2d9
equal deleted inserted replaced
0:42188c7ea2d9 1:82f11024044a
     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