Skip to content

Commit 008496f

Browse files
authored
release v1.1.0
2 parents 34c37ac + 4a4ae87 commit 008496f

File tree

80 files changed

+2244
-973
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+2244
-973
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Desktop (please complete the following information):**
27+
- OS: [e.g. iOS]
28+
- Browser [e.g. chrome, safari]
29+
- Version [e.g. 22]
30+
31+
**Smartphone (please complete the following information):**
32+
- Device: [e.g. iPhone6]
33+
- OS: [e.g. iOS8.1]
34+
- Browser [e.g. stock browser, safari]
35+
- Version [e.g. 22]
36+
37+
**Additional context**
38+
Add any other context about the problem here.

.github/dependabot.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "gradle" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
target-branch: "development"
11+
schedule:
12+
interval: "weekly"

.github/issue-branch.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Automatically close issue after a pull request merge
2+
autoCloseIssue: true
3+
4+
# Override the source branch
5+
defaultBranch: 'development'
6+
7+
#Skip branch creation based on issue label 'question'
8+
branches:
9+
- label: question
10+
skip: true
11+
12+
# Automatically open a Pull Request
13+
openPR: true
14+
15+
# Copy attributes from issue
16+
copyIssueDescriptionToPR: true
17+
copyIssueLabelsToPR: true
18+
copyIssueAssigneeToPR: true
19+
copyIssueMilestoneToPR: true
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Build and Test Bootable JAR
2+
3+
on:
4+
push:
5+
pull_request:
6+
branches: [ main, development ]
7+
8+
jobs:
9+
build-and-test:
10+
runs-on: ${{ matrix.os }}
11+
strategy:
12+
matrix:
13+
os: [ubuntu-latest, windows-latest, macos-latest]
14+
java: [17]
15+
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v4
19+
20+
- name: Set up JDK ${{ matrix.java }}
21+
uses: actions/setup-java@v4
22+
with:
23+
distribution: 'temurin'
24+
java-version: ${{ matrix.java }}
25+
26+
- name: Grant execute permission for Gradle wrapper (Unix)
27+
if: runner.os != 'Windows'
28+
run: chmod +x gradlew
29+
30+
- name: Build bootable JAR (skip tests)
31+
run: ./gradlew bootJar -x test
32+
33+
- name: Run JAR with auto-input
34+
shell: bash
35+
run: |
36+
echo -e "\n\n\n\n\n\nok\nyes" | java -jar build/libs/wap-server.jar &
37+
echo $! > server.pid
38+
sleep 20 # Give the server time to start
39+
40+
- name: hurl install
41+
uses: gacts/install-hurl@v1
42+
43+
- name: hurl CRUD tests (windows)
44+
if: runner.os == 'Windows'
45+
shell: bash
46+
run: |
47+
for file in ./integration_tests/CRUD/*.hurl; do
48+
hurl --variable host=http://localhost:8080 --test "$file" --verbose --error-format=long --continue-on-error --report-html hurlreports
49+
done
50+
- name: hurl tests (other)
51+
if: runner.os != 'Windows'
52+
run: hurl --variable host=http://localhost:8080 --test ./integration_tests/CRUD/*.hurl --verbose --error-format=long --continue-on-error --report-html hurlreports
53+
- name: hurl performance tests
54+
run: hurl --variable host=http://localhost:8080 --test ./integration_tests/performance/create_anno.hurl --jobs 1 --repeat 1000 --verbose --error-format=long --report-html hurlreports
55+
- name: Upload generated libs as job artifact
56+
uses: actions/upload-artifact@v4
57+
with:
58+
name: jar_jdk${{ matrix.java }}_${{ matrix.os }}
59+
path: ./build/libs/
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Branch on Issue
2+
3+
on:
4+
issues:
5+
types: [ assigned ]
6+
pull_request:
7+
types: [ closed ]
8+
9+
jobs:
10+
create_issue_branch_job:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Create Issue Branch
14+
uses: robvanderleek/create-issue-branch@main
15+
env:
16+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# For most projects, this workflow file will not need changing; you simply need
2+
# to commit it to your repository.
3+
#
4+
# You may wish to alter this file to override the set of languages analyzed,
5+
# or to provide custom queries or build logic.
6+
#
7+
# ******** NOTE ********
8+
# We have attempted to detect the languages in your repository. Please check
9+
# the `language` matrix defined below to confirm you have the correct set of
10+
# supported CodeQL languages.
11+
#
12+
name: "CodeQL"
13+
14+
on:
15+
push:
16+
branches: [ main ]
17+
pull_request:
18+
# The branches below must be a subset of the branches above
19+
branches: [ main ]
20+
schedule:
21+
- cron: '29 1 * * 3'
22+
23+
jobs:
24+
analyze:
25+
name: Analyze
26+
runs-on: ubuntu-latest
27+
permissions:
28+
actions: read
29+
contents: read
30+
security-events: write
31+
32+
strategy:
33+
fail-fast: false
34+
matrix:
35+
language: [ 'java' ]
36+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
37+
# Learn more about CodeQL language support at https://git.io/codeql-language-support
38+
39+
steps:
40+
- name: Checkout repository
41+
uses: actions/checkout@v2
42+
43+
# Initializes the CodeQL tools for scanning.
44+
- name: Initialize CodeQL
45+
uses: github/codeql-action/init@v1
46+
with:
47+
languages: ${{ matrix.language }}
48+
# If you wish to specify custom queries, you can do so here or in a config file.
49+
# By default, queries listed here will override any specified in a config file.
50+
# Prefix the list here with "+" to use these queries and those in the config file.
51+
# queries: ./path/to/local/query, your-org/your-repo/queries@main
52+
53+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
54+
# If this step fails, then you should remove it and run the build manually (see below)
55+
- name: Autobuild
56+
uses: github/codeql-action/autobuild@v1
57+
58+
# ℹ️ Command-line programs to run using the OS shell.
59+
# 📚 https://git.io/JvXDl
60+
61+
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
62+
# and modify them (or add more) to build your code if your project
63+
# uses a compiled language
64+
65+
#- run: |
66+
# make bootstrap
67+
# make release
68+
69+
- name: Perform CodeQL Analysis
70+
uses: github/codeql-action/analyze@v1

.github/workflows/gradle.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# This workflow will build a Java project with Gradle
2+
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
3+
4+
name: build with gradle
5+
6+
on:
7+
push:
8+
pull_request:
9+
branches: [ main, development ]
10+
11+
env:
12+
# JDK version used for building jar file
13+
currentBuildVersion: 17
14+
jobs:
15+
build:
16+
runs-on: ${{ matrix.operating-system }}
17+
strategy:
18+
matrix:
19+
operating-system: [ubuntu-latest, macOS-latest]
20+
# Use both LTS releases and latest one for tests
21+
jdk: [ 17 ]
22+
steps:
23+
- name: Checkout repo
24+
uses: actions/checkout@v4
25+
- name: Set up OpenJDK version ...
26+
uses: actions/setup-java@v4
27+
with:
28+
distribution: 'temurin'
29+
java-version: ${{ matrix.jdk }}
30+
- name: Grant execute permission for gradlew
31+
run: chmod +x gradlew
32+
- name: Build with Gradle
33+
run: |
34+
if [ "$RUNNER_OS" == "Linux" ]; then
35+
./gradlew clean build
36+
elif [ "$RUNNER_OS" == "macOS" ]; then
37+
./gradlew clean build
38+
elif [ "$RUNNER_OS" == "Windows" ]; then
39+
./gradlew.bat clean build
40+
else
41+
echo "$RUNNER_OS not supported"
42+
exit 1
43+
fi
44+
shell: bash
45+
coverage:
46+
needs: build
47+
runs-on: ubuntu-latest
48+
steps:
49+
- name: Checkout repo
50+
uses: actions/checkout@v2
51+
- name: Set up OpenJDK version ...
52+
uses: actions/setup-java@v2
53+
with:
54+
distribution: 'zulu'
55+
java-version: ${{ env.currentBuildVersion }}
56+
- name: Grant execute permission for gradlew
57+
run: chmod +x gradlew
58+
- name: Build with Gradle (JDK ${{ env.currentBuildVersion }})
59+
run: ./gradlew clean check jacocoTestReport
60+
- name: Codecov
61+
uses: codecov/codecov-action@v1
62+
with:
63+
files: ./build/reports/jacoco/test/jacocoTestReport.xml #optional

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ buildNumber.properties
9191
.mtj.tmp/
9292

9393
# Package Files #
94-
*.jar
94+
#*.jar
9595
*.war
9696
*.nar
9797
*.ear
@@ -111,6 +111,7 @@ nbbuild/
111111
dist/
112112
nbdist/
113113
.nb-gradle/
114+
.gradle/
114115

115116

116117
### IntelliJ IDEA ###
@@ -128,3 +129,6 @@ nbdist/
128129
/application.properties
129130
/ssl/
130131
/cors_allowed_origins.conf
132+
133+
# hurl
134+
/hurlreports

CHANGELOG

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased]
88

9+
## [1.1.0] - 2025-06-13
10+
### Added
11+
- Gradle build toolchain (Maven build will be deprecated in future upgrade)
12+
13+
### Changed
14+
- Updated dependencies for apache-jena from 3.7.0 to 4.10.0 ([PR#15](https://github.com/kit-data-manager/wap-server/pull/15))
15+
- Updated spring boot from 2.5.5 to 2.7.5
16+
- Abandoned Apache Commons RDF dependency replaced by commons rdf shipped with apache jena ([PR#15](https://github.com/kit-data-manager/wap-server/pull/15))
17+
- Union graph set as default graph for Fuseki - no need to query named graphs individually in SPARQL queries anymore ([PR#19](https://github.com/kit-data-manager/wap-server/pull/19)).
18+
19+
### Removed
20+
- none
21+
22+
### Deprecated
23+
- none
24+
25+
### Fixed
26+
- JSON-LD framing now uses cached profiles instead of remote version ([PR#5](https://github.com/kit-data-manager/wap-server/pull/5))
27+
- JSON-LD compacting now uses contexts from both frame and profile (only profile before) ([PR#21](https://github.com/kit-data-manager/wap-server/pull/21))
28+
- Running test suite will no longer fail due to flooding w3c http with requests for json-ld context files (simulated hoverfly response instead) ([PR#9](https://github.com/kit-data-manager/wap-server/pull/9))
29+
- SPARQL queries with bind clauses will no longer result in extensive logging about "No node in NodeTable" (Issue #8, [PR#13](https://github.com/kit-data-manager/wap-server/pull/13))
30+
- Annotation data in json-ld format no longer returns broken character escaping (Issue #7, [PR#11](https://github.com/kit-data-manager/wap-server/pull/11))
31+
32+
### Security
33+
- none
34+
935
## [1.0] - 2020-09-04
1036
### Added
1137
- First public version

README.md

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# Web Annotation Protocol Server
22

3-
![Travis (.com)](https://img.shields.io/travis/com/kit-data-manager/wap-server)
43
![Code Coverage](https://img.shields.io/coveralls/github/kit-data-manager/wap-server.svg)
54
![License](https://img.shields.io/github/license/kit-data-manager/wap-server.svg)
65

@@ -10,21 +9,7 @@ the complete Web Annotation Protocol (WAP). The service is realized as microserv
109

1110
## How to build
1211

13-
To install the application from source, see howtos/INSTALL. This way no IDE is needed.
14-
15-
To open this project in Eclipse please follow these steps: (on other IDEs, the steps might be different)
16-
17-
The STS (Spring Tool Suite) plug-in should be installed
18-
19-
- generate a new java project
20-
- connect it to git and pull the source code
21-
- right click on the Project and choose "Spring Tools" -> "Add Spring Project Nature"
22-
- right click on the Project and choose "Spring Tools" -> "Update Maven Dependencies"
23-
- right click again an choose "Configure" -> "Convert to Maven Project"
24-
- The src folder src/main/installer/java may not have been added automatically.
25-
Add it through right-click on it, "Build Path" ==> "Use as Source Folder".
26-
27-
Now it should be possible to right click on the project and choose "Run as" -> "Spring Boot App"
12+
To install the application from source, see [howtos](howtos/summary.md).
2813

2914
## More Information
3015

0 commit comments

Comments
 (0)