Re: Continue Eclipse Freemarker DLTK?
Daniel Dekany <[email protected]> Fri, 2 Aug 2013 12:24:40 +0200
| Newsgroups | gmane.comp.web.freemarker.devel |
|---|---|
| Message-ID | <[email protected]> |
Friday, August 2, 2013, 9:42:49 AM, Angelo zerr wrote: > Hi Daniel, > > I like your idea. Is it possible for you to implement that with RMI > and I will do the same thing for DBGP. It is, but the question is when... First I will have to finish the overloaded-method fixes (that's something unrelated to debugging and DLTK), and that alone will take some time. The logical thing would be if next I start working on refactoring freemarker.debug and then add stepping. But, I don't think Liferay will accept a FreeMarker release past summer (to be part of their next release), and Greg said he could use the stepping in the Liferay IDE, and certainly a lot more (because I bet many things are missing from the debugger API). So, Greg, what if I roll out 2.3.21 earlier than the end of summer, and then at some later point 2.3.22 where the only change is improved debugging support? Would they still hesitate to use that release in the product? I don't know, I'm just trying to shove this feature in, while time is clearly running out... > I would like to restart from scratch my DBGP debugger to : > > 1) remove dependencies of DLTK. > 2) manage debugging with existing application (I call that for the moment remote debugging). > > If DLTK dependencies are removed, I tell me that DBGP debugger > could be hosted in the Freemarker JAR. > Why? Because it will avoid to the user who wish to debug Freemarker > to add an extra freemarker-dbgp.jar in their classpath. Certainly, if the "standard" Eclipse FreeMarker plugin will use DBGP, it should be able to connect with as little hassle as possible. (Although it doesn't influence development, so we can decide it later too.) Speaking of which... As far as I see, DBGP requires the IDE(!) to listen on port 9000 (or whatever you set up), and it's the application server that connects there, and waits a continuation command from the IDE. I don't get it. That sounds like if this protocol was designed for applications locally, in a single-user environment. So let's say you have a running development/staging server somewhere. How do you tell the server (which is already running!) that you want to start debugging from this-and-that workstation? Do you have to also open a port on the server, and tell it with some non-standard protocol, that please connect back to yourWorkstationIp:9000? And even after that, connecting back to a workstation from a server can be a real headache. You have to fight through all the fire walls and NAT. (The sane way is to connect to the server on a fixed port, then you use that channel for two-way communication.) How does DLTK do this? Last not least, although FreeMarker doesn't compile to bytecode, is it possible that we can still piggyback the standard Java debugging protocol somehow? I guess not, but anyway, that would give the ideal user experience. You just debug your application as normally, only you can put break-points into templates. It's maybe impossible, just a wild idea. If nothing else, maybe we can start the XxxDebuggerServer through it, so that the system properties need not be set by the user. > Regards Angelo > > > 2013/8/2 Daniel Dekany <[email protected]> > Friday, August 2, 2013, 12:03:24 AM, Daniel Dekany wrote: > >> . `XxxDebuggerServer`, whose instantiation is done by FreeMarker, >> based on the system property (`freemarker.debug.debuggerServer`), >> unless it was already set with static >> Environment.setDebuggerServer(). `XxxDebuggerServer`, after >> translating from/to Xxx, delegates to >> `LocalDebuggerServer.getInstance()`. > > I meant, "delegates to Environment.getDebugger()"... > > And BTW, we don't have `DebuggerService` anymore. Of course. > > -- > Thanks, > Daniel Dekany -- Thanks, Daniel Dekany ------------------------------------------------------------------------------ Get your SQL database under version control now! Version control is standard for application code, but databases havent caught up. So what steps can you take to put your SQL databases under version control? Why should you start doing it? Read more to find out. http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk