Variable isn't applied properly.
jptrzy opened this issue · 3 comments
jptrzy commented
I haven't used python for a wail so I couldn't successfully debug this error, but for me, it looks like SolutionDir variable isn't applied.
/***/src/xrGame/xrGame.vcxproj file:
...
<ItemGroup>
<ProjectReference Include="$(SolutionDir)3rd party\crypto\crypto.vcxproj">
<Project>{fa169092-ea3e-40c1-8e5a-a2b575700fe8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
...
Logs:
...
5.787851 7> ERR : /***/src/xrGame/xrGame.vcxproj(4196): /***/src/xrGame/$(SolutionDir)3rd party/crypto/crypto.vcxproj file not exists.
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/lib/python3.10/multiprocessing/pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "/usr/lib/python3.10/multiprocessing/pool.py", line 48, in mapstar
return list(map(*args))
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/data_converter.py", line 285, in run_conversion
converted = self.convert_project(
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/data_converter.py", line 252, in convert_project
self.collect_data(context)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/data_converter.py", line 53, in collect_data
context.parser.parse(context)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/visual_studio/vcxproj/parser.py", line 145, in parse
self._parse_nodes(context, root)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/parser.py", line 101, in _parse_nodes
node_handlers[child_node_tag](context, child_node)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/visual_studio/vcxproj/parser.py", line 154, in __parse_item_group
self._parse_nodes(context, node)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/parser.py", line 92, in _parse_nodes
self._parse_attributes(context, child_node)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/parser.py", line 117, in _parse_attributes
attributes_handlers[node_key](context, node_key, node.get(attr), node)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/visual_studio/vcxproj/dependencies.py", line 59, in add_target_reference
ref = self.get_dependency_target_name(
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/dependencies.py", line 110, in get_dependency_target_name
project_name = get_global_project_name_from_vcxproj_file(vcxproj)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/utils.py", line 174, in get_global_project_name_from_vcxproj_file
project_name_node = vcxproj['tree'].xpath('//ns:ProjectName', namespaces=vcxproj['ns'])
TypeError: 'NoneType' object is not subscriptable
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/jp3/Src/cmakeconverter/cmake_converter/main.py", line 148, in <module>
main()
File "/home/jp3/Src/cmakeconverter/cmake_converter/main.py", line 144, in main
converter.convert_solution(project_context, os.path.abspath(args.solution))
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/visual_studio/solution.py", line 330, in convert_solution
results = self.do_conversion(project_context, input_data_for_converter)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/data_converter.py", line 317, in do_conversion
results = pool.map(self.run_conversion, input_converter_data_list)
File "/usr/lib/python3.10/multiprocessing/pool.py", line 367, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/usr/lib/python3.10/multiprocessing/pool.py", line 774, in get
raise self._value
TypeError: 'NoneType' object is not subscriptable
jptrzy commented
I walk around this file not exists error by replacing $(SolutionDir) with "specific" (working) path.
Unfortunately, still I got this error:
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/lib/python3.10/multiprocessing/pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "/usr/lib/python3.10/multiprocessing/pool.py", line 48, in mapstar
return list(map(*args))
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/data_converter.py", line 285, in run_conversion
converted = self.convert_project(
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/data_converter.py", line 252, in convert_project
self.collect_data(context)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/data_converter.py", line 53, in collect_data
context.parser.parse(context)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/visual_studio/vcxproj/parser.py", line 145, in parse
self._parse_nodes(context, root)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/parser.py", line 101, in _parse_nodes
node_handlers[child_node_tag](context, child_node)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/visual_studio/vcxproj/parser.py", line 154, in __parse_item_group
self._parse_nodes(context, node)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/parser.py", line 92, in _parse_nodes
self._parse_attributes(context, child_node)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/parser.py", line 117, in _parse_attributes
attributes_handlers[node_key](context, node_key, node.get(attr), node)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/visual_studio/vcxproj/dependencies.py", line 59, in add_target_reference
ref = self.get_dependency_target_name(
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/dependencies.py", line 110, in get_dependency_target_name
project_name = get_global_project_name_from_vcxproj_file(vcxproj)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/utils.py", line 174, in get_global_project_name_from_vcxproj_file
project_name_node = vcxproj['tree'].xpath('//ns:ProjectName', namespaces=vcxproj['ns'])
TypeError: 'NoneType' object is not subscriptable
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/jp3/Src/cmakeconverter/cmake_converter/main.py", line 148, in <module>
main()
File "/home/jp3/Src/cmakeconverter/cmake_converter/main.py", line 144, in main
converter.convert_solution(project_context, os.path.abspath(args.solution))
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/visual_studio/solution.py", line 330, in convert_solution
results = self.do_conversion(project_context, input_data_for_converter)
File "/home/jp3/.local/lib/python3.10/site-packages/cmake_converter/data_converter.py", line 317, in do_conversion
results = pool.map(self.run_conversion, input_converter_data_list)
File "/usr/lib/python3.10/multiprocessing/pool.py", line 367, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/usr/lib/python3.10/multiprocessing/pool.py", line 774, in get
raise self._value
TypeError: 'NoneType' object is not subscriptable
GermanAizek commented
@jptrzy,
project_name_node = vcxproj['tree'].xpath('//ns:ProjectName', namespaces=vcxproj['ns'])
TypeError: 'NoneType' object is not subscriptable
same error, did you solve it issue?
GermanAizek commented