Skip to content

Commit 75897a8

Browse files
committed
Merge origin/master into upgrade-test-sources-java25
Signed-off-by: Marvin Froeder <velo.br@gmail.com>
2 parents 6658bbd + 66ee735 commit 75897a8

63 files changed

Lines changed: 3779 additions & 7105 deletions

Some content is hidden

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

.circleci/config.yml

Lines changed: 11 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,6 @@ commands:
4141
./mvnw -ntp -B dependency:resolve-plugins go-offline:resolve-dependencies -DskipTests=true
4242
4343
save-test-results:
44-
parameters:
45-
flag:
46-
type: string
47-
default: ""
4844
steps:
4945
- run:
5046
name: Save package results
@@ -54,38 +50,6 @@ commands:
5450
when: always
5551
- store_test_results:
5652
path: ~/test-results
57-
- run:
58-
name: Codecov
59-
command: |
60-
set -x
61-
62-
curl -Os https://cli.codecov.io/latest/linux/codecov
63-
chmod +x codecov
64-
65-
# Prepare extra arguments: include pull request number if set
66-
EXTRA=""
67-
if [ -n "$CIRCLE_PR_NUMBER" ]; then
68-
EXTRA="--pull-request-number $CIRCLE_PR_NUMBER"
69-
fi
70-
71-
# Add flag if provided
72-
FLAG_ARG=""
73-
if [ -n "<< parameters.flag >>" ]; then
74-
FLAG_ARG="--flag << parameters.flag >>"
75-
fi
76-
77-
# Build the set of common arguments.
78-
COMMON_ARGS="--token $CODECOV_TOKEN --branch $CIRCLE_BRANCH --commit-sha $CIRCLE_SHA1 $EXTRA $FLAG_ARG --recurse-submodules --git-service github"
79-
80-
ls -lha
81-
82-
./codecov --version
83-
84-
# Upload the coverage report.
85-
./codecov upload-coverage $COMMON_ARGS
86-
87-
# Upload the test reports.
88-
./codecov do-upload --report-type test_results $COMMON_ARGS
8953

9054
configure-gpg:
9155
steps:
@@ -150,8 +114,7 @@ jobs:
150114
name: 'Test'
151115
command: |
152116
./mvnw -ntp -B verify -Pno-databases
153-
- save-test-results:
154-
flag: "test"
117+
- save-test-results
155118

