Compare commits

...

4 commits

Author SHA1 Message Date
72934c64e3
Ignore logs, add logback 2024-08-21 21:01:11 +01:00
836a56fdbe
Add config schema 2024-08-21 20:55:58 +01:00
e4de0998d3
Add run config 2024-08-21 20:24:56 +01:00
5224dac00b
Yeah 2024-08-17 12:09:13 +01:00
6 changed files with 61 additions and 4 deletions

5
.gitignore vendored
View file

@ -38,4 +38,7 @@ build/
.DS_Store .DS_Store
### Other Stuff ### ### Other Stuff ###
**/resources/config*.json **/resources/config*.json
!**/resources/config.example.json
!**/resources/config.schema.json
/logs/

View file

@ -1,4 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager"> <component name="MavenProjectsManager">

View file

@ -0,0 +1,9 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Doki" type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME" value="net.hypr.doki.Doki" />
<module name="doki" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>

View file

@ -30,5 +30,10 @@
<artifactId>json</artifactId> <artifactId>json</artifactId>
<version>20231013</version> <version>20231013</version>
</dependency> </dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.5.6</version>
</dependency>
</dependencies> </dependencies>
</project> </project>

View file

@ -19,12 +19,11 @@ public class Config {
* @throws IOException if the config JSON could not be read * @throws IOException if the config JSON could not be read
*/ */
public static Config readConfig() throws IOException { public static Config readConfig() throws IOException {
System.out.println(Path.of("config.json"));
try (InputStream in=Thread.currentThread().getContextClassLoader().getResourceAsStream("config.json")) { try (InputStream in=Thread.currentThread().getContextClassLoader().getResourceAsStream("config.json")) {
assert in != null; assert in != null;
Reader reader = new InputStreamReader(in, StandardCharsets.UTF_8); Reader reader = new InputStreamReader(in, StandardCharsets.UTF_8);
return new Gson().fromJson(reader, Config.class); return new Gson().fromJson(reader, Config.class);
} catch (IOException e) { } catch (IOException | NullPointerException e) {
throw new IOException(""" throw new IOException("""
config.json was not found in the root folder (of the project), did you forget to put it ? config.json was not found in the root folder (of the project), did you forget to put it ?
Example structure: Example structure:

View file

@ -0,0 +1,42 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"token": {
"type": "string"
},
"prefix": {
"type": "string"
},
"mariadb": {
"type": "object",
"properties": {
"host": {
"type": "string"
},
"user": {
"type": "string"
},
"password": {
"type": "string"
},
"database": {
"type": "string"
}
},
"required": [
"host",
"user",
"password",
"database"
]
}
},
"required": [
"token",
"prefix",
"mariadb"
]
}