Skip to content

margarita-nedzelska-sonarsource/versions-tracker

Repository files navigation

Build status Quality Gate Status

Use this project to monitor latest and supported versions of languages:

  • Java
  • Kotlin
  • Scala
  • Go
  • Ruby
  • Swift
  • Dotty (aka Scala 3)

This service uses github api, which has limited number of requests per hour. To increase the limit it's better to authorize with github token by setting environment variable $GITHUB_TOKEN. The service can access github api anonymously as well but at rate of 60 requests/hour.

To build project and run all tests just run ./gradlew build command.

To start the server use ./gradlew run command. The service will be available at localhost:8080. Available commands:

  • To get latest versions in json format use

    GET /latest

    Arguments: langs

    Example: localhost:8080/latest?langs=java,kotlin,ruby,go

  • To get view latest and supported versions in json format use

    GET /versions

    Arguments: langs

    Example: localhost:8080/versions?langs=java,kotlin,ruby,go

  • To get view latest and supported versions as html table use

    GET /view/versions

    Arguments: langs

    Example: localhost:8080/view/versions?langs=java,kotlin,ruby,go

  • To invalidate cache and force updates of latest versions use

    GET /invalidate

    Example: localhost:8080/invalidate

To deploy function in Google cloud you first need to run command ./gradlew buildFunction to copy fat jar into separate directory "deploy". And then run (for this command you must be authorized in google cloud console)

 gcloud functions deploy releases-function \
    --entry-point com.example.versions.function.ReleasesFunction \
    --source=function/build/deploy --runtime java11 \
    --memory 512MB --trigger-http --allow-unauthenticated

To run function locally run this command:

./gradlew runFunction -PrunFunction.target=com.example.versions.function.ReleasesFunction

About

Tracking latest languages versions and its new features

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published