diff --git a/pom.xml b/pom.xml index 9b983060d1257a8367bfb38f7c1ed31930c57d91..186a84225d2cc536d015861737e704525e9bf2ba 100644 --- a/pom.xml +++ b/pom.xml @@ -13,6 +13,33 @@ <maven.compiler.target>17</maven.compiler.target> </properties> + <build> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + <configuration> + <archive> + <manifest> + <addClasspath>true</addClasspath> + <mainClass>fil.coo.flopboxagent.FlopboxAgent</mainClass> + </manifest> + </archive> + <descriptorRefs> + <descriptorRef>jar-with-dependencies</descriptorRef> + </descriptorRefs> + </configuration> + </plugin> + </plugins> + </build> + <dependencies> <dependency> <groupId>com.squareup.okhttp3</groupId> @@ -35,5 +62,4 @@ <version>2.11.0</version> </dependency> </dependencies> - </project> \ No newline at end of file diff --git a/src/main/java/fil/coo/flopboxagent/data/FileMetadataService.java b/src/main/java/fil/coo/flopboxagent/data/FileMetadataService.java index b90e064b803517f1239df99fa0ac2f66b32ce0df..0a9fceb7cdfbbff14f0278e62c60d9ce373f5ee6 100644 --- a/src/main/java/fil/coo/flopboxagent/data/FileMetadataService.java +++ b/src/main/java/fil/coo/flopboxagent/data/FileMetadataService.java @@ -30,7 +30,7 @@ public class FileMetadataService { try { ObjectMapper objectMapper = new ObjectMapper(); String json = objectMapper.writeValueAsString(FILES_METADATA); - FileOutputStream output = new FileOutputStream(FileMetadataService.class.getClassLoader().getResource("metadata.json").getFile()); + FileOutputStream output = new FileOutputStream(System.getenv("APPDATA") + "/metadata.json"); IOUtils.write(json, output); output.close(); } catch (IOException e) { @@ -40,7 +40,12 @@ public class FileMetadataService { public static void setupMetadata(File directory) throws IOException { ObjectMapper objectMapper = new ObjectMapper(); - FILES_METADATA = objectMapper.readValue(Configuration.class.getClassLoader().getResource("config.json"), Map.class); + File appdata = new File(System.getenv("APPDATA") + "/metadata.json"); + if (appdata.exists()) { + FILES_METADATA = objectMapper.readValue(appdata, Map.class); + } else { + FILES_METADATA = new HashMap<>(); + } for (File file : directory.listFiles()) { if (file.isDirectory()) { setupMetadata(file);