Setting Up Development Environment - IntegratedBreedingPlatform/Documentation GitHub Wiki
See [DBSCripts/seuputils] (https://github.com/IntegratedBreedingPlatform/DBScripts/tree/master/setuputils) readme.
IDE
Intellij
In progress
Folder exclusion
Mark the following directories as excluded, as it slows down the indexing process considerably (specially the file node/yarn/dist/lib/cli.js):
- Fieldbook/src/main/webapp/node
- Workbench/src/main/jhipster/node
- Workbench/src/main/web/node
Front End Development
The recommended front end development environment is Sublime Text. The following are our recommended setup instructions for this development environment:
- Install Sublime Text.
- Install Node.js (and npm which comes with Node).
- Install JSHint globally via npm, using
npm install jshint -g
- Install JSCS globally via npm, using
npm install jscs -g
- Install Sublime Package Control
- Via the Sublime Package Manager, install the following packages
- SublimeLinter
- SublimeLinter-jscs
- SublimeLinter-jshint
- Get the JSCS and JSHint config files from our Leafnode JavaScript repoository and place them in the folder that you check out all of your source code into. JSHint and JSCS will walk up the folder structure from the file you have open, so if you put them at the highest level, you will only need to have one copy of each in a single location.
- In Sublime, under Preferences -> Settings - User add the following settings:
"detect_indentation": false,
"ensure_newline_at_eof_on_save": true,
"tab_size": 4,
"translate_tabs_to_spaces": false,
"trim_trailing_white_space_on_save": true,
"folder_exclude_patterns":
[
".sass-cache",
".git"
]
- Once you are ready to work on a particular repository, e.g. Workbench, in Sublime, open Project -> Add Folder to Project... and add the folder containing the source code for that repository.
- Select Project -> Save Project As... and save the project with the repo name, e.g.
workbench.sublime-project
. - Select Project -> Edit Project and add the
folder_exclude_patterns
with values that correspond to folders that we don't need to appear in the sublime folder explorer or in search results, e.g."folder_exclude_patterns": ["logs", "nsis", "target", "pipeline", "schema", ".settings", "webapp", "node", "node_modules", "reports", "coverage", "java", ".externalToolBuilders"]
- Do the same with
file_exclude_patterns
, e.g."file_exclude_patterns": ["*.classpath", "*.project"]