156119
windows:
157120
machine:
@@ -187,8 +150,7 @@ jobs:
187150
name: 'Build and test examples'
188151
command: |
189152
./mvnw -ntp -B install -Pexamples -rf :querydsl-examples
190-
- save-test-results:
191-
flag: "examples"
153+
- save-test-results
192154
buildQuarkusExample:
193155
<<: *defaults
194156
working_directory: ~/querydsl
@@ -248,8 +210,7 @@ jobs:
248210
name: 'Test'
249211
command: |
250212
./mvnw -ntp -B install -Pci -Dgroups=com.querydsl.core.testutil.MySQL
251-
- save-test-results:
252-
flag: "mysql"
213+
- save-test-results
253214
testPostgreSQL:
254215
<<: *defaults
255216
working_directory: ~/querydsl
@@ -269,8 +230,7 @@ jobs:
269230
name: 'Test'
270231
command: |
271232
./mvnw -ntp -B install -Pci -Dgroups=com.querydsl.core.testutil.PostgreSQL
272-
- save-test-results:
273-
flag: "postgresql"
233+
- save-test-results
274234
testCUBRID:
275235
<<: *defaults
276236
working_directory: ~/querydsl
@@ -288,8 +248,7 @@ jobs:
288248
name: 'Test'
289249
command: |
290250
./mvnw -ntp -B install -Pci -Dgroups=com.querydsl.core.testutil.CUBRID
291-
- save-test-results:
292-
flag: "cubrid"
251+
- save-test-results
293252
testOracle:
294253
<<: *defaults
295254
working_directory: ~/querydsl
@@ -310,8 +269,7 @@ jobs:
310269
name: 'Test'
311270
command: |
312271
./mvnw -ntp -B install -Pci -Dgroups=com.querydsl.core.testutil.Oracle
313-
- save-test-results:
314-
flag: "oracle"
272+
- save-test-results
315273
testMongo:
316274
<<: *defaults
317275
working_directory: ~/querydsl
@@ -327,14 +285,13 @@ jobs:
327285
name: 'Test'
328286
command: |
329287
./mvnw -ntp -B install -Pci -Dgroups=com.querydsl.core.testutil.MongoDB
330-
- save-test-results:
331-
flag: "mongodb"
288+
- save-test-results
332289
testFirebird:
333290
<<: *defaults
334291
working_directory: ~/querydsl
335292
docker:
336293
- image: velo/toolchains-4-ci-builds:with-25
337-
- image: jacobalberty/firebird:2.5.9-ss
294+
- image: jacobalberty/firebird:v4
338295
environment:
339296
- ISC_PASSWORD=masterkey
340297
- FIREBIRD_DATABASE=querydsl.fdb
@@ -350,8 +307,7 @@ jobs:
350307
name: 'Test'
351308
command: |
352309
./mvnw -ntp -B install -Pci -Dgroups=com.querydsl.core.testutil.Firebird
353-
- save-test-results:
354-
flag: "firebird"
310+
- save-test-results
355311
testEmbedded:
356312
<<: *defaults
357313
working_directory: ~/querydsl
@@ -366,8 +322,7 @@ jobs:
366322
name: 'Test'
367323
command: |
368324
./mvnw -ntp -B install -Pci -Dgroups=com.querydsl.core.testutil.EmbeddedDatabase
369-
- save-test-results:
370-
flag: "embedded"
325+
- save-test-results
371326
testDB2:
372327
# Use the machine executor so we have full VM capabilities (e.g. docker running as admin)
373328
machine: true
@@ -417,8 +372,7 @@ jobs:
417372
name: "Stop and remove DB2 container"
418373
command: |
419374
docker stop db2 && docker rm db2
420-
- save-test-results:
421-
flag: "db2"
375+
- save-test-results
422376

423377
deploySnapshot:
424378
executor:

.github/workflows/codeql-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ jobs:
9696
java-version: '25'
9797

9898
- name: Compile project
99-
run: ./mvnw -B -ntp clean package -DskipTests=true -Dtoolchain.skip=true -pl !querydsl-tooling/querydsl-kotlin-codegen,!querydsl-tooling/querydsl-ksp-codegen,!querydsl-libraries/querydsl-kotlin
99+
run: ./mvnw -B -ntp clean package -DskipTests=true -Dtoolchain.skip=true -pl '!:querydsl-kotlin-codegen,!:querydsl-ksp-codegen,!:querydsl-kotlin'
100100

101101
- name: Perform CodeQL Analysis
102102
uses: github/codeql-action/analyze@v3

.github/workflows/docs.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Deploy Documentation
2+
3+
on:
4+
push:
5+
branches: ["master"]
6+
paths:
7+
- "docs/**"
8+
workflow_dispatch:
9+
10+
permissions:
11+
contents: read
12+
pages: write
13+
id-token: write
14+
15+
concurrency:
16+
group: "pages"
17+
cancel-in-progress: false
18+
19+
jobs:
20+
build:
21+
runs-on: ubuntu-latest
22+
steps:
23+
- name: Checkout
24+
uses: actions/checkout@v4
25+
26+
- name: Setup Pages
27+
uses: actions/configure-pages@v5
28+
29+
- name: Build with Jekyll
30+
uses: actions/jekyll-build-pages@v1
31+
with:
32+
source: ./docs
33+
destination: ./_site
34+
35+
- name: Upload artifact
36+
uses: actions/upload-pages-artifact@v3
37+
38+
deploy:
39+
environment:
40+
name: github-pages
41+
url: ${{ steps.deployment.outputs.page_url }}
42+
runs-on: ubuntu-latest
43+
needs: build
44+
steps:
45+
- name: Deploy to GitHub Pages
46+
id: deployment
47+
uses: actions/deploy-pages@v4

