Add ability to install c-sharp netcoredbg

Add ability to forcefully enable debug adapters that aren't "supported"
(i.e. tested).
This commit is contained in:
Ben Jackson 2019-06-19 15:36:03 +01:00
commit 2f51c9535b

View file

@ -106,21 +106,40 @@ GADGETS = {
}, },
'do': lambda name, root: InstallTclProDebug( name, root ) 'do': lambda name, root: InstallTclProDebug( name, root )
}, },
'vscode-mono-debug': { 'netcoredbg': {
'language': 'csharp', 'language': 'csharp',
'enabled': False, 'enabled': False,
'download': { 'download': {
'url': 'https://marketplace.visualstudio.com/_apis/public/gallery/' 'url': ( 'https://github.com/Samsung/netcoredbg/releases/download/latest/'
'publishers/ms-vscode/vsextensions/mono-debug/${version}/' '${file_name}' ),
'vspackage',
'target': 'vscode-mono-debug.tar.gz',
'format': 'tar', 'format': 'tar',
}, },
'all': { 'all': {
'file_name': 'vscode-mono-debug.vsix', 'version': 'master'
'version': '0.15.8', },
'checksum': 'macos': {
'723eb2b621b99d65a24f215cb64b45f5fe694105613a900a03c859a62a810470', 'file_name': 'netcoredbg-osx-master.tar.gz',
'checksum': '',
},
'linux': {
'file_name': 'netcoredbg-linux-master.tar.gz',
'checksum': '',
},
'do': lambda name, root: MakeSymlink( gadget_dir,
name,
os.path.join( root, 'netcoredbg' ) ),
'adapters': {
'netcoredbg': {
"name": "netcoredbg",
"command": [
"${gadgetDir}/netcoredbg/netcoredbg",
"--interpreter=vscode"
],
"attach": {
"pidProperty": "processId",
"pidSelect": "ask"
},
},
} }
}, },
'vscode-bash-debug': { 'vscode-bash-debug': {
@ -340,6 +359,12 @@ parser.add_argument( '--all',
for name, gadget in GADGETS.items(): for name, gadget in GADGETS.items():
if not gadget.get( 'enabled', True ): if not gadget.get( 'enabled', True ):
parser.add_argument(
'--force-enable-' + gadget[ 'language' ],
action = 'store_true',
help = 'Install the unsupported {} debug adapter for {} support'.format(
name,
gadget[ 'language' ] ) )
continue continue
parser.add_argument( parser.add_argument(
@ -361,11 +386,11 @@ failed = []
all_adapters = {} all_adapters = {}
for name, gadget in GADGETS.items(): for name, gadget in GADGETS.items():
if not gadget.get( 'enabled', True ): if not gadget.get( 'enabled', True ):
if not getattr( args, 'force_enable_' + gadget[ 'language' ] ):
continue continue
else:
if not args.all and not getattr( args, 'enable_' + gadget[ 'language' ] ): if not args.all and not getattr( args, 'enable_' + gadget[ 'language' ] ):
continue continue
if getattr( args, 'disable_' + gadget[ 'language' ] ): if getattr( args, 'disable_' + gadget[ 'language' ] ):
continue continue