868ddba9db752ff5156f0c3c5c475d39cb5c0746
wiki/howto/onboarding.md
| ... | ... | @@ -12,7 +12,7 @@ First of all, make sure you've looked at http://www.amazon.de/Patterns-Elements- |
| 12 | 12 | 2. Eclipse Extensions |
| 13 | 13 | * Install GWT Eclipse plugin for Eclipse (https://github.com/gwt-plugins/gwt-eclipse-plugin/tree/gpe-fork using http://storage.googleapis.com/gwt-eclipse-plugin/release as the update site URL) |
| 14 | 14 | * Install Eclipse debugger for GWT SuperDevMode (master version: http://p2.sapsailing.com/p2/sdbg; public release: http://sdbg.github.io/p2) |
| 15 | -3. Git (e.g. msysGit for Windows v2.9.2), http://git-scm.com |
|
| 15 | +3. Git (e.g. Git for Windows v2.12.2), http://git-scm.com / https://git-for-windows.github.io/ |
|
| 16 | 16 | 4. MongoDB (e.g. Production Release 2.6.7), download: http://www.mongodb.org/ |
| 17 | 17 | 5. RabbitMQ, download from http://www.rabbitmq.com/. Requires Erlang to be installed. RabbitMQ installer will assist in installing Erlang. |
| 18 | 18 | 6. JDK 1.7 (Java SE 7), http://jdk7.java.net |
| ... | ... | @@ -95,6 +95,12 @@ Be aware hat the installation may take several minutes depending on your Interne |
| 95 | 95 | * For TracTrac Events: (Date 27.11.2012) Use Live URI tcp://10.18.22.156:4412, Stored URI tcp://10.18.22.156:4413, JSON URL http://germanmaster.traclive.dk/events/event_20120905_erEuropean/jsonservice.php |
| 96 | 96 | * Press List Races |
| 97 | 97 | |
| 98 | +#### Git repository configuration essentials |
|
| 99 | + |
|
| 100 | +The project has some configuration of line endings for specific file types in ".gitattributes". To make this work as intended, you need to set the git attribute "core.autocrlf" to "false". This can be done by navigating to your local repository in a Bach/Git Bach/Cygwin instance and executing the command `git config core.autocrlf false`. |
|
| 101 | + |
|
| 102 | +If you are first time git user, don't forget to specify your user metadata. Use the commands `git config user.name "My Name"` and `git config user.email my.email@sap.com` to tell git your name and email address. |
|
| 103 | + |
|
| 98 | 104 | #### Maven Setup |
| 99 | 105 | Copy the settings.xml **and** the toolchains.xml from the top-level git folder to your ~/.m2 directory. Adjust the proxy settings in settings.xml accordingly (suggested settings for corporate network inside). Set the paths inside of toolchains.xml to your JDKs depending on where you installed them (this is like setting the compiler for your IDE, but for Maven; This makes it possible to build with the same Maven configuration on every system). Make sure the mvn executable you installed above is in your path. Open a shell (preferrably a git bash or a cygwin bash), cd to the git workspace's root folder and issue "./configuration/buildAndUpdateProduct.sh build". This should build the software and run all the tests. If you want to avoid the tests being executed, use the -t option. If you only want to build one GWT permutation (Chrome/English), use the -b option. When inside the SAP VPN, add the -p option for proxy use. Run the build script without arguments to get usage hints. |
| 100 | 106 | |
| ... | ... | @@ -102,6 +108,16 @@ Copy the settings.xml **and** the toolchains.xml from the top-level git folder t |
| 102 | 108 | - Configure Eclipse to use Chrome or Firefox as the default browser |
| 103 | 109 | - Install the GWT Browser Plugin for the GWT Development mode <del>(Chrome or Firefox; as of this writing (2013-11-05), Firefox is the only platform where the plug-in runs stably)</del> (As of 2016-08-31 Firefox is the only browser supporting the GWT plugin, you have to download Firefox version 24 for it to work) |
| 104 | 110 | |
| 111 | +#### Git usage troubleshooting |
|
| 112 | + |
|
| 113 | +There are some inconsistencies regarding line endings (unix vs windows) in our git repository. There is a configuration named ".gitattributes" committed to the root folder of the repository that helps to prevent inconsistencies of line endings when committing files. Files that existed before are partially using unix (LF) or windows (CRLF) line endings. When committing files, git will ensure unix line endings for e.g. *.java files. This can lead to big diffs that hurt when trying to merge/diff. |
|
| 114 | + |
|
| 115 | +When merging branches that potentially have conflicts regarding line endings, you can specifically parameterize the git command line to not produce a big bunch of conflicts. Using the parameter `-Xignore-space-at-eol` while doing a merge will drastically reduce such conflicts. Using this, the commandline to merge "master" into your current branch is `git merge -Xignore-space-at-eol master`. |
|
| 116 | + |
|
| 117 | +In cases where code was reformatted, you can also ignore all whitespace changes by using the parameter `-Xignore-space-change`. |
|
| 118 | + |
|
| 119 | +When doing a diff, you can also use the parameters `--ignore-space-at-eol` and `--ignore-space-change`. |
|
| 120 | + |
|
| 105 | 121 | #### Additional steps required for Android projects |
| 106 | 122 | |
| 107 | 123 | To ensure that all components of the Analysis Suite are working, you should also import all Android projects (mobile/) into your workspace. There are some additional requirements to enable the build process of these projects. |