CLAUDE.md

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,4 +133,43 @@ cd querydsl-examples/querydsl-example-jpa-spring
133133
### Testing Guidelines
134134
- Use `@Tag` annotations to categorize tests by database or performance characteristics
135135
- Integration tests should extend appropriate base classes from `querydsl-core/src/test/java/com/querydsl/`
136-
- Database-specific tests go in modules like `querydsl-jpa/src/test/java/com/querydsl/jpa/`
136+
- Database-specific tests go in modules like `querydsl-jpa/src/test/java/com/querydsl/jpa/`
137+
138+
## Documentation
139+
140+
Documentation lives in `docs/` and is published to https://openfeign.github.io/querydsl via GitHub Pages using Jekyll with the just-the-docs theme.
141+
142+
### Structure
143+
```
144+
docs/
145+
├── _config.yml # Jekyll config, theme, Liquid variables
146+
├── Gemfile # Ruby dependencies (local preview only)
147+
├── index.md # Landing page
148+
├── introduction.md # Background and principles
149+
├── tutorials/ # Backend-specific tutorials (JPA, SQL, R2DBC, MongoDB, etc.)
150+
├── guides/ # Cross-cutting guides (creating queries, result handling, codegen, aliases)
151+
├── troubleshooting.md
152+
└── migration.md # Migration from defunct upstream com.querydsl
153+
```
154+
155+
### Liquid Variables
156+
Use these in Markdown files instead of hardcoding values:
157+
- `{{ site.querydsl_version }}` — current release version (e.g. `7.1`)
158+
- `{{ site.group_id }}` — Maven groupId (`io.github.openfeign.querydsl`)
159+
- `{{ site.baseurl }}` — site base URL for internal links
160+
161+
### Deployment
162+
- Automatic: `.github/workflows/docs.yml` triggers on push to `master` when `docs/**` changes
163+
- Manual: `workflow_dispatch` trigger available in GitHub Actions UI
164+
165+
### Local Preview
166+
```bash
167+
docker run --rm -d -v $(pwd)/docs:/srv/jekyll -p 4000:4000 jekyll/jekyll:4.2.2 jekyll serve --host 0.0.0.0
168+
# Open http://localhost:4000/querydsl/
169+
```
170+
171+
### Editing Guidelines
172+
- All doc files are Markdown with YAML front matter (`layout`, `title`, `parent`, `nav_order`)
173+
- Code examples should use `maven-compiler-plugin` with `annotationProcessorPaths`, not the old `apt-maven-plugin`
174+
- Use `{{ site.group_id }}` and `{{ site.querydsl_version }}` in dependency examples
175+
- Dropped modules (JDO, Lucene, Hibernate Search) should not be referenced

