Skip to content
3 changes: 3 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ You need to install the following dependencies:
To install a specific Rust version, use `rustup install 1.36.0` command.
* The [system dependencies](https://exonum.com/doc/version/0.12/get-started/install/) of Exonum.
You do _not_ need to manually fetch and compile Exonum.

__Important__: On Mac OS it is necessary to install RocksDB
package and to set the environment variable `ROCKSDB_LIB_DIR`.
To install the package via Homebrew:
Expand All @@ -36,6 +37,8 @@ You need to install the following dependencies:
Also on Mac you need a [`coreutils`](https://formulae.brew.sh/formula/coreutils) package installed.

### Building
__Important__: In order to retrieve submodules you have to execute `git submodule update --init` before first build.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You also need to execute git submodule update before each build, don't you?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, the info about submodule revision is recorded under the main repo, so I believe that it makes sense executing this only after fetching updates for the main repo. And yes, it should also be stated somewhere.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fetching updates or switching to any new branch?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When one creates a new branch within the current branch with submodules that are checked out, the new branch contains the same revision to submodules and the content of submodules folders remains the same.
When one gets switched to the branch that points to a different submodule revision then git submodule update is required I guess.
Well, the deeper we go here the more I feel like instruction turns into a guide to git for the user - wouldn't it be enough to just mention that protobuf files (or just some parts of the project) are a git submodule and user should pay attention to this?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, submodule mention shall be enough.


Set required environment variables, once in a shell you use to build the project:
```$sh
$ source exonum-java-binding/tests_profile
Expand Down