Compare commits

...

24 commits

Author SHA1 Message Date
44a3e406a8 Lock file maintenance 2025-04-22 20:08:15 +00:00
cdbbe92e89 Merge pull request 'Update dependency generate-license-file to v4' (#492) from renovate/generate-license-file-4.x into main
Reviewed-on: #492
2025-04-22 20:05:44 +00:00
d62ada6c53 Update dependency generate-license-file to v4 2025-04-22 20:05:44 +00:00
342712e72f Merge pull request 'Update dependency codemirror to v5.65.19' (#493) from renovate/codemirror-5.x into main
Reviewed-on: #493
2025-04-22 19:56:43 +00:00
59c17419a9
Merge remote-tracking branch 'origin/main' into renovate/codemirror-5.x
# Conflicts:
#	package-lock.json
#	package.json
2025-04-22 21:52:38 +02:00
ac978f9555 Merge pull request 'Update dependency less to v4.3.0' (#494) from renovate/less-4.x into main
Reviewed-on: #494
2025-04-22 19:48:26 +00:00
4f97663619 Update dependency less to v4.3.0 2025-04-22 19:48:26 +00:00
7723a55306 Update dependency alpinejs to v3.14.9 2025-04-22 19:44:15 +00:00
45c8131c84 Merge pull request 'Update dependency org.jsoup:jsoup to v1.19.1' (#489) from renovate/org.jsoup-jsoup-1.x into main 2025-04-22 19:43:07 +00:00
147bd635fc
Merge remote-tracking branch 'origin/main' into renovate/org.jsoup-jsoup-1.x
# Conflicts:
#	code/Global/Global.js
2025-04-22 21:41:54 +02:00
a0e78d7fa6
Bump imported Jsoup version 2025-04-22 21:37:27 +02:00
7e32c3ad6f Update dependency gradle to v8.13 2025-04-22 19:20:46 +00:00
6e6a5ce191 Merge pull request 'Get rid of the annoying log message “done”' (#495) from remove-annoying-log-message into main 2025-04-22 19:17:32 +00:00
eb3f749ba1
Get rid of the annoying log message “done”
It is triggered by the LessCss compiler in the lesscss-1.7.9.1.1.jar file, META-INF/lessc-rhino-1.7.0.js – it’s an unminified JS file, so it’s simply patched by adding comments before the console.log("done") call.

Also see https://github.com/marceloverdijk/lesscss-java/issues/59
2025-04-08 00:46:40 +02:00
f005cb7b17 Update dependency codemirror to v5.65.19
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
2025-03-23 16:42:51 +00:00
dbec9f22b2 Update dependency org.jsoup:jsoup to v1.19.1 2025-03-04 04:42:47 +00:00
ab7c1a4c1c
Bump year of the copyright notice
All checks were successful
Release / release (push) Successful in 49s
2025-03-01 19:36:14 +01:00
e37c4ad69b
Replace all repo URLs pointing to GitHub 2025-03-01 19:35:55 +01:00
cbcdb22670
Escape HTML elements in commit messages 2025-03-01 17:59:17 +01:00
babf14a8d2
Do not publish the archives with the Antville source code
These sources are included in the release files, anyway.
2025-03-01 17:47:13 +01:00
bae8079268
Switch to GZIP compression, BZIP2 still looking unpopular 2025-03-01 17:46:31 +01:00
cf5405478f
Add intermediate directory to archive files 2025-03-01 17:44:47 +01:00
31029a8cac
Bump Helma version
All checks were successful
Release / release (push) Successful in 46s
2025-03-01 16:47:25 +01:00
7821dd0142
Add release notes generated with git-cliff
All checks were successful
Release / release (push) Successful in 57s
2025-03-01 16:42:17 +01:00
14 changed files with 1056 additions and 858 deletions

View file

@ -9,7 +9,7 @@ permissions:
contents: write
jobs:
build:
release:
runs-on: antville
env:
@ -18,10 +18,22 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build with Gradle
run: ./gradlew assembleDist
- name: Create release notes
id: create_release_notes
run: |
release_notes=$(npx git-cliff@latest --latest)
# Write the release notes as a heredoc to the workflow output
# ⚠️ No white space around `<<` is crucial!
echo "release_notes<<.eot0x03" >> $GITHUB_OUTPUT
echo "$release_notes" >> $GITHUB_OUTPUT
echo ".eot0x03" >> $GITHUB_OUTPUT
- name: Create release
uses: actions/forgejo-release@v2
with:
@ -30,7 +42,8 @@ jobs:
token: ${{ github.token }}
title: Antville ${{ github.ref_name }}
release-dir: build/distributions
release-notes-assistant: true
release-notes: ${{ steps.create_release_notes.outputs.release_notes }}
hide-archive-link: true
verbose: true
- name: Create release at GitHub
@ -38,7 +51,7 @@ jobs:
gh release create "$GITHUB_REF_NAME" \
--repo "$GITHUB_REPOSITORY" \
--title "Antville ${{ github.ref_name }}" \
--generate-notes
--notes "${{ steps.create_release_notes.outputs.release_notes }}"
- name: Upload release assets to GitHub
run: |

View file

@ -2,7 +2,7 @@
## Helma Object Publisher
Antville needs Helma Object Publisher to be installed on the desired machine. If not already done so please [download Helma](https://github.com/antville/helma/releases) and follow the [installation instructions](https://github.com/antville/helma/#how-to-helma).
Antville needs Helma Object Publisher to be installed on the desired machine. If not already done so please [download Helma](https://code.host.antville.org/antville/helma/releases) and follow the [installation instructions](https://code.host.antville.org/antville/helma/#how-to-helma).
## SQL Database

View file

@ -1,6 +1,7 @@
# License
Copyright 2001-2020 by the Workers of Antville.
Copyright 2001-2025 by Antville Verein für Entwicklung, Betrieb und
Unterstützung freier Publishing-Software, Austria.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View file

@ -14,7 +14,7 @@ There still could be bugs hidden in Antvilles source code. If you find one pl
## System Requirements
To run Antville you need [Helma Object Publisher](https://github.com/antville/helma) and a relational database software. We tested Antville with [PostgreSQL](https://postgresql.org) and [MySQL](https://mysql.com) [MariaDB](https://mariadb.com) should work, too.
To run Antville you need [Helma Object Publisher](https://code.host.antville.org/antville/helma) and a relational database software. We tested Antville with [PostgreSQL](https://postgresql.org) and [MySQL](https://mysql.com) [MariaDB](https://mariadb.com) should work, too.
To enable Antville sending notification e-mails you need access to an SMTP server.
@ -43,7 +43,7 @@ Antville is open-source, and we want to encourage you to change its code accordi
## About Helma Object Publisher
[Helma Object Publisher](https://github.com/antville/helma) is an open source project providing a powerful, fast and scriptable web application server written in Java.
[Helma Object Publisher](https://code.host.antville.org/antville/helma) is an open source project providing a powerful, fast and scriptable web application server written in Java.
Define HopObjects and map them to a relational database table. Create, change and delete HopObjects at your whim using a comfortable object-container model. Manual fiddling around with database code is not necessary.

View file

@ -42,15 +42,19 @@ allprojects {
version = distVersion()
configurations {
lessCss
}
dependencies {
implementation 'org.commonmark:commonmark:0.24.0'
implementation 'org.commonmark:commonmark-ext-autolink:0.24.0'
implementation 'org.commonmark:commonmark-ext-gfm-strikethrough:0.24.0'
implementation 'org.commonmark:commonmark-ext-gfm-tables:0.24.0'
implementation 'org.jsoup:jsoup:1.18.3'
implementation 'org.jsoup:jsoup:1.19.1'
implementation 'rome:rome:1.0'
implementation('org.lesscss:lesscss:1.7.0.1.1') {
lessCss('org.lesscss:lesscss:1.7.0.1.1') {
exclude group: 'org.mozilla', module: 'rhino'
exclude group: 'org.slf4j', module: 'slf4j-api'
exclude group: 'org.slf4j', module: 'slf4j-simple'
@ -291,25 +295,80 @@ tasks.register('distZip', Zip) {
inputs.dir antvilleInstallDir
outputs.file "$outputDir/$outputFile"
from antvilleInstallDir
from (antvilleInstallDir) {
into "antville-${version}"
}
destinationDirectory = file(outputDir)
archiveFileName = outputFile
}
tasks.register('distTar', Tar) {
description 'Creates the Antville download package as Bzip2 file.'
description 'Creates the Antville download package as compressed archive file.'
group 'distribution'
dependsOn 'assemble'
def version = project.distVersion()
def outputDir = "${project.buildDir}/distributions"
def outputFile = "antville-${version}.tbz"
def outputFile = "antville-${version}.tgz"
inputs.dir antvilleInstallDir
outputs.file "$outputDir/$outputFile"
from antvilleInstallDir
compression = Compression.BZIP2
from (antvilleInstallDir) {
into "antville-${version}"
}
compression = Compression.GZIP
destinationDirectory = file(outputDir)
archiveFileName = outputFile
}
// Task to patch the lesscss JAR file
// This task modifies the lessc-rhino-1.7.0.js file in the JAR to comment out an annoying console.log statement (done)
def patchLessCssJar = tasks.register('patchLessCssJar') {
def name = 'lesscss-1.7.0.1.1'
def targetFile = 'META-INF/lessc-rhino-1.7.0.js' // File to patch
def tempDir = file("${buildDir}/${name}") // Temporary directory for extraction
def patchedJar = file("${buildDir}/${name}-patched.jar") // Output patched JAR
outputs.file patchedJar
doLast {
if (tempDir.exists()) {
tempDir.deleteDir()
}
tempDir.mkdirs()
def jarFile = configurations.lessCss.find {
it.name.contains(name)
}
println "Patching $jarFile…"
ant.unzip(src: jarFile, dest: tempDir)
def targetFilePath = new File(tempDir, targetFile)
def content = targetFilePath.text
content = content.replace('console.log("done")', '// console.log("done")')
targetFilePath.text = content
ant.zip(destfile: patchedJar) {
fileset(dir: tempDir)
}
}
}
// Ensure the patchLessCssJar task runs before the classes task
tasks.named('build').configure {
dependsOn patchLessCssJar
}
// Exclude the original lesscss JAR from the runtime classpath
// and include the patched JAR instead
configurations.runtimeClasspath {
exclude group: 'org.lesscss', module: 'lesscss'
dependencies {
runtimeOnly(patchLessCssJar.map { it.outputs.files })
}
}

52
cliff.toml Normal file
View file

@ -0,0 +1,52 @@
# git-cliff ~ default configuration file
# https://git-cliff.org/docs/configuration
#
# Lines starting with "#" are comments.
# Configuration options are organized into tables and keys.
# See documentation for more information on available options.
[changelog]
trim = true
header = "## Changes"
body = """
{% for group, commits in commits | filter(attribute="merge_commit") | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits %}
* [<tt>{{ commit.id | split(pat="") | slice(end=11) | join() }}</tt>]\
(https://code.host.antville.org/antville/antville/commit/{{ commit.id }}) \
{% if commit.breaking %}**Breaking:** {% endif %}\
{{ commit.message | split(pat="\\n") | first | upper_first | escape }}\
{% endfor %}
{% endfor %}
**Full Changelog:** [{{ previous.version }} {{ version }}]\
(https://code.host.antville.org/antville/antville/compare/\
{{ previous.version | urlencode }}..{{ version | urlencode }})\n\n
"""
footer = """
Generated by [git-cliff](https://git-cliff.org/).
"""
[git]
conventional_commits = false
filter_commits = false
filter_unconventional = false
protect_breaking_commits = false
sort_commits = "newest"
split_commits = false
topo_order = false
commit_parsers = [
{ message = "^Apply \\d+ suggestion", skip = true },
{ message = "^Merge .*(branch|dependabot|dependency|renovate)", skip = true },
{ message = "^Lock file maintenance", skip = true },
{ message = "yarn\\.lock", skip = true },
{ message = "^[Ff]ix", group = "<!-- 0 --> 🐛 Bug Fixes" },
{ field = "author.name", pattern = "[Rr]enovate|[Dd]ependabot", group = "<!-- 3 --> 📦 Dependency Updates" },
{ message = "^Merge pull request", group = "<!-- 1 --> 🔀 Merges" },
{ message = ".*", group = "<!-- 2 --> Uncategorized" },
]

View file

@ -22,8 +22,9 @@
String.ELLIPSIS = '…';
app.addRepository(app.dir + '/../lib/jdom-1.0.jar');
app.addRepository(app.dir + '/../lib/jsoup-1.18.3.jar');
app.addRepository(app.dir + '/../lib/lesscss-1.7.0.1.1.jar');
app.addRepository(app.dir + '/../lib/jsoup-1.19.1.jar');
// See the patchLessCssJar task in build.gradle
app.addRepository(app.dir + '/../lib/lesscss-1.7.0.1.1-patched.jar');
app.addRepository(app.dir + '/../lib/rome-1.0.jar');
app.addRepository('modules/core/Global.js');

View file

@ -1,2 +1,2 @@
antville.repo.url = https://code.host.antville.org/github.com/antville/antville.git
helma.download.url = https://code.host.antville.org/antville/helma/releases/download/25.1.3/helma-25.1.3.tgz
helma.download.url = https://code.host.antville.org/antville/helma/releases/download/25.3.1/helma-25.3.1.tgz

Binary file not shown.

View file

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME

2
gradlew vendored
View file

@ -205,7 +205,7 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.

1726
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -31,8 +31,8 @@
"author": "The Antville People",
"license": "Apache-2.0",
"dependencies": {
"alpinejs": "3.14.8",
"codemirror": "5.65.18",
"alpinejs": "3.14.9",
"codemirror": "5.65.19",
"jquery": "3.7.1",
"jquery-collagePlus": "github:antville/jquery-collagePlus#0.3.4",
"js-md5": "0.8.3",
@ -40,9 +40,9 @@
},
"devDependencies": {
"browserify": "17.0.1",
"generate-license-file": "3.7.0",
"generate-license-file": "4.0.0",
"jsdoc": "4.0.4",
"less": "4.2.2",
"less": "4.3.0",
"less-plugin-clean-css": "1.6.0",
"npm-run-all2": "7.0.2",
"onchange": "7.1.0",

View file

@ -195,25 +195,31 @@ tasks.register('distZip', Zip) {
inputs.dir helmaInstallDir
outputs.file "$outputDir/$outputFile"
from helmaInstallDir
from (helmaInstallDir) {
into "antclick-${version}"
}
destinationDirectory = file(outputDir)
archiveFileName = outputFile
}
tasks.register('distTar', Tar) {
description 'Creates the AntClick download package as Bzip2 file.'
description 'Creates the AntClick download package as compressed archive file.'
group 'distribution'
dependsOn 'assemble'
def version = project.distVersion()
def outputDir = "${rootProject.buildDir}/distributions"
def outputFile = "antclick-${version}.tbz"
def outputFile = "antclick-${version}.tgz"
inputs.dir helmaInstallDir
outputs.file "$outputDir/$outputFile"
from helmaInstallDir
compression = Compression.BZIP2
from (helmaInstallDir) {
into "antclick-${version}"
}
compression = Compression.GZIP
destinationDirectory = file(outputDir)
archiveFileName = outputFile
}