CONTRIBUTING.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Contributing to Querydsl
2+
3+
GitHub pull requests are the way to contribute to Querydsl.
4+
5+
## Documentation
6+
7+
The documentation site is built with [Jekyll](https://jekyllrb.com/) using the
8+
[just-the-docs](https://just-the-docs.com/) theme and hosted on GitHub Pages.
9+
10+
Source files live in the `docs/` directory. Changes to `docs/**` on the
11+
`master` branch automatically trigger a rebuild and deploy.
12+
13+
### Editing Documentation
14+
15+
1. Fork the repository and create a branch from `master`.
16+
2. Edit or add Markdown files under `docs/`.
17+
3. Use Liquid variables for version and groupId:
18+
- `{{ site.querydsl_version }}` — current release version
19+
- `{{ site.group_id }}` — Maven groupId
20+
4. Open a pull request.
21+
22+
### Local Preview
23+
24+
To preview the site locally:
25+
26+
```bash
27+
cd docs
28+
bundle install
29+
bundle exec jekyll serve
30+
```
31+
32+
Then open `http://localhost:4000/querydsl/` in your browser.
33+
34+
### Structure
35+
36+
```
37+
docs/
38+
├── _config.yml # Jekyll configuration and variables
39+
├── Gemfile # Ruby dependencies
40+
├── index.md # Landing page
41+
├── introduction.md # Background and principles
42+
├── tutorials/ # Backend-specific tutorials
43+
├── guides/ # Cross-cutting guides
44+
├── troubleshooting.md # Common issues
45+
└── migration.md # Migration from upstream querydsl
46+
```
47+
48+
## Code Contributions
49+
50+
### Building
51+
52+
```bash
53+
./mvnw -Pquickbuild clean install
54+
```
55+
56+
### Running Tests
57+
58+
```bash
59+
# Without external databases
60+
./mvnw -Pdev verify
61+
62+
# CI profile
63+
./mvnw -Pci verify
64+
```
65+
66+
### Code Formatting
67+
68+
```bash
69+
./mvnw -Pdev initialize
70+
```
71+
72+
### Pull Request Process
73+
74+
1. Fork the repository and create a feature branch.
75+
2. Make your changes and add tests where appropriate.
76+
3. Run `./mvnw -Pdev verify` to make sure tests pass.
77+
4. Open a pull request against `master`.

README.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,23 @@ Get a querydsl project active! May be as a fork, may be as a wake up call to pr
4242

4343
Well, you will need to get your hands dirty. I might fix bugs or create features, but mostly when they affect my day job. Sorry, just a single guy here doing free work on spare time.
4444

45+
**Documentation**
46+
47+
Full reference documentation is available at **[openfeign.github.io/querydsl](https://openfeign.github.io/querydsl)**.
48+
4549
**Getting started**
4650

4751
Use these tutorials to get started
4852

49-
* [Querying JPA](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02.html#jpa_integration)
50-
* [Querying SQL](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s03.html)
51-
* [Querying Mongodb](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s07.html)
52-
* [Querying Lucene](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s05.html)
53-
* [Querying Collections](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s08.html)
54-
* [Querydsl Spatial](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s04.html)
55-
* [Querying JDO](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s02.html)
53+
* [Querying JPA](https://openfeign.github.io/querydsl/tutorials/jpa)
54+
* [Querying SQL](https://openfeign.github.io/querydsl/tutorials/sql)
55+
* [Querying R2DBC](https://openfeign.github.io/querydsl/tutorials/r2dbc)
56+
* [Querying MongoDB](https://openfeign.github.io/querydsl/tutorials/mongodb)
57+
* [Querying Collections](https://openfeign.github.io/querydsl/tutorials/collections)
58+
* [Querydsl Spatial](https://openfeign.github.io/querydsl/tutorials/spatial)
59+
* [Querying in Kotlin](https://openfeign.github.io/querydsl/tutorials/kotlin)
60+
* [Querying in Scala](https://openfeign.github.io/querydsl/tutorials/scala)
61+
* [Migration Guide](https://openfeign.github.io/querydsl/migration)
5662

5763
**Examples**
5864

@@ -72,7 +78,7 @@ $ mvn -Pquickbuild,{projectname} clean install
7278
```
7379
Where projectname is one of the Maven profiles (e.g. `jpa`, `sql`, `mongodb`, etc. or `all`)
7480

75-
For more information visit the project homepage at https://querydsl.github.io.
81+
For more information visit the [documentation site](https://openfeign.github.io/querydsl).
7682

7783
**Docker Compose setup**
7884

dist.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,3 @@ do
88
mvn -pl querydsl-$module -Dtest=X clean assembly:assembly
99
done
1010

11-
mkdir -p target/dist/reference
12-
mvn -f querydsl-docs/pom.xml -Dxslthl.config=http://docbook.sourceforge.net/release/xsl/current/highlighting/xslthl-config.xml clean package
13-
cp -R querydsl-docs/target/docbook/publish/en-US/* target/dist/reference/

docs/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
_site/
2+
.jekyll-cache/
3+
Gemfile.lock

0 commit comments

Comments
 (0)