You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+43-39Lines changed: 43 additions & 39 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,29 +2,25 @@
2
2
3
3
:tada: First off, thanks for taking the time to contribute! :+1:
4
4
5
-
## How Can I Contribute?
5
+
## How can I contribute?
6
6
7
-
### Reporting Bugs
7
+
### Reporting bugs
8
8
9
-
If you found a bug or an unexpected behevior then please create a [new issue](https://github.com/camunda/feel-scala/issues). Before creating an issue, make sure that there is no issue yet. Any information you provide in the issue, helps to solve it.
9
+
If you found a bug or unexpected behavior, please create a [new issue](https://github.com/camunda/feel-scala/issues). Before you create an issue, please make sure that there is no issue yet. Any information you provide on the issue would be helpful to solve it.
10
10
11
-
### Suggesting Enhancements
11
+
### Suggesting enhancements
12
12
13
-
If you have an idea how to improve the project then please create a [new issue](https://github.com/camunda/feel-scala/issues). Describe your idea and the motivation behind it. In order to speed up the process, think about providing a pull request.
13
+
If you have an idea of how to improve the project, please create a [new issue](https://github.com/camunda/feel-scala/issues). Describe your idea and the motivation behind it. To speed up the process, think about providing a pull request.
14
14
15
-
### Improving Documentation
15
+
### Providing pull requests
16
16
17
-
If you see a way to improve the documentation (e.g. provide additional or missing information) then please open a new pull request which contains your changes. Use the link on the page to edit it.
18
-
19
-
### Providing Pull Requests
20
-
21
-
You want to provide a bug fix or an inprovement? Great! :tada:
17
+
Do you want to provide a bug fix or an inprovement? Great! :tada:
22
18
23
19
Before opening a pull request, make sure that there is a related issue. The issue helps to confirm that the behavior is unexpected, or the idea of the improvement is valid. (Following the rule "Talk, then code")
24
20
25
21
In order to verify that you don't break anything, you should build the whole project and run all tests. This also apply the code formatting.
26
22
27
-
## Building the Project from Source
23
+
## Building the project from source
28
24
29
25
You can build the project with [Maven](http://maven.apache.org).
30
26
@@ -40,31 +36,13 @@ Build the JAR files with
40
36
mvn install
41
37
```
42
38
43
-
## Building the Documentation
44
-
45
-
The documentation is located in the `/docs` folder. It is built with [Docusaurus](https://v2.docusaurus.io/)
46
-
47
-
For development, use the following command (build + serve + auto-reload):
48
-
```
49
-
npm run start
50
-
```
51
-
52
-
The documentation is published using GitHub actions.
53
-
54
-
## Building a new Release
55
-
56
-
> [!NOTE]
57
-
> Only for Camunda developers.
58
-
59
-
Open the Camunda Slack channel [#ask-dmn-feel](https://camunda.slack.com/archives/C01QYD808A3). Click on the bookmark "Release FEEL-Scala" and follow the instructions. 🏗️
60
-
61
39
## Styleguides
62
40
63
-
### Source Code
41
+
### Source code
64
42
65
43
Scala code is formatted using [Scalafmt](https://scalameta.org/scalafmt/). The formatting is integrated in the build process.
66
44
67
-
### Git Commit Messages
45
+
### Git commit messages
68
46
69
47
Commit messages should follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) format.
70
48
@@ -86,13 +64,14 @@ Available commit types:
86
64
*`docs` - changes in the documentation, readme, etc.
87
65
*`style` - apply code styles
88
66
*`build` - changes to the build (e.g. to Maven's `pom.xml`)
89
-
*`ci` - changes to the CI (e.g. to GitHubrelated configs)
67
+
*`ci` - changes to the CI (e.g. to GitHub-related configs)
90
68
91
-
## Public API and Backwards Compatibility
69
+
## Public API and backward compatibility
92
70
93
-
Changes to the following code and concepts are considered breaking changes in the sense of semantic versioning. That means, if you want to make such a change, this must result in a new major version of this library. For any such change, both teams maintaining this codebase (Zeebe and Runtime) must be informed and accept the change. This allows us to make sure both teams will be able to work with a new major release and no team gets "locked out".
71
+
The FEEL engine is integrated into Camunda 7 and Camunda 8. It's important to keep the public API stable and stay backward compatible to avoid breaking the integration in Camunda 7/8 or the userspace (i.e. the application that uses FEEL expressions).
94
72
95
-
* The API of the following classes must remain binary backwards compatible
73
+
Concrete:
74
+
* The API of the following classes must remain binary backward compatible
96
75
* Any class in a package namespace that does not contain `impl`, especially
97
76
*`FeelEngine`
98
77
* The custom function mechanism
@@ -102,7 +81,32 @@ Changes to the following code and concepts are considered breaking changes in th
102
81
* Ability to compile and evaluate expressions at once
103
82
* Expression evaluation
104
83
* Input and return type handling of expressions, e.g. the returned type of an expression should not change
105
-
* The result of an expression unless it is a clear bug with respect to the FEEL specification
84
+
* The result of an expression unless it is a clear bug according to the DMN specification
106
85
* Supported environments
107
-
* Minimal Java version: 8 (Runtime team)
108
-
* Java 11 (Zeebe team)
86
+
* Minimal Java version: 11 (Camunda 7)
87
+
* Java 21 (Camunda 8)
88
+
89
+
Technically:
90
+
* The binary backward compatibility is validated using the [clirr-maven-plugin](https://www.mojohaus.org/clirr-maven-plugin/)
91
+
* The engine behavior is verified by the unit tests
92
+
* The supported environments are checked via GibHub actions
93
+
94
+
Any change or violation of the above must be accepted by the maintainers of Camunda 7 and Camunda 8 to avoid that a team/product getting "locked out".
95
+
96
+
## Building the documentation
97
+
98
+
The documentation is located in the `/docs` folder. It is built with [Docusaurus](https://v2.docusaurus.io/)
99
+
100
+
For development, use the following command (build + serve + auto-reload):
101
+
```
102
+
npm run start
103
+
```
104
+
105
+
The documentation is published using GitHub actions.
106
+
107
+
## Building a new release
108
+
109
+
> [!NOTE]
110
+
> Only for Camunda developers.
111
+
112
+
Open the Camunda Slack channel [#ask-dmn-feel](https://camunda.slack.com/archives/C01QYD808A3). Click on the bookmark "Release FEEL-Scala" and follow the instructions. 🏗️
0 commit comments