-
Notifications
You must be signed in to change notification settings - Fork 8
Contribution
Dear contributors,
We are really pleased to see you interested in contributing.
There are many ways to contribute to Drill4J's development, just find the one that best fits with your skills. Examples of contributions we would love to receive include:
- Code patches
- Documentation improvements
- Bug reports
- Patch reviews
- UI enhancements Big features are also welcome, but if you want to see your contributions included in Report Portal codebase we strongly recommend you start by initiating a chat though our Team.
Currently, we follow Review Then Commit (RTC) philosophy.
Review Then Commit (RTC) is more restrictive and demands a mandatory review of all changes before they are committed to the GitHub. The advocates of this model suggest this drill improves the quality of new contributions.
Drill4j has a dedicated team of server side and front-end developers, along with QA, BA and UI/UX teams. Our team members will review merge requests, comment and accept in order to follow best practices and improve quality.
With collected respect, top contributors will be granted as gatekeepers, to be able to make commits without review. And review commits of other contributors.
We encourage using Test-Driven Development (TDD), so for every new feature or bug fix, please also implement unit or integration tests. For every of our active projects we have a CI build pipeline which build and test it. There is no chance to pass review if any of these tests fail.
This repository structure will help you understand which repository to refer to.
- admin - backend (Ktor)
- test2code - code coverage plugin
- dms - Drill storage management Project
- intellij-plugin - intellij-plugin mapping coverage from test to source code
- state-watcher - real-time metrics plugin (in progress)
- browser-proxy - (obsolete) converts cookies into drill headers
- kodux - (obsolete) kotlin serialization-based ORM for Xodus database.
- drill - plugin and admin/agent API
- java-agent - native agent used to profile a java application
- autotest-agent - native agent for JVM autotest (JUnit, TestNG and Cucumber)
- http-clients-instrumentation - contains common instrumentation for http clients
- knasm - the port of Java ASM library to Kotlin native
- jvmapi
- logger-api
- logger
- agent - contains the abstract agent core used to create platform specific agents (Java, .NET)
- native-agent-connector - managing communication between .Net agent and a Drill Admin.
- transport - responsible for backend communications (agents <-> admin)
- interceptor - responsible for intercepting http protocols calls
- agent-runner - provides dsl to run java agent and autotest agent
- kni - gradle plugin for generation bridge function native -> java and java -> native
- js-agent
- js-auto-test-agent
- browser-extension - for manual testing with Drill4J
- js-ast-parser
- pwad - wrapper over Newman CLI that enables Drill4J metrics for Postman collection runs.
- admin-ui - frontend (React)