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
+35-15Lines changed: 35 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,16 +9,16 @@ It is suitable for <ins>a sidecar-style website embeddable on a larger JVM syste
9
9
The main selling point of EJWF is that it comes with productive and useful conventions and libraries such as:
10
10
11
11
1. Support Typescripts + Svelte + Tailwind + DaisyUI with Hot-Reload Module (HMR).
12
-
2. Support hot-reloading Java through the plugin sbt-revolver.
13
-
3. Support packaging a fat JAR with [shading](https://stackoverflow.com/questions/13620281/what-is-the-maven-shade-plugin-used-for-and-why-would-you-want-to-relocate-java).
12
+
2. Support packaging a fat JAR with [shading](https://stackoverflow.com/questions/13620281/what-is-the-maven-shade-plugin-used-for-and-why-would-you-want-to-relocate-java).
14
13
The JAR is 350KB in size, has *zero* external dependencies, and eliminates any potential dependency conflict when embedding into another JVM system.
15
-
4. Avoid Java reflection and magic. This is largely a feature of [Minum](https://github.com/byronka/minum). Any potential runtime errors and conflicts are minimized, which is important when embedding into a larger system.
16
-
5. Browser tests are setup and ready to go.
14
+
3. Avoid Java reflection and magic. This is largely a feature of [Minum](https://github.com/byronka/minum). Any potential runtime errors and conflicts are minimized, which is important when embedding into a larger system.
15
+
4. Browser tests are setup and ready to go.
16
+
5. Github actions for testing, code coverage reporting, and publishing have been implemented.
17
17
18
18
In contrast, most of the lightweight web frameworks focus on being a bare metal web server serving HTML and JSON.
19
19
They don't provide support for any frontend framework like React or Svelte; you would have to do it yourself. This is exactly what EJWF provides.
20
20
21
-
Initially, EJWF was built as a foundation for [Backdoor](https://github.com/tanin47/backdoor), an embeddable sidecar-style JVM-based database administration tool, where
21
+
Initially, EJWF was built as a foundation for [embeddable-java-web-framework](https://github.com/tanin47/embeddable-java-web-framework), a self-hosted database querying and editing tool, where
22
22
you can embed it into your larger application like SpringBoot or PlayFramework.
23
23
24
24
How to develop
@@ -29,29 +29,49 @@ How to develop
29
29
3. On a separate terminal, run `npm run hmr` in order to hot-reload the frontend code changes.
30
30
31
31
32
-
Publish
33
-
--------
32
+
Publish JAR
33
+
------------
34
+
35
+
This flow has been set up as the Github Actions workflow: `publish-jar`.
34
36
35
37
EJWF is a template repository with collections of libraries and conventions. It's important that you understand
36
38
each build process and are able to customize to your needs.
37
39
38
40
Here's how you can build your fat JAR:
39
41
40
-
1. Run `./gradlew clean`. This step is IMPORTANT to clean out the previous versions.
0 commit comments