From 65103bf957edca3c258c04f8878175e164a04f44 Mon Sep 17 00:00:00 2001
From: Abhay Menon <abhay.menon@uwaterloo.ca>
Date: Thu, 23 Mar 2023 21:03:23 -0400
Subject: [PATCH] Completed basic setup for installer

---
 .idea/modules.xml                          |  1 +
 .idea/modules/app/notes-multi.app.main.iml |  8 ++++++++
 app/build.gradle                           | 10 ++++++++++
 app/src/main/java/module-info.java         |  8 ++++++++
 console/src/main/java/module-info.java     |  8 ++++++++
 utilities/src/main/java/module-info.java   |  4 ++++
 6 files changed, 39 insertions(+)
 create mode 100644 .idea/modules/app/notes-multi.app.main.iml
 create mode 100644 app/src/main/java/module-info.java
 create mode 100644 console/src/main/java/module-info.java
 create mode 100644 utilities/src/main/java/module-info.java

diff --git a/.idea/modules.xml b/.idea/modules.xml
index 7220744..98a92b3 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -2,6 +2,7 @@
 <project version="4">
   <component name="ProjectModuleManager">
     <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/modules/app/notes-multi.app.main.iml" filepath="$PROJECT_DIR$/.idea/modules/app/notes-multi.app.main.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/modules/utilities/notes-multi.utilities.test.iml" filepath="$PROJECT_DIR$/.idea/modules/utilities/notes-multi.utilities.test.iml" />
     </modules>
   </component>
diff --git a/.idea/modules/app/notes-multi.app.main.iml b/.idea/modules/app/notes-multi.app.main.iml
new file mode 100644
index 0000000..ba64c93
--- /dev/null
+++ b/.idea/modules/app/notes-multi.app.main.iml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$/../../../app/src/main">
+      <sourceFolder url="file://$MODULE_DIR$/../../../app/src/main/java" isTestSource="false" />
+    </content>
+  </component>
+</module>
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 7ef02b6..b6c24f6 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -8,6 +8,15 @@ plugins {
     id 'application'
     id 'org.jetbrains.kotlin.jvm'
     id 'org.openjfx.javafxplugin' version '0.0.13'
+    id 'org.beryx.jlink' version '2.26.0'
+}
+
+jlink {
+    forceMerge("kotlin")
+    launcher {
+        name = "notes-app"
+        moduleName = "notes.multi.app"
+    }
 }
 
 java {
@@ -36,6 +45,7 @@ dependencies {
 
 application {
     // Define the main class for the application.
+    mainModule = 'notes.multi.app'
     mainClass = 'notes.multi.app.AppKt'
 }
 
diff --git a/app/src/main/java/module-info.java b/app/src/main/java/module-info.java
new file mode 100644
index 0000000..a18ec31
--- /dev/null
+++ b/app/src/main/java/module-info.java
@@ -0,0 +1,8 @@
+module notes.multi.app {
+    requires kotlin.stdlib;
+    requires javafx.graphics;
+    requires javafx.controls;
+    requires notes.multi.utilities;
+    requires java.xml.crypto;
+    exports notes.multi.app;
+}
\ No newline at end of file
diff --git a/console/src/main/java/module-info.java b/console/src/main/java/module-info.java
new file mode 100644
index 0000000..ab7b923
--- /dev/null
+++ b/console/src/main/java/module-info.java
@@ -0,0 +1,8 @@
+module notes.multi.console {
+    requires kotlin.stdlib;
+    requires javafx.graphics;
+    requires javafx.controls;
+    requires exposed.core;
+    requires notes.multi.utilities;
+    exports notes.multi.console;
+}
\ No newline at end of file
diff --git a/utilities/src/main/java/module-info.java b/utilities/src/main/java/module-info.java
new file mode 100644
index 0000000..e05f91a
--- /dev/null
+++ b/utilities/src/main/java/module-info.java
@@ -0,0 +1,4 @@
+module notes.multi.utilities {
+    requires kotlin.stdlib;
+    exports notes.multi.utilities;
+}
\ No newline at end of file
-- 
GitLab