Skip to content

Latest commit

 

History

History
70 lines (41 loc) · 2.03 KB

README.md

File metadata and controls

70 lines (41 loc) · 2.03 KB

Semaphore demo CI pipeline using Scala and Play

Example application and continuous integration pipeline showing how to run Scala Play project on Semaphore. Based on play-scala-starter-example.

CI is based on Gradle and sbt, and configured in .semaphore/semaphore.yml. It runs two parallel jobs in a build matrix with different Java versions.

Fork this repository and use it to create your own project on Semaphore.

This is a starter application that shows how Play works. Please see the documentation at https://www.playframework.com/documentation/latest/Home for more details.

Running

Run this using sbt. If you downloaded this project from http://www.playframework.com/download then you'll find a prepackaged version of sbt in the project directory:

sbt run

And then go to http://localhost:9000 to see the running web application.

There are several demonstration files available in this template.

Controllers

  • HomeController.scala:

    Shows how to handle simple HTTP requests.

  • AsyncController.scala:

    Shows how to do asynchronous programming when handling a request.

  • CountController.scala:

    Shows how to inject a component into a controller and use the component when handling requests.

Components

  • Module.scala:

    Shows how to use Guice to bind all the components needed by your application.

  • Counter.scala:

    An example of a component that contains state, in this case a simple counter.

  • ApplicationTimer.scala:

    An example of a component that starts when the application starts and stops when the application stops.

Filters

  • Filters.scala:

    Creates the list of HTTP filters used by your application.

  • ExampleFilter.scala:

    A simple filter that adds a header to every response.