Developer Quick Start
Estimated reading time: 5 minutes
The *Test-Editor is basically composed of three projects (all open source, all hosted on github.com)
- Test-Editor-Web, the UI project
- Test-Editor-Backend, the dropwizard java backends providing
REST
services for the UI - Test-Editor-Xtext-Gradle, the xtext language running under the hood
The development environment for each of the projects can be installed with just a couple of shell commands. E.g. (for test-editor-xtext-gradle):
git clone https://github.com/test-editor/test-editor-xtext-gradle.git
curl https://nixos.org/nix/install | sh # get nix package manager (if you happen to not have it installed)
cd test-editor-xtext-gradle
nix-shell # setup build environment (takes a bit on first invocation)
./gradlew build
Test-Editor-Web (UI project)
To locally setup the development environment, follow the setup section within the readme of the project here. Don’t worry, it is setup in no time with just a couple of shell commands. Prerequisite is an installation of linux with curl and git, all other dependencies are pulled by the respective shell.nix (using the nix package manager).
You can edit the project files (mostly typescript) with an editor of your choice (e.g. Visual Studio Code, gedit, Emacs).
It is an angular 5 project using yarn. It is composed of several angular UI-Components that are pulled in via dependencies in the packages.json
and are colocated to this project.
The UI contains no business logic. All (non UI) functionality is realized through REST
calls into the backend.
Technologies: angular 5, typescript
Supporting Technologies: nix, git, yarn, ng-packagr
Test-Editor-Backend (REST services)
To locally setup the development environment, follow the setup section within the readme of the project here. Don’t worry, it is setup in no time with just a couple of shell commands. Prerequisite is an installation of linux with curl and git, all other dependencies are pulled by the respective shell.nix (using the nix package manager).
You can edit the project files (mostly xtend) with an IDE of your choice (e.g. Eclipse). If using Eclipse, please make sure to use photon for DSL and install Buildship
for gradle integration. After ./gradlew eclipse
you can import the gradle project. Please make sure to reduce cyclic project dependency errors (which only eclipse sees) to warnings.
The backend project consists of two subprojects
- xtext backend (in org.testeditor.web.backend.xtext), providing language and index
REST
endpoints - persistence backend (in org.testeditor.web.backend.persistence), providing persistence and test execution
REST
endpoints
Technologies: java 10, xtend, dropwizard
Supporting Technologies: nix, git, gradle
Test-Editor-Xtext-Gradle (Languages)
To locally setup the development environment, follow the setup section within the readme of the project here. Don’t worry, it is setup in no time with just a couple of shell commands. Prerequisite is an installation of linux with curl and git, all other dependencies are pulled by the respective shell.nix (using the nix package manager).
You can edit the project files (mostly xtend and xtext) with an IDE of your choice (e.g. Eclipse). If using Eclipse, please make sure to use photon for DSL and install Buildship
for gradle integration. After ./gradlew eclipse
you can import the gradle project. Please make sure to reduce cyclic project dependency errors (which only eclipse sees) to warnings.
The language project consist of a quite a lot of subprojects which are described in more detail in the project readme.
Technologies: java 10, xtend, xtext
Supporting Technologies: nix, git, gradle