Skip to content

Component: Dqtranslator translates domain-specific RQA definitions to technical RQA configurations.

License

Notifications You must be signed in to change notification settings

dqualizer/dqtranslator

Repository files navigation

dqtranslator

Description

The dqtranslator is a crucial component responsible for translating domain-centric RQA (Runtime Quality Analysis) Definitions into technical RQA Configurations that can be executed by dqexec. After execution, it also translates the technical results produced by dqexec back into domain-level language, making them comprehensible to domain experts.

Think of the dqtranslator as a bridge among the other components, converting technical analysis configurations and results into terms easily comprehensible by non-technical users (aka domain experts).

A more detailed description of this component's architecture is provided in the arc42 document.

Development

Prerequisites

1. Java Development Kit (JDK) 17 or higher: Ensure that a JDK is installed on your machine as it's required to build and run Java applications.

2. Gradle: Even though we provide the Gradle wrapper, a local installation of Gradle is advantageous for running the application with your IDE. We currently use Gradle 8.5.0.

3. IDE Recommendation: Since Spring Boot applications like dqtranslator are easily developed with an Integrated Development Environment (IDE), we recommend IntelliJ IDEA for its robust support for Spring Boot and Gradle.

4. Docker: Install Docker on your local machine to work with containers. You might want to deploy the dqTranslator application locally.

5. GitHub Token : You need to create a personal GitHub Access Token, so you can retrieve the GitHub Package of dqlang. Managing GitHub Tokens

Please refer to the respective official documentation for detailed installation and configuration instructions. This section is just a guide to get you started with the essential prerequisites for setting up and deploying dqTranslator.

Compiling

Before you can start developing, you have to set up your development environment properly. If it doesnt exist, create a gradle.properties in your GRADLE_HOME directory with the following content:

gprUsername=YOUR_GITHUB_USERNAME
gprPassword=YOUR_GITHUB_ACCESS_TOKEN

Here you can look up, how to create a GitHub Access Token. Without this configuration, you are not able to access dqlang or push a dqtranslator container to the registry.

Building

It is considered best prectice to use the projects wrapper to execute gradle tasks like building and running the application. So consider to use ./gradlew build or ./gradlew run You could also use the locally installed gradle instance by using gradle build / run / assemble ... or your IDE Shortcuts.

Building a local Docker Image

Depending on your operating system you can use the dockerfiles in /docker. Use /docker/ubuntu/Dockerfile to build on M1 / M2 Chips and /docker/alpine/Dockerfile for all other platforms. Example: docker buildx build -t dqtranslator:no-alpine -f deployment/docker/ubuntu/Dockerfile --build-arg="GITHUB_USER=SomeUser" --build-arg="GITHUB_TOKEN=SomeToken" .

About

Component: Dqtranslator translates domain-specific RQA definitions to technical RQA configurations.

Resources

License

Stars

Watchers

Forks

Packages