Thank you for your interest in contributing to Cucumber Eclipse! This document provides guidelines and instructions for setting up your development environment and contributing to the project.
The easiest way to get started is using the Oomph setup file:
- Download and run the Eclipse Installer
- Switch to "Advanced Mode" (menu icon in top-right)
- Add the project setup file:
https://raw.githubusercontent.com/laeubi/cucumber-eclipse/main/CucumberEclipse.setup - Follow the wizard to complete the setup
For detailed instructions, see the README.md.
If you prefer manual setup:
-
Clone the repository:
git clone [email protected]:cucumber/cucumber-eclipse.git cd cucumber-eclipse
-
Import all projects into Eclipse:
- Use
File→Import→Existing Projects into Workspace - Select the repository root and enable "Search for nested projects"
- Import all projects
- Use
-
Set the target platform:
- Open
io.cucumber.eclipse.targetdefinition/cucumber.eclipse.targetdefinition.target - Click "Set as Active Target Platform"
- Open
-
Build the workspace:
Project→Clean...→ Clean all projects
- io.cucumber.eclipse.editor - Core editor functionality for
.featurefiles, syntax highlighting, and content assist - io.cucumber.eclipse.java - Java/JVM backend integration with step definition detection and navigation
- io.cucumber.eclipse.java.plugins - Plugin extensions for Java backend (additional integrations)
- io.cucumber.eclipse.python - Python/Behave backend integration
- io.cucumber.eclipse.feature - Eclipse feature definition that packages all plugins
- io.cucumber.eclipse.product - Product configuration for standalone distribution
- io.cucumber.eclipse.updatesite - P2 update site for plugin distribution
- io.cucumber.eclipse.targetdefinition - Target platform definition (Eclipse platform and dependencies)
- examples/ - Example projects demonstrating plugin usage
Build all modules:
mvn clean installThe update site will be built in io.cucumber.eclipse.updatesite/target/repository/.
Eclipse will automatically build the projects when you make changes. To trigger a manual build:
Project→Clean...→ Clean all projects
- Right-click on any plugin project
- Select
Run As→Eclipse Application - A new Eclipse instance will launch with your plugin installed
- Go to
Run→Run Configurations... - Create a new "Eclipse Application" configuration
- Set appropriate VM arguments if needed (e.g.,
-Xmx2048m) - Run the configuration
Tests are run automatically during the Maven build. To run them manually:
mvn clean verify- Follow Eclipse Java code conventions
- Use meaningful variable and method names
- Add comments for complex logic
- Keep changes focused and minimal
- Write clear, descriptive commit messages
- Reference issue numbers in commits (e.g., "Fix #123: Description")
- Keep commits atomic (one logical change per commit)
- Sign-off your commits if required by the project
- Fork the repository
- Create a feature branch from
main - Make your changes with appropriate tests
- Ensure all tests pass
- Push to your fork and submit a pull request
- Wait for review and address any feedback
- Java: Java 21 or higher (JDK 21)
- Eclipse: Eclipse 2024-06 or later (IDE for Eclipse Committers recommended)
- Maven: Maven 3.6+ (for command-line builds)
- Target Platform: Eclipse 2025-09 (or compatible release)
When adding dependencies to plugins:
- Add to the appropriate
MANIFEST.MFfile - Ensure compatibility with the target platform
- Update the target definition if adding external dependencies
- Document the dependency requirement
- Check existing issues on GitHub
- Review the project wiki
- Ask questions in pull requests or issues
- Join community discussions
By contributing to Cucumber Eclipse, you agree that your contributions will be licensed under the project's license.