Skip to content

CodeSpells Launcher Logic

Lindsey Handley, Ph.D edited this page Sep 16, 2021 · 3 revisions

The Launcher Logic is fetched from AWS S3 (what-to-do-next.rkt) and evaluated by the CodeSpells Launcher. It checks to see if the user has the latest version of CodeSpells, and it allows the user to launch the CodeSpells game. In the future, it may assist the user in managing multiple CodeSpells Worlds or versions.

Development

  1. Edit code in nexus/nexus-client/Installer/what-to-do-next.rkt.
  2. Test your Launcher Logic by running racket test-launcher-logic.rkt in the nexus/nexus-client/Installer directory. A Racket GUI with your changes should pop up.

Note: in what-to-do-next.rkt, you have access to the Racket language, including Racket GUI, and the Racket net/http-easy package, but that's pretty much it! You can't require additional stuff without changing the Launcher Installer. If you really really really need another package or file, you would need to update & distribute a new Launcher Installer and add another lib package during the raco exe ++lib step and everyone would need to install a new version of CodeSpells. (You want to avoid that!)

This also means you can't split your Launcher Logic into multiple files. If this Launcher need in the future to become a complex system in its own right, it should be distributed as its own CodeSpells World perhaps.

Production

Upload the what-to-do-next.rkt file to AWS S3 here: s3://codespells-org/Nexus/Installer/what-to-do-next.rkt.

Clone this wiki locally