Skip to content

Commit 220c52d

Browse files
committed
release: version 4.2.0
2 parents bbe8527 + e51ee1b commit 220c52d

File tree

790 files changed

+15511
-19366
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

790 files changed

+15511
-19366
lines changed

.github/CONTRIBUTING.md

Lines changed: 99 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1-
Contributing to Terasology
2-
==================================
1+
# Contributing to Terasology
32

43
If you would like to contribute code, documentation, or other assets you can do so through GitHub by forking the repository and sending a pull request (PR). You can also simply report issues (bugs), but please search for any previous reports first.
54

65
*When submitting code, please make every effort to follow existing conventions and style in order to keep the code as readable as possible.*
76

87
Read on for an overview and [check the wiki for more details](https://github.com/MovingBlocks/Terasology/wiki). For questions please join us in our [forum](http://forum.terasology.org/forum/) or on `#terasology` (irc.freenode.net).
98

10-
File an Issue
11-
-------------
9+
## File an Issue
10+
1211
You can report bugs and feature requests to [GitHub Issues](https://github.com/MovingBlocks/Terasology/issues). As mentioned please look for a similar existing issue before submitting a new one.
1312

1413
For finding easy to do issues to start with look at the [Good First Issue](https://github.com/MovingBlocks/Terasology/labels/Good%20First%20Issue) issues.
@@ -17,40 +16,105 @@ We prefer questions and support requests be posted in the [forum](http://forum.t
1716

1817
__Please provide as much information as possible to help us solve problems and answer questions better!__
1918

20-
Commits and Commit Messages
21-
---------------------------
22-
Follow these guidelines when creating public commits and writing commit messages.
19+
## PR Title / Commit Message Guidelines
20+
21+
We try to follow the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0-beta.2/) style for commit messages and pull request titles.
22+
This leads to **more readable messages** that are easy to follow when looking through the **project history**.
23+
But also, we use the git commit messages to **generate the Terasology change log**.
24+
25+
### Commit Message Format
26+
Each commit message consists of a **header**, a **body** and a **footer**. The header has a special
27+
format that includes a **type**, a **scope** and a **subject**:
28+
29+
```
30+
<type>(<scope>): <subject>
31+
<BLANK LINE>
32+
<body>
33+
<BLANK LINE>
34+
<footer>
35+
```
36+
37+
The **header** is mandatory and the **scope** of the header is optional.
38+
39+
Any line of the commit message cannot be longer 100 characters! This allows the message to be easier
40+
to read on GitHub as well as in various git tools.
41+
42+
The footer should contain a [closing reference to an issue](https://help.github.com/articles/closing-issues-via-commit-messages/) if any.
43+
44+
Samples: (even more [samples](https://github.com/angular/angular/commits/master))
45+
46+
```
47+
doc(changelog): update changelog to beta.5
48+
```
49+
```
50+
fix(release): need to depend on latest rxjs and zone.js
51+
52+
The version in our package.json gets copied to the one we publish, and users need the latest of these.
53+
```
54+
55+
### Revert
56+
If the commit reverts a previous commit, it should begin with `revert: `, followed by the header of the reverted commit. In the body it should say: `This reverts commit <hash>.`, where the hash is the SHA of the commit being reverted.
57+
58+
### Type
59+
Must be one of the following:
60+
61+
* **build**: Changes that affect the build system or external dependencies (example scopes: gradle, git, idea)
62+
* **ci**: Changes to our CI configuration files and scripts (example scopes: Jenkins)
63+
* **doc**: Documentation only changes
64+
* **feat**: A new feature
65+
* **fix**: A bug fix for the game
66+
* **perf**: A code change that improves performance of the game
67+
* **refactor**: A code change that neither fixes a bug nor adds a feature
68+
* **style**: Changes that do not affect the meaning of the code (white-space, formatting, copyright, etc)
69+
* **test**: Adding missing tests or correcting existing tests
70+
71+
### Scope
72+
The scope is optional.
73+
It should describe the area of the code base this change affects.
74+
For instance, it may be the name of the package(s) affected (as perceived by the person reading the changelog generated from commit messages).
75+
The package prefix `org.terasology` should be ommitted.
2376

24-
1. If your work spans multiple local commits make sure they can be merged directly into the target branch. If you have some commit and merge noise in the history have a look at git-rebase. Ideally, every commit should be able to be used in isolation -- that is, each commit must build and pass all tests.
25-
1. The first line of the commit message should be a descriptive sentence about what the commit is doing. It should be possible to fully understand what the commit does by just reading this single line.
26-
1. **Optional:** Following the single line description (ideally no more than 70 characters long) should be a blank line followed by a list with the details of the commit.
27-
1. **Optional:** Add `Fix/Fixing/Fixes/Close/Closing/Refs #issue` if you want to mark the issue mentioned as complete in the issue tracker when the change is merged.
77+
Samples:
78+
```
79+
feat(world): add JOML API to WorldProvider
80+
81+
fix(block/family): fix off-by-one error in block placement
82+
83+
build(gradle): migrate all scripts to Kotlin
84+
```
85+
86+
### Subject
87+
The subject contains a succinct description of the change:
88+
89+
* use the imperative, present tense: "change" not "changed" nor "changes"
90+
* don't capitalize the first letter
91+
* no dot (.) at the end
92+
93+
### Body
94+
Just as in the **subject**, use the imperative, present tense: "change" not "changed" nor "changes".
95+
The body should include the motivation for the change and contrast this with previous behavior.
96+
97+
### Footer
98+
The footer should contain any information about **Breaking Changes** and is also the place to
99+
reference GitHub issues that this commit **Closes**.
100+
101+
**Breaking Changes** should start with the word `BREAKING CHANGE:` with a space or two newlines. The rest of the commit message is then used for this.
102+
103+
A detailed explanation can be found in this [document][commit-message-format].
104+
105+
## License
28106

29-
License
30-
-------
31107
Submissions must be licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).
32108

33109
If you are adding a new file it should have a header like this (automatically available as a template in IntelliJ):
34-
~~~
35-
/*
36-
* Copyright 2016 MovingBlocks
37-
*
38-
* Licensed under the Apache License, Version 2.0 (the "License");
39-
* you may not use this file except in compliance with the License.
40-
* You may obtain a copy of the License at
41-
*
42-
* http://www.apache.org/licenses/LICENSE-2.0
43-
*
44-
* Unless required by applicable law or agreed to in writing, software
45-
* distributed under the License is distributed on an "AS IS" BASIS,
46-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
47-
* See the License for the specific language governing permissions and
48-
* limitations under the License.
49-
*/
50-
~~~
51-
52-
How to Submit a Pull Request
53-
----------------------------
110+
111+
```java
112+
// Copyright 2021 The Terasology Foundation
113+
// SPDX-License-Identifier: Apache-2.0
114+
```
115+
116+
## How to Submit a Pull Request
117+
54118
Pull requests are highly appreciated! Please follow the simple guidelines below.
55119

56120
1. Fork the repository to your personal GitHub account.
@@ -63,8 +127,8 @@ Pull requests are highly appreciated! Please follow the simple guidelines below.
63127

64128
__Please note:__ if you want to change multiple things that don't depend on each other, make sure you create a new branch off the main develop branch before making more changes - that way we can take in each change separately.
65129

66-
How to Merge a Pull Request
67-
---------------------------
130+
## How to Merge a Pull Request
131+
68132
For trusted contributors with push access to our root repos you are welcome to help merge pull requests.
69133

70134
1. Consider what scope is suitable for the change being PRed.

.gitignore

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
!.gitignore
1010
!.github
1111

12+
# Ignore generated code
13+
/engine/src/jmh/generated
14+
1215
# Ignore subdirs with their own Git roots. PC Facade and Core module are bundled with the main repo.
1316
extensions
1417
/facades/*
@@ -62,16 +65,14 @@ Icon
6265
ehthumbs.db
6366
Thumbs.db
6467

65-
# Ignore Terasology build output
66-
/engine/src/main/resources/Credits.md
67-
6868
# Ignore Terasology output
6969
*.log
7070
/saves/
7171
/recordings/
7272
/configs/
7373
/screenshots/
7474
/logs/
75+
/cachedModules/
7576
/terasology-server/
7677
/terasology-2ndclient/
7778
/terasology-3rdclient/

.idea/.editorconfig

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/.gitignore

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/compiler.xml

Lines changed: 0 additions & 9 deletions
This file was deleted.

.idea/copyright/profiles_settings.xml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/dictionaries/kevint.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/runConfigurations/TeraEd__rendering_editor_.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/runConfigurations/TerasologyPC.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/runConfigurations/TerasologyPC__2nd_client_.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)