2
0
Fork 0
mirror of https://github.com/ethauvin/rife2-hello.git synced 2025-04-24 23:17:13 -07:00
Commit graph

56 commits

Author SHA1 Message Date
e97239207a Updated to not use mavenLocal 2023-03-06 09:27:51 -05:00
6bb4fcedd4 Updated RIFE2 gradle plugin version 2023-03-05 14:17:33 -05:00
17a6fee9bb Use published gradle plugin 2023-03-05 14:10:24 -05:00
7f82944093 Aligned with Gradle plugin source state 2023-03-05 13:19:23 -05:00
794f614e57 Minor cleanup 2023-03-05 11:16:32 -05:00
1d45241fae Minor cleanup 2023-03-05 11:12:19 -05:00
938372addc Made GraalVM plugin work with Jetty and JDK 19 2023-03-05 10:56:37 -05:00
a3a5c7c380 Made "src/main/resources/templates" the only default template dir.
Made the template excludes adapt to the template types that are pre-compiled and use a more restrictive pattern.
2023-03-05 10:52:34 -05:00
b51e36ee73
Merge pull request #8 from melix/cc/configurable-templates
Make the template directories configurable
2023-03-05 10:39:48 -05:00
83e52c0e06
Merge pull request #7 from melix/cc/use-official-graalvm-plugin
Use the official GraalVM plugin
2023-03-05 10:39:39 -05:00
Cedric Champeau
d06124c26d
Make the template directories configurable
Adding a directory can be done via the extension:

```gradle
rife2 {
   templateDirectories.from(file("my-template-dir"))
}
```

By default the template directories include both `src/main/templates`
and `src/main/resources/templates`. If you want to ignore those,
then you need to clear the default:

```gradle
rife2 {
    templateDirectories.from.clear()
    templateDirectories.from(file("my-template-dir"))
}
```
2023-03-05 16:36:31 +01:00
Cedric Champeau
a79e616d79
Use the official GraalVM plugin 2023-03-05 16:23:48 +01:00
de5c974f15
Merge pull request #6 from melix/cc/additional-template-dirs
Add support for extra template directories
2023-03-05 09:59:57 -05:00
0a2b061679 Reverted dependencies back to the explicit version 2023-03-05 09:12:58 -05:00
Cedric Champeau
21c85ea93b
Add support for extra template directories
By default, the template was using `src/main/templates` as the source directory
for templates. This has the benefit of properly isolating the templates from
the application classpath: the framework is then responsible for injecting them
to the app runtime in whatever suitable form: either untouched as sources (in
development mode), or precompiled (for production).

With this change, it is also possible to use `src/main/resources/templates` as
a source directory. It _may_ feel more natural to users (although I would disagree),
but it has the drawback that the jars have to be configured to _exclude_ those
resources, because by default whatever is in `src/main/resources` MUST be included
in a jar (independently of the run mode).

It is also possible for the user to configure additional source directories should
they want to.
2023-03-05 15:10:46 +01:00
cf4870745c Made precompiledTemplateTypes plugin option not use HTML by default
Cleanup minimal test project.
2023-03-05 09:07:29 -05:00
5ca1fa305b Gradle plugin test fix 2023-03-05 08:51:14 -05:00
d8c41b45d9
Merge pull request #5 from melix/cc/fix-template-reloading
Fix template reloading
2023-03-05 08:15:10 -05:00
Cedric Champeau
c9f286132c
Fix reloading of templates
This commit fixes how templates were reloaded. There was a bug in
the plugin which used the output of the precompiled templates for
development only dependencies, instead of the templates directory.
This caused the templates to be always compiled and added as a
resource on runtime classpath, when we only wanted the raw templates.

