View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003070 | OpenFOAM | Bug | public | 2018-09-06 16:19 | 2018-09-14 00:05 |
Reporter | guin | Assigned To | henry | ||
Priority | low | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | GNU/Linux | OS | Ubuntu | OS Version | 16.04 |
Summary | 0003070: Wrong linking being used by "-doc" & "-srcDoc" options | ||||
Description | Related to the recent issue https://bugs.openfoam.org/view.php?id=3067 : While commit 9668a8ca7bbc2426dbb3cc8555c3249bf05fe0c5 solves the versioning problem, commits a9be0f471a07b49f470b1b564abcdee223b52cb7 (v6) & 0dfcae6a26d992b18ec91a5347558bb20f62f955 (dev) only solved partially the clashing issue, namely just for the application "blockMesh". However, "blockMesh" was not the only affected application. Indeed, after a quick research I have found following applications showing the same link-inconsistency: Summary of Doxygen wrong-linked applications found at /opt/openfoam6/applications/: /opt/openfoam6/applications/utilities/mesh/advanced/removeFaces/removeFaces.C /opt/openfoam6/applications/utilities/mesh/manipulation/topoSet/topoSet.C /opt/openfoam6/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMesh.C /opt/openfoam6/applications/utilities/mesh/generation/blockMesh/blockMesh.C /opt/openfoam6/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L /opt/openfoam6/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L /opt/openfoam6/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L /opt/openfoam6/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L /opt/openfoam6/applications/utilities/preProcessing/foamSetupCHT/foamSetupCHT.C From them, I guess that removeFaces, topoSet & polyDualMesh can be repaired in the same way as recently done for blockMesh. Namely adding to the EXCLUDE list at Doxyfile: $(WM_PROJECT_DIR)/src/dynamicMesh/polyTopoChange/polyTopoChange/removeFaces.C $(WM_PROJECT_DIR)/src/meshTools/sets/topoSets/topoSet.C $(WM_PROJECT_DIR)/src/conversion/polyDualMesh/polyDualMesh.C I don't know what to suggest regarding the *.L files. To be honest, I don't even know what they are, though they share the header stating "C++". They show no matches, even for a manual search, at https://cpp.openfoam.org/dev/ and I am not sure that Doxygen would be able to generate any useful documentation from them (please, correct me otherwise!) foamSetupCHT does not show any match either from at https://cpp.openfoam.org/dev/ which is strange. In principle I see no reason why foamSetupCHT cannot get processed by Doxygen similarly as the other applications... | ||||
Steps To Reproduce | <application> -doc OR <application> -srcDoc try it by taking any application from list above: | ||||
Additional Information | I attach the script used to obtain the list above. In case anyone wants to repeat the steps: Important: I temporarily replaced the default browser by linkchecker (apt install linkchecker) in order to automate the link check process. 1. Edit the $HOME/.OpenFOAM/controlDict to contain: Documentation { docBrowser linkchecker --check-extern --recursion-level=0; } 2. Make appropriate changes in WM_PROJECT_DIR & DIRECTORY (if needed) 3. ~$ ./chekDoxyLinks.sh > log.txt | ||||
Tags | No tags attached. | ||||
|
checkDoxyLinks.sh (2,885 bytes)
#!/bin/bash # Find and check links to Doxygen pages for all applications within a given directory WM_PROJECT_DIR="/opt/openfoam6" source "$WM_PROJECT_DIR/etc/bashrc" # Temporary replace the default browser to avoid overloading the system # CONTROLDICT=$HOME/.OpenFOAM/controlDict # # BROWSER="" # # # TODO: Strings containing double-dashes seem not really welcome in Bash... # if [ -f $CONTROLDICT ]; then # BROWSER=$(foamDictionary -entry "Documentation.docBrowser" -value $CONTROLDICT) # foamDictionary -entry "Documentation.docBrowser" -set "linkchecker --check-extern --recursion-level=0" $CONTROLDICT # # else # echo "Documentation{docBrowser linkchecker --check-extern --recursion-level=0;}" >> $CONTROLDICT # fi # DIRECTORY=$WM_PROJECT_DIR/applications/ REGEXP="EXE = \$(FOAM_APPBIN)/" REGEXP_URL="Real URL" FILELIST=$(find $DIRECTORY -name "files") declare -p FILELIST > /dev/null 2>&1 APPLIST=() E404LIST=() for FILE in ${FILELIST[@]}; do APPLIST+=($(grep "$REGEXP" $FILE | sed "s|$REGEXP||")) done declare -p APPLIST > /dev/null 2>&1 echo "Found applications at $DIRECTORY:" for APPLICATION in ${APPLIST[@]}; do # NOTE: Following applications are not compiled if [ $APPLICATION == "foamyHexMeshBackgroundMesh" ]; then continue; elif [ $APPLICATION == "foamyHexMeshSurfaceSimplify" ]; then continue; elif [ $APPLICATION == "cellSizeAndAlignmentGrid" ]; then continue; elif [ $APPLICATION == "ccm26ToFoam" ]; then continue; elif [ $APPLICATION == "foamToTecplot360" ]; then continue; fi echo " $APPLICATION:" ERROR=0 # Check for failures with "-doc" option DOC_MESSAGE=$($APPLICATION -doc | grep "Result") DOC_URL=$($APPLICATION -doc | grep "$REGEXP_URL") if [[ $DOC_MESSAGE = *"404"* ]]; then ERROR=1 echo " ERROR: doc-page address not found for application $APPLICATION at $DOC_URL" else echo " -doc OK" fi # Check for failures with "-srcDoc" option SRCDOC_MESSAGE=$($APPLICATION -srcDoc | grep "Result") SRCDOC_URL=$($APPLICATION -srcDoc | grep "$REGEXP_URL") if [[ $SRCDOC_MESSAGE = *"404"* ]]; then ERROR=1 echo " ERROR: srcDoc-page address not found for application $APPLICATION at $SRCDOC_URL" else echo " -srcDoc OK" fi if [ $ERROR != 0 ]; then E404LIST+=($(find $DIRECTORY -type f -name "$APPLICATION.*")) fi done declare -p E404LIST > /dev/null 2>&1 echo "Summary of Doxygen wrong-linked applications:" for DOXYFAIL in ${E404LIST[@]}; do echo " $DOXYFAIL" done # Restore default browser # if [ "$BROWSER" != "" ]; then # foamDictionary -entry "Documentation.docBrowser" -set "$BROWSER" $CONTROLDICT # else # foamDictionary -entry Documentation -remove $CONTROLDICT # fi |
|
Sorry for repeating the text in the title. |
|
TYPO CORRECTION: (note the double quotes) Documentation { docBrowser "linkchecker --check-extern --recursion-level=0"; } |
|
The extended search results (in case anyone is interested) log.txt (13,266 bytes)
Found applications at /opt/openfoam6/applications/: financialFoam: -doc OK -srcDoc OK scalarTransportFoam: -doc OK -srcDoc OK potentialFoam: -doc OK -srcDoc OK laplacianFoam: -doc OK -srcDoc OK shallowWaterFoam: -doc OK -srcDoc OK SRFPimpleFoam: -doc OK -srcDoc OK pimpleFoam: -doc OK -srcDoc OK porousSimpleFoam: -doc OK -srcDoc OK simpleFoam: -doc OK -srcDoc OK SRFSimpleFoam: -doc OK -srcDoc OK adjointShapeOptimizationFoam: -doc OK -srcDoc OK pisoFoam: -doc OK -srcDoc OK nonNewtonianIcoFoam: -doc OK -srcDoc OK icoFoam: -doc OK -srcDoc OK boundaryFoam: -doc OK -srcDoc OK fireFoam: -doc OK -srcDoc OK XiFoam: -doc OK -srcDoc OK XiEngineFoam: -doc OK -srcDoc OK chemFoam: -doc OK -srcDoc OK rhoReactingFoam: -doc OK -srcDoc OK rhoReactingBuoyantFoam: -doc OK -srcDoc OK reactingFoam: -doc OK -srcDoc OK coldEngineFoam: -doc OK -srcDoc OK PDRFoam: -doc OK -srcDoc OK rhoCentralDyMFoam: -doc OK -srcDoc OK rhoCentralFoam: -doc OK -srcDoc OK rhoSimpleFoam: -doc OK -srcDoc OK rhoPorousSimpleFoam: -doc OK -srcDoc OK sonicDyMFoam: -doc OK -srcDoc OK sonicLiquidFoam: -doc OK -srcDoc OK sonicFoam: -doc OK -srcDoc OK rhoPimpleFoam: -doc OK -srcDoc OK dnsFoam: -doc OK -srcDoc OK buoyantBoussinesqPimpleFoam: -doc OK -srcDoc OK thermoFoam: -doc OK -srcDoc OK buoyantSimpleFoam: -doc OK -srcDoc OK chtMultiRegionFoam: -doc OK -srcDoc OK buoyantPimpleFoam: -doc OK -srcDoc OK buoyantBoussinesqSimpleFoam: -doc OK -srcDoc OK cavitatingFoam: -doc OK -srcDoc OK cavitatingDyMFoam: -doc OK -srcDoc OK compressibleMultiphaseInterFoam: -doc OK -srcDoc OK driftFluxFoam: -doc OK -srcDoc OK twoPhaseEulerFoam: -doc OK -srcDoc OK interMixingFoam: -doc OK -srcDoc OK interFoam: -doc OK -srcDoc OK interPhaseChangeDyMFoam: -doc OK -srcDoc OK interPhaseChangeFoam: -doc OK -srcDoc OK compressibleInterFilmFoam: -doc OK -srcDoc OK compressibleInterFoam: -doc OK -srcDoc OK compressibleInterDyMFoam: -doc OK -srcDoc OK multiphaseInterFoam: -doc OK -srcDoc OK twoLiquidMixingFoam: -doc OK -srcDoc OK potentialFreeSurfaceFoam: -doc OK -srcDoc OK potentialFreeSurfaceDyMFoam: -doc OK -srcDoc OK reactingTwoPhaseEulerFoam: -doc OK -srcDoc OK reactingMultiphaseEulerFoam: -doc OK -srcDoc OK multiphaseEulerFoam: -doc OK -srcDoc OK MPPICFoam: -doc OK -srcDoc OK DPMFoam: -doc OK -srcDoc OK MPPICDyMFoam: -doc OK -srcDoc OK DPMDyMFoam: -doc OK -srcDoc OK sprayDyMFoam: -doc OK -srcDoc OK engineFoam: -doc OK -srcDoc OK sprayFoam: -doc OK -srcDoc OK uncoupledKinematicParcelDyMFoam: -doc OK -srcDoc OK uncoupledKinematicParcelFoam: -doc OK -srcDoc OK coalChemistryFoam: -doc OK -srcDoc OK simpleReactingParcelFoam: -doc OK -srcDoc OK reactingParcelFoam: -doc OK -srcDoc OK icoUncoupledKinematicParcelDyMFoam: -doc OK -srcDoc OK icoUncoupledKinematicParcelFoam: -doc OK -srcDoc OK mhdFoam: -doc OK -srcDoc OK magneticFoam: -doc OK -srcDoc OK electrostaticFoam: -doc OK -srcDoc OK solidDisplacementFoam: -doc OK -srcDoc OK solidEquilibriumDisplacementFoam: -doc OK -srcDoc OK dsmcFoam: -doc OK -srcDoc OK mdFoam: -doc OK -srcDoc OK mdEquilibrationFoam: -doc OK -srcDoc OK surfaceOrient: -doc OK -srcDoc OK surfaceSplitByTopology: -doc OK -srcDoc OK surfaceSubset: -doc OK -srcDoc OK surfaceSplitByPatch: -doc OK -srcDoc OK surfaceLambdaMuSmooth: -doc OK -srcDoc OK surfaceToPatch: -doc OK -srcDoc OK surfaceAdd: -doc OK -srcDoc OK surfacePointMerge: -doc OK -srcDoc OK surfaceMeshConvertTesting: -doc OK -srcDoc OK surfaceRefineRedGreen: -doc OK -srcDoc OK surfaceFeatures: -doc OK -srcDoc OK surfaceCheck: -doc OK -srcDoc OK surfaceAutoPatch: -doc OK -srcDoc OK surfaceFeatureExtract: -doc OK -srcDoc OK surfaceBooleanFeatures: -doc OK -srcDoc OK surfaceSplitNonManifolds: -doc OK -srcDoc OK surfaceMeshTriangulate: -doc OK -srcDoc OK surfaceMeshConvert: -doc OK -srcDoc OK surfaceRedistributePar: -doc OK -srcDoc OK surfaceFeatureConvert: -doc OK -srcDoc OK surfaceConvert: -doc OK -srcDoc OK surfaceMeshInfo: -doc OK -srcDoc OK surfaceInertia: -doc OK -srcDoc OK surfaceFind: -doc OK -srcDoc OK surfaceHookUp: -doc OK -srcDoc OK surfaceMeshExport: -doc OK -srcDoc OK surfaceCoarsen: -doc OK -srcDoc OK surfaceMeshImport: -doc OK -srcDoc OK surfaceClean: -doc OK -srcDoc OK surfaceTransformPoints: -doc OK -srcDoc OK foamDictionary: -doc OK -srcDoc OK patchSummary: -doc OK -srcDoc OK foamListTimes: -doc OK -srcDoc OK foamFormatConvert: -doc OK -srcDoc OK PDRMesh: -doc OK -srcDoc OK selectCells: -doc OK -srcDoc OK refineHexMesh: -doc OK -srcDoc OK splitCells: -doc OK -srcDoc OK refineWallLayer: -doc OK -srcDoc OK collapseEdges: -doc OK -srcDoc OK refinementLevel: -doc OK -srcDoc OK autoRefineMesh: -doc OK -srcDoc OK removeFaces: ERROR: doc-page address not found for application removeFaces at Real URL https://cpp.openfoam.org/dev/removeFaces_8C.html ERROR: srcDoc-page address not found for application removeFaces at Real URL https://cpp.openfoam.org/dev/removeFaces_8C_source.html combinePatchFaces: -doc OK -srcDoc OK modifyMesh: -doc OK -srcDoc OK mergeMeshes: -doc OK -srcDoc OK refineMesh: -doc OK -srcDoc OK renumberMesh: -doc OK -srcDoc OK orientFaceZone: -doc OK -srcDoc OK subsetMesh: -doc OK -srcDoc OK checkMesh: -doc OK -srcDoc OK setsToZones: -doc OK -srcDoc OK deformedGeom: -doc OK -srcDoc OK topoSet: ERROR: doc-page address not found for application topoSet at Real URL https://cpp.openfoam.org/dev/topoSet_8C.html ERROR: srcDoc-page address not found for application topoSet at Real URL https://cpp.openfoam.org/dev/topoSet_8C_source.html autoPatch: -doc OK -srcDoc OK attachMesh: -doc OK -srcDoc OK createBaffles: -doc OK -srcDoc OK zipUpMesh: -doc OK -srcDoc OK mirrorMesh: -doc OK -srcDoc OK singleCellMesh: -doc OK -srcDoc OK moveDynamicMesh: -doc OK -srcDoc OK objToVTK: -doc OK -srcDoc OK splitMesh: -doc OK -srcDoc OK flattenMesh: -doc OK -srcDoc OK stitchMesh: -doc OK -srcDoc OK moveEngineMesh: -doc OK -srcDoc OK splitMeshRegions: -doc OK -srcDoc OK polyDualMesh: ERROR: doc-page address not found for application polyDualMesh at Real URL https://cpp.openfoam.org/dev/polyDualMesh_8C.html ERROR: srcDoc-page address not found for application polyDualMesh at Real URL https://cpp.openfoam.org/dev/polyDualMesh_8C_source.html createPatch: -doc OK -srcDoc OK moveMesh: -doc OK -srcDoc OK setSet: -doc OK -srcDoc OK transformPoints: -doc OK -srcDoc OK rotateMesh: -doc OK -srcDoc OK insideCells: -doc OK -srcDoc OK mergeOrSplitBaffles: -doc OK -srcDoc OK snappyHexMesh: -doc OK -srcDoc OK extrudeToRegionMesh: -doc OK -srcDoc OK extrudeMesh: -doc OK -srcDoc OK extrude2DMesh: -doc OK -srcDoc OK foamyHexMesh: -doc OK -srcDoc OK foamyQuadMesh: -doc OK -srcDoc OK blockMesh: ERROR: doc-page address not found for application blockMesh at Real URL https://cpp.openfoam.org/dev/blockMesh_8C.html ERROR: srcDoc-page address not found for application blockMesh at Real URL https://cpp.openfoam.org/dev/blockMesh_8C_source.html foamToStarMesh: -doc OK -srcDoc OK netgenNeutralToFoam: -doc OK -srcDoc OK foamToSurface: -doc OK -srcDoc OK sammToFoam: -doc OK -srcDoc OK datToFoam: -doc OK -srcDoc OK plot3dToFoam: -doc OK -srcDoc OK kivaToFoam: -doc OK -srcDoc OK gambitToFoam: ERROR: doc-page address not found for application gambitToFoam at Real URL https://cpp.openfoam.org/dev/gambitToFoam_8C.html ERROR: srcDoc-page address not found for application gambitToFoam at Real URL https://cpp.openfoam.org/dev/gambitToFoam_8C_source.html star3ToFoam: -doc OK -srcDoc OK foamMeshToFluent: -doc OK -srcDoc OK cfx4ToFoam: -doc OK -srcDoc OK fluentMeshToFoam: ERROR: doc-page address not found for application fluentMeshToFoam at Real URL https://cpp.openfoam.org/dev/fluentMeshToFoam_8C.html ERROR: srcDoc-page address not found for application fluentMeshToFoam at Real URL https://cpp.openfoam.org/dev/fluentMeshToFoam_8C_source.html ideasUnvToFoam: -doc OK -srcDoc OK ansysToFoam: ERROR: doc-page address not found for application ansysToFoam at Real URL https://cpp.openfoam.org/dev/ansysToFoam_8C.html ERROR: srcDoc-page address not found for application ansysToFoam at Real URL https://cpp.openfoam.org/dev/ansysToFoam_8C_source.html star4ToFoam: -doc OK -srcDoc OK vtkUnstructuredToFoam: -doc OK -srcDoc OK mshToFoam: -doc OK -srcDoc OK writeMeshObj: -doc OK -srcDoc OK fluent3DMeshToFoam: ERROR: doc-page address not found for application fluent3DMeshToFoam at Real URL https://cpp.openfoam.org/dev/fluent3DMeshToFoam_8C.html ERROR: srcDoc-page address not found for application fluent3DMeshToFoam at Real URL https://cpp.openfoam.org/dev/fluent3DMeshToFoam_8C_source.html tetgenToFoam: -doc OK -srcDoc OK gmshToFoam: -doc OK -srcDoc OK reconstructParMesh: -doc OK -srcDoc OK reconstructPar: -doc OK -srcDoc OK decomposePar: -doc OK -srcDoc OK redistributePar: -doc OK -srcDoc OK wallFunctionTable: -doc OK -srcDoc OK foamSetupCHT: ERROR: doc-page address not found for application foamSetupCHT at Real URL https://cpp.openfoam.org/dev/foamSetupCHT_8C.html ERROR: srcDoc-page address not found for application foamSetupCHT at Real URL https://cpp.openfoam.org/dev/foamSetupCHT_8C_source.html mdInitialise: -doc OK -srcDoc OK mapFields: -doc OK -srcDoc OK applyBoundaryLayer: -doc OK -srcDoc OK viewFactorsGen: -doc OK -srcDoc OK changeDictionary: -doc OK -srcDoc OK faceAgglomerate: -doc OK -srcDoc OK boxTurb: -doc OK -srcDoc OK setFields: -doc OK -srcDoc OK mapFieldsPar: -doc OK -srcDoc OK setWaves: -doc OK -srcDoc OK dsmcInitialise: -doc OK -srcDoc OK engineSwirl: -doc OK -srcDoc OK createExternalCoupledPatchGeometry: -doc OK -srcDoc OK foamUpgradeCyclics: -doc OK -srcDoc OK equilibriumCO: -doc OK -srcDoc OK mixtureAdiabaticFlameT: -doc OK -srcDoc OK adiabaticFlameT: -doc OK -srcDoc OK chemkinToFoam: -doc OK -srcDoc OK equilibriumFlameT: -doc OK -srcDoc OK pdfPlot: -doc OK -srcDoc OK postChannel: -doc OK -srcDoc OK engineCompRatio: -doc OK -srcDoc OK temporalInterpolate: -doc OK -srcDoc OK postProcess: -doc OK -srcDoc OK noise: -doc OK -srcDoc OK steadyParticleTracks: -doc OK -srcDoc OK particleTracks: -doc OK -srcDoc OK foamToEnsight: -doc OK -srcDoc OK foamToGMV: -doc OK -srcDoc OK smapToFoam: -doc OK -srcDoc OK foamToEnsightParts: -doc OK -srcDoc OK foamToVTK: -doc OK -srcDoc OK foamDataToFluent: -doc OK -srcDoc OK foamToTetDualMesh: -doc OK -srcDoc OK Summary of Doxygen wrong-linked applications: /opt/openfoam6/applications/utilities/mesh/advanced/removeFaces/removeFaces.C /opt/openfoam6/applications/utilities/mesh/manipulation/topoSet/topoSet.C /opt/openfoam6/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMesh.C /opt/openfoam6/applications/utilities/mesh/generation/blockMesh/blockMesh.C /opt/openfoam6/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L /opt/openfoam6/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L /opt/openfoam6/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L /opt/openfoam6/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L /opt/openfoam6/applications/utilities/preProcessing/foamSetupCHT/foamSetupCHT.C |
|
I am adding $(WM_PROJECT_DIR)/src/dynamicMesh/polyTopoChange/polyTopoChange/removeFaces.C $(WM_PROJECT_DIR)/src/meshTools/sets/topoSets/topoSet.C $(WM_PROJECT_DIR)/src/conversion/polyDualMesh/polyDualMesh.C to the exclude list know but it is not clear what other changes you would like made. |
|
Let me first compile a local installation. I need to play a bit with Doxygen to figure out how it deals with the *.L files and why foamSetupCHT is not documented. In the meantime you can close this issue after making the relevant commits for removeFaces, topoSet & polyDualMesh if you want (but not as solved, please). |
|
foamSetupCHT -doc works fine for me (at least in OpenFOAM-dev), what do you get? |
|
To process the .L files I am trying FILE_PATTERNS = *.H \ *.C \ *.L |
|
Either from OpenFOAM-6 or from OpenFOAM-dev I get: foamSetupCHT -doc tries to open https://cpp.openfoam.org/dev/foamSetupCHT_8C.html (at the time of writing this it is a broken link) ~$ apt install -s openfoam6 [...] openfoam6 is already the newest version (20180805). ~$ apt install -s openfoam-dev [...] openfoam-dev is already the newest version (20180902). |
|
You will need to generate the Doxygen files locally to test these changes. |
|
Resolved in OpenFOAM-dev by commit 490a29719073e7248d57a9542fc64f7cf63946ef Resolved in OpenFOAM-6 by commit 199f87f32769a831839878c3e4b749f93ddc28d0 |
|
I can confirm that last patches solved the clash conflicts and allow Doxygen to process the files with *.L extension. Furthermore, the documentation of "foamSetupCHT" has been correclty generated (locally). I don't know how often the documentation at https://cpp.openfoam.org/dev/ gets updated, but I presume that https://cpp.openfoam.org/dev/foamSetupCHT_8C.html will be accessible from the next rebuild. However, the handling of the files with the *.L extension keeps showing problems. Let's take "gambitToFoam" for the example (although the same it applicable to the other ones): Doxygen processed these files and finally generated their corresponding html-pages $WM_PROJECT_DIR/doc/Doxygen/html/gambitToFoam_8L.html & $WM_PROJECT_DIR/doc/Doxygen/html/gambitToFoam_8L_source.html (note the string "8L" within their names). The 1st file is an undocumented Doxygen page offering a link to the source code and the 2nd one, while containing the source code, does not allow any kind of interaction with it (plain text). I guess that Doxygen doesn't know how to deal with this kind of files...(?) When calling gambitToFoam witht the -doc of the -srcDoc flags the browser tries to open similar links but containing the string "8C" in the place of "8L". This is nothing surprising, because we are passing such name extension hardcoded in the Documentation dictionary (see https://github.com/OpenFOAM/OpenFOAM-dev/blob/490a29719073e7248d57a9542fc64f7cf63946ef/etc/controlDict#L29). At this point a decission is needed: OPTION A) Repairing their documentation-linking. I think that this would require EITHER changes in argList class (which is used by practically every executable) OR making an specialized variant of it (just for these 4 applications). In any case, the less invasive option for the rest of the code I've found consists on adding a dummy option to these applications, so that argList class can become aware of it. I am attaching here the changes, although it would be an unmaintainable option. OPTION B) Why not simply disabling the -doc / -srcDoc functionality for these 4 applications? I would go for this, but unfortunately neither argList::removeOption("doc") nor argList::removeOption("srcDoc") seem to have any effect... Any other funded idea? patch.txt (3,153 bytes)
diff --git a/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L b/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L index 427e328..e417767 100644 --- a/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L +++ b/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L @@ -295,6 +295,7 @@ label findFace(const polyMesh& mesh, const face& f) int main(int argc, char *argv[]) { + argList::addBoolOption("LFileExt","dummy option to allow showing Doxygen documentation"); argList::noParallel(); argList::validArgs.append("ANSYS input file"); argList::addOption diff --git a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L index 8b10f8c..2403c7b 100644 --- a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L +++ b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L @@ -766,6 +766,7 @@ endOfSection {space}")"{space} int main(int argc, char *argv[]) { + argList::addBoolOption("LFileExt","dummy option to allow showing Doxygen documentation"); argList::noParallel(); argList::validArgs.append("Fluent mesh file"); argList::addOption diff --git a/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L b/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L index 43252ac..0151b5d 100644 --- a/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L +++ b/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L @@ -863,6 +863,7 @@ label findFace(const primitiveMesh& mesh, const face& f) int main(int argc, char *argv[]) { + argList::addBoolOption("LFileExt","dummy option to allow showing Doxygen documentation"); argList::noParallel(); argList::validArgs.append("Fluent mesh file"); argList::addOption diff --git a/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L b/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L index 2f28d16..cd3f890 100644 --- a/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L +++ b/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L @@ -623,6 +623,7 @@ using std::ifstream; int main(int argc, char *argv[]) { + argList::addBoolOption("LFileExt","dummy option to allow showing Doxygen documentation"); argList::noParallel(); argList::validArgs.append("GAMBIT file"); argList::addOption diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C index c8028b1..82fad40 100644 --- a/src/OpenFOAM/global/argList/argList.C +++ b/src/OpenFOAM/global/argList/argList.C @@ -1270,6 +1270,11 @@ void Foam::argList::displayDoc(bool source) const List<fileName> docDirs(docDict.lookup("doxyDocDirs")); fileName docExt(docDict.lookup("doxySourceFileExt")); + if (validOptions.found("LFileExt")) + { + docExt.replace("C","L"); + } + // For source code: change foo_8C.html to foo_8C_source.html if (source) { |
|
For the 2nd option I would also suggest to remove back the "*.L" from the FILE_PATTERNS recently added to Doxyfile. |
|
Resolved in OpenFOAM-6 by commit d2c4174c4c5f45649d422056c56976a649607006 Resolved in OpenFOAM-dev by commit 26478060e0498cf98dd9080da3c4fe9dc3ac4912 |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-09-06 16:19 | guin | New Issue | |
2018-09-06 16:19 | guin | File Added: checkDoxyLinks.sh | |
2018-09-06 16:20 | guin | Note Added: 0010044 | |
2018-09-06 16:27 | guin | Note Added: 0010046 | |
2018-09-06 16:35 | guin | File Added: log.txt | |
2018-09-06 16:35 | guin | Note Added: 0010047 | |
2018-09-06 16:46 | henry | Note Added: 0010048 | |
2018-09-06 17:01 | guin | Note Added: 0010050 | |
2018-09-06 17:22 | henry | Note Added: 0010051 | |
2018-09-06 17:26 | henry | Note Added: 0010052 | |
2018-09-06 17:42 | guin | Note Added: 0010053 | |
2018-09-06 17:53 | henry | Note Added: 0010054 | |
2018-09-06 18:30 | henry | Note Added: 0010055 | |
2018-09-07 13:56 | guin | File Added: patch.txt | |
2018-09-07 13:56 | guin | Note Added: 0010057 | |
2018-09-07 13:59 | guin | Note Added: 0010058 | |
2018-09-07 15:18 | henry | Note Added: 0010059 | |
2018-09-14 00:05 | henry | Assigned To | => henry |
2018-09-14 00:05 | henry | Status | new => resolved |
2018-09-14 00:05 | henry | Resolution | open => fixed |
2018-09-14 00:05 | henry | Fixed in Version | => 6 |