OBP-API/zed
2025-09-01 16:27:50 +02:00
..
README.md feature/Zed IDE Configuration for OBP-API 2025-09-01 16:27:50 +02:00
settings.json feature/Zed IDE Configuration for OBP-API 2025-09-01 16:27:50 +02:00
setup-zed.bat feature/Zed IDE Configuration for OBP-API 2025-09-01 16:27:50 +02:00
setup-zed.sh feature/Zed IDE Configuration for OBP-API 2025-09-01 16:27:50 +02:00
tasks.json feature/Zed IDE Configuration for OBP-API 2025-09-01 16:27:50 +02:00

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 development
  • tasks.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

  1. Initial Setup: [4] Build OBP-API - Build the project
  2. Development: [3] Compile Only - Quick compilation during development
  3. Testing: [1] Run OBP-API Server[2] Test API Root Endpoint
  4. Cleanup: [6] Kill OBP-API Server when 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

  1. Restart Zed IDE
  2. Run [8] Maven Validate to ensure project structure is correct
  3. Check that Java 11+ is installed and configured

Build Failures

  1. Run [5] Clean Target Folders
  2. Run [9] Check Dependencies
  3. 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.