Fixes/enhancements to jake docs:

- We now have class hierarchy information! Don't remove generated headers before doxygen runs so it can generate class hierarchies. Now the headers are cleaned up separately.

- Added inline collapsible class hierarchy diagrams within each class.

- Enabled the built-in search! It's awesome!

- Changed image format to gif, dot is generated invalid png on Mac OS X.

- Explicitly turned off generation of to do and bug list.

- Turned off most warnings, most of them are useless warnings arising from the fact that we are pretending Objective-J is Objective-C.

- Doxyfile format updated to 1.7.1.
This commit is contained in:
Aparajita Fishman
2010-08-13 15:42:43 -07:00
committed by Tom Robinson
parent 6ce45d32da
commit 90a63e1b14
4 changed files with 841 additions and 692 deletions
+11 -7
View File
@@ -122,15 +122,19 @@ task ("documentation", function()
{
print("Using " + doxygen + " for doxygen binary.");
if (OS.system(["ruby", FILE.join("Tools", "Documentation", "make_headers")]))
var documentationDir = FILE.join("Tools", "Documentation");
if (OS.system(["ruby", FILE.join(documentationDir, "make_headers")]))
OS.exit(1); //rake abort if ($? != 0)
if (OS.system([doxygen, FILE.join("Tools", "Documentation", "Cappuccino.doxygen")]))
OS.exit(1); //rake abort if ($? != 0)
rm_rf($DOCUMENTATION_BUILD);
mv("debug.txt", FILE.join("Documentation", "debug.txt"));
mv("Documentation", $DOCUMENTATION_BUILD);
if (!OS.system([doxygen, FILE.join(documentationDir, "Cappuccino.doxygen")]))
{
rm_rf($DOCUMENTATION_BUILD);
mv("debug.txt", FILE.join("Documentation", "debug.txt"));
mv("Documentation", $DOCUMENTATION_BUILD);
}
OS.system(["ruby", FILE.join(documentationDir, "cleanup_headers")]);
}
else
print("doxygen not installed, skipping documentation generation.");
File diff suppressed because it is too large Load Diff
+10
View File
@@ -0,0 +1,10 @@
#! /usr/bin/env ruby
filename = File.dirname(__FILE__) + "/header_files"
@files = File.new(filename).read.split("\n")
for file in @files
File.delete(file)
end
File.delete(filename)
+6 -4
View File
@@ -9,6 +9,7 @@ def makeHeaderFileFrom(fileName)
# Extract out all the "implementation" lines. Note, there may be
# more than on in a given .j file.
m = data.scan(/.*?(@implementation.*?\{.*?\})/m)
if m.length > 0
for i in 0...m.length
line = m[i][0]
@@ -18,6 +19,7 @@ def makeHeaderFileFrom(fileName)
# Extract the class name
m2 = line.scan(/.*?@implementation(.*?):.*/m)
if !m2.nil? && !m2[0].nil?
className = m2[0][0].strip()
@@ -35,12 +37,12 @@ def makeHeaderFileFrom(fileName)
end
end
fileList = Dir['AppKit/**/*.j'] + Dir['Foundation/**/*.j']
for fileName in fileList
makeHeaderFileFrom(fileName)
end
for fileName in @outputFiles
File.delete(fileName)
end
f = File.new(File.dirname(__FILE__) + "/header_files", "w")
f.write(@outputFiles.join("\n"))
f.close()