Development Environment Setup

Fernando Dodino edited this page Feb 22, 2018 · 50 revisions

Preparing the development environment

General requirements

For Current Wollok Versions

IDE

Wollok 1.6 (current stable build)

You'll need to install some eclipse maven connectors (check below in "importing into the IDE")

Wollok 1.7 (bleeding edge build) is based on Eclipse Oxygen.

  1. Choose Help -> Install New Software... from the menu bar and Add....
  2. Insert the update site URLs above. This site aggregates all the necessary and optional components and dependencies of Xtext.
  3. Select the "Xtext Complete SDK" and "Xtend IDE" options from the category Xtext and complete the wizard by clicking the Next button until you can click Finish.
  4. After a quick download and a restart of Eclipse, Xtext is ready to use.

Working with the code

This should work independently of your IDE (eclipse)

# using ssh
git clone git@github.com:uqbar-project/wollok.git
# or https
git clone https://github.com/uqbar-project/wollok.git
  • Switch to "dev" branch, which is our main development branch. We don't directly modify the "master" branch
git checkout dev

Be sure that

  • you are pointing to a JDK 1.8 in JAVA_HOME environment variable
  • you have to configure MAVEN_OPTS with this setting
MAVEN_OPTS=-Xmx2048m -Duser.language=en -Duser.country=US -Dnl=  -Dfile.encoding=UTF-8 -Darguments='-Dtycho.disableP2Mirrors=true' -Dtycho.disableP2Mirrors=true

You can check this configuration

fernando@dodain-pc ~ $ mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T13:41:47-03:00)
Maven home: /usr/local/apache-maven-3.3.9
Java version: 1.8.0_45, vendor: Oracle Corporation
Java home: /usr/lib/jvm/jdk1.8.0_45/jre
Default locale: en_US, platform encoding: UTF-8
  • Default locale is en, otherwise your build will fail if you are in a Spanish OS installation. That is because some XPECT tests need a locale validation message.
  • We are telling maven not to use mirrors, because when using archived p2 repositories, a NullPointerException is thrown during build.

Then run perform a maven build to run all the tests and make sure it all runs fine:

cd org.uqbar.project.wollok.releng/
mvn clean install

You need to have an internet connection for the build, since maven tycho plugins required this :(

Importing the code into the IDE

After you have built it with maven you can import all the projects into eclipse by using the "Import existing Maven project" option and selecting all the projects in the repository.

There will be a couple (3?) of pom files with errors similar to "Plugin Execution not covered...". That's because you need to install some extensions (connectors) to eclipse's maven plugin. Hit CTRL+1 or right-click and select "Install connector" (or something like that). Then select it and install it. You need to do this for:

  • Tycho,
  • buildhelper, etc.

Don't worry if errors appear, they will be corrected next step.

Settings

Configuring Eclipse ini file

  • Close Eclipse
  • Add following line to eclipse.ini of your Eclipse installation:
  • Open Eclipse again
-vmargs
-Dosgi.requiredJavaVersion=1.8
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
-Declipse.p2.max.threads=10
-Declipse.p2.mirrors=false

Setting JRE language in Eclipse

If you are in a spanish OS installation, in Eclipse, you could alternatively set the VM arguments. To this aim, go to Preferences -> Java -> Installed JRE, then select the JRE in which the tests are to be run, "Edit" and in the pop-up window, fill the "Default VM Arguments" field.

-Duser.language=en -Duser.country=US -Dnl=

Default encoding to UTF-8

If you are in a Windows installation, please go to Window > Preferences > Find "encoding" and set all configs to UTF-8.

Target Platform

Window > Preferences > Find "target" and set "Target Platform" to definition in org.uqbar.project.wollok.targetplatform

If there are errors in this target platform definition, you should Edit it, and then Reload it (you must have Internet connection).

Running tests

Run all JUNIt tests from eclipse by right-clicking the "org.uqbar.project.wollok.test" project.

If your machine is in a different locale/language than english, then some tests will fail, since they expect english messages. To fix that configure the Run Configuration for the test adding the following JVM arguments

-Duser.language=en -Duser.country=US -Dnl=

Running an embedded Wollok environment

If you want to test Wollok environment from a User point of view, go to org.uqbar.project.wollok.ui, open plugin.xml file and in Overview Tab (first of all) > Launch an Eclipse application (or Launch an Eclipse application in Debug mode). This opens a new environment in User mode.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.