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