47 if (projectName.isEmpty()) projectName=
"root";
49 if (bundleId.isEmpty()) bundleId=
"org.doxygen.Project";
51 if (feedName.isEmpty()) feedName=
"FeedName";
53 if (publisherId.isEmpty()) publisherId=
"PublisherId";
55 if (publisherName.isEmpty()) publisherName=
"PublisherName";
57 if (projectNumber.isEmpty()) projectNumber=
"ProjectNumber";
62 QFile makefile(mfName);
63 if (!makefile.open(IO_WriteOnly))
65 err(
"Could not open file %s for writing\n",mfName.data());
70 ts <<
"DOCSET_NAME=" << bundleId <<
".docset\n"
71 "DOCSET_CONTENTS=$(DOCSET_NAME)/Contents\n"
72 "DOCSET_RESOURCES=$(DOCSET_CONTENTS)/Resources\n"
73 "DOCSET_DOCUMENTS=$(DOCSET_RESOURCES)/Documents\n"
74 "DESTDIR=~/Library/Developer/Shared/Documentation/DocSets\n"
75 "XCODE_INSTALL=\"$(shell xcode-select -print-path)\"\n"
80 "\tmkdir -p $(DOCSET_DOCUMENTS)\n"
81 "\tcp Nodes.xml $(DOCSET_RESOURCES)\n"
82 "\tcp Tokens.xml $(DOCSET_RESOURCES)\n"
83 "\tcp Info.plist $(DOCSET_CONTENTS)\n"
84 "\ttar --exclude $(DOCSET_NAME) \\\n"
85 "\t --exclude Nodes.xml \\\n"
86 "\t --exclude Tokens.xml \\\n"
87 "\t --exclude Info.plist \\\n"
88 "\t --exclude Makefile -c -f - . \\\n"
89 "\t | (cd $(DOCSET_DOCUMENTS); tar xvf -)\n"
90 "\t$(XCODE_INSTALL)/usr/bin/docsetutil index $(DOCSET_NAME)\n"
91 "\trm -f $(DOCSET_DOCUMENTS)/Nodes.xml\n"
92 "\trm -f $(DOCSET_DOCUMENTS)/Info.plist\n"
93 "\trm -f $(DOCSET_DOCUMENTS)/Makefile\n"
94 "\trm -f $(DOCSET_RESOURCES)/Nodes.xml\n"
95 "\trm -f $(DOCSET_RESOURCES)/Tokens.xml\n"
98 "\trm -rf $(DOCSET_NAME)\n"
101 "\tmkdir -p $(DESTDIR)\n"
102 "\tcp -R $(DOCSET_NAME) $(DESTDIR)\n"
105 "\trm -rf $(DESTDIR)/$(DOCSET_NAME)\n"
114 if (!plist.open(IO_WriteOnly))
116 err(
"Could not open file %s for writing\n",plName.data());
121 ts <<
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
122 "<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\"\n"
123 "\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n"
124 "<plist version=\"1.0\">\n"
126 " <key>CFBundleName</key>\n"
127 " <string>" << projectName <<
"</string>\n"
128 " <key>CFBundleIdentifier</key>\n"
129 " <string>" << bundleId <<
"</string>\n"
130 " <key>CFBundleVersion</key>\n"
131 " <string>" << projectNumber <<
"</string>\n"
132 " <key>DocSetFeedName</key>\n"
133 " <string>" << feedName <<
"</string>\n"
134 " <key>DocSetPublisherIdentifier</key>\n"
135 " <string>" << publisherId <<
"</string>\n"
136 " <key>DocSetPublisherName</key>\n"
137 " <string>" << publisherName <<
"</string>\n"
139 " <key>DashDocSetFamily</key>\n"
140 " <string>doxy</string>\n"
141 " <key>DocSetPlatformFamily</key>\n"
142 " <string>doxygen</string>\n"
149 m_nf =
new QFile(notes);
150 if (!
m_nf->open(IO_WriteOnly))
152 err(
"Could not open file %s for writing\n",notes.data());
156 QCString indexName=
"index";
158 m_nts <<
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" <<
endl;
159 m_nts <<
"<DocSetNodes version=\"1.0\">" <<
endl;
170 m_tf =
new QFile(tokens);
171 if (!
m_tf->open(IO_WriteOnly))
173 err(
"Could not open file %s for writing\n",tokens.data());
177 m_tts <<
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" <<
endl;
178 m_tts <<
"<Tokens version=\"1.0\">" <<
endl;
205 result.fill(
' ',(
m_dc+2)*2);
252 if (file && file[0]==
'^')
260 if (file && file[0]==
'!')
278 const char *,
const char *)
280 if (md==0 && context==0)
return;
316 else if (fd && fd->
name().right(2).lower()==
".c")
318 else if (cd==0 && nd==0)
348 if (context==0)
return;
380 type=
"econst";
break;
384 type=
"signal";
break;
415 if (declMd==0) declMd = md;
453 if (scope.right(2)==
"-p") scope=scope.left(scope.length()-2);
488 const QCString &type,
489 const QCString &lang,
494 t <<
" <Token>" <<
endl;
495 t <<
" <TokenIdentifier>" <<
endl;
496 QCString name = d->
name();
497 if (name.right(2)==
"-p") name=name.left(name.length()-2);
501 t <<
" <APILanguage>" << lang <<
"</APILanguage>" <<
endl;
505 t <<
" <Type>" << type <<
"</Type>" <<
endl;
511 t <<
" </TokenIdentifier>" <<
endl;
516 t <<
" <Anchor>" << anchor <<
"</Anchor>" <<
endl;
519 if (!tooltip.isEmpty())
527 t <<
" </Token>" <<
endl;