Doxygen을 통해 XML 파일 출력(종속성 등 분석 결과 포함)
자동 문서 툴Doxygen.많은 프로그래밍 언어와 출력 형식에 대응하기 때문에 사용한 사람도 많다.
본고는 문서가 아닌 XML 출력 코드 의존 관계 등의 Doxygen 설정을 소개한다.
Doxygen 설정
Doxywizard(Doxygen의 GUI 프런트엔드)라면 Expert 태그를 보면 다음과 같은 느낌이 든다.
REFERENCED_BY_RELATION
/REFERENCES_RELATION
GENERATE_XML
.XML_PROGRAMLISTING
검사하지 않아도 됩니다결실
위의 설정을 통해 Doxygen을 실행하면 XML 파일이 xml 디렉토리 아래로 출력됩니다.
덤
XML 파일은 소스 파일별로 생성되기 때문에 그렇게 처리하기 어렵다.
1 파일의 집계를 위한 XSLT/XML ((((
combine.xslt
/index.xml
) 도 출력되며, 이 정리를 사용하면 처리하기 쉽다.Windows의 경우 XSLT 처리가 번거롭기 때문에 아래 PowerShell 배치 처리를 준비하면 편리합니다.(NET의 XSLT 처리 시스템을 사용하기 때문에 별도의 XSLT 처리 시스템을 준비할 필요가 없습니다.)
doxygenxml_combine.ps1
# DoxygenのXMLを結合する
# 引数: Doxygen結果のxml格納フォルダ
[CmdletBinding()]
param(
[Parameter(Mandatory=$True)]
[string]$xml_dir
)
# お約束
Set-StrictMode -Version Latest
$ErrorActionPreference = "Stop"
$WarningPreference = "Continue"
$VerbosePreference = "Continue"
$DebugPreference = "Continue"
trap {
$Error | foreach {
Write-Debug $_.Exception.Message
Write-Debug $_.InvocationInfo.PositionMessage
}
Exit -1
}
#### 処理
# パス準備
$xml_dir = (Convert-Path $xml_dir)
[string]$xslt_path = (Join-Path $xml_dir combine.xslt)
[string]$index_path = (Join-Path $xml_dir index.xml)
[string]$combined_path = ($xml_dir + ".xml")
# 存在チェック
if (-not (Test-Path $xslt_path)) {
Write-Host ("Error File Not Found: " + $xslt_path) -ForegroundColor red
Exit -1
}
if (-not (Test-Path $index_path)) {
Write-Host ("Error File Not Found: " + $index_path) -ForegroundColor red
Exit -1
}
# 結合
# XSLT読み込み
$xslt = New-Object System.Xml.Xsl.XslCompiledTransform
$xslt_setting = New-Object System.Xml.Xsl.XsltSettings
$xslt_setting.EnableDocumentFunction = $true
$xslt_setting.EnableScript = $true
$xslt.Load($xslt_path, $xslt_setting, $null)
# 出力準備
$writer_setting = New-Object System.Xml.XmlWriterSettings
$writer_setting.Indent = $true
$writer = [System.Xml.XmlWriter]::Create($combined_path, $writer_setting)
# 変換
$xslt.Transform($index_path, $writer)
# 終了
$writer.Close()
Write-Host ("Complete Combine: " + $combined_path) -ForegroundColor green
Reference
이 문제에 관하여(Doxygen을 통해 XML 파일 출력(종속성 등 분석 결과 포함)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tenmyo/items/5d799758afa3c487e7b9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)