This commit also adds functional tests to the build logic, which
can be executed by running `./gradlew build-logic:test`.
2023-03-05 13:44:10 +01:00
Cedric Champeau
65e579966c
Revert RunTask 2023-03-05 11:22:28 +01:00
86b7ec21d9 Added serialVersionUID to TemplateType 2023-03-04 12:09:59 -05:00
aeaadfb1cc Added support for configurable precompiled template types 2023-03-04 11:53:59 -05:00
ed8046e83d More minor cleanups 2023-03-04 10:39:37 -05:00
c8f47a935e Minor cleanups 2023-03-04 10:22:04 -05:00
d3dedfe189 Updated to RIFE2 1.4.0 2023-03-04 10:21:35 -05:00
a54ab9b23e
Merge pull request #4 from ethauvin/develop
Develop
2023-03-03 23:05:53 -05:00
f8b3078ba1 Reverted cleanup, it wasn't necessary. 2023-03-02 05:28:18 -08:00
57a604c599 Minor cleanup 2023-02-28 23:46:10 -08:00
c33235a1ac Added description and group for the uberJar task. 2023-02-27 19:14:36 -08:00
269971663b Minor cleanup 2023-02-27 18:48:12 -08:00
d954e75cf5 Added a RunTask which includes the templates directory in the runtime classspath 2023-02-26 17:58:21 -08:00
834c75492b
Merge pull request #3 from melix/cc/publishing-compatibility
Add support for publishing the fat jar
2023-02-22 08:21:50 -05:00
5e70147765
Merge pull request #2 from melix/cc/build-feedback
Fix reload of templates in dev mode
2023-02-22 08:21:40 -05:00
Cedric Champeau
f6deafda3a
Add support for publishing the fat jar
This commit adds compatibility with the Maven publish plugin, by
making sure that if the application is published, then the uber
jar is published as a classified artifact (`-uber`) in addition
to the regular jar.

A sample publishing configuration was added to the `app`, with
a "local" publishing repository in <rootproject>/build/repo.

For example, calling `./gradlew pAPTBR` will create the
`build/repo` directory with the corresponding Maven repository
structure after publishing.
2023-02-22 13:49:25 +01:00
Cedric Champeau
c8b3cc7890
Fix reload of templates in dev mode
The `run` task is considered a development mode, where the templates
should be reloaded live. This means that the `run` task will not
use the precompiled templates, but the source templates instead.

The `test` task will also use precompiled templates, while the
`jar` and `uberJar` tasks will also make sure to bundle precompiled
templates and not the source ones.
2023-02-22 13:32:30 +01:00
0d3f587bb4 Minor cleanups 2023-02-21 18:20:14 -05:00
e02ed25b5a
Merge pull request #1 from melix/cc/rework-build
Rework Gradle build
2023-02-21 18:05:44 -05:00
Cedric Champeau
2e025cd693 Rework Gradle build
This commit introduces a _convention plugin_ for RIFE2 support.
It provides a number of advantages:

- the build logic is clearly separated from the build script,
which now only contains user-specific configuration, like the
framework version or how to configure test logging
- it fixes a number of issues like hardcoded dependencies
(`dependsOn` is in general a mistake)
- it removes the need to resolve the agent path eagerly
- it makes the agent configurable
- it clearly separates the user classpath from the RIFE
classpath (both for precompiling templates and for the agent)
- template compilation is cached
- it avoids the abuse of `src/main/resources` to put
templates and uses a dedicated directory instead, which
removes the need for exclusions

In addition, this should make it relatively straightforward
to convert the convention plugin into a proper RIFE2 plugin,
by extracting the code in `build-logic` into its own
repository then publishing to the Gradle plugin portal.
2023-02-21 23:52:36 +01:00
3a9bbec851 Added missing native-image configuration file 2023-02-19 10:32:37 -05:00
06ece52685 Merge remote-tracking branch 'origin/main' 2023-02-19 10:32:22 -05:00
abd47f3bd9 Updates for RIFE2 v1.3.0.
Added README information about GraalVM native-image support.
2023-02-19 10:30:10 -05:00
83cdfdc874
Update README.md 2023-02-18 20:08:24 -05:00
08b0ad067e Updated to RIFE2 1.2.1 2023-02-15 15:12:06 -05:00
0d30132de7 Readme updates 2023-02-13 17:44:44 -05:00
9f0992d9da Updated to RIFE2 v1.2.0 2023-02-13 17:32:39 -05:00
d375b99c48 Made tests use the java agent 2023-02-13 09:35:07 -05:00
44637cc6fc Updated for RIFE2 1.1.1.
Added RIFE2 agent and relevant instructions.
Improved README.
2023-02-13 08:30:34 -05:00
1c93546fd7 Updated for RIFE2 v1.1.0 release 2023-02-12 15:46:04 -05:00
a042ca3b65 Added second test 2023-02-12 13:25:39 -05:00
78b8051c2d Added a few badges 2023-02-12 13:23:03 -05:00