Browse Source

[tools] update eclipse target for refreshScope support.

armink 5 years ago
parent
commit
470372c5be
2 changed files with 12 additions and 4 deletions
  1. 2 2
      tools/building.py
  2. 10 2
      tools/eclipse.py

+ 2 - 2
tools/building.py

@@ -169,12 +169,12 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [
     AddOption('--project-path',
                       dest = 'project-path',
                       type = 'string',
-                      default = False,
+                      default = None,
                       help = 'set dist-ide project output path')
     AddOption('--project-name',
                       dest = 'project-name',
                       type = 'string',
-                      default = False,
+                      default = None,
                       help = 'set project name')
     AddOption('--reset-project-config',
                       dest = 'reset-project-config',

+ 10 - 2
tools/eclipse.py

@@ -426,7 +426,7 @@ def HandleExcludingOption(entry, sourceEntries, excluding):
     SubElement(sourceEntries, 'entry', {'excluding': value, 'flags': 'VALUE_WORKSPACE_PATH|RESOLVED', 'kind':'sourcePath', 'name':""})
 
 
-def UpdateCproject(env, project, excluding, reset):
+def UpdateCproject(env, project, excluding, reset, prj_name):
     excluding = sorted(excluding)
 
     cproject = etree.parse('.cproject')
@@ -440,6 +440,14 @@ def UpdateCproject(env, project, excluding, reset):
         sourceEntries = cconfiguration.find('storageModule/configuration/sourceEntries')
         entry = sourceEntries.find('entry')
         HandleExcludingOption(entry, sourceEntries, excluding)
+    # update refreshScope
+    if prj_name:
+        prj_name = '/' + prj_name
+        configurations = root.findall('storageModule/configuration')
+        for configuration in configurations:
+            resource = configuration.find('resource')
+            configuration.remove(resource)
+            SubElement(configuration, 'resource', {'resourceType': "PROJECT", 'workspacePath': prj_name})
 
     # write back to .cproject
     out = open('.cproject', 'w')
@@ -468,7 +476,7 @@ def TargetEclipse(env, reset = False, prj_name = None):
     excluding = GenExcluding(env, project)
 
     # update the project configuration on '.cproject' file
-    UpdateCproject(env, project, excluding, reset)
+    UpdateCproject(env, project, excluding, reset, prj_name)
 
     print('done!')