-
Notifications
You must be signed in to change notification settings - Fork 27
Getting started guide for developers
Iaroslav Tavchenkov edited this page Sep 15, 2020
·
14 revisions
You can check a video version by this link: setting up
- Download or clone project
- Download and install Docker
- Prepare IDE(Idea)
- Prepare Git
- Prepare Docker
- PREPARE ITELLIJ IDEA FOR SCALA
settings -> plugins -> enter "scala"
settings -> editor -> codestyle -> scala ->
- Scheme -> Project
- Formatter -> Scalafmt
- Reformat on file save - switch On
- Check your format-config file must be .scalafmt.conf instead of Default (root project directory)
- To USE Scala formatter in Idea use: Ctrl + Alt + O - optimize imports Ctrl + Alt + L - format code
- Using Gitbash terminal go to the project folder and run this command:
bash instal.sh
-
Settings -> Build, Execution, Deployment -> Build Tools -> Sbt
-
Switch radio-button to Custom, and choose your SBT-installation path(sbt-launch.jar)
-
Download -> check On Library Sources, sbt sources
-
Use SBT-shell -> for imports, for builds
- We only use rebase. Do not use merge, ever. We use forks, so we push into our forks, not to the origin Before we push, we squash commits using rebase(rebase -i HEAD~)
- Try not to squash commits that aren't yours, to do that carefully count commits on your branch, it is better to squash not all commits but to avoid conflicts.
- It is not good practice to force-push your commits(cause this way we lose informative history), so try to check everything and do everything before you push
- Name your requests like: "EPMLSTRCMW-142: Get project versions from GitLab" - where 142 -is task number in JIRA, and "Get project versions from GitLab" - is branch description
- Name your branches like: "EPMLSTRCMW-46-setup-project" - using the same rules as in point above When you are ready to be reviewed you should notify(link in clack)your colleagues
- run->edit configurations->environment variables-> add variables: EXAMPLE(you should change variables values as you wish):
CMWL_DB_SERVER_NAME=localhost;CMWL_DB_PORT_NUMBER=5432;CMWL_DB_NAME=postgres;CMWL_DB_USER=postgres;CMWL_DB_PASSWORD=docker;
CMWL_MONGO_USER=mongoUser;CMWL_MONGO_PASSWORD=password;CMWL_MONGO_HOST=localhost;CMWL_MONGO_PORT=27017;CMWL_MONGO_AUTH=admin;CMWL_MONGO_DB=mongo;CMWL_MONGO_COLLECTION=configurations;
CMWL_TEST_DB_SERVER_NAME=localhost;CMWL_TEST_DB_PORT_NUMBER=5432;CMWL_TEST_DB_NAME=postgres;CMWL_TEST_DB_USER=postgres;CMWL_TEST_DB_PASSWORD=docker;
CMWL_TEST_MONGO_USER=mongoUser;CMWL_TEST_MONGO_PASSWORD=password;CMWL_TEST_MONGO_HOST=localhost;CMWL_TEST_MONGO_PORT=27017;CMWL_TEST_MONGO_AUTH=admin;CMWL_TEST_MONGO_DB=mongo;CMWL_TEST_MONGO_COLLECTION=configurations
docker run --rm --name pg-docker -e POSTGRES_PASSWORD=docker -d -p 5432:5432 -v $HOME/docker/volumes/postgres:/var/lib/postgresql/data postgres
docker run --rm --name mongo-docker -d -p 27017:27017 mongo mongod - auth
instead of previous line you can try: docker run --rm --name mongo-docker -d -p 27017:27017 mongo
sudo docker exec -i -t mongo-docker bash
mongo
use admin
db.createUser({user:"mongoUser",pwd:"password",roles:[{role:"root",db:"admin"}]})
- create a fork and work with it
- name of commits are checked by githook(see readme)
- as you can see in our Travis configurations, Travis build, in addition to test and it:test, includes a task to check undeclared dependencies, so pay attention to dependencies you create, and be sure, that they are declared in build.
- sbt in order to pass undeclaredCompileDependenciesTest task be sure your task has passed Travis check before you ask to review it(name requests and branches using style-guides)