Compare commits
	
		
			1 commit
		
	
	
		
			3cd1ff30a8
			...
			dcaffe2e75
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| dcaffe2e75 | 
					 14 changed files with 36 additions and 208 deletions
				
			
		
							
								
								
									
										22
									
								
								.github/workflows/build.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								.github/workflows/build.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -1,22 +0,0 @@ | ||||||
| name: Build |  | ||||||
| 
 |  | ||||||
| on: |  | ||||||
|   push: |  | ||||||
|     paths: |  | ||||||
|       - .github/workflows/build.yml |  | ||||||
|       - build.gradle |  | ||||||
|       - settings.gradle |  | ||||||
|       - src/** |  | ||||||
|       - launcher/build.gradle |  | ||||||
|       - launcher/src/** |  | ||||||
|   workflow_dispatch: |  | ||||||
| 
 |  | ||||||
| jobs: |  | ||||||
|   build: |  | ||||||
|     runs-on: antville |  | ||||||
| 
 |  | ||||||
|     steps: |  | ||||||
|       - uses: actions/checkout@v4 |  | ||||||
| 
 |  | ||||||
|       - name: Compile with Gradle |  | ||||||
|         run: ./gradlew :compileJava |  | ||||||
							
								
								
									
										23
									
								
								.github/workflows/release.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								.github/workflows/release.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -9,27 +9,16 @@ permissions: | ||||||
|   contents: write |   contents: write | ||||||
| 
 | 
 | ||||||
| jobs: | jobs: | ||||||
|   release: |   build: | ||||||
|     runs-on: antville |     runs-on: antville | ||||||
| 
 | 
 | ||||||
|     env: |     env: | ||||||
|       GH_TOKEN: ${{ secrets.GH_TOKEN }} |       GH_TOKEN: ${{ secrets.GH_TOKEN }} | ||||||
|       LC_TIME: en_US.UTF-8 |       LC_TIME: en_US.UTF-8 | ||||||
|  |       TODAY: $(date +'%d %b %Y') | ||||||
| 
 | 
 | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v4 |       - uses: actions/checkout@v4 | ||||||
|         with: |  | ||||||
|           fetch-depth: 0 |  | ||||||
| 
 |  | ||||||
|       - 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: Build with Gradle |       - name: Build with Gradle | ||||||
|         run: ./gradlew assembleDist |         run: ./gradlew assembleDist | ||||||
|  | @ -40,17 +29,17 @@ jobs: | ||||||
|           direction: upload |           direction: upload | ||||||
|           url: https://code.host.antville.org |           url: https://code.host.antville.org | ||||||
|           token: ${{ github.token }} |           token: ${{ github.token }} | ||||||
|           title: Helma ${{ github.ref_name }} |           title: ${{ env.TODAY }} | ||||||
|           release-dir: build/distributions |           release-dir: build/distributions | ||||||
|           release-notes: ${{ steps.create_release_notes.outputs.release_notes }} |           release-notes-assistant: true | ||||||
|           verbose: true |           verbose: true | ||||||
| 
 | 
 | ||||||
|       - name: Create release at GitHub |       - name: Create release at GitHub | ||||||
|         run: | |         run: | | ||||||
|           gh release create "$GITHUB_REF_NAME" \ |           gh release create "$GITHUB_REF_NAME" \ | ||||||
|             --repo "$GITHUB_REPOSITORY" \ |             --repo "$GITHUB_REPOSITORY" \ | ||||||
|             --title "Helma ${{ github.ref_name }}" \ |             --title "${{ env.TODAY }}" \ | ||||||
|             --notes "${{ steps.create_release_notes.outputs.release_notes }}" |             --generate-notes | ||||||
| 
 | 
 | ||||||
|       - name: Upload release assets to GitHub |       - name: Upload release assets to GitHub | ||||||
|         run: | |         run: | | ||||||
|  |  | ||||||
							
								
								
									
										32
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										32
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1,30 +1,22 @@ | ||||||
| # Generally ignore hidden files | .gradle | ||||||
| .* | .idea | ||||||
|  | .settings | ||||||
|  | build | ||||||
| 
 | 
 | ||||||
| # Manage some Codium configuration | /apps | ||||||
| .vscode/* |  | ||||||
| !.vscode |  | ||||||
| !.vscode/extensions.json |  | ||||||
| !.vscode/launch.json |  | ||||||
| !.vscode/settings.json |  | ||||||
| !.vscode/tasks.json |  | ||||||
| 
 |  | ||||||
| # Ignore files created during build or run |  | ||||||
| /bin | /bin | ||||||
| /backups | /backups | ||||||
| build | /db | ||||||
| /docs | /docs | ||||||
|  | /extras | ||||||
| /lib | /lib | ||||||
| /licenses | /licenses | ||||||
| /log | /log | ||||||
| 
 |  | ||||||
| # Ignore files managed in src/dist |  | ||||||
| /*.properties |  | ||||||
| /apps |  | ||||||
| /db |  | ||||||
| /extras |  | ||||||
| /launcher.jar |  | ||||||
| /static | /static | ||||||
| 
 | 
 | ||||||
| # Manage Gradle configuration | /*.properties | ||||||
|  | /launcher.jar | ||||||
|  | /passwd | ||||||
|  | /start.* | ||||||
|  | 
 | ||||||
| !/gradle.properties | !/gradle.properties | ||||||
|  |  | ||||||
							
								
								
									
										21
									
								
								.vscode/launch.json
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								.vscode/launch.json
									
										
									
									
										vendored
									
									
								
							|  | @ -1,21 +0,0 @@ | ||||||
| { |  | ||||||
|   // Use IntelliSense to learn about possible attributes. |  | ||||||
|   // Hover to view descriptions of existing attributes. |  | ||||||
|   // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 |  | ||||||
|   "version": "0.2.0", |  | ||||||
|   "configurations": [ |  | ||||||
|     { |  | ||||||
|       "type": "java", |  | ||||||
|       "name": "Current File", |  | ||||||
|       "request": "launch", |  | ||||||
|       "mainClass": "${file}" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "type": "java", |  | ||||||
|       "name": "Debug", |  | ||||||
|       "request": "launch", |  | ||||||
|       "mainClass": "helma.main.Server", |  | ||||||
|       "projectName": "helma_" |  | ||||||
|     } |  | ||||||
|   ] |  | ||||||
| } |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| # License | # License | ||||||
| 
 | 
 | ||||||
| Copyright (c) 1999-2025 Helma Project. All rights reserved. | Copyright (c) 1999-2008 Helma Project. All rights reserved. | ||||||
| 
 | 
 | ||||||
| Redistribution and use in source and binary forms, with or without | Redistribution and use in source and binary forms, with or without | ||||||
| modification, are permitted provided that the following conditions | modification, are permitted provided that the following conditions | ||||||
|  |  | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
| ## TL;DR | ## TL;DR | ||||||
| 
 | 
 | ||||||
| - Make sure you have Java 11 or higher installed | - Make sure you have Java 11 or higher installed | ||||||
| - Download and unpack the [latest release](https://code.host.antville.org/antville/helma/releases) | - Download and unpack the [latest release](https://github.com/antville/helma/releases) | ||||||
| - Invoke `./bin/helma`, resp. `./bin/helma.bat`, depending on your platform | - Invoke `./bin/helma`, resp. `./bin/helma.bat`, depending on your platform | ||||||
| - Direct your web browser to <http://localhost:8080> | - Direct your web browser to <http://localhost:8080> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										17
									
								
								build.gradle
									
										
									
									
									
								
							
							
						
						
									
										17
									
								
								build.gradle
									
										
									
									
									
								
							|  | @ -42,6 +42,15 @@ if (JavaVersion.current().isJava8Compatible()) { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | sourceSets { | ||||||
|  |   main { | ||||||
|  |     java { | ||||||
|  |       // Sources in `src` will be available here after processing | ||||||
|  |       srcDirs = ["$buildDir/src/main/java"] | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| configurations { | configurations { | ||||||
|   // Wrapping implementation because it does not allow access to its files |   // Wrapping implementation because it does not allow access to its files | ||||||
|   // (i.e. cannot be resolved) |   // (i.e. cannot be resolved) | ||||||
|  | @ -147,11 +156,9 @@ installDist { | ||||||
|   dependsOn build |   dependsOn build | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| def processSource = tasks.register('processSource', Sync) { | tasks.register('processSource', Sync) { | ||||||
|   def gitOutput = new ByteArrayOutputStream() |   def gitOutput = new ByteArrayOutputStream() | ||||||
| 
 | 
 | ||||||
|   outputs.dir "${project.buildDir}/src" |  | ||||||
| 
 |  | ||||||
|   exec { |   exec { | ||||||
|     commandLine 'git', 'rev-parse', '--short', 'HEAD' |     commandLine 'git', 'rev-parse', '--short', 'HEAD' | ||||||
|     standardOutput = gitOutput |     standardOutput = gitOutput | ||||||
|  | @ -166,11 +173,9 @@ def processSource = tasks.register('processSource', Sync) { | ||||||
|       .replaceAll('__builddate__', new Date().format("d MMM yyyy")) |       .replaceAll('__builddate__', new Date().format("d MMM yyyy")) | ||||||
|       .replaceAll('__commithash__', gitOutput.toString().trim()) |       .replaceAll('__commithash__', gitOutput.toString().trim()) | ||||||
|       .replaceAll('__version__', version) |       .replaceAll('__version__', version) | ||||||
|   } into outputs.files.singleFile |   } into "${project.buildDir}/src" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| tasks.compileJava.source = processSource.map { it.outputs.files } |  | ||||||
| 
 |  | ||||||
| tasks.register('update') { | tasks.register('update') { | ||||||
|   dependsOn installDist |   dependsOn installDist | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										52
									
								
								cliff.toml
									
										
									
									
									
								
							
							
						
						
									
										52
									
								
								cliff.toml
									
										
									
									
									
								
							|  | @ -1,52 +0,0 @@ | ||||||
| # 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/helma/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/helma/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" }, |  | ||||||
| ] |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								gradle/wrapper/gradle-wrapper.jar
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gradle/wrapper/gradle-wrapper.jar
									
										
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										2
									
								
								gradle/wrapper/gradle-wrapper.properties
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								gradle/wrapper/gradle-wrapper.properties
									
										
									
									
										vendored
									
									
								
							|  | @ -1,6 +1,6 @@ | ||||||
| distributionBase=GRADLE_USER_HOME | distributionBase=GRADLE_USER_HOME | ||||||
| distributionPath=wrapper/dists | distributionPath=wrapper/dists | ||||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip | distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip | ||||||
| networkTimeout=10000 | networkTimeout=10000 | ||||||
| validateDistributionUrl=true | validateDistributionUrl=true | ||||||
| zipStoreBase=GRADLE_USER_HOME | zipStoreBase=GRADLE_USER_HOME | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								gradlew
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								gradlew
									
										
									
									
										vendored
									
									
								
							|  | @ -114,7 +114,7 @@ case "$( uname )" in                #( | ||||||
|   NONSTOP* )        nonstop=true ;; |   NONSTOP* )        nonstop=true ;; | ||||||
| esac | esac | ||||||
| 
 | 
 | ||||||
| CLASSPATH="\\\"\\\"" | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # Determine the Java command to use to start the JVM. | # Determine the Java command to use to start the JVM. | ||||||
|  | @ -213,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' | ||||||
| set -- \ | set -- \ | ||||||
|         "-Dorg.gradle.appname=$APP_BASE_NAME" \ |         "-Dorg.gradle.appname=$APP_BASE_NAME" \ | ||||||
|         -classpath "$CLASSPATH" \ |         -classpath "$CLASSPATH" \ | ||||||
|         -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ |         org.gradle.wrapper.GradleWrapperMain \ | ||||||
|         "$@" |         "$@" | ||||||
| 
 | 
 | ||||||
| # Stop when "xargs" is not available. | # Stop when "xargs" is not available. | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								gradlew.bat
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								gradlew.bat
									
										
									
									
										vendored
									
									
								
							|  | @ -70,11 +70,11 @@ goto fail | ||||||
| :execute | :execute | ||||||
| @rem Setup the command line | @rem Setup the command line | ||||||
| 
 | 
 | ||||||
| set CLASSPATH= | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @rem Execute Gradle | @rem Execute Gradle | ||||||
| "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* | ||||||
| 
 | 
 | ||||||
| :end | :end | ||||||
| @rem End local scope for the variables with windows NT shell | @rem End local scope for the variables with windows NT shell | ||||||
|  |  | ||||||
|  | @ -16,6 +16,3 @@ project(':modules').projectDir = file('modules/helma') | ||||||
| project(':jala').projectDir = file('modules/jala') | project(':jala').projectDir = file('modules/jala') | ||||||
| project(':hopKit').projectDir = file('modules/jala/util/HopKit') | project(':hopKit').projectDir = file('modules/jala/util/HopKit') | ||||||
| project(':test').projectDir = file('modules/jala/util/Test') | project(':test').projectDir = file('modules/jala/util/Test') | ||||||
| 
 |  | ||||||
| // Rename this project to prevent redundancy and renaming of main project (VSC does not care, though) |  | ||||||
| project(':modules').name = 'modules' |  | ||||||
|  |  | ||||||
							
								
								
									
										60
									
								
								src/dist/extras/deploy.sh
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										60
									
								
								src/dist/extras/deploy.sh
									
										
									
									
										vendored
									
									
								
							|  | @ -1,60 +0,0 @@ | ||||||
| #!/bin/sh |  | ||||||
| 
 |  | ||||||
| # Use this script as forced command of an authorized SSH key: |  | ||||||
| # command="/home/helma/extras/deploy.sh" ssh-ed25519 AAAAC3NzaC… |  | ||||||
| 
 |  | ||||||
| # Define HELMA_HOST and ANTVILLE_HOST in this file |  | ||||||
| # shellcheck source=/dev/null |  | ||||||
| . "$HOME"/deploy.env |  | ||||||
| 
 |  | ||||||
| case "$SSH_ORIGINAL_COMMAND" in |  | ||||||
|   ping) |  | ||||||
|     echo pong |  | ||||||
|     ;; |  | ||||||
| 
 |  | ||||||
|   deploy-helma) |  | ||||||
|     rsync ./ "$HELMA_HOST":./ \ |  | ||||||
|       --archive --compress --delete --verbose \ |  | ||||||
|       --filter '+ /bin' \ |  | ||||||
|       --filter '+ /extras' \ |  | ||||||
|       --filter '+ /launcher.jar' \ |  | ||||||
|       --filter '- /lib/ext' \ |  | ||||||
|       --filter '+ /lib' \ |  | ||||||
|       --filter '+ /modules' \ |  | ||||||
|       --filter '- /*' |  | ||||||
|     printf 'Restarting Helma on HELMA_host… ' |  | ||||||
|     ssh "$HELMA_HOST" sudo /bin/systemctl restart helma |  | ||||||
|     ;; |  | ||||||
| 
 |  | ||||||
|   deploy-antville) |  | ||||||
|     rsync ./apps/antville/ "$ANTVILLE_HOST":./apps/antville/ \ |  | ||||||
|       --archive --compress --delete --verbose \ |  | ||||||
|       --filter '+ /claustra' \ |  | ||||||
|       --filter '+ /code' \ |  | ||||||
|       --filter '+ /compat' \ |  | ||||||
|       --filter '+ /i18n' \ |  | ||||||
|       --filter '+ /lib' \ |  | ||||||
|       --filter '- /*' |  | ||||||
|     rsync ./apps/antville/static/helma/ "$ANTVILLE_HOST":./apps/antville/static/helma/ \ |  | ||||||
|       --archive --compress --verbose \ |  | ||||||
|       --filter '+ /fonts' \ |  | ||||||
|       --filter '+ /formica.html' \ |  | ||||||
|       --filter '+ /img' \ |  | ||||||
|       --filter '+ /scripts' \ |  | ||||||
|       --filter '+ /styles' \ |  | ||||||
|       --filter '- /*' |  | ||||||
|     printf 'Restarting Helma on ANTVILLE_host… ' |  | ||||||
|     ssh "$ANTVILLE_HOST" sudo /bin/systemctl restart helma |  | ||||||
|     ;; |  | ||||||
| 
 |  | ||||||
|   restart) |  | ||||||
|     printf 'Restarting Helma… ' |  | ||||||
|     sudo /bin/systemctl restart helma |  | ||||||
|     printf '%s\n' 'done.' |  | ||||||
|     ;; |  | ||||||
| 
 |  | ||||||
|   *) |  | ||||||
|     # Allow any rsync command but restrict it to the installation directory |  | ||||||
|     rrsync -wo /home/helma |  | ||||||
|     ;; |  | ||||||
| esac |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue