Bug 1409121 - Include the generated WebIDL and IPDL source files in Eclipse CDT. r=botond draft
authorJonathan Watt <jwatt@jwatt.org>
Mon, 16 Oct 2017 20:40:45 +0100
changeset 681005 b222aa3ab9313b8917566695b2ee198368c0bf74
parent 681004 fa3b65ce1dc0be9b0246dadf016a94c8fd75fba2
child 736049 f01b85d6d16811e62fd172d39c03ac947cb9d213
push id84716
push userjwatt@jwatt.org
push dateMon, 16 Oct 2017 19:41:25 +0000
reviewersbotond
bugs1409121
milestone58.0a1
Bug 1409121 - Include the generated WebIDL and IPDL source files in Eclipse CDT. r=botond MozReview-Commit-ID: I0rQ50O0S2G
python/mozbuild/mozbuild/backend/cpp_eclipse.py
--- a/python/mozbuild/mozbuild/backend/cpp_eclipse.py
+++ b/python/mozbuild/mozbuild/backend/cpp_eclipse.py
@@ -222,16 +222,18 @@ class CppEclipseBackend(CommonBackend):
 
         #TODO Add more launch configs (and delegate calls to mach)
 
     def _write_project(self, fh):
         project = PROJECT_TEMPLATE;
 
         project = project.replace('@PROJECT_NAME@', self._project_name)
         project = project.replace('@PROJECT_TOPSRCDIR@', self.environment.topsrcdir)
+        project = project.replace('@GENERATED_IPDL_FILES@', os.path.join(self.environment.topobjdir, "ipc", "ipdl"))
+        project = project.replace('@GENERATED_WEBIDL_FILES@', os.path.join(self.environment.topobjdir, "dom", "bindings"))
         fh.write(project)
 
     def _write_cproject(self, fh):
         cproject_header = CPROJECT_TEMPLATE_HEADER
         cproject_header = cproject_header.replace('@PROJECT_TOPSRCDIR@', self.environment.topobjdir)
         cproject_header = cproject_header.replace('@MACH_COMMAND@', os.path.join(self.environment.topsrcdir, 'mach'))
         fh.write(cproject_header)
 
@@ -278,16 +280,26 @@ PROJECT_TEMPLATE = """<?xml version="1.0
                 <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
         </natures>
         <linkedResources>
                 <link>
                         <name>tree</name>
                         <type>2</type>
                         <location>@PROJECT_TOPSRCDIR@</location>
                 </link>
+                <link>
+                        <name>generated-ipdl</name>
+                        <type>2</type>
+                        <location>@GENERATED_IPDL_FILES@</location>
+                </link>
+                <link>
+                        <name>generated-webidl</name>
+                        <type>2</type>
+                        <location>@GENERATED_WEBIDL_FILES@</location>
+                </link>
         </linkedResources>
         <filteredResources>
                 <filter>
                         <id>17111971</id>
                         <name>tree</name>
                         <type>30</type>
                         <matcher>
                                 <id>org.eclipse.ui.ide.multiFilter</id>