diff --git a/doc/mk_api_doc.py b/doc/mk_api_doc.py index 6f0b88960..5a6fef57f 100644 --- a/doc/mk_api_doc.py +++ b/doc/mk_api_doc.py @@ -4,6 +4,7 @@ import re import pydoc import sys import subprocess +import shutil def mk_dir(d): if not os.path.exists(d): @@ -22,19 +23,25 @@ def cleanup_API(inf, outf): try: mk_dir('api/html') - cleanup_API('../src/api/z3_api.h', 'z3_api.h') + mk_dir('tmp') + shutil.copyfile('website.dox', 'tmp/website.dox') + cleanup_API('../src/api/z3_api.h', 'tmp/z3_api.h') + print "Removed annotations from z3_api.h." - DEVNULL = open(os.devnull, 'wb') try: - if subprocess.call(['doxygen', 'z3api.dox'], stdout=DEVNULL, stderr=DEVNULL) != 0: + if subprocess.call(['doxygen', 'z3api.dox']) != 0: print "ERROR: doxygen returned nonzero return code" exit(1) except: print "ERROR: failed to execute 'doxygen', make sure doxygen (http://www.doxygen.org) is available in your system." exit(1) print "Generated C and .NET API documentation." - os.remove('z3_api.h') + os.remove('tmp/z3_api.h') print "Removed temporary file z3_api.h." + os.remove('tmp/website.dox') + print "Removed temporary file website.dox" + os.removedirs('tmp') + print "Removed temporary directory tmp." sys.path.append('../src/api/python') pydoc.writedoc('z3') shutil.move('z3.html', 'api/html/z3.html') diff --git a/doc/update_code_website.cmd b/doc/update_code_website.cmd new file mode 100644 index 000000000..ae7791c26 --- /dev/null +++ b/doc/update_code_website.cmd @@ -0,0 +1,4 @@ +REM Script for updating the website containing the Z3 Code documentation. +REM You must be inside the Microsoft network to execute this script, and +REM robocopy must be in your PATH. +robocopy /S code\html \\research\root\web\external\en-us\UM\redmond\projects\z3\code \ No newline at end of file diff --git a/doc/z3api.dox b/doc/z3api.dox index 325437777..4ec574983 100644 --- a/doc/z3api.dox +++ b/doc/z3api.dox @@ -1,14 +1,14 @@ -# Doxyfile 1.6.3 +# Doxyfile 1.8.2 # This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project +# doxygen (www.doxygen.org) for a project. # -# All text after a hash (#) is considered a comment and will be ignored +# All text after a hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") +# Values that contain spaces should be placed between quotes (" "). #--------------------------------------------------------------------------- # Project related configuration options @@ -22,10 +22,11 @@ DOXYFILE_ENCODING = UTF-8 -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. +# The PROJECT_NAME tag is a single word (or sequence of words) that should +# identify the project. Note that if you do not use Doxywizard you need +# to put quotes around the project name if it contains spaces. -PROJECT_NAME = Z3 +PROJECT_NAME = Z3 # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or @@ -33,6 +34,19 @@ PROJECT_NAME = Z3 PROJECT_NUMBER = +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer +# a quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is +# included in the documentation. The maximum height of the logo should not +# exceed 55 pixels and the maximum width should not exceed 200 pixels. +# Doxygen will copy the logo to the output directory. + +PROJECT_LOGO = + # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location @@ -57,7 +71,7 @@ CREATE_SUBDIRS = NO # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English # messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, # Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English @@ -122,7 +136,9 @@ FULL_PATH_NAMES = YES # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the -# path to strip. +# path to strip. Note that you specify absolute paths here, but also +# relative paths, which will be relative from the directory where doxygen is +# started. STRIP_FROM_PATH = ".." @@ -136,7 +152,7 @@ STRIP_FROM_PATH = ".." STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems +# (but less readable) file names. This can be useful if your file system # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO @@ -206,6 +222,13 @@ ALIASES = "beginfaq=