Tools

Here is the (non exhaustive) list of the languages, libraries, applications and tools I used in the last few years.

Eclipse modeling ecosystem

  • EMF (Eclipse Modeling Framework):
    building tools and applications based on a structured data model, this is the core of the modeling ecosystem
  • Xtext:
    framework for developing domain-specific languages
  • Xtend:
    general-purpose language based on Java, best practice for code generation using the template expressions
  • EMF Parsley:
    UI components (trees, tables, forms, views, editors)
  • Sirius:
    to develop a graphical modeling tool easily
  • Graphiti:
    a graphical tooling services and functions based on EMF and GEF
  • VIATRA:
    model query and transformation infrastructure

Utilities

  • Jenkins:
    automation server with many plugins
  • Nexus:
    repository for maven/gradle artifacts
  • SonarLint:
    IDE extension to ensure code quality and security
  • EclEmma:
    Java code coverage tool for Eclipse
  • Graphviz:
    graph visualization software (it’s amazing!)
  • Wireshark:
    network protocol analyzer with extension capability

General Java development

  • Java 17:
    latest LTS version of Java platform
  • Maven:
    software project management tool
  • Spring:
    most popular backand framework for Java
  • lombok:
    Java annotations for convenient development, reducing boilerplate codes
  • japicmp:
    For java library development (or usage) this is very advantageous: it compares two versions of a jar archive, and makes a detailed report of the results