You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(docs): integrate Javadoc into Antora documentation site
- Add aggregated Javadoc generation tasks for redis-om-spring and redis-om-spring-ai modules
- Create API reference page with navigation links to module documentation
- Configure Antora attachments integration for Javadoc HTML files
- Update GitHub Actions workflow to generate and deploy Javadoc automatically
- Add build scripts for local Javadoc generation and validation
- Exclude generated Javadoc files from version control via .gitignore
- Implement cleanup mechanisms for proper build artifact management
Copy file name to clipboardExpand all lines: docs/README.md
+81-12Lines changed: 81 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,31 +18,56 @@ npm install
18
18
19
19
### Building the Site
20
20
21
-
#### Using Gradle
21
+
#### Using Gradle (Recommended)
22
22
23
23
```bash
24
-
# From the project root
24
+
# From the project root - includes Javadoc generation
25
25
./gradlew :docs:build
26
26
27
27
# From the docs directory
28
28
../gradlew build
29
29
```
30
30
31
-
The documentation will be built in the `build/site` directory.
31
+
This builds both the documentation site and integrates the API documentation (Javadoc) automatically. The documentation will be built in the `build/site` directory.
# Or build everything in one command (same as above)
42
+
./gradlew :docs:build
43
+
```
44
+
45
+
**Important**: Javadoc files are generated dynamically during the build process and are **NOT** checked into the repository. They are created fresh each time you build and are properly ignored by Git.
**Note**: Building with npm directly will not include API documentation (Javadoc). Use the Gradle method for complete documentation including API references.
54
+
39
55
### Viewing the Documentation
40
56
41
57
After building, you can view the documentation by opening any of these files in your browser:
42
58
43
59
-`build/site/index.html` - Documentation homepage
44
60
-`build/site/redis-om-spring/current/index.html` - Current version documentation
# Then serve with Docker (run from the docs directory)
79
-
docker compose up -d
98
+
# Option 1: Using Makefile (recommended)
99
+
cd docs
100
+
make serve
101
+
102
+
# Option 2: Manual steps
103
+
./gradlew :docs:build # Build with Javadoc integration
104
+
cd docs
105
+
docker compose up -d # Start container
80
106
```
81
107
82
108
The documentation will be available at http://localhost:8000.
83
109
110
+
**Important**: Use `./gradlew :docs:build` to ensure API documentation is included. Using `npx antora` directly will serve the site without Javadoc integration.
111
+
112
+
#### Quick Testing
113
+
114
+
For comprehensive local testing including Javadoc validation:
115
+
116
+
```bash
117
+
cd docs
118
+
make test
119
+
# or manually:
120
+
./scripts/test-local-docs.sh
121
+
```
122
+
123
+
This script will:
124
+
- Build the complete documentation with Javadoc
125
+
- Validate all API documentation is present
126
+
- Start the Docker container
127
+
- Test all key URLs
128
+
- Provide direct links for testing
129
+
84
130
#### Docker Configuration
85
131
86
132
The Docker setup uses:
@@ -104,6 +150,8 @@ If you encounter issues with the Docker setup:
104
150
2. Check if port 8000 is already in use on your machine
105
151
3. Verify Docker and Docker Compose are installed correctly
106
152
4. Look at the Docker logs with `docker-compose logs` or `docker logs roms-documentation`
153
+
5. For missing API documentation, ensure you built with `./gradlew :docs:build` (not npm directly)
154
+
6. Validate Javadoc integration with `./docs/scripts/validate-javadoc.sh`
107
155
108
156
### Adding New Content
109
157
@@ -143,7 +191,28 @@ To add a new page:
143
191
- Include more examples from demo applications
144
192
- Standardize page structure and formatting
145
193
- Add navigation breadcrumbs
146
-
- Integrate automated API documentation
194
+
-~~Integrate automated API documentation~~ ✅ **Complete** (Javadoc integration implemented)
195
+
196
+
## Javadoc Integration
197
+
198
+
The documentation site includes automated API reference generation:
199
+
200
+
### ✅ **Build Process**
201
+
- Javadoc files are **generated dynamically** during build (NOT checked into repository)
202
+
- Integrated into Antora as attachments for proper URL handling
203
+
- Automatic generation in GitHub Actions workflow
204
+
- Local builds regenerate fresh Javadoc
205
+
206
+
### 📁 **Repository Management**
207
+
- Generated files are properly ignored in `.gitignore`
208
+
- Source code comments are the source of truth
209
+
- No manual maintenance of API documentation required
210
+
- Fresh generation ensures docs stay synchronized with code
211
+
212
+
### 🔧 **Local Development**
213
+
- Use `make clean && make serve` for full rebuild with Javadoc
214
+
- Use validation script: `./scripts/validate-javadoc.sh`
0 commit comments