Commit 12749f95 authored by René Schöne's avatar René Schöne
Browse files

Updating documentation.

parent 23bcf674
Pipeline #11760 passed with stages
in 9 minutes and 12 seconds
......@@ -51,7 +51,7 @@ You might need to add another task for [compiling relast specifications](#compil
## Build from source
If you want to use `RagConnect`, the currently suggested way is to first build the jar from the [RagConnect repository](https://git-st.inf.tu-dresden.de/jastadd/ragconnect):
If you want to plan to extend `RagConnect`, the suggested way is to first build the jar from the [RagConnect repository](https://git-st.inf.tu-dresden.de/jastadd/ragconnect) (if you only want to _use_ it, consider using [the packaged version](#use-packaged-version)).
```bash
git clone https://git-st.inf.tu-dresden.de/jastadd/ragconnect.git
......@@ -60,14 +60,17 @@ cd ragconnect
ls ragconnect.base/build/libs/
```
This `ragconnect-<version>.jar` can then be copied to your project. Please note, that you can safely use `ragconnect.jar` as filename, because the version can always be printed using `java -jar path/to/ragconnect.jar --version`.
This `ragconnect-<version>.jar` can then be copied to your project.
Please note, that you can safely use `ragconnect.jar` as filename, because the version can always be printed using `java -jar path/to/ragconnect.jar --version`.
```bash
cp ragconnect.base/build/libs/ragconnect-<version>.jar ../your-project/libs/ragconnect.jar
cd ../your-project/
```
Finally, this jar has to be integrated into your build process. In case, [Gradle](https://gradle.org/) is used, a task could look like the following (example taken from the [ros2rag usecase](https://git-st.inf.tu-dresden.de/jastadd/ros2rag)). The path to the jar file may need to be changed according to your project structure.
Finally, this jar has to be integrated into your build process.
In case, [Gradle](https://gradle.org/) is used, a task could look like the following (example taken from the [ros2rag use case](https://git-st.inf.tu-dresden.de/jastadd/ros2rag)).
The path to the jar file may need to be changed according to your project structure.
```groovy
task ragConnect(type: JavaExec) {
......@@ -89,7 +92,10 @@ You might need to add another task for [compiling relast specifications](#compil
## Compiling RelAst specifications
The task to compile `RagConnect` specifications is typically accompanied with a task to invoke the [RelAst compiler](http://relational-rags.eu/) and the [JastAdd gradle plugin](https://plugins.gradle.org/plugin/org.jastadd). The additional arguments `--useJastAddNames`, `--listClass`, `--jastAddList` and `--resolverHelper` to relast are not required. Please see the user manual of the RelAst compiler for more information.
The task to compile `RagConnect` specifications is typically accompanied by a task to invoke the [RelAst compiler](http://relational-rags.eu/) and the [JastAdd gradle plugin](https://plugins.gradle.org/plugin/org.jastadd).
Currently, the parameter `--useJastAddNames` is **required**, and it may cause incompatibilities if not set.
The additional arguments `--listClass`, `--jastAddList` and `--resolverHelper` to relast are not required.
Please see the user manual of the RelAst compiler for more information.
```groovy
task relastToJastAdd(type: JavaExec) {
......@@ -122,7 +128,7 @@ relastToJastAdd.dependsOn ragConnect
## Introduced dependencies
RagConnect itself does not introduce dependencies.
However, depending on the selected protocols (see [compiler options](using#compiler-options)), additional dependencies are required.
However, depending on the selected protocols (see [compiler options](/using#compiler-options)), additional dependencies are required.
| Protocol | Dependency (Gradle format) | Remarks |
|---|---|---|
......
......@@ -46,7 +46,7 @@ eq A.getB().input() = getInput();
```
In other words, `OutputOnA` depends on `Input` of the same node, and `OutputOnB` depends on `Input` of its parent node.
Currently, those dependencies have to be explicitely written down. It is expected, that in future version, this won't be necessary anymore.
Currently, those dependencies have to be explicitly written down. It is expected, that in future version, this won't be necessary anymore.
This happens also in the DSL (dependencies have to be named to uniquely identify them):
```java
......@@ -57,7 +57,7 @@ B.OutputOnB canDependOn A.Input as dependencyB ;
## Using generated code
After specifying everything, code will be generated if [setup properly](adding).
After specifying everything, code will be generated if [setup properly](/adding).
Let's create an AST in some driver code:
```java
......@@ -96,7 +96,7 @@ The first parameter of those connect-methods is always an URI-like String, to id
In case of MQTT, the server is the host running an MQTT broker, and the path is equal to the topic to publish or subscribe to.
Please note, that the first leading slash (`/`) is removed for MQTT topics, e.g., for `A.Input` the topic is actually `topic/for/input`.
For sending endpoints, there is a second boolean parameter to specify whether the current value shall be send immediately after connecting.
For sending endpoints, there is a second boolean parameter to specify whether the current value shall be sent immediately after connecting.
## Communication protocol characteristics
......
site_name: RagConnect
repo_url: https://git-st.inf.tu-dresden.de/jastadd/ragconnect
site_dir: ../public
nav:
- use_cases.md
- adding.md
- inner-workings.md
- using.md
- extending.md
- changelog.md
- API documentation: ragdoc/index.html
- "RagConnect by Example": using.md
- "Use Cases": use_cases.md
- "Adding RagConnect to your project": adding.md
- "Inner workings": inner-workings.md
- "Extending RagConnect": extending.md
- "Changelog": changelog.md
- "API documentation": ragdoc/index.html
theme:
name: readthedocs
custom_dir: custom_theme/
markdown_extensions:
- toc:
permalink:
plugins:
- search
- git-revision-date-localized:
......@@ -18,5 +27,3 @@ plugins:
locale: en
fallback_to_build_date: True
- macros
repo_url: https://git-st.inf.tu-dresden.de/jastadd/ragconnect
site_dir: ../public
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment