Check developmentGuide for more detail.
Please be sure you are on macOS.
The bootstrap.sh script is currently only for macOS, although it’s not difficult to set up your environment for development.
Clone the repository:
$ git clone https://github.com/moneyforward/insdog.gitThen cd to the directory:
$ cd insdogIn the project root directory, run:
$ ./bootstrap.shIf this step succeeds, the script will print something like following and should exit with 0.
We are erasing the old .dependencies pass: <is_git_installed> --- FAILED CHECKS: 0 BEGIN: BOOTSTRAP [BOOTSTRAP] Initialized empty Git repository in /Users/your.name/Documents/github/moneyforward/insdog/.dependencies/homebrew/.git/ ... [sdkman:maven] Installing: maven 3.9.6 [sdkman:maven] Done installing! [sdkman:maven] [sdkman:maven] [sdkman:maven] Setting maven 3.9.6 as default. END: sdkman:maven
- NOTE
-
In case you want to re-try the set-up for some reason, in the project root directory please do:
$ sudo rm -fr .dependenciesThen, do ./bootstrap.sh.
We use IntelliJ IDEA for daily development. You can use either Community or Ultimate edition. For SDET(FW) or SDET(PM), Ultimate edition is recommended.
You can install required the plugins from the Install required plugins button at the bottom right when you open IntelliJ IDEA without them.
You can just open a test class such as VisitAllMenuItemsTest.java and run it with the "Play" button (a green triangle) to run it.
- NOTE
-
To work with environment variables in IntelliJ IDEA, you need to install the
EnvFileplugin:-
Open IntelliJ IDEA.
-
Go to
IntelliJ IDEA>Settings. -
Navigate to
Plugins. -
Search for
EnvFilein the Marketplace tab. -
Click
Installto add the plugin. -
Restart IntelliJ IDEA if prompted.
-
build.sh is a very thin wrapper script of make command.
It only defines environment variables assumed by the targets defined in Makefile, then executes make command with arguments passed to itself.
You can skip this part and just open the directory to which you cloned the source code with Integrated Development Environment (IDE).
Still, it is important to define development tasks in the Makefile because it allows us to automate and integrate them into CI environment.