emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IDE


From: Przemysław Wojnowski
Subject: Re: IDE
Date: Fri, 16 Oct 2015 13:17:33 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

W dniu 16.10.2015 o 12:27, Dmitry Gutov pisze:
On 10/16/2015 10:39 AM, Przemysław Wojnowski wrote:

IIUC someone developing an EDE support (a plugin?) for a build tool can
provide as many as s/he wants, right? For example for a build tool a
developer may provide only two definitions: clean and build.

No, they'll have to extend every relevant project type (thus creating new
types), and in each of them, define clean and build. Or something along these
lines.

Any user-defined types will miss out, because the author of the build tool
support is not aware of them.
IIUC you suggest to use the Bridge Pattern to separate Project Type and Build Tool abstractions and allow to exchange them independently, right?
IMHO this is good design and maybe EDE is already built is such way (I'll have
to use and read EDE first to get better understanding of it.)

(One thing Design Patterns give, except solutions to common design problems, is a common vocabulary to facilitate communication. So instead of writing elaborates on design, one can simply say "We could apply The Bridge between X and Y abstractions", etc.)

I think that two more features would be helpful:
- composition of tasks (e.g. run "clean" before "build")

Don't build tools do that?
Some do. But even then a user may be willing to run them in a different way.
For example Maven doesn't run "clean" phase by default, when one runs other
phases (compile/package/install), so if an user wants to run "clean install"
she has to execute two separate commands. But that can be easily defined as one
compound command (clean-compile).

BTW in the Command Pattern, commands implement a common interface, so an
executor doesn't even know what is executed, except that it is a command, which
can be a Composite (pattern) Command that implements the same interface.

- allow user to add own tasks (could be customizations of default tasks,
like "compile --with-debug-symbols").

The command line could be made editable when the "call build tool" command is
invoked with a prefix.
Yes, that would be a good addition too. But sooner or later a use has a
workflow, a set of commands that she runs every time and it would be good to
allow to define in a separate, easily accessible command.

Correct me if I'm wrong, but EDE (xref and project.el) are open for
modifications, right? It not "take it as it is or leave it".

Probably. Not sure what you're really asking. For modifications by whom and how?
By contributors. Sometime projects have very restrictive attitude towards
new contributions and just reject most of proposals if they are not perfect up
front and doesn't solve all their problems at once.

BTW Why EDE (and CEDET) are in two different repositories (and projects?).
One is in Emacs sources, another here
http://sourceforge.net/projects/cedet/ ?

CEDET is in Emacs sources as well (although is has some omissions). See 
lisp/cedet.
Yes, so when one would like change EDE to, lets say, apply the Bridge pattern,
which one should be used?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]