Commit 28914ebf authored by Dimitri van Heesch's avatar Dimitri van Heesch

Merge pull request #109 from albert-github/feature/bug_update_msg

Better message in case doxygen -u is used
parents b548260d cfd8c241
...@@ -493,13 +493,14 @@ class Config ...@@ -493,13 +493,14 @@ class Config
* \returns TRUE if successful, or FALSE if the string could not be * \returns TRUE if successful, or FALSE if the string could not be
* parsed. * parsed.
*/ */
bool parseString(const char *fn,const char *str); //bool parseString(const char *fn,const char *str);
bool parseString(const char *fn,const char *str,bool upd = FALSE);
/*! Parse a configuration file with name \a fn. /*! Parse a configuration file with name \a fn.
* \returns TRUE if successful, FALSE if the file could not be * \returns TRUE if successful, FALSE if the file could not be
* opened or read. * opened or read.
*/ */
bool parse(const char *fn); bool parse(const char *fn,bool upd = FALSE);
/*! Called from the constructor, will add doxygen's default options /*! Called from the constructor, will add doxygen's default options
* to the configuration object * to the configuration object
......
...@@ -435,6 +435,7 @@ static QCString includeName; ...@@ -435,6 +435,7 @@ static QCString includeName;
static QStrList includePathList; static QStrList includePathList;
static QStack<ConfigFileState> includeStack; static QStack<ConfigFileState> includeStack;
static int includeDepth; static int includeDepth;
static bool config_upd = FALSE;
static QCString tabSizeString; static QCString tabSizeString;
static QCString maxInitLinesString; static QCString maxInitLinesString;
...@@ -672,15 +673,31 @@ static void readIncludeFile(const char *incName) ...@@ -672,15 +673,31 @@ static void readIncludeFile(const char *incName)
BEGIN(GetString); BEGIN(GetString);
break; break;
case ConfigOption::O_Obsolete: case ConfigOption::O_Obsolete:
config_err("Warning: Tag `%s' at line %d of file %s has become obsolete.\n" if (config_upd)
"To avoid this warning please remove this line from your configuration " {
config_err("Warning: Tag `%s' at line %d of file `%s' has become obsolete.\n"
" This tag has been removed.\n", cmd.data(),yyLineNr,yyFileName.data());
}
else
{
config_err("Warning: Tag `%s' at line %d of file `%s' has become obsolete.\n"
" To avoid this warning please remove this line from your configuration "
"file or upgrade it using \"doxygen -u\"\n", cmd.data(),yyLineNr,yyFileName.data()); "file or upgrade it using \"doxygen -u\"\n", cmd.data(),yyLineNr,yyFileName.data());
}
BEGIN(SkipInvalid); BEGIN(SkipInvalid);
break; break;
case ConfigOption::O_Disabled: case ConfigOption::O_Disabled:
config_err("Warning: Tag `%s' at line %d of file %s belongs to an option that was not enabled at compile time.\n" if (config_upd)
"To avoid this warning please remove this line from your configuration " {
"file, upgrade it using \"doxygen -u\", or recompile doxygen with this feature enabled.\n", cmd.data(),yyLineNr,yyFileName.data()); config_err("Warning: Tag `%s' at line %d of file `%s' belongs to an option that was not enabled at compile time.\n"
" This tag has been removed.\n", cmd.data(),yyLineNr,yyFileName.data());
}
else
{
config_err("Warning: Tag `%s' at line %d of file `%s' belongs to an option that was not enabled at compile time.\n"
" To avoid this warning please remove this line from your configuration "
"file or upgrade it using \"doxygen -u\", or recompile doxygen with this feature enabled.\n", cmd.data(),yyLineNr,yyFileName.data());
}
BEGIN(SkipInvalid); BEGIN(SkipInvalid);
break; break;
} }
...@@ -1666,7 +1683,7 @@ static QCString configFileToString(const char *name) ...@@ -1666,7 +1683,7 @@ static QCString configFileToString(const char *name)
return ""; return "";
} }
bool Config::parseString(const char *fn,const char *str) bool Config::parseString(const char *fn,const char *str,bool update)
{ {
config = Config::instance(); config = Config::instance();
inputString = str; inputString = str;
...@@ -1678,17 +1695,19 @@ bool Config::parseString(const char *fn,const char *str) ...@@ -1678,17 +1695,19 @@ bool Config::parseString(const char *fn,const char *str)
includeDepth = 0; includeDepth = 0;
configYYrestart( configYYin ); configYYrestart( configYYin );
BEGIN( Start ); BEGIN( Start );
config_upd = update;
configYYlex(); configYYlex();
config_upd = FALSE;
inputString = 0; inputString = 0;
return TRUE; return TRUE;
} }
bool Config::parse(const char *fn) bool Config::parse(const char *fn,bool update)
{ {
int retval; int retval;
encoding = "UTF-8"; encoding = "UTF-8";
printlex(yy_flex_debug, TRUE, __FILE__, fn); printlex(yy_flex_debug, TRUE, __FILE__, fn);
retval = parseString(fn,configFileToString(fn)); retval = parseString(fn,configFileToString(fn), update);
printlex(yy_flex_debug, FALSE, __FILE__, fn); printlex(yy_flex_debug, FALSE, __FILE__, fn);
return retval; return retval;
} }
......
...@@ -10349,7 +10349,7 @@ void readConfiguration(int argc, char **argv) ...@@ -10349,7 +10349,7 @@ void readConfiguration(int argc, char **argv)
} }
if (!Config::instance()->parse(configName)) if (!Config::instance()->parse(configName,updateConfig))
{ {
err("could not open or read configuration file %s!\n",configName); err("could not open or read configuration file %s!\n",configName);
cleanUpDoxygen(); cleanUpDoxygen();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment