Skip to content

How to upgrade a development environment

Fernando Dodino edited this page Dec 7, 2019 · 17 revisions

Useful tips for upgrading a development environment

In order to prepare a new development environment you should find

  • the latest version of Eclipse
  • the latest version of Xtext
  • any new version of Xpect

Eclipse

As a rule of thumb, we always prefer Eclipse for Java Developers because Eclipse DSL environment has older versions than recreating the environment manually.

Xtext

Xpect

Generating a new product

Eclipse uses p2 repositories which contain bundles of jars, and Wollok uses Tycho as a plugin for using those p2 repositories in a target platform and generate the final product (so you don't have to sync Maven and p2 repositories).

So, if you want to succesfully build a product, you must look for the latest bundles and the right p2 repositories (common failure is that you are looking for a newer version of a component in an old repository, or you try to use two versions of the same component)

  • TODO: add an image

Which files you should take into account

You can point to this commit as the first step to collect the files you should review whenever you want to upgrade.

Target platform file

  • org.uqbar.project.wollok.targetplatform/
    • org.uqbar.project.wollok.targetplatform.target

In this target platform file you locate p2 repositories and bundle jars, specially Xtext, EMF (Eclipse Modeling Framework), MWE/MWE2 (Modeling Workflow Engine), Xpand & Eclipse components (like SWT, GEF), and also JUnit, Xtend, EGit, Xpect... You must take care of locations & versions, based on this recommendations.

To accomplish that you should take a look at Eclipse Bundles Migration Support (here's an example of a previous one). You'll find there FAQs, incompatibilities,a and advises for migrations from latest version to the new one. If you are upgrading from 4.8 to 4.12, you should take a look at 4.9, 4.10, 4.11 & 4.12 release notes.

Maven files

  • org.uqbar.project.wollok.releng/pom.xml: upgrade Xtext & Tycho versions for main release engineering (releng) project

Additional information

These are must-see pages if you plan to release new products:

And also take a look at:

Clone this wiki locally