See the demo of the BridgeScorer here.
Use pull requests. Travis CI is used to test all pull requests prior to merging.
To release a new version, the current branch must be main
, the workspace must be clean. The release
branch must not exist.
To create the release, execute:
sbt release
Then push the release branch and make a pull request. Once the Travis CI build finishes merge the pull request, and then push the tag that was created with the sbt release
command.
client/
src/
main/
scala/ the source for the browser application
help/ the help project from https://github.com/thebridsk/bridgescorerdocs
rotation/
shared/
src/
main/
scala/ a utility to help with bridge table rotations
server/
src/
main/
public/ static content for web application
scala/ the server source code
resources/ resources for the server
test
scala/ test code
store/ persistent store for dev environment, git ignored
testdata/ test data for integration tests
shared/
shared/
src/
main/
scala/ shared code between web application and server
utilities/ the utilities project from https://github.com/thebridsk/utilities
project/
Dependencies.scala dependencies for all projects
MyEclipseTransformers.scala sbt transformers for eclipse
MyReleaseVersion.scala my version support for sbt-release
plugins.sbt plugins needed by this project
Server.scala support for running server in tests
build.sbt build file
version.sbt version file, maintained by build.sbt and sbt-release plugin
setup/
sbt/ files for global configuration of sbt
launchers/ eclipse launchers for development environment
To generate the server key for the HTTPS Connection run the following:
md key
cd key
..\generateServerKey.bat abcdef abcdef
Warning: The above is NOT secure, the password for the private key trivial. This only shows how to make a server that supports HTTPS.
With this key, the following options will enable https and http2 when starting the server:
--certificate key/example.com.p12 --certpassword abcdef --https 8443 --http2
The sbt build target bridgescorer-server/serverssl
can be used to start the server with https support and bridgescorer-server/serverhttp2
can be used to start the server with https and http2 support. Note that the akka-http2-support library is added in the test scope, as is the serverhttp2 target.
This project uses nested submodules. The easiest way to clone is to use clone --recurse-submodules
.
mkdir BridgeScorer
cd BridgeScorer
mkdir git
cd git
git clone --recurse-submodules https://github.com/thebridsk/bridgescorer
The resulting directory structure is:
BridgeScorer
git
bridgescorer
ws
The ws
directory is the eclipse workspace.
- Java 1.8
- Scala 2.12.10
- SBT 1.3.0
- Chrome
- ChromeDriver, be sure to match the version of Chrome.
- Hugo, at least version 0.52
Optional:
-
In the SBT install, edit the file
conf/sbtconfig.txt
and make the following changes:- Change
-Xmx
option to-Xmx=4096M
. 512m is not enough.
- Change
-
If you update SBT, you may need to clean out the
~/.sbt
directory. Make sure you saveglobal.sbt
,plugins.sbt
and any other configuration files. -
Optionally copy the files in
setup/sbt/1.0
to~/.sbt/1.0
. This has aplugins.sbt
file with plugins that are nice to have.
Install the scalametals extension. Add sbt, Scala, Java, chromedriver, hugo to the path when starting VSCode.
Use jsconsole from https://github.com/remy/jsconsole
git clone https://github.com/remy/jsconsole
cd jsconsole
npm install
node .
edit server/src/main/public/index-jsconsole.html to set the correct IP address for the jsconsole server.
on iOS Safari, go to /public/index-jsconsole.html