From e55dc8e388b72eabc17cc9556ffefc67bf846949 Mon Sep 17 00:00:00 2001
From: jaguililla
Date: Sat, 24 Aug 2024 12:23:47 +0200
Subject: [PATCH 1/9] Rename main branch
---
.github/workflows/build.yml | 2 +-
.github/workflows/nightly.yml | 2 +-
.github/workflows/release.yml | 2 +-
build.gradle.kts | 2 +-
contributing.md | 8 +++----
gradle.properties | 2 +-
http/http_client/README.md | 2 +-
http/http_handlers/README.md | 2 +-
http/http_server/README.md | 2 +-
.../src/main/resources/assets/index.html | 4 ++--
settings.gradle.kts | 2 +-
site/assets/project_hexagontk_com_public.key | 22 +++++++++----------
site/build.gradle.kts | 1 +
site/footer.txt | 2 +-
site/mkdocs.yml | 2 +-
site/pages/examples/http_client_examples.md | 10 ++++-----
site/pages/examples/http_server_examples.md | 14 ++++++------
site/pages/examples/templates_examples.md | 4 ++--
site/pages/gradle.md | 6 ++---
site/pages/quick_start.md | 4 ++--
20 files changed, 48 insertions(+), 47 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index d2a527a9be..098f3e865e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,7 +1,7 @@
on:
push:
- branches-ignore: [ master, release/** ]
+ branches-ignore: [ main, release/** ]
permissions:
contents: read
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index e74b84446c..86a1175b49 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -83,7 +83,7 @@ jobs:
tasks: jmh
build_site:
- uses: hexagontk/hexagon/.github/workflows/site.yml@master
+ uses: hexagontk/hexagon/.github/workflows/site.yml@main
with:
ref: develop
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index c12b885203..e2204e05f9 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,7 +1,7 @@
on:
push:
- branches: [ master ]
+ branches: [ main ]
jobs:
publish:
diff --git a/build.gradle.kts b/build.gradle.kts
index 23f9da9837..381c9dc2a7 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -80,7 +80,7 @@ task("nativeTestModules") {
description = "Print module descriptions to be used in the GraalVM native compliant directory."
doLast {
- val gitHub = "https://github.com/hexagontk/hexagon/tree/master"
+ val gitHub = "https://github.com/hexagontk/hexagon/tree/main"
val entries = subprojects
.filter { sp -> sp.tasks.any { t -> t.name == "nativeTest" } }
.sortedBy { sp -> "${sp.group}:${sp.name}" }
diff --git a/contributing.md b/contributing.md
index ee8a9e56f5..f19d8e5ec0 100644
--- a/contributing.md
+++ b/contributing.md
@@ -58,9 +58,9 @@ Aside of that kind of modules, you can also find infrastructure modules: compone
project itself. These are internal modules not intended to be directly used by users (like the
[starters] or the [site]).
-[Hexagon Structure]: https://github.com/hexagontk/hexagon/blob/master/README.md#hexagon-structure
-[starters]: https://github.com/hexagontk/hexagon/blob/master/starters/README.md
-[site]: https://github.com/hexagontk/hexagon/blob/master/site/README.md
+[Hexagon Structure]: https://github.com/hexagontk/hexagon/blob/main/README.md#hexagon-structure
+[starters]: https://github.com/hexagontk/hexagon/blob/main/starters/README.md
+[site]: https://github.com/hexagontk/hexagon/blob/main/site/README.md
## Local Setup
Hexagon build process requires a JDK 21+ to compile. You can check the required software, build the
@@ -106,7 +106,7 @@ If you want to generate the documentation site, check the Hexagon's site module
## Major Release Checklist
1. Release site's dependent projects (`hexagon_extra`)
2. Publish their packages using the [Nexus Repository Manager]
-3. Merge Hexagon main project to `master` in GitHub
+3. Merge Hexagon main project to `main` in GitHub
4. Check the site deployment is OK ([https://hexagontk.com])
5. Publish Hexagon modules using the [Nexus Repository Manager]
6. Create a GitHub release
diff --git a/gradle.properties b/gradle.properties
index 8800362338..0917c1cd17 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -8,7 +8,7 @@ org.gradle.warning.mode=all
org.gradle.console=plain
# Gradle
-version=3.6.6
+version=3.6.7
group=com.hexagonkt
description=The atoms of your platform
diff --git a/http/http_client/README.md b/http/http_client/README.md
index 0943450b1f..cf57cbd028 100644
--- a/http/http_client/README.md
+++ b/http/http_client/README.md
@@ -63,7 +63,7 @@ Check the details in the following code fragment:
You can also check the [full test] for more details.
-[full test]: https://github.com/hexagontk/hexagon/blob/master/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CookiesTest.kt
+[full test]: https://github.com/hexagontk/hexagon/blob/main/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CookiesTest.kt
# Multipart (forms and files)
Using the HTTP client you can send MIME multipart parts to the server. You can use it to post forms
diff --git a/http/http_handlers/README.md b/http/http_handlers/README.md
index aa6c44ebad..33e66cdd9c 100644
--- a/http/http_handlers/README.md
+++ b/http/http_handlers/README.md
@@ -378,7 +378,7 @@ To do this kind of tests without creating a custom server (using the real produc
Check the [tests of the starter projects].
[tests of the starter projects]:
-https://github.com/hexagontk/gradle_starter/blob/master/src/test/kotlin/ApplicationTest.kt
+https://github.com/hexagontk/gradle_starter/blob/main/src/test/kotlin/ApplicationTest.kt
## Mocking Calls
To unit test callbacks and handlers you can create test calls with hardcoded requests without
diff --git a/http/http_server/README.md b/http/http_server/README.md
index 01d3e21dce..06c898164b 100644
--- a/http/http_server/README.md
+++ b/http/http_server/README.md
@@ -373,7 +373,7 @@ To do this kind of tests without creating a custom server (using the real produc
Check the [tests of the starter projects].
[tests of the starter projects]:
-https://github.com/hexagontk/gradle_starter/blob/master/src/test/kotlin/ApplicationTest.kt
+https://github.com/hexagontk/gradle_starter/blob/main/src/test/kotlin/ApplicationTest.kt
## Mocking Calls
To unit test callbacks and handlers you can create test calls with hardcoded requests without
diff --git a/http/http_test/src/main/resources/assets/index.html b/http/http_test/src/main/resources/assets/index.html
index e37b065494..363e7fbe24 100644
--- a/http/http_test/src/main/resources/assets/index.html
+++ b/http/http_test/src/main/resources/assets/index.html
@@ -237,7 +237,7 @@
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 49c69b954d..1d7596b9cc 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -26,7 +26,7 @@ dependencyResolutionManagement {
version("detekt", "1.23.6")
version("jmhGradle", "0.7.2")
version("gradleWrapper", "8.10")
- version("mkdocsMaterial", "9.5.32")
+ version("mkdocsMaterial", "9.5.33")
version("mermaidDokka", "0.6.0")
version("maven", "3.9.9")
diff --git a/site/assets/project_hexagontk_com_public.key b/site/assets/project_hexagontk_com_public.key
index 6c066e6e95..46fe0144f9 100644
--- a/site/assets/project_hexagontk_com_public.key
+++ b/site/assets/project_hexagontk_com_public.key
@@ -1,14 +1,14 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mDMEZmiZExYJKwYBBAHaRw8BAQdAH2SjzadZbWhpZXjfNjKHExB81TYTX6Dpqov5
-u8m4noG0TUhleGFnb24gVG9vbGtpdCAoS2V5IHVzZWQgdG8gc2lnbiBwdWJsaXNo
-ZWQgYmluYXJpZXMpIDxwcm9qZWN0QGhleGFnb250ay5jb20+iJMEExYKADsWIQQf
-vOoDhOcwx2ppFTqxyUwuhSdZBwUCZmiZEwIbAwULCQgHAgIiAgYVCgkICwIEFgID
-AQIeBwIXgAAKCRCxyUwuhSdZB6bmAP4o24ocscbPKyhlipTbqmURLrYj51PDEmxy
-178UoadNyAD+J3D+lBRyJGihsleM8eoD4z9KdU6dnUG618fe4j6KnA64OARmaJkT
-EgorBgEEAZdVAQUBAQdAEjqvSqz2sXrpOZJrVcj3k6h1vGBlBat9lv5bMt6HTngD
-AQgHiHgEGBYKACAWIQQfvOoDhOcwx2ppFTqxyUwuhSdZBwUCZmiZEwIbDAAKCRCx
-yUwuhSdZB2NxAP0Y0Rn3prIRUN6ecjL6cUlVPtc6cw955j6qhgBq0SjdKgD/eaY1
-Qtq8BiGNS7ZVG4I/X30S81cvK8YuG88+DPgtgAk=
-=u4rt
+mDMEZsmktBYJKwYBBAHaRw8BAQdA+qQWolc0jGotvU2l8WNpAYQxFmXsQ9RcGN6T
+Ug0bwR+0TUhleGFnb24gVG9vbGtpdCAoS2V5IHVzZWQgdG8gc2lnbiBwdWJsaXNo
+ZWQgYmluYXJpZXMpIDxwcm9qZWN0QGhleGFnb250ay5jb20+iJkEExYKAEEWIQQm
+g2PjQTa/oKpsiuYZAvCZDhbhlAUCZsmktAIbAwUJBaOagAULCQgHAgIiAgYVCgkI
+CwIEFgIDAQIeBwIXgAAKCRAZAvCZDhbhlCHRAP9A5YWugJIjw5G2vU+nZeSc0lSw
+U8GV3THxMNhxHTIbfwEAuDeJaZIV5cOi3dppLJrBk+F2P3Ze2yYhpNddBwPJTgS4
+OARmyaS0EgorBgEEAZdVAQUBAQdAjucR51AapG9ku4xtB/0DEYBevtmlKBwy9MLr
+CTDoKzADAQgHiH4EGBYKACYWIQQmg2PjQTa/oKpsiuYZAvCZDhbhlAUCZsmktAIb
+DAUJBaOagAAKCRAZAvCZDhbhlODNAP0fmkfWC2bzHNggkIQ/WBmJZnD8KPvTpHiQ
+GBTirT686QEAicRsPlrCSEZ2VZFwSCFcpp3nh2+6+pKrep4GqILKzg4=
+=ETAF
-----END PGP PUBLIC KEY BLOCK-----
diff --git a/site/build.gradle.kts b/site/build.gradle.kts
index 3a12e5c90e..ca91518fb3 100644
--- a/site/build.gradle.kts
+++ b/site/build.gradle.kts
@@ -127,6 +127,7 @@ tasks.register("installMkDocs") {
exec { commandLine("python -m venv $venv".split(" ")) }
exec { commandLine("$venv/bin/pip install mkdocs-material==$mkdocsMaterialVersion".split(" ")) }
exec { commandLine("$venv/bin/pip install mkdocs-htmlproofer-plugin".split(" ")) }
+ exec { commandLine("$venv/bin/pip install mike".split(" ")) }
}
}
diff --git a/site/footer.txt b/site/footer.txt
index f953bb97da..2ad90270b4 100644
--- a/site/footer.txt
+++ b/site/footer.txt
@@ -3,5 +3,5 @@ Made with by
OSS contributors.
-Licensed under
+Licensed under
MIT License
diff --git a/site/mkdocs.yml b/site/mkdocs.yml
index fe59520381..3fac82a9b3 100644
--- a/site/mkdocs.yml
+++ b/site/mkdocs.yml
@@ -13,7 +13,7 @@ copyright: >
62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1
53-154.3-9.8-207.9z"> by
OSS contributors. Licensed
- under MIT License
+ under MIT License
repo_name: hexagontk/hexagon
repo_url: https://github.com/hexagontk/hexagon
diff --git a/site/pages/examples/http_client_examples.md b/site/pages/examples/http_client_examples.md
index 9590e407ad..f605a07a82 100644
--- a/site/pages/examples/http_client_examples.md
+++ b/site/pages/examples/http_client_examples.md
@@ -1,7 +1,7 @@
# HTTP Client Creation Example
This example shows how to create HTTP Client instances. Check the
-[full test](https://github.com/hexagontk/hexagon/blob/master/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/ClientTest.kt)
+[full test](https://github.com/hexagontk/hexagon/blob/main/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/ClientTest.kt)
for more information.
## Without setting parameters
@@ -12,7 +12,7 @@ for more information.
# Send Requests Example
This example shows send HTTP requests to a server. Here you can check the
-[full test](https://github.com/hexagontk/hexagon/blob/master/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/ClientTest.kt).
+[full test](https://github.com/hexagontk/hexagon/blob/main/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/ClientTest.kt).
## Generic request
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/ClientTest.kt?genericRequest
@@ -27,12 +27,12 @@ This example shows send HTTP requests to a server. Here you can check the
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/ClientTest.kt?bodyAndContentTypeRequests
# Use Cookies Example
-Check the details at the [full test](https://github.com/hexagontk/hexagon/blob/master/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CookiesTest.kt).
+Check the details at the [full test](https://github.com/hexagontk/hexagon/blob/main/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CookiesTest.kt).
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CookiesTest.kt?clientCookies
# Multipart Requests Example
-Refer to the [full test](https://github.com/hexagontk/hexagon/blob/master/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/FilesTest.kt)
+Refer to the [full test](https://github.com/hexagontk/hexagon/blob/main/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/FilesTest.kt)
for more details.
## Send form fields
@@ -43,7 +43,7 @@ for more details.
# Mutual TLS Example
This example shows how make requests using mutual TLS between the client and the server. You can
-check the [full test](https://github.com/hexagontk/hexagon/blob/master/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/HttpsTest.kt)
+check the [full test](https://github.com/hexagontk/hexagon/blob/main/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/HttpsTest.kt)
for more details.
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/HttpsTest.kt?https
diff --git a/site/pages/examples/http_server_examples.md b/site/pages/examples/http_server_examples.md
index 7c7dca878d..89f91626ed 100644
--- a/site/pages/examples/http_server_examples.md
+++ b/site/pages/examples/http_server_examples.md
@@ -1,42 +1,42 @@
# Books Example
A simple CRUD example showing how to manage book resources. Here you can check the
-[full test](https://github.com/hexagontk/hexagon/blob/master/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/BooksTest.kt).
+[full test](https://github.com/hexagontk/hexagon/blob/main/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/BooksTest.kt).
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/BooksTest.kt?books
# Cookies Example
Demo server to show the use of cookies. Here you can check the
-[full test](https://github.com/hexagontk/hexagon/blob/master/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CookiesTest.kt).
+[full test](https://github.com/hexagontk/hexagon/blob/main/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CookiesTest.kt).
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CookiesTest.kt?cookies
# Error Handling Example
Code to show how to handle callback exceptions and HTTP error codes. Here you can check the
-[full test](https://github.com/hexagontk/hexagon/blob/master/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/ErrorsTest.kt).
+[full test](https://github.com/hexagontk/hexagon/blob/main/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/ErrorsTest.kt).
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/ErrorsTest.kt?errors
# Filters Example
This example shows how to add filters before and after route execution. Here you can check the
-[full test](https://github.com/hexagontk/hexagon/blob/master/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/FiltersTest.kt).
+[full test](https://github.com/hexagontk/hexagon/blob/main/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/FiltersTest.kt).
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/FiltersTest.kt?filters
# Files Example
The following code shows how to serve resources and receive files. Here you can check the
-[full test](https://github.com/hexagontk/hexagon/blob/master/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/FilesTest.kt).
+[full test](https://github.com/hexagontk/hexagon/blob/main/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/FilesTest.kt).
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/FilesTest.kt?files
# CORS Example
This example shows how to set up CORS for REST APIs used from the browser. Here you can check the
-[full test](https://github.com/hexagontk/hexagon/blob/master/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CorsTest.kt).
+[full test](https://github.com/hexagontk/hexagon/blob/main/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CorsTest.kt).
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CorsTest.kt?cors
# HTTPS Example
The snippet below shows how to set up your server to use HTTPS and HTTP/2. You can check the
-[full test](https://github.com/hexagontk/hexagon/blob/master/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/HttpsTest.kt).
+[full test](https://github.com/hexagontk/hexagon/blob/main/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/HttpsTest.kt).
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/HttpsTest.kt?https
diff --git a/site/pages/examples/templates_examples.md b/site/pages/examples/templates_examples.md
index e4ee346c82..51e2d4843b 100644
--- a/site/pages/examples/templates_examples.md
+++ b/site/pages/examples/templates_examples.md
@@ -1,7 +1,7 @@
# Register Template Adapters
Example to show how to register template adapters.
-[full test](https://github.com/hexagontk/hexagon/blob/master/templates/templates/src/test/kotlin/com/hexagonkt/templates/examples/TemplatesTest.kt).
+[full test](https://github.com/hexagontk/hexagon/blob/main/templates/templates/src/test/kotlin/com/hexagonkt/templates/examples/TemplatesTest.kt).
## Using regular Expressions
@code templates/templates/src/test/kotlin/com/hexagonkt/templates/examples/TemplatesTest.kt?templateRegex
@@ -11,6 +11,6 @@ Example to show how to register template adapters.
# Process Templates
Simple example to show how to process templates.
-[full test](https://github.com/hexagontk/hexagon/blob/master/templates/templates/src/test/kotlin/com/hexagonkt/templates/examples/TemplatesTest.kt).
+[full test](https://github.com/hexagontk/hexagon/blob/main/templates/templates/src/test/kotlin/com/hexagonkt/templates/examples/TemplatesTest.kt).
@code templates/templates/src/test/kotlin/com/hexagonkt/templates/examples/TemplatesTest.kt?templateUsage
diff --git a/site/pages/gradle.md b/site/pages/gradle.md
index 2fcc74371c..c5dd00ae4c 100644
--- a/site/pages/gradle.md
+++ b/site/pages/gradle.md
@@ -11,8 +11,8 @@ places:
For examples and reference, check [build.gradle.kts] and [gradle.properties].
-[build.gradle.kts]: https://github.com/hexagontk/hexagon/blob/master/build.gradle.kts
-[gradle.properties]: https://github.com/hexagontk/hexagon/blob/master/gradle.properties
+[build.gradle.kts]: https://github.com/hexagontk/hexagon/blob/main/build.gradle.kts
+[gradle.properties]: https://github.com/hexagontk/hexagon/blob/main/gradle.properties
# Helper scripts
These scripts can be added to your build to include a whole new capability to your building logic.
@@ -45,7 +45,7 @@ To set up this script's parameters, check the [build variables section]. These h
* siteHost (REQUIRED): project's website.
[Maven Central]: https://search.maven.org
-[kotlin.gradle]: https://github.com/hexagontk/hexagon/blob/master/gradle/kotlin.gradle
+[kotlin.gradle]: https://github.com/hexagontk/hexagon/blob/main/gradle/kotlin.gradle
[build variables section]: /gradle/#build-variables
## Dokka
diff --git a/site/pages/quick_start.md b/site/pages/quick_start.md
index cb36936012..a9ee6e0a13 100644
--- a/site/pages/quick_start.md
+++ b/site/pages/quick_start.md
@@ -56,8 +56,8 @@ Hexagon's dependencies are signed, you can get the public key at the
These are the details of the public key:
```
-pub ed25519 2024-06-11 Hexagon Toolkit (Key used to sign published binaries)
- 1FBCEA0384E730C76A69153AB1C94C2E85275907
+pub ed25519/0E16E194 2024-08-24 Hexagon Toolkit (Key used to sign published binaries)
+ 268363E34136BFA0AA6C8AE61902F0990E16E194
```
[pgp key 2]: https://keyserver.ubuntu.com/pks/lookup?search=project%40hexagontk.com&op=index
From 7bbfdb0b8a772959004a9bbfcf5d7c1bb982a2b2 Mon Sep 17 00:00:00 2001
From: jaguililla
Date: Wed, 4 Sep 2024 21:44:46 +0200
Subject: [PATCH 2/9] Update dependencies
---
settings.gradle.kts | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 1d7596b9cc..2f1ef00e15 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -41,27 +41,23 @@ dependencyResolutionManagement {
version("slf4j", "2.0.16")
// http_server_netty
- version("netty", "4.1.112.Final")
- version("nettyTcNative", "2.0.65.Final")
+ version("netty", "4.1.113.Final")
+ version("nettyTcNative", "2.0.66.Final")
// http_server_helidon
- version("helidon", "4.1.0")
+ version("helidon", "4.1.1")
// http_server_servlet
version("servlet", "6.1.0")
version("jetty", "12.0.12")
// rest_tools
- version("swaggerRequestValidator", "2.41.0")
+ version("swaggerRequestValidator", "2.42.0")
// serialization
version("jackson", "2.17.2")
version("dslJson", "2.0.2")
- // serverless_http_google
- version("functions", "1.1.0")
- version("invoker", "1.3.1")
-
// templates_freemarker
version("freemarker", "2.3.33")
From 4bfc781b9bfc529f6b2448522664a8ade3ec63ed Mon Sep 17 00:00:00 2001
From: jaguililla
Date: Mon, 9 Sep 2024 18:57:55 +0200
Subject: [PATCH 3/9] Update :dependencies
---
.gitignore | 1 +
gradle/wrapper/gradle-wrapper.jar | Bin 43504 -> 43583 bytes
gradle/wrapper/gradle-wrapper.properties | 2 +-
settings.gradle.kts | 6 +++---
site/build.gradle.kts | 1 -
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.gitignore b/.gitignore
index 2952e0d9e6..3d00d5ad4e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,6 +40,7 @@ hs_err_pid*
# Other Tools
kotlin-js-store/
node_modules/
+.kotlin/
.env
# System Files
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 2c3521197d7c4586c843d1d3e9090525f1898cde..a4b76b9530d66f5e68d973ea569d8e19de379189 100644
GIT binary patch
delta 3990
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
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 66cd5a0e49..1ed247ec13 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-all.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 2f1ef00e15..1dc4ff3fe3 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -23,9 +23,9 @@ dependencyResolutionManagement {
version("licenseReport", "2.9")
version("binValidator", "0.16.3")
version("nativeTools", "0.10.2")
- version("detekt", "1.23.6")
+ version("detekt", "1.23.7")
version("jmhGradle", "0.7.2")
- version("gradleWrapper", "8.10")
+ version("gradleWrapper", "8.10.1")
version("mkdocsMaterial", "9.5.33")
version("mermaidDokka", "0.6.0")
version("maven", "3.9.9")
@@ -49,7 +49,7 @@ dependencyResolutionManagement {
// http_server_servlet
version("servlet", "6.1.0")
- version("jetty", "12.0.12")
+ version("jetty", "12.0.13")
// rest_tools
version("swaggerRequestValidator", "2.42.0")
diff --git a/site/build.gradle.kts b/site/build.gradle.kts
index ca91518fb3..8e8ccac922 100644
--- a/site/build.gradle.kts
+++ b/site/build.gradle.kts
@@ -19,7 +19,6 @@ tasks.register("jacocoRootReport") {
.filterNot { it.absolutePath.contains("serialization_test") }
.filterNot { it.absolutePath.contains("templates_test") }
.toList()
- // TODO Include the filtered modules when they are ready
executionData.from(projectExecutionData)
sourceDirectories.from(modulesSources)
From 4895221cfce928b333d7e7eb84c40a745c816ebf Mon Sep 17 00:00:00 2001
From: jaguililla
Date: Sun, 15 Sep 2024 13:22:09 +0200
Subject: [PATCH 4/9] Update :site
---
contributing.md | 30 ++++----
core/README.md | 4 +-
http/http_client/README.md | 14 ++--
http/http_client_java/README.md | 2 +-
http/http_client_jetty/README.md | 2 +-
http/http_client_jetty_ws/README.md | 2 +-
http/http_handlers/README.md | 32 ++++-----
http/http_server/README.md | 30 ++++----
http/http_server_helidon/README.md | 2 +-
http/http_server_jetty/README.md | 2 +-
http/http_server_netty/README.md | 2 +-
http/http_server_netty_epoll/README.md | 2 +-
.../src/main/resources/assets/index.html | 4 +-
http/web/README.md | 4 +-
serialization/serialization/README.md | 2 +-
.../serialization_dsl_json/README.md | 2 +-
settings.gradle.kts | 3 +-
site/build.gradle.kts | 46 ++++++++++---
site/footer.txt | 2 +-
site/mkdocs.yml | 8 ++-
site/mkdocs/index.html | 8 +--
site/mkdocs/main.html | 2 +-
site/mkdocs/partials/language/en.html | 36 ----------
site/pages/examples/http_client_examples.md | 10 +--
site/pages/examples/http_server_examples.md | 14 ++--
site/pages/examples/templates_examples.md | 4 +-
site/pages/gradle.md | 8 +--
site/pages/index.md | 68 +++++++++----------
site/pages/quick_start.md | 10 +--
templates/templates/README.md | 6 +-
30 files changed, 178 insertions(+), 183 deletions(-)
delete mode 100644 site/mkdocs/partials/language/en.html
diff --git a/contributing.md b/contributing.md
index f19d8e5ec0..b9b733026b 100644
--- a/contributing.md
+++ b/contributing.md
@@ -58,9 +58,9 @@ Aside of that kind of modules, you can also find infrastructure modules: compone
project itself. These are internal modules not intended to be directly used by users (like the
[starters] or the [site]).
-[Hexagon Structure]: https://github.com/hexagontk/hexagon/blob/main/README.md#hexagon-structure
-[starters]: https://github.com/hexagontk/hexagon/blob/main/starters/README.md
-[site]: https://github.com/hexagontk/hexagon/blob/main/site/README.md
+[Hexagon Structure]: https://github.com/hexagontk/hexagon/blob/release/3/README.md#hexagon-structure
+[starters]: https://github.com/hexagontk/hexagon/blob/release/3/starters/README.md
+[site]: https://github.com/hexagontk/hexagon/blob/release/3/site/README.md
## Local Setup
Hexagon build process requires a JDK 21+ to compile. You can check the required software, build the
@@ -104,21 +104,21 @@ If you want to generate the documentation site, check the Hexagon's site module
[GitHub Actions]: https://github.com/features/actions
## Major Release Checklist
-1. Release site's dependent projects (`hexagon_extra`)
-2. Publish their packages using the [Nexus Repository Manager]
-3. Merge Hexagon main project to `main` in GitHub
-4. Check the site deployment is OK ([https://hexagontk.com])
-5. Publish Hexagon modules using the [Nexus Repository Manager]
-6. Create a GitHub release
-7. Update starter repositories (Gradle and Maven ones)
-8. Update TFB benchmark
-9. Update example projects inside the organization
-10. Create a changelog to announce the release
-11. Publish changelog on:
+1. Replace documents' links: `/blob/main/` to `/blob/release/${version}/`
+2. Release site's dependent projects (`hexagon_extra`)
+3. Publish their packages using the [Nexus Repository Manager]
+4. Merge Hexagon main project to `main` in GitHub
+5. Check the site deployment is OK ([https://hexagontk.com])
+6. Publish Hexagon modules using the [Nexus Repository Manager]
+7. Create a GitHub release
+8. Update starter repositories (Gradle and Maven ones)
+9. Update TFB benchmark
+10. Update example projects inside the organization
+11. Create a changelog to announce the release
+12. Publish changelog on:
* Dev.to
* Reddit Kotlin
* X (Twitter)
- * Kotlin Weekly Newsletter
* LinkedIn
* Mailing lists (Awesome Kotlin, Kotlin Weekly)
diff --git a/core/README.md b/core/README.md
index 60ab345a24..0977576491 100644
--- a/core/README.md
+++ b/core/README.md
@@ -33,7 +33,7 @@ application), you can import it with the following code:
JVM information and other useful utilities. Includes basic program settings support at the [Jvm]
object (like loading and retrieving system settings).
-[Jvm]: /api/core/com.hexagonkt.core/-jvm
+[Jvm]: api/core/com.hexagonkt.core/-jvm
# Package com.hexagonkt.core.logging
Provides a logging management capabilities abstracting the application from logging libraries.
@@ -44,7 +44,7 @@ The following code block shows the most common use cases for the [Logger] class:
By default, Hexagon uses the [System.Logger] class.
-[Logger]: /api/core/com.hexagonkt.core.logging/-logger
+[Logger]: api/core/com.hexagonkt.core.logging/-logger
[System.Logger]: https://docs.oracle.com/javase/9/docs/api/java/lang/System.Logger.html
# Package com.hexagonkt.core.media
diff --git a/http/http_client/README.md b/http/http_client/README.md
index cf57cbd028..d3c4627bed 100644
--- a/http/http_client/README.md
+++ b/http/http_client/README.md
@@ -20,7 +20,7 @@ Its main functionalities are:
This module is not meant to be used directly. You should include an Adapter implementing this
feature (as [http_client_jetty]) in order to create HTTP clients.
-[http_client_jetty]: /http_client_jetty
+[http_client_jetty]: http_client_jetty
# Create an HTTP client
You create an HTTP Client instance with default options as follows:
@@ -40,8 +40,8 @@ Check this code snippet to get a glimpse on how to send the most general request
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/ClientTest.kt?genericRequest
-[Request]: /api/http/http/com.hexagonkt.http.model/-http-request
-[Response]: /api/http/http/com.hexagonkt.http.model/-http-response
+[Request]: api/http/http/com.hexagonkt.http.model/-http-request
+[Response]: api/http/http/com.hexagonkt.http.model/-http-response
# Simple requests shortcuts
There are utility methods to make the most common request in an easy way.
@@ -63,7 +63,7 @@ Check the details in the following code fragment:
You can also check the [full test] for more details.
-[full test]: https://github.com/hexagontk/hexagon/blob/main/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CookiesTest.kt
+[full test]: https://github.com/hexagontk/hexagon/blob/release/3/http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CookiesTest.kt
# Multipart (forms and files)
Using the HTTP client you can send MIME multipart parts to the server. You can use it to post forms
@@ -89,8 +89,8 @@ format.
To set up client/server certificates, you need to include [SslSettings] in your [ClientSettings]. In
the sections below you can see how to configure these parameters.
-[SslSettings]: /api/http/http/com.hexagonkt.http/-ssl-settings
-[ClientSettings]: /api/http/http_client/com.hexagonkt.http.client/-http-client-settings
+[SslSettings]: api/http/http/com.hexagonkt.http/-ssl-settings
+[ClientSettings]: api/http/http_client/com.hexagonkt.http.client/-http-client-settings
## Key Store
This store holds the identity certificate, this certificate is presented to the server by the client
@@ -115,4 +115,4 @@ and client authenticated by the server). You can see a complete example below:
# Package com.hexagonkt.http.client
This package holds the classes that define the HTTP client and its configuration settings.
-[http]: /http
+[http]: http
diff --git a/http/http_client_java/README.md b/http/http_client_java/README.md
index 05c7d3e0cb..0edc802bd3 100644
--- a/http/http_client_java/README.md
+++ b/http/http_client_java/README.md
@@ -2,7 +2,7 @@
# Module http_client_java
[http_client] implementation using the [Java HTTP Client] classes.
-[http_client]: /http_client
+[http_client]: http_client
[Java HTTP Client]: https://docs.oracle.com/en/java/javase/21/docs/api/java.net.http/java/net/http/HttpClient.html
### Install the Dependency
diff --git a/http/http_client_jetty/README.md b/http/http_client_jetty/README.md
index b47782be54..f7d427b923 100644
--- a/http/http_client_jetty/README.md
+++ b/http/http_client_jetty/README.md
@@ -2,7 +2,7 @@
# Module http_client_jetty
[http_client] implementation using the [Jetty HTTP Client] library.
-[http_client]: /http_client
+[http_client]: http_client
[Jetty HTTP Client]: https://jetty.org/docs/jetty/12/programming-guide
### Install the Dependency
diff --git a/http/http_client_jetty_ws/README.md b/http/http_client_jetty_ws/README.md
index 2232818051..a0f5f98d6b 100644
--- a/http/http_client_jetty_ws/README.md
+++ b/http/http_client_jetty_ws/README.md
@@ -6,7 +6,7 @@
>
> WebSockets are not supported on GraalVM native images at the moment.
-[http_client]: /http_client
+[http_client]: http_client
[Jetty HTTP Client]: https://jetty.org/docs/jetty/12/programming-guide
### Install the Dependency
diff --git a/http/http_handlers/README.md b/http/http_handlers/README.md
index 33e66cdd9c..d26133e842 100644
--- a/http/http_handlers/README.md
+++ b/http/http_handlers/README.md
@@ -10,7 +10,7 @@ handlers.
This module is not meant to be used directly. You should include and Adapter implementing this
feature (as [http_server_jetty]) in order to create an HTTP server.
-[http_server_jetty]: /http_server_jetty
+[http_server_jetty]: http_server_jetty
# Chaining changes
The response can be modified chaining `send` calls (or its utility methods). However, If calls are
@@ -77,17 +77,17 @@ methods.
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/SamplesTest.kt?serverCreation
-[server settings]: /api/http/http_server/com.hexagonkt.http.server/-http-server-settings
-[handlers section]: /http_server/#handlers
-[start()]: /api/http/http_server/com.hexagonkt.http.server/-http-server
-[stop()]: /api/http/http_server/com.hexagonkt.http.server/-http-server
+[server settings]: api/http/http_server/com.hexagonkt.http.server/-http-server-settings
+[handlers section]: http_server/#handlers
+[start()]: api/http/http_server/com.hexagonkt.http.server/-http-server
+[stop()]: api/http/http_server/com.hexagonkt.http.server/-http-server
## Servlet Web server
There is a special server adapter for running inside Servlet Containers. To use it you should import
the Servlet HTTP Server Adapter into your project. Check the [http_server_servlet] module for more
information.
-[http_server_servlet]: /http_server_servlet
+[http_server_servlet]: http_server_servlet
# HTTP Context
These are the events that the handlers handle (they are also called HTTP calls or just calls along
@@ -103,7 +103,7 @@ full list of methods. This sample code illustrates the usage:
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/SamplesTest.kt?callbackCall
-[API documentation]: /api/http/http_handlers/com.hexagonkt.http.handlers/-http-context
+[API documentation]: api/http/http_handlers/com.hexagonkt.http.handlers/-http-context
# Handlers
The main building blocks of Hexagon HTTP services are a set of handlers. A handler is made up of two
@@ -139,7 +139,7 @@ Check the next snippet for Handlers usage examples:
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/SamplesTest.kt?routesCreation
-[next]: /api/http/http_handlers/com.hexagonkt.http.handlers/-http-context
+[next]: api/http/http_handlers/com.hexagonkt.http.handlers/-http-context
@@ -157,7 +157,7 @@ the following fields:
It yields true if all the supplied fields matches a call context.
-[HttpPredicate]: /api/http/http_handlers/com.hexagonkt.http.handlers/-http-predicate
+[HttpPredicate]: api/http/http_handlers/com.hexagonkt.http.handlers/-http-predicate
## Path Patterns
Patterns to match requests paths. They can have:
@@ -294,7 +294,7 @@ Check the next example for details:
The media types of static files are computed from the file extension using the utility methods of
the [com.hexagonkt.core.media] package.
-[com.hexagonkt.core.media]: /api/core/com.hexagonkt.core.media
+[com.hexagonkt.core.media]: api/core/com.hexagonkt.core.media
# CORS
CORS behaviour can be different depending on the path. You can attach different [CORS Callbacks] to
@@ -302,7 +302,7 @@ different handlers. Check the [CorsCallback][CORS Callbacks] class for more deta
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CorsTest.kt?cors
-[CORS Callbacks]: /api/http/http_server/com.hexagonkt.http.server.callbacks/-cors-callback
+[CORS Callbacks]: api/http/http_server/com.hexagonkt.http.server.callbacks/-cors-callback
# HTTPS
It is possible to start a secure server enabling HTTPS. For this, you have to provide a server
@@ -327,14 +327,14 @@ Below you can find a simple example to set up an HTTPS server and client with mu
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/HttpsTest.kt?https
-[SslSettings]: /api/http/http/com.hexagonkt.http/-ssl-settings
+[SslSettings]: api/http/http/com.hexagonkt.http/-ssl-settings
[HTTP/2]: https://en.wikipedia.org/wiki/HTTP/2
[ALPN]: https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation
[Gradle]: https://gradle.org
-[create sample certificates]: /gradle/#certificates
+[create sample certificates]: gradle/#certificates
[mutual TLS]: https://en.wikipedia.org/wiki/Mutual_authentication
-[SslSettings.clientAuth]: /api/http/http/com.hexagonkt.http/-ssl-settings
-[Request.certificateChain]: /api/http/http/com.hexagonkt.http.model/-http-request
+[SslSettings.clientAuth]: api/http/http/com.hexagonkt.http/-ssl-settings
+[Request.certificateChain]: api/http/http/com.hexagonkt.http.model/-http-request
# WebSockets
A Web Socket is an HTTP(S) connection made with the GET method and the `upgrade: websocket` and
@@ -405,4 +405,4 @@ Classes to model server HTTP messages (requests and responses). Built on top of
# Package com.hexagonkt.http.model.ws
Classes to model server HTTP messages (requests and responses). Built on top of the [http] module.
-[http]: /http
+[http]: http
diff --git a/http/http_server/README.md b/http/http_server/README.md
index 06c898164b..e318a27a4c 100644
--- a/http/http_server/README.md
+++ b/http/http_server/README.md
@@ -10,7 +10,7 @@ handlers.
This module is not meant to be used directly. You should include and Adapter implementing this
feature (as [http_server_jetty]) in order to create an HTTP server.
-[http_server_jetty]: /http_server_jetty
+[http_server_jetty]: http_server_jetty
# Context on HTTP processing
An HTTP server is nothing more than a function that takes a request and returns a response. Requests
@@ -72,17 +72,17 @@ methods.
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/SamplesTest.kt?serverCreation
-[server settings]: /api/http/http_server/com.hexagonkt.http.server/-http-server-settings
-[handlers section]: /http_server/#handlers
-[start()]: /api/http/http_server/com.hexagonkt.http.server/-http-server
-[stop()]: /api/http/http_server/com.hexagonkt.http.server/-http-server
+[server settings]: api/http/http_server/com.hexagonkt.http.server/-http-server-settings
+[handlers section]: http_server/#handlers
+[start()]: api/http/http_server/com.hexagonkt.http.server/-http-server
+[stop()]: api/http/http_server/com.hexagonkt.http.server/-http-server
## Servlet Web server
There is a special server adapter for running inside Servlet Containers. To use it you should import
the Servlet HTTP Server Adapter into your project. Check the [http_server_servlet] module for more
information.
-[http_server_servlet]: /http_server_servlet
+[http_server_servlet]: http_server_servlet
# HTTP Context
These are the events that the handlers handle (they are also called HTTP calls or just calls along
@@ -98,7 +98,7 @@ full list of methods. This sample code illustrates the usage:
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/SamplesTest.kt?callbackCall
-[API documentation]: /api/http/http_handlers/com.hexagonkt.http.handlers/-http-context
+[API documentation]: api/http/http_handlers/com.hexagonkt.http.handlers/-http-context
# Handlers
The main building blocks of Hexagon HTTP services are a set of handlers. A handler is made up of two
@@ -134,7 +134,7 @@ Check the next snippet for Handlers usage examples:
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/SamplesTest.kt?routesCreation
-[next]: /api/http/http_handlers/com.hexagonkt.http.handlers/-http-context
+[next]: api/http/http_handlers/com.hexagonkt.http.handlers/-http-context
@@ -152,7 +152,7 @@ the following fields:
It yields true if all the supplied fields matches a call context.
-[HttpPredicate]: /api/http/http_handlers/com.hexagonkt.http.handlers/-http-predicate
+[HttpPredicate]: api/http/http_handlers/com.hexagonkt.http.handlers/-http-predicate
## Path Patterns
Patterns to match requests paths. They can have:
@@ -289,7 +289,7 @@ Check the next example for details:
The media types of static files are computed from the file extension using the utility methods of
the [com.hexagonkt.core.media] package.
-[com.hexagonkt.core.media]: /api/core/com.hexagonkt.core.media
+[com.hexagonkt.core.media]: api/core/com.hexagonkt.core.media
# CORS
CORS behaviour can be different depending on the path. You can attach different [CORS Callbacks] to
@@ -297,7 +297,7 @@ different handlers. Check the [CorsCallback][CORS Callbacks] class for more deta
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/CorsTest.kt?cors
-[CORS Callbacks]: /api/http/http_server/com.hexagonkt.http.server.callbacks/-cors-callback
+[CORS Callbacks]: api/http/http_server/com.hexagonkt.http.server.callbacks/-cors-callback
# HTTPS
It is possible to start a secure server enabling HTTPS. For this, you have to provide a server
@@ -322,14 +322,14 @@ Below you can find a simple example to set up an HTTPS server and client with mu
@code http/http_test/src/main/kotlin/com/hexagonkt/http/test/examples/HttpsTest.kt?https
-[SslSettings]: /api/http/http/com.hexagonkt.http/-ssl-settings
+[SslSettings]: api/http/http/com.hexagonkt.http/-ssl-settings
[HTTP/2]: https://en.wikipedia.org/wiki/HTTP/2
[ALPN]: https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation
[Gradle]: https://gradle.org
-[create sample certificates]: /gradle/#certificates
+[create sample certificates]: gradle/#certificates
[mutual TLS]: https://en.wikipedia.org/wiki/Mutual_authentication
-[SslSettings.clientAuth]: /api/http/http/com.hexagonkt.http/-ssl-settings
-[Request.certificateChain]: /api/http/http/com.hexagonkt.http.model/-http-request
+[SslSettings.clientAuth]: api/http/http/com.hexagonkt.http/-ssl-settings
+[Request.certificateChain]: api/http/http/com.hexagonkt.http.model/-http-request
# WebSockets
A Web Socket is an HTTP(S) connection made with the GET method and the `upgrade: websocket` and
diff --git a/http/http_server_helidon/README.md b/http/http_server_helidon/README.md
index b574b58b66..c14b407b43 100644
--- a/http/http_server_helidon/README.md
+++ b/http/http_server_helidon/README.md
@@ -6,7 +6,7 @@ IMPORTANT: There is a [known bug] in this adapter.
[known bug]: https://github.com/hexagontk/hexagon/issues/704
[Helidon]: https://helidon.io
-[http_server]: /http_server
+[http_server]: http_server
### Install the Dependency
diff --git a/http/http_server_jetty/README.md b/http/http_server_jetty/README.md
index cd886f315c..cfa17b9fb0 100644
--- a/http/http_server_jetty/README.md
+++ b/http/http_server_jetty/README.md
@@ -3,7 +3,7 @@
[Jetty] adapter for the [http_server] port.
[Jetty]: https://www.eclipse.org/jetty
-[http_server]: /http_server
+[http_server]: http_server
### Install the Dependency
diff --git a/http/http_server_netty/README.md b/http/http_server_netty/README.md
index 5cc7efca4d..c464b1da85 100644
--- a/http/http_server_netty/README.md
+++ b/http/http_server_netty/README.md
@@ -3,7 +3,7 @@
[Netty] adapter for the [http_server] port.
[Netty]: https://netty.io
-[http_server]: /http_server
+[http_server]: http_server
### Install the Dependency
diff --git a/http/http_server_netty_epoll/README.md b/http/http_server_netty_epoll/README.md
index 0b4c2d29c9..b55d9bbca9 100644
--- a/http/http_server_netty_epoll/README.md
+++ b/http/http_server_netty_epoll/README.md
@@ -3,7 +3,7 @@
[Netty] Epoll adapter for the [http_server] port.
[Netty]: https://netty.io
-[http_server]: /http_server
+[http_server]: http_server
### Install the Dependency
diff --git a/http/http_test/src/main/resources/assets/index.html b/http/http_test/src/main/resources/assets/index.html
index 363e7fbe24..2adc2a12e9 100644
--- a/http/http_test/src/main/resources/assets/index.html
+++ b/http/http_test/src/main/resources/assets/index.html
@@ -237,7 +237,7 @@
diff --git a/http/web/README.md b/http/web/README.md
index fe04f2154f..86cf4a6e2a 100644
--- a/http/web/README.md
+++ b/http/web/README.md
@@ -3,8 +3,8 @@
Adds utilities for serving HTML pages over HTTP servers. Combines the [http_server] and [templates]
ports.
-[http_server]: /http_server
-[templates]: /templates
+[http_server]: http_server
+[templates]: templates
### Install the Dependency
diff --git a/serialization/serialization/README.md b/serialization/serialization/README.md
index 8d4aae0a0f..d50bee7b2a 100644
--- a/serialization/serialization/README.md
+++ b/serialization/serialization/README.md
@@ -6,7 +6,7 @@ This module holds serialization utilities.
This module is not meant to be used directly. You should include an Adapter implementing this
feature (as [serialization_dsl_json]) in order to parse/serialize data.
-[serialization_dsl_json]: /serialization_dsl_json
+[serialization_dsl_json]: serialization_dsl_json
=== "build.gradle"
diff --git a/serialization/serialization_dsl_json/README.md b/serialization/serialization_dsl_json/README.md
index b8cc11449a..e2c5fbbcfa 100644
--- a/serialization/serialization_dsl_json/README.md
+++ b/serialization/serialization_dsl_json/README.md
@@ -2,7 +2,7 @@
# Module http_client_jetty
[Serialization] implementation using the [DSL JSON] library.
-[Serialization]: /serialization
+[Serialization]: serialization
[DSL JSON]: https://github.com/ngs-doo/dsl-json
### Install the Dependency
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 1dc4ff3fe3..df66f4f16d 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -22,7 +22,7 @@ dependencyResolutionManagement {
version("dokka", "1.9.20")
version("licenseReport", "2.9")
version("binValidator", "0.16.3")
- version("nativeTools", "0.10.2")
+ version("nativeTools", "0.10.3")
version("detekt", "1.23.7")
version("jmhGradle", "0.7.2")
version("gradleWrapper", "8.10.1")
@@ -33,7 +33,6 @@ dependencyResolutionManagement {
// Testing
version("junit", "5.11.0")
version("mockk", "1.13.12")
- // TODO Replace with code using HTTP client and virtual threads
version("gatling", "3.10.5")
version("jmh", "1.37")
diff --git a/site/build.gradle.kts b/site/build.gradle.kts
index 8e8ccac922..2527b8041e 100644
--- a/site/build.gradle.kts
+++ b/site/build.gradle.kts
@@ -123,21 +123,49 @@ task("checkDocs") {
tasks.register("installMkDocs") {
doLast {
val mkdocsMaterialVersion = libs.versions.mkdocsMaterial.get()
+ val pip = "$venv/bin/pip"
exec { commandLine("python -m venv $venv".split(" ")) }
- exec { commandLine("$venv/bin/pip install mkdocs-material==$mkdocsMaterialVersion".split(" ")) }
- exec { commandLine("$venv/bin/pip install mkdocs-htmlproofer-plugin".split(" ")) }
- exec { commandLine("$venv/bin/pip install mike".split(" ")) }
+ exec { commandLine("$pip install mkdocs-material==$mkdocsMaterialVersion".split(" ")) }
+ exec { commandLine("$pip install mkdocs-htmlproofer-plugin".split(" ")) }
+ exec { commandLine("$pip install mike".split(" ")) }
}
}
-tasks.register("serveSite") {
+tasks.register("buildSite") {
dependsOn("checkDocs", "installMkDocs")
- commandLine("$venv/bin/mkdocs serve".split(" "))
+ val pushSite = findProperty("pushSite")?.let { if (it == "true") "--push " else "" } ?: ""
+ val mike = "$venv/bin/mike"
+ val rootVersion = rootProject.version.toString()
+ val siteAlias = if (rootVersion.contains(Regex("-[AB]"))) "dev" else "stable"
+ val majorVersion = "v" + rootVersion.split(".").first()
+ val command = "$mike deploy $pushSite--update-aliases $majorVersion $siteAlias"
+ environment.put("PATH", System.getenv("PATH") + ":$venv/bin")
+ commandLine(command.split(" "))
}
-tasks.register("buildSite") {
- dependsOn("checkDocs", "installMkDocs")
- commandLine("$venv/bin/mkdocs build -cs".split(" "))
+tasks.register("deleteSite") {
+ dependsOn("installMkDocs")
+ environment.put("PATH", System.getenv("PATH") + ":$venv/bin")
+ commandLine("$venv/bin/mike delete --all".split(" "))
+}
+
+tasks.register("defaultSite") {
+ dependsOn("installMkDocs")
+ environment.put("PATH", System.getenv("PATH") + ":$venv/bin")
+ commandLine("$venv/bin/mike set-default stable".split(" "))
+}
+
+/*
+ * Order:
+ * 1. Delete
+ * 2. Build stable
+ * 3. Set default
+ * 4. Serve (test)
+ * 5. Push stable
+ */
+tasks.register("serveSite") {
+ environment.put("PATH", System.getenv("PATH") + ":$venv/bin")
+ commandLine("$venv/bin/mike serve".split(" "))
}
tasks.withType().configureEach { enabled = false }
@@ -215,7 +243,7 @@ fun insertSamplesCode(parent: File, content: String): String =
val lines = url.readText().lines()
val text = lines.slice(lines.rangeOf(tag)).joinToString("\n").trimIndent()
"```kotlin\n$text\n```"
- } catch (e: Exception) {
+ } catch (_: Exception) {
val code = it.value
println("ERROR: Unable to process '$code' in folder: '${parent.absolutePath}'")
code
diff --git a/site/footer.txt b/site/footer.txt
index 2ad90270b4..7fb4346ca0 100644
--- a/site/footer.txt
+++ b/site/footer.txt
@@ -3,5 +3,5 @@ Made with by
OSS contributors.
-Licensed under
+Licensed under
MIT License
diff --git a/site/mkdocs.yml b/site/mkdocs.yml
index 3fac82a9b3..82d8995112 100644
--- a/site/mkdocs.yml
+++ b/site/mkdocs.yml
@@ -2,7 +2,7 @@
dev_addr: 127.0.0.1:8000
site_name: Hexagon
-site_url: https://hexagontk.com
+site_url: https://hexagontk.com/
site_author: Hexagon Toolkit
site_dir: build/site
site_description: The atoms of your platform
@@ -13,7 +13,7 @@ copyright: >
62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1
53-154.3-9.8-207.9z"> by
OSS contributors. Licensed
- under MIT License
+ under MIT License
repo_name: hexagontk/hexagon
repo_url: https://github.com/hexagontk/hexagon
@@ -125,6 +125,10 @@ extra:
Hexagon is a microservices toolkit written in Kotlin. Its purpose is to ease the building of
services (Web applications or APIs) that run inside a cloud platform
+ version:
+ provider: mike
+ alias: true
+
analytics:
provider: google
property: G-BEKWF2E4DJ
diff --git a/site/mkdocs/index.html b/site/mkdocs/index.html
index 42d3772b8c..3fbdfc1896 100644
--- a/site/mkdocs/index.html
+++ b/site/mkdocs/index.html
@@ -17,11 +17,11 @@
alt="GitHub Actions"
src="https://github.com/hexagontk/hexagon/workflows/Release/badge.svg" />
-
-
+
+
-
+
@@ -30,7 +30,7 @@
The atoms of your platform
Hexagon is a microservices
toolkit written in
- Kotlin. Its purpose is to ease the building of server
+ Kotlin. Its purpose is to ease the building of server
applications (Web applications or APIs) that run inside a cloud platform.