tag:blogger.com,1999:blog-48840938267554488682024-01-26T03:00:44.537+01:00Jevopi's Developer BlogIf the meaning of the blog isn't clear, there really should be more of a description here...Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.comBlogger40125tag:blogger.com,1999:blog-4884093826755448868.post-9681322719916528192019-10-14T13:54:00.000+02:002019-10-29T13:55:56.009+01:00Setup a Github Triggered Build Machine for an Eclipse ProjectDisclaimer 1: This blog post literally is a "web log", i.e., it is my log about setting up a Jenkins machine with a job that is triggered on a Github pull request. A lot of parts have been described elsewhere, and I link to the sources I used here. I also know that nowadays (e.g., new Eclipse build infrastructure) you usually do that via docker -- but then you need to configure docker, in which Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com2tag:blogger.com,1999:blog-4884093826755448868.post-59532025692850191392019-10-05T12:34:00.000+02:002019-10-08T14:16:32.410+02:00JShell in EclipseJava 9 introduced a new command line tool: JShell. This is a read–eval–print loop (REPL) for Java with some really nice features. For programmers I would assume writing a test is the preferred choice, but for demonstrating something (in a class room for example) this is a perfect tool if you are not using a special IDE such as BlueJ (which comes with its own REPL).
The interesting thing about Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com2tag:blogger.com,1999:blog-4884093826755448868.post-81319309976507716592017-08-17T20:14:00.000+02:002017-08-18T08:59:55.857+02:00Two new Eclipse projects: Xpect and XsemanticsYesterday, two new Eclipse projects had been created:
Eclipse Xpect
Eclipse Xsemantics
Both project are around for quite some time and they both are based on Eclipse Xtext, the famous framework to create editors with all state-of-the-art features (parser, linker, validators, content assist, etc.) for your own textual DSLs, simply based on a grammar.
Xpect is written by Moritz Eysholdt, who Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com0tag:blogger.com,1999:blog-4884093826755448868.post-28082765053532267072016-11-03T12:17:00.000+01:002016-11-03T14:00:45.889+01:00BoF @ ECE2016: Eclipse and AsciiDoc
At NumberFour, we use AsciiDoc for our specifications and documentation. We are even working on producing AsciiDoc API documentation from JSDoc-like comments (similar to JavaDoc) for our JavaScript language N4JS. Since we ran into a couple of problems with AsciiDoctor, I thought that it might be interesting to learn what other people in the Eclipse Community think about AsciiDoc(tor) and if we Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com0tag:blogger.com,1999:blog-4884093826755448868.post-37875258338124775472016-07-21T14:53:00.000+02:002016-07-21T14:53:36.503+02:00From Xcore/ecore to OmniGraffleSome years ago I wrote a small tool for creating OmniGraffle UML diagrams directly from Java source code. Visualizing Java is nice, but since I'm often use ecore/Xcore to define my models, I wanted a tool to also nicely visualize EMF based models.
I have now extended my tool, j2og, to also create UML class diagrams from ecore or Xcore models. Below you see a (manually layouted) version of an Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com0tag:blogger.com,1999:blog-4884093826755448868.post-35989215280087279772016-03-14T12:06:00.001+01:002016-03-14T19:21:37.721+01:00N4JS: Emphasising the Java in JavaScript
For the last three years, I have worked at NumberFour leading a team which creates a type-safe extension for ECMAScript (aka JavaScript) called N4JS. I'm happy to tell you that yesterday, NumberFour announced N4JS to go open source (press release, PDF). You can find the project home page at:
http://numberfour.github.io/n4js/
N4JS bridges the strengths of JavaScript and Java; the Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com0tag:blogger.com,1999:blog-4884093826755448868.post-53049042519892808052015-10-18T17:08:00.000+02:002015-10-18T17:08:12.029+02:00j2og -- Java To OmniGraffle, UpdatedThree years ago, I wrote a small plugin called "j2og" (for Java To OmniGraffle) which can create OmniGraffle drawings from your existing Java files. At that time, I used AppleScript to create the drawing. Unfortunately this mechanism was a little bit fragile, and somehow it didn't work with new versions of OmniGraffle / Mac OS X. Instead of fixing the AppleScript problem, I rewrote the export.
Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com2tag:blogger.com,1999:blog-4884093826755448868.post-70901120218518635402015-03-19T19:58:00.000+01:002015-03-19T19:58:01.686+01:00CfP: Workshop on Methodical Development of Modeling Tools (ModTools15)Same procedure as last year? Same procedure as every year... but this time it's Australia. This is where EDOC 2015 is located, and this is where the following workshop is located this year:
3rd International
Workshop on Methodical Development of Modeling Tools (ModTools15)
on the 19th IEEE International Enterprise Computing Conference EDOC 2015
This year, EDOC takes place in Adelaide, Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com0tag:blogger.com,1999:blog-4884093826755448868.post-78128809369141917092014-02-17T22:54:00.000+01:002014-04-10T22:18:31.362+02:00CfP: Workshop on Methodical Development of Modeling ToolsHow time flies... only recently I posted about a workshop (held at EDOC 2013), and today I can announce the 2014 version, held at EDOC 2014. It's the
2nd International
Workshop on Methodical Development of Modeling Tools (ModTools14)
on the 17th IEEE International Enterprise Computing Conference EDOC 2014
This year, EDOC takes place in Ulm, Germany. You will find the call for paper and Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com0tag:blogger.com,1999:blog-4884093826755448868.post-65346909397878437192013-02-11T20:38:00.001+01:002013-02-11T20:38:22.316+01:00CfP: Workshop on Methodical Development of Modeling Tools (MeDMoT'13 @ #EDOC2013)
From my experience, a lot of developers and researchers use Eclipse modeling tools -- or even implement their own modeling tools. So you may be interested in the following CfP for the
Workshop on Methodical Development of Modeling Tools (MeDMoT'13)
on the 17th IEEE International Enterprise Computing Conference EDOC 2013
Submission deadline: 2013-04-15
Having modeling tools available is a Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com0tag:blogger.com,1999:blog-4884093826755448868.post-79169290996857313742012-08-30T23:12:00.000+02:002012-08-31T13:04:56.534+02:00Modelitis, or, everything you always wanted to know about modelingA couple of years ago I left the world of industrial software projects, and joined the academic world of computer science. I already had used models, I knew quite a few things about UML, even had programmed a graphical UML editor using GEF, in other words, I felt prepared to explore the universe of modeling. However, as my former boss and tutor Prof. Dr. Hans-Werner Six correctly diagnosed, I Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com0tag:blogger.com,1999:blog-4884093826755448868.post-87788831810611392912012-05-10T21:35:00.000+02:002012-05-10T21:38:22.700+02:00CfP: Methodical Development of Modeling ToolsJens Gulden and I are organizing an international workshop, called "Methodical Development of Modeling Tools" (MeDMoT'12), which I assume to be particularly interesting for Eclipse developers, since modeling tools often leverage Eclipse (modeling) technologies (are there any modeling tools out there not using EMF? Just kidding ;-) ). It is held in conjunction with the 15th IEEE International Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com0tag:blogger.com,1999:blog-4884093826755448868.post-15084026919381821312012-04-27T17:55:00.000+02:002012-04-27T18:59:36.027+02:00Hosted Continuous IntegrationChris blogged about Travis CI a while ago, a site which provides free CI for github projects. Unfortunately, Travis is for github projects only. So, I was wondering if there are other hosted CI solutions available. Here are the results a short google session, some tools are also suggested at stackoverflow:
SiteCI systemBuild systemVCSTriggerNotificationPricingDeploymentComment
Travis CI
Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com2tag:blogger.com,1999:blog-4884093826755448868.post-48271267490250726672012-02-01T12:29:00.000+01:002012-02-01T12:29:25.041+01:00Dreaming of an Eclipse Plugin-Store...or how to sell little tools for little money...
A while ago, I wrote a little tool for exporting UML-like diagrams for Java classes and packages to OmniGraffle. I blogged about that tool and, from my statistics, it got downloaded over 100 times. I also announced that the tool will stop working in 2012, which it actually did. As I wrote in the announcement of the tool, based on the feedback I Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com12tag:blogger.com,1999:blog-4884093826755448868.post-83570043756415589022011-12-22T15:47:00.001+01:002011-12-22T15:48:37.222+01:00GEF3D goes Git, Maven/Tycho, and Hudsonor
Standing on the shoulders of giants
Abstract: Setting up a continuous integration build based on Git, Maven/Tycho, and Hudson is surprisingly easy. I assume that this is no real news for most readers. However, I ways very skeptical about that, especially because of all the project dependencies. So, this posting is meant for readers hesitating to set up an automatic build system because they Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com1tag:blogger.com,1999:blog-4884093826755448868.post-75185134524672554732011-08-21T23:43:00.004+02:002011-11-01T15:29:27.940+01:00Java To OmniGraffleIf you ask developers using Mac OS X about their favorite diagramming tool, you will often get the same answer: OmniGraffle. I also like OmniGraffle very much, and I'm still wondering what makes this tool so much better then all the GEF based editors.
When I have to create diagrams for documenting some Java code, I used to manually draw an UML like class diagram with OmniGraffle. This is an Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com38tag:blogger.com,1999:blog-4884093826755448868.post-72811988501292969742011-06-29T00:17:00.001+02:002011-06-29T09:20:00.795+02:00It's full of classes!"The thing's hollow---it goes on forever---and---oh my God!---it's full of stars!" (Arthur C. Clarke: 2001. A Space Odyssey)
When I presented GEF3D in the past, people often ask me if it will scale, that is if a large number of items could be displayed. Well, the following screencast, inspired by Kubrick's great movie, shows a flight through the JDK. That is, every package of the 1.000 packages Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com0tag:blogger.com,1999:blog-4884093826755448868.post-66927080268912071882011-06-09T14:50:00.001+02:002011-06-09T14:51:38.111+02:00When your MWE2 workflow is not working...MWE2 is a kind of Ant for model related tasks. Xtext is using MWE2, and I also use it to run my own Xpand generator templates. It's a nice tiny tool, and one of the nice things is that it runs in its own JVM, so you can easily extend MWE2 with new components which resides in your project. When MWE2 is started, the project settings, i.e. the classpath (including all information from the plugin Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com0tag:blogger.com,1999:blog-4884093826755448868.post-75026967414146211352011-03-14T14:15:00.001+01:002011-03-14T14:15:40.531+01:00Implement toString with Xtext's SerializerXtext uses EMF to generate the model API of the abstract syntax tree (or graph) of a DSL. For all implementation classes, the toString() method is generated. For a simple model element, this default implementation returns a string looking similar to this:
my.dsl.impl.SomeElement@67cee792 (attr1: SomeValue)
Well, this is not too bad. However this looks completely different to my DSL syntax, whichJens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com6tag:blogger.com,1999:blog-4884093826755448868.post-72773792368624946802011-03-04T21:27:00.002+01:002011-03-05T11:19:51.387+01:00Traverse DAGs with XtendLike OCL, Xtend (a sublanguage as part of the Xpand project for model queries) provides some really powerful collection operations. These operations allow to easily retrieve elements from arbitrary models, i.e. graphs. Searching a single element in a graph is often very simple with these operation. However, when a collection is to be returned (which is not stored in some attribute), this might beJens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com0tag:blogger.com,1999:blog-4884093826755448868.post-68777749605004877532011-02-08T15:08:00.004+01:002011-02-08T16:43:52.489+01:00Extract Xtext Project WizardBesides a nice parser and a powerful editor, Xtext can also generate a project wizard and a generator plugin. In this little posting I will explain how to extract the project wizard related code from the generated UI plugin -- and explain why you would want to to that in the first place.
First of all, what does the project wizard? The project wizard is useful to set up an initial project for Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com0tag:blogger.com,1999:blog-4884093826755448868.post-6570571630266178402011-01-21T15:42:00.013+01:002011-01-21T16:38:43.640+01:00Clickable logging messagesProbably everyone is using logging. The dirty way is to use System.out/err, a better solution is to use the JDK logging or some logging library, such as log4j (or a facade, e.g., slf4j) -- and of course Log4E to generate the logger declaration and other logging code . For rich clients and small tools, I usually use the JDK logging, as I do not have to add another library and the logging is only Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com0tag:blogger.com,1999:blog-4884093826755448868.post-20003695466981559212010-06-01T14:21:00.008+02:002010-06-01T16:02:55.963+02:00Install strictly J2SE-1.4 compatible JRE on Mac OS X Snow LeopardToday I tried to compile a project requiring J2SE-1.4, i.e. with
Bundle-RequiredExecutionEnvironment: J2SE-1.4specified in its manifest.
On OS X 10.6, JRE 1.4 is no longer installed, instead, version 1.4 points to 1.6. Unfortunately, this JRE is not strictly compatible to J2SE-1.4, as I have learned from this error message:
Build path specifies execution environment J2SE-1.4.
There are no JREsJens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com10tag:blogger.com,1999:blog-4884093826755448868.post-61002909596416144262010-03-20T20:55:00.005+01:002010-03-20T21:22:49.030+01:00Quick test: GEF3D and e4 1.0 M4Yesterday I posted my experiences of getting GEF3D running on e4 0.9. This is only a quick update for e4 1.0 M4.
Remy Chi Jian Suen pointed me to e4 1.0 M4, and I followed the instruction on the Wiki page Remy linked to.
Unfortunately, I did not succeed installing GMF with e4 1.0 M4 because there were always some unsatisfy dependencies errors. So I wasn't able to reproduce the NPE I described Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com1tag:blogger.com,1999:blog-4884093826755448868.post-85051574784809246572010-03-19T16:44:00.007+01:002010-03-19T17:28:10.264+01:00Quick test: GEF3D and e4Today I received an email from someone asking whether GEF3D will work with e4. Since GEF3D is "only" an extension of GEF (and GMF), I assumed it will work. In order to be sure, I tried it myself. This is my installation log:
Step 1) Downloaded the e4 0.9 release (http://download.eclipse.org/e4/downloads/drops/R-0.9-200907291930/index.html#EclipseE4), in my case the Mac OS X Cocoa version
Step 2Jens v.P.http://www.blogger.com/profile/14089732885850015120noreply@blogger.com7