| .. | ||
| README.md | ||
| settings.json | ||
| setup-zed.bat | ||
| setup-zed.sh | ||
| tasks.json | ||
Zed IDE Configuration for OBP-API
This folder contains the recommended Zed IDE configuration for the OBP-API project. Each developer can set up their own personalized Zed environment while maintaining consistent project settings.
Quick Setup
Run the setup script to copy the configuration files to your local .zed folder:
Linux/macOS:
./zed/setup-zed.sh
Windows:
zed\setup-zed.bat
This will create a .zed folder in the project root with the recommended settings.
What's Included
📁 Configuration Files
settings.json- IDE settings optimized for Scala/OBP-API developmenttasks.json- Predefined tasks for building, running, and testing the project
⚙️ Key Settings
- Format on save: DISABLED - Preserves your code formatting choices
- Scala LSP (Metals) configuration - Optimized for Maven-based Scala projects
- UI preferences - Consistent theme, font sizes, and panel layout
- Semantic highlighting - Enhanced code readability
Available Tasks
Access tasks in Zed with Cmd/Ctrl + Shift + P → "task: spawn"
🚀 Development Tasks
| Task | Command | Description |
|---|---|---|
| [1] Run OBP-API Server | mvn jetty:run -pl obp-api |
Starts the OBP-API server on port 8080 |
| [2] Test API Root Endpoint | curl http://localhost:8080/obp/v5.1.0/root |
Quick API health check |
| [3] Compile Only | mvn compile -pl obp-api |
Compiles the project without running tests |
🔨 Build Tasks
| Task | Command | Description |
|---|---|---|
| [4] Build OBP-API | mvn install -pl .,obp-commons -am -DskipTests |
Full build excluding tests |
| [5] Clean Target Folders | mvn clean |
Removes all compiled artifacts |
🧪 Testing & Validation
| Task | Command | Description |
|---|---|---|
| [7] Run Tests | mvn test -pl obp-api |
Executes the project test suite |
| [8] Maven Validate | mvn validate |
Validates project structure and dependencies |
| [9] Check Dependencies | mvn dependency:resolve |
Downloads and verifies all dependencies |
🛠️ Utility Tasks
| Task | Command | Description |
|---|---|---|
| [6] Kill OBP-API Server | lsof -ti:8080 | xargs kill -9 |
Terminates any process running on port 8080 |
Typical Development Workflow
- Initial Setup:
[4] Build OBP-API- Build the project - Development:
[3] Compile Only- Quick compilation during development - Testing:
[1] Run OBP-API Server→[2] Test API Root Endpoint - Cleanup:
[6] Kill OBP-API Serverwhen done
Maven Configuration
All Maven tasks use optimized JVM settings:
MAVEN_OPTS="-Xss128m --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED"
These settings resolve Java module system compatibility issues with newer JDK versions.
Customization
The .zed folder is in .gitignore, so you can:
- Modify settings without affecting other developers
- Add personal tasks or shortcuts
- Adjust themes, fonts, and UI preferences
- Configure additional language servers
Example Customizations
Add a custom task (in .zed/tasks.json):
{
"label": "My Custom Task",
"command": "echo",
"args": ["Hello World"],
"use_new_terminal": false
}
Change theme (in .zed/settings.json):
{
"theme": "Ayu Dark"
}
Troubleshooting
Port 8080 Already in Use
# Use task [6] or run manually:
lsof -ti:8080 | xargs kill -9
Metals LSP Issues
- Restart Zed IDE
- Run
[8] Maven Validateto ensure project structure is correct - Check that Java 11+ is installed and configured
Build Failures
- Run
[5] Clean Target Folders - Run
[9] Check Dependencies - Run
[4] Build OBP-API
Support
For Zed IDE-specific issues, consult the Zed documentation. For OBP-API project issues, refer to the main project README.