Merge branch 'master' into bug5910

This commit is contained in:
Axel Uhl committed 2023-10-16 15:18:35 +02:00
commit 6939fa790e
3 files changed
+14 -7

No files matched your search

+3 -2
View File
@@ -22,8 +22,9 @@ A basic rundown of *what's what*, so you can dive into the other documentation m
- A **mark** is any position a boat must pass on a required side.
- A **tack** is a manoeuvre where the boat turns into the headwind (pointing into the wind) and then through.
- **Velocity made good** is speed towards or from the wind direction.
- Races, within a regatta, may be **discarded**. This is completely different to a penalty. If there is a discard, then each team's worst score is removed (if a team has two races with identical scores, the leaderboard will remove the earliest score). This typically only happens if there are 4 or more races. In the SAP Admin Console, in the Leaderboards panel, you can choose how many discards are allowed. We allow up to 15 discards! The Administrator types into the box next to the discard number, how many races are required to trigger the discard. This must increase for each discard.
## SuperDevMode vs DevMode (for GWT)
Previously there was a browser called Netscape, they developed a technology called Netscape Plugin Application Programming Interface (NPAPI), which was an API, allowing plugin integration. When the browser couldn't handle content, it utilised plugins. IN GWT, DevMode we use this and have a plugin that acts as an in-between for the JavaScript and Java. However, all requests first make a call to the Java routine, which then does a roundtrip (usually) to set anything in the page, and finally returns. This is quite slow and the NPAPI stuff has been deprecated. Instead, we use SuperDevMode now. You still have a HTTP server which serves the content initially, is the back-end and connects with the AWS instances; this triggers a request for the nocache.js, to the SuperDev server, which transpiles the code into "draft" JavaScript (which is unoptimized), utilising source maps, which enable us to map the JavaScript back to readable Java code (as it is often optimised to the point of confusion). The AJAX response is then used to fill the site.
This new method allows debugging on more platforms and is fast; however, it does make debugging more difficult.
Previously there was a browser called Netscape, they developed a technology called Netscape Plugin Application Programming Interface (NPAPI), which was an API, allowing plugin integration. When the browser couldn't handle content, it utilised plugins. In GWT DevMode, we use this feature and have a plugin that acts as an in-between for the JavaScript and Java. However, all requests first make a call to the Java routine, which then does a roundtrip (usually) to set anything in the page, and finally returns. This is quite slow and the NPAPI stuff has been deprecated. Instead, we use SuperDevMode now. You still have a HTTP server which serves the content initially, is the back-end and connects with the AWS instances; this triggers a request for the nocache.js, to the SuperDev server (typically running on port 9876 with Windows), which transpiles the code into "draft" JavaScript (which is unoptimized), utilising source maps, which enable us to map the JavaScript back to readable Java code (as it is often optimised to the point of confusion). The AJAX response is then used to fill the site.
This new method allows debugging on more platforms and is fast; however, it does make debugging more difficult because it can be unclear where the breakpoints map to.
+2 -1
View File
@@ -120,7 +120,7 @@ Out of the box, multiple settings in Eclipse need to be changed. Go to Window
- In "Java ⇒ Compiler" set the Compiler compliance level to 1.8
- In "Java ⇒ Installed JREs" add the Java 8 sdk and activate it.
- In "Java ⇒ Installed JREs ⇒ Execution Environments" make sure that the Java 8 JRE is selected for JavaSE-1.8 (if the jre is not listed open and close the preference Window once)
- For the next step, you may need to go to "Help ⇒ Install"; type _web_; then select _webtools_; click _web tools platform_; and then install the plugins.
- For the next step, you may need to go to "Help ⇒ Install New Software"; type _web_; then select _webtools_; click _web tools platform_ (this may have changed since the time of writing, so use your best judgement); and then install the plugins.
- In "Web ⇒ Client-side JavaScript ⇒ Code Style ⇒ Formatter" import the CodeFormatter_JavaScript.xml for JavaScript from $GIT_HOME/java to ensure correct formatting of JavaScript Native Interface (JSNI) implementations.
- In "Web ⇒ HTML Files ⇒ Editor" activate indent using Spaces
- In "XML(Wild Web Developer) ⇒ Validation & Resolution ⇒ Enable Validation" Disable the Checkbox
@@ -245,3 +245,4 @@ Install the GWT Browser Plugin for the GWT Development mode. As of 2016-08-31 Fi
### Create Hudson Job
If you want a hudson job to run when you push your branch then you can run a script in `configuration` called . Run options for a branch titled `createHudsonJobForBug.sh`. For you bug branch titled `bug<bug number>`, create a build job, which will create a release, by running the script like so: `./createHudsonJobForBug.sh <bug number>`.
If on Windows, you may need to disable any web shields in antivirus software, to allow `curl` to function.
@@ -2,7 +2,7 @@
I started out with a clean "Amazon Linux AMI 2015.03 (HVM), SSD Volume Type - ami-a10897d6" image from Amazon and added the existing Swap and Home snapshots as new volumes. The root/system volume I left as is, to start with. This requires having access to a user key that can be selected when launching the image.
Enable the EPEL repository by issuing `yum-config-manager --enable epel/x86_64`.
Enable the EPEL repository by issuing `yum-config-manager --enable epel/x86_64` or `sudo amazon-linux-extras install epel -y`.
I then did a `yum update` and added the following packages:
@@ -23,7 +23,9 @@ I then did a `yum update` and added the following packages:
- xterm
- sendmail-cf
In order to be able to connect to AWS DocumentDB instances, the corresponding certificate must be installed into the JVM's certificate store:
I copied the JDK7/JDK8 installations, particularly the current sapjvm_8 VM, from an existing SL instance to /opt (using scp).
In order to be able to connect to AWS DocumentDB instances, the corresponding certificate must be installed into the JVM's certificate store (2 separate commands):
```
wget -O /tmp/rds.pem https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
@@ -58,7 +60,7 @@ UUID=7d7e68a3-27a1-49ef-908f-a6ebadcc55bb none swap sw 0
```
This will mount the swap space partition as well as the /home/sailing partition, /var/log/old and the Android SDK stuff required for local builds.
Do the following steps (until it says otherwise) without logging out in between them:
In `/etc/ssh/sshd_config` I commented the line
```
@@ -74,10 +76,13 @@ PermitRootLogin Yes
MaxStartups 100
```
to allow root shell login, and allow for several concurrent SSH connections (up to 100) starting up around the
same time.
I copied the JDK7/JDK8 installations, particularly the current sapjvm_8 VM, from an existing SL instance to /opt.
Furthermore, on recent AMIs, you may have to go to `/root/.ssh/authorized_keys` and remove the statements before the keys start, otherwise you might lock yourself out (because you can't access root but the new permissions block ec2-user access). If you are locked out, then you can use EC2 Instance Connect, which can be found by clicking on an instance and clicking connect.
You may now _logout_.
I linked /etc/init.d/sailing to /home/sailing/code/configuration/sailing and added the following links to it: