|
|
@ -1,6 +1,5 @@
|
|
|
|
import re
|
|
|
|
import re
|
|
|
|
import os
|
|
|
|
import os
|
|
|
|
import platform
|
|
|
|
|
|
|
|
import subprocess
|
|
|
|
import subprocess
|
|
|
|
import traceback
|
|
|
|
import traceback
|
|
|
|
import shutil
|
|
|
|
import shutil
|
|
|
@ -14,10 +13,6 @@ from sphinx.errors import ExtensionError
|
|
|
|
from .base import PythonMapperBase, SphinxMapperBase
|
|
|
|
from .base import PythonMapperBase, SphinxMapperBase
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DOCFX_COMMAND = 'docfx'
|
|
|
|
|
|
|
|
if platform.system() == 'Windows':
|
|
|
|
|
|
|
|
DOCFX_COMMAND = 'docfx.cmd'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Doc comment patterns
|
|
|
|
# Doc comment patterns
|
|
|
|
DOC_COMMENT_PATTERN = r'''
|
|
|
|
DOC_COMMENT_PATTERN = r'''
|
|
|
|
\<%(tag)s
|
|
|
|
\<%(tag)s
|
|
|
@ -73,14 +68,16 @@ class DotNetSphinxMapper(SphinxMapperBase):
|
|
|
|
all_files.add(_file)
|
|
|
|
all_files.add(_file)
|
|
|
|
if all_files:
|
|
|
|
if all_files:
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
command = [DOCFX_COMMAND, 'metadata', '--raw', '--force']
|
|
|
|
command = ['docfx', 'metadata', '--raw', '--force']
|
|
|
|
command.extend(all_files)
|
|
|
|
command.extend(all_files)
|
|
|
|
proc = subprocess.Popen(
|
|
|
|
proc = subprocess.Popen(
|
|
|
|
' '.join(command),
|
|
|
|
' '.join(command),
|
|
|
|
stdout=subprocess.PIPE,
|
|
|
|
stdout=subprocess.PIPE,
|
|
|
|
stderr=subprocess.PIPE,
|
|
|
|
stderr=subprocess.PIPE,
|
|
|
|
|
|
|
|
shell=True,
|
|
|
|
env=dict((key, os.environ[key])
|
|
|
|
env=dict((key, os.environ[key])
|
|
|
|
for key in ['PATH', 'HOME']
|
|
|
|
for key in ['PATH', 'HOME', 'SYSTEMROOT',
|
|
|
|
|
|
|
|
'USERPROFILE', 'WINDIR']
|
|
|
|
if key in os.environ),
|
|
|
|
if key in os.environ),
|
|
|
|
)
|
|
|
|
)
|
|
|
|
_, error_output = proc.communicate()
|
|
|
|
_, error_output = proc.communicate()
|
|
|
|