Re: Help needed testing EDE branch
Lluís <[email protected]>
| Newsgroups | gmane.emacs.cedet |
|---|---|
| Message-ID | <[email protected]> |
Eric M Ludlam writes: > On 06/22/2014 03:30 PM, Lluís wrote: >> I also tried to run "customize-project" on a >> linux project, and it looks like no file is saved with the project >> customizations. I guess that's still not possible (to somehow "overlay" local >> customizations on auto-detected projects). > Hi Lluis, > There are definitely two camps on these project types. Some generate > your build system have save files to remember your configuration (such > as the the 'proj' type that supports creating both Makefiles and > Automake files. > The other types such as Linux, Emacs, cpp-root, arduino, and the other > automake project type which all detect existing projects, and if you > want to customize them, you need to edit some file related to that > project which Emacs would read in later. That makes all the sense in the world. > The generic project is different in that it just tries to find some of > your code in project form, and then has a configuration that sits on top > that saves itself between sessions. This system is nice in that the > code to make the project is simple, but you still get at the key pieces > needed for Semantic smart completion parsing, etc. > I think your observation is that some of the project types such as Linux > and Emacs don't have enough automatically configured such that you want > to add some extra on top and save it away. Perhaps the right thing is > to update 'linux' as a subclass of 'generic' but with some of the extra > goodness from ede/linux kept around for pre-configuring the system. I don't have any specific use-case. I was just wondering if it would be possible to, for example, customize something like cpp-root's spp-table in ede-linux-project, or, for example, set some project-local variables or the build command. In fact, I think that saving the project-local variables across sessions would be the most useful feature at this point. To me it makes sense to implement this functionality in EDE, but many other tools try to do the same, and emacs also has the directory-local variables. I know it would be a huge effort, but do you think it would make sense to refactor the project class hierarchy? For example: * There could be the current ede-project as a base. * Per-language subclasses, (e.g., ede-lang-c, ede-lang-c++, ede-lang-java, etc.), which only care about language-specific things like include directories and preprocessor macros. * Per "project" subclasses, like ede-proj-linux inheriting from ede-lang-c and automatically setting some of its values like include directories. The ede-generic-project could be refactored as inheriting from some "sane" set of per-language project types (maybe from all of them?). Honestly, I don't know how the automake, make, etc. project types would fit in this scheme. Now that I think about it, the project defines two things, the per-language resources (what I called per-language project classes), and the per-build-system logic (like an automake project type; linux could be in this category too). The latter could thus feed information to the former. Just thinking out loud. > As I don't use that project type, I'm uncertain if that makes sense, but > I could whip up a prototype if you think it would be useful. You could > probably simulate by just deleting ede/linux.el, rebuilding, and see > what happens when it instead finds your Linux project via the generic > Makefile project type. AFAIR, the ede-linux-project does two main things: * Perform project auto-detection using a project-specific method (by checking if a specific file exists with specific contents). * Setting the appropriate include paths for semantic and other tools (also taking into account that a separate build directory can contain part of the include paths). Thanks, Lluis -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth ------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft _______________________________________________ Cedet-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/cedet-devel