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