Pull requests are welcome! To set up your development environment:
- Fork the repo
- Install Java 16 or later
- Build and run the tests (mvnw automatically downloads maven the first time
you run it):
- on max/linux:
./mvnw clean test
- on windows:
mvnw.cmd clean test
- or if you already have maven installed globally on your machine:
mvn clean test
- on max/linux:
To edit the code:
- Install IntelliJ IDE
- In IntelliJ, click
Open
, navigate to the thepom.xml
file in the local copy of this repo, andOpen
thenOpen as Project
- If IntelliJ asks (and you trust the code) then click
Trust Project
- If any java source files show "Cannot resolve symbol..." errors for Flatmap classes, you might need to
select:
File -> Invalidate Caches... -> Just Restart
. - If you see a "Project JDK is not defined" error, then choose
Setup SDK
and point IntelliJ at the Java 16 or later installed on your system
- If IntelliJ asks (and you trust the code) then click
- To verify everything works correctly, right click on
flatmap-core/src/test/java
folder and clickRun 'All Tests'
Any pull request should:
- Include at least one unit test to verify the change in behavior
- Include an end-to-end test in FlatmapTests.java to verify any major new user-facing features work
- Use IntelliJ's auto-formatting for modified files (this should get enabled automatically)
- Be free of IntelliJ warnings for modified files
GitHub Workflows will run regression tests on any pull request.
TODO: Set up checkstyle and an auto-formatter to enforce standards, so you can use any IDE.