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.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+47-9Lines changed: 47 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,23 +21,61 @@ Dependencies that are needed to build and are not being downloaded via gradle:
21
21
22
22
- OpenJDK 17
23
23
- Python 3
24
+
- pip (runtime only)
24
25
25
26
`./gradlew -Pclean-release build`
26
27
27
-
## How to start
28
+
### Python Location
29
+
30
+
Currently, mapping-service requires Python to be installed in order to build and to run. At runtime, the Python executable is configured in
31
+
`application.properties`(see below). For building the mapping-service Python executable is set to `/usr/bin/python3` by default. In case you want to build
32
+
the mapping-service on a machine on which the Python installation is located elsewhere, e.g., under Windows, you can provide the Python location
Enter the loacation of your python3 installation. You can determine it by typing `which python3` in your terminal.
41
+
Before you can start the mapping-service, you first have to create an `application.properties` file in the source folder. As an example you may use `config/application.default.properties`
42
+
and modify it according to your needs. Espacially the following properties (at the end of the file) are important:
Enter the location where you want to store your mappings. This folder will be created if it does not exist yet.
38
51
39
-
You might want to add a plugin to make the service working. Normally, there should be a gemma-plugin-x.x.x.jar in the plugins folder.
40
-
If not, you can find its source code [here](https://github.com/maximilianiKIT/gemma-plugin).
52
+
In order to provide the mapping-service with mapping functionality, there are already some pre-compiled plugins available under in the `plugins` folder of this repository.
53
+
Copy them to your configured `mapping-service.pluginLocation` to make them available to the mapping-service.
54
+
The source code of the gemma-plugin can be found [here](https://github.com/maximilianiKIT/gemma-plugin). The plugin shows how to integrate Python mappings easily.
55
+
56
+
There is also the possibility to add new plugins directly at the source tree and create a pluggable Jar out of them. Therefor, check
57
+
`src/main/java/edu/kit/datamanager/mappingservice/plugins/impl`. Just add your new plugin, e.g., based on the `TestPlugin` example.
58
+
In order to make the plugin usable by the mapping service, you then have to build a plugin Jar out of it. In order to do that, just call:
59
+
60
+
```
61
+
./gradlew buildPluginJar
62
+
```
63
+
64
+
This task creates a file `default-plugins-<VERSION>` at `build/libs` which has to be copied to `mapping-service.pluginLocation` to make it available.
65
+
66
+
After doing this, the mapping-service is ready for the first start. This can be achieved by executing:
Ideally, for production use, you place everything (`mapping-service-<VERSION>.jar`, `application.properties`, `mapping-service.pluginLocation`, `mapping-service.mappingsLocation`,
76
+
and `spring.datasource.url`) in a separate folder from where you then call the mapping-service via:
0 commit comments