ModelGoon 4.4.1

April 17th, 2011

ModelGoon 4.4.1 is now available. This release contains bug fixes on Class and Interaction diagrams. As I am currently working on round-trip features, they are available as beta. Feel free to contact me for suggestions or comments on round-trip implementations.

As usual, updates can be made via the Eclipse update menu, and here is the archive site : Download Archive Site Here.

I hope you continue to enjoy ModelGoon and always welcome your feedback. Don’t forget to support ModelGoon @ the Marketplace by adding it to your favorites.

Code Edition From Class Diagram Preview

April 12th, 2011

See how easy it will be to edit your code with ModelGoon’s Class Diagram!

Coming soon!

ModelGoon 4.4.0 Released

April 10th, 2011

ModelGoon 4.4.0 is now available, it contains major improvements on Class and Interaction Diagrams :

  • Connections can be routed manually
  • User can create and edit notes on the diagram
  • User can define associations type : Simple, Aggregation or Composition (with the context menu)

Existing diagrams are fully compatible with ModelGoon 4.4.0. I will soon update the user’s guide.

As usual, updates can be made via the Eclipse update menu, and here is the archive site : Download Archive Site Here.

I hope you continue to enjoy ModelGoon and always welcome your feedback. Don’t forget to support ModelGoon @ the Marketplace by adding it to your favorites.

Class Diagram enhancement preview

March 21st, 2011

Here is a screenshot of the new features which will be available soon for the Class Diagram. Stay tuned and thanks to WT!

ModelGoon 4.3.0 Released

March 13th, 2011

ModelGoon 4.3.0 is now available. This version contains the following updates only available (for now on) in the Package Dependencies Diagram:

  • Connections can be routed manually
  • User can create and edit notes on the diagram
  • Internal evolutions in order to prepare the future releases
  • ZEST dependency removed

As usual, updates can be made via the Eclipse update menu, and here is the archive site : Download Archive Site Here.

I hope you continue to enjoy ModelGoon and always welcome your feedback. Don’t forget to support ModelGoon @ the Marketplace by adding it to your favorites.

The following screencast shows the new features in action.

Building Eclipse plugins with Maven

March 8th, 2011

In this short tutorial I will explain how to build Eclipse plugin with Maven and Tycho. I decided to write this tutorial as I struggled to manage to build ModelGoon in an “industrial” manner with Maven. This tutorial supposes that the reader has a good knowledge of Maven builds and Eclipse Plugins structure.

Introduction :

Building an Eclipse plugin with maven is quite different from building other Java applications. OSGi bundles are stored in  p2 repositories (as Maven uses m2 repositories) and defines their versions and dependencies in the Manifest ; Maven uses the POM. In order to perform the build, we will use a maven plugin called Tycho and the M2Eclipse plugin with Tycho support.

What I did for ModelGoon is to create a Maven multi-module project containing :

  • the plugin’s implementation
  • the test plugin : contains all unit tests
  • the feature
  • the update site
  • the target platform description

In the next sections I will only focus on the Tycho specific part.

Parent Project Configuration :

The parent Project’s POM adds the declaration of “tycho-maven-maven” and describes the target platform’s configuration.

<
packaging>pom</packaging>

…..

<plugin>
<groupId>org.sonatype.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.sonatype.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<resolver>p2</resolver>
<pomDependencies>consider</pomDependencies>
<target>
<artifact>
<groupId>org.modelgoon</groupId>
<artifactId>TargetPlatform</artifactId>
<version>4.2.0-SNAPSHOT</version>
<classifier>platform</classifier>
</artifact>
</target>
</configuration>
</plugin>

Target Platform Configuration :

First of all we need to create a target Definition :  “New->Plugin Development->Target Definition”
Then we add referenced p2 repositories in it. This is where the tycho plugin will search for plugins bundles. For instance :
-  http://download.eclipse.org/eclipse/updates/3.6 Official Eclipse p2 repository
-  http://download.eclipse.org/tools/gef/updates/releases GEF’s p2 repository
Note that it is also possible to work will a local repository if there is no internet connexion available. In this case, just create an update site project, add all of the proposed bundles, and host it on a local web server.
The project packaging must be “pom” :
<packaging>pom</packaging>

Then just add the following line into the project’s pom.xml :
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>platform.target</file>
<type>target</type>
<classifier>platform</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>

Plugin Project Configuration :

The packaging has to be :
<packaging>eclipse-plugin</packaging>
Here comes Tycho’s configuration part :
<plugin>
<groupId>org.sonatype.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<resolver>p2</resolver>
<target>
<artifact>
<groupId>org.modelgoon</groupId>
<artifactId>TargetPlatform</artifactId>
<version>4.2.0-SNAPSHOT</version>
<classifier>platform</classifier>
</artifact>
</target>
</configuration>
</plugin>
Note that it is still possible to include standard Maven dependencies inside the POM.

Test Project Configuration :

Only the packaging differs from the Plugin project configuration. It has to be :
<packaging>eclipse-test-plugin</packaging>

Feature configuration :

In this part, there is no need for tycho configuration just define the packaging as :
<packaging>eclipse-feature</packaging>

Update Site configuration :

Define the packaging :
<packaging>eclipse-update-site</packaging>
I also added this in the plugins section :
<plugin>
<groupId>org.sonatype.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<configuration>
<allowConflictingDependencies>true</allowConflictingDependencies>
</configuration>
</plugin>

Thanks for reading, hope it helps!

Class Diagram Tutorial

March 8th, 2011

Thanks to oanacioara!

ModelGoon 4.2.0

February 13th, 2011

Here comes ModelGoon 4.2.0! ModelGoon is now built with Maven and Tycho, and internal architecture changes have been made in order to prepare the next features… This version contains Packages Dependencies Diagram improvement : link selection displays the classes causing the dependency.

Update can be made via the Eclipse update menu. Therefore, dropins installation is no longer supported : you have to download the following archive site and install it as a local archive site. I will soon update the installation page.

Download Archive Site here.

I hope you continue to enjoy ModelGoon and always welcome your feedback.

ModelGoon 4.1.1 released

January 23rd, 2011

Here come the release of ModelGoon 4.1.1. Download it here for dropins installation or use the Eclipse upadte menu. This release only contains bug fixes.

I hope you continue to enjoy ModelGoon and always welcome your feedback.

ModelGoon 4.1.0

January 9th, 2011

ModelGoon 4.1.0 is available on its update site and can be downloaded here for dropins installation. This version fixes installation troubleshootings when running on a 1.5 JVM, and major bugs (NPE and other funky stuffs). For more informations visit ModelGoon’s tickets manager which is now powered by Assembla. If you like ModelGoon, don’t forget to star it on Eclipse MarketPlace.