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);
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" 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" 152 err(
"Could not open file %s for writing\n",notes.
data());
158 m_nts <<
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" <<
endl;
159 m_nts <<
"<DocSetNodes version=\"1.0\">" <<
endl;
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;
252 if (file && file[0]==
'^')
260 if (file && file[0]==
'!')
278 const char *,
const char *)
280 if (md==0 && context==0)
return;
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;
494 t <<
" <Token>" <<
endl;
495 t <<
" <TokenIdentifier>" <<
endl;
501 t <<
" <APILanguage>" << lang <<
"</APILanguage>" <<
endl;
505 t <<
" <Type>" << type <<
"</Type>" <<
endl;
511 t <<
" </TokenIdentifier>" <<
endl;
516 t <<
" <Anchor>" << anchor <<
"</Anchor>" <<
endl;
527 t <<
" </Token>" <<
endl;
QCString convertToXML(const char *s)
CompoundType compoundType() const
virtual bool isLinkable() const =0
IncludeInfo * includeInfo() const
static QCString htmlFileExtension
void setDevice(QIODevice *)
void addContentsItem(bool isDir, const char *name, const char *ref, const char *file, const char *anchor, bool separateIndex, bool addToNavIndex, Definition *def)
QCString left(uint len) const
Simplified and optimized version of QTextStream.
void addIndexItem(Definition *context, MemberDef *md, const char *sectionAnchor, const char *title)
virtual QCString getOutputFileBase() const =0
void append(const char *key, const T *d)
bool isObjCProperty() const
FileDef * getFileDef() const
virtual DefType definitionType() const =0
void addIndexFile(const char *name)
const QCString & name() const
QCString right(uint len) const
SrcLangExt getLanguage() const
A bunch of utility functions.
const char * data() const
#define Config_getString(val)
ClassDef * getClassDef() const
bool isObjCMethod() const
virtual QCString qualifiedName() const
QArray< bool > m_firstNode
void err(const char *fmt,...)
MemberType memberType() const
The QFile class is an I/O device that operates on files.
void writeToken(FTextStream &t, const Definition *d, const QCString &type, const QCString &lang, const char *scope=0, const char *anchor=0, const char *decl=0)
GroupDef * getGroupDef() const
MemberDef * memberDeclaration() const
bool fill(char c, int len=-1)
NamespaceDef * getNamespaceDef() const
QCString briefDescriptionAsTooltip() const
T * find(const char *key)
QTextStream & endl(QTextStream &s)