Main Page | Class List | File List | Class Members | Related Pages

org.doxygen.tools.DoxygenProcess Class Reference

List of all members.

Detailed Description

This class is responsible for forking doxygen process. And capturing output from the same.

Version:
Revision
1.1.2.3
Since:
Ant-Doxygen 1.3.1

Definition at line 81 of file DoxygenProcess.java.

Public Member Functions

final void checkVersion (String versionCompatible)
final void createConfig (final String theConfigFilename)

Static Public Attributes

final String DOXY_TEMP


Member Function Documentation

final void org.doxygen.tools.DoxygenProcess.checkVersion String  versionCompatible  ) 
 

This method ensures that we have a supported version of Doxygen in the environment. This Ant task knows many of the attributes in the minimum version. Attempts to specify items that the current Doxygen does not understand will be mysteriously ignored (Ant user perspective). Therefore, a check is made to highlight any potential version incompatibilities. <br/>

Ideally, each Ant task attribute would be version aware and collectively indicate which attributes are not supported by the underlying Doxygen executable. (But the code is not there yet.)<br/>

Test:
the Ant task should fail if the detected Doxygen version is too old. <br/>

the Ant task should whine, but not fail if the user claims ignoreVersion="true" and the detected Doxygen version is too old. <br/>

the Ant task should not fail if the detected Doxygen version is minimally supported. <br/>

Definition at line 121 of file DoxygenProcess.java.

References org.doxygen.tools.DoxygenVersion.isCompatible().

Referenced by org.doxygen.tools.DoxygenTask.execute().

00121                                                              {
00122         if (versionCompatible == null) {
00123             //Assume it is compatible with all versions. 
00124             //Safely ignore version checking. 
00125             return; 
00126         }
00127         try {
00128             List args = new ArrayList();
00129             args.add("--version");
00130             String fileVersion = invokeDoxygen(args);
00131 
00132             DoxygenVersion systemVersion = new DoxygenVersion(fileVersion);
00133 
00134 /*            activityLog(false, "Detected Doxygen version:" + fileVersion
00135                            + "  Task written for version: " + versionCompatible);
00136      */                      
00137             if (!systemVersion.isCompatible(versionCompatible)) {
00138 
00139                 String message = "Doxygen Version incompatible. "
00140                     + "This task is written for version "
00141                     + versionCompatible
00142                     + ". You seem to have a different version ( "
00143                     + fileVersion 
00144                     + " ) installed on your system. Please install the right version "
00145                     + "and try again. To get latest releases of Doxygen, please visit "
00146                     + " http://www.doxygen.org . ";
00147                     
00148                 throw new BuildException(message);
00149             }
00150         } catch (NumberFormatException nfe) {
00151             throw new BuildException("Unable to detect Doxygen version.", nfe);
00152         }
00153     }

final void org.doxygen.tools.DoxygenProcess.createConfig final String  theConfigFilename  ) 
 

This method executes the doxygen command line utility to generate the skeleton configuration file.

Bug:
ID=xxxxxx: If not verbose, the output of Doxygen should be seen via Ant output. This is not the case (yet).

Test:
the amalgamated configuration file is generated in System.getProperty("user.home").

The amalgamated configuration file basis can be controlled by the Ant task user.

Parameters:
theConfigFilename used by Doxygen.

Definition at line 171 of file DoxygenProcess.java.

Referenced by org.doxygen.tools.DoxygenTask.execute().

00171                                                                    {
00172         List args = new ArrayList();
00173         args.add("-s");                             // -s == Omit comments
00174         args.add("-g");                             // -g == Generate config
00175         args.add(theConfigFilename);                // filename
00176         invokeDoxygen(args);     // Let Doxygen create
00177     }


Member Data Documentation

final String org.doxygen.tools.DoxygenProcess.DOXY_TEMP [static]
 

Initial value:

        System.getProperty("user.home") + File.separator + ".doxytemp"
Name of the temporary file to get the version of doxygen installed on system. ${user.home} used as temporary file.

Definition at line 89 of file DoxygenProcess.java.


The documentation for this class was generated from the following file:
Generated on Sat Jan 31 02:17:29 2004 for Ant-Doxygen by doxygen 1.3.4