{"id":13461836,"url":"https://github.com/heroku/heroku-buildpack-scala","last_synced_at":"2025-03-24T23:31:55.505Z","repository":{"id":837852,"uuid":"1757833","full_name":"heroku/heroku-buildpack-scala","owner":"heroku","description":"Heroku's classic buildpack for Scala applications.","archived":false,"fork":false,"pushed_at":"2024-10-18T10:32:14.000Z","size":1587,"stargazers_count":188,"open_issues_count":7,"forks_count":322,"subscribers_count":98,"default_branch":"main","last_synced_at":"2024-12-27T05:06:21.439Z","etag":null,"topics":["buildpack","heroku","heroku-languages","scala"],"latest_commit_sha":null,"homepage":"https://devcenter.heroku.com/articles/scala-support","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/heroku.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-05-16T21:41:09.000Z","updated_at":"2024-11-26T09:36:32.000Z","dependencies_parsed_at":"2023-10-04T15:02:09.410Z","dependency_job_id":"c3a6c5a1-0b94-4495-bba6-fdfc23f4b465","html_url":"https://github.com/heroku/heroku-buildpack-scala","commit_stats":{"total_commits":581,"total_committers":30,"mean_commits":"19.366666666666667","dds":"0.48364888123924266","last_synced_commit":"ea01755f890570906601413d7046f3cfc5eeb4c7"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heroku%2Fheroku-buildpack-scala","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heroku%2Fheroku-buildpack-scala/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heroku%2Fheroku-buildpack-scala/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heroku%2Fheroku-buildpack-scala/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heroku","download_url":"https://codeload.github.com/heroku/heroku-buildpack-scala/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245372193,"owners_count":20604487,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["buildpack","heroku","heroku-languages","scala"],"created_at":"2024-07-31T12:00:17.589Z","updated_at":"2025-03-24T23:31:55.019Z","avatar_url":"https://github.com/heroku.png","language":"Shell","funding_links":[],"categories":["Features","[Heroku Buildpacks](https://devcenter.heroku.com/)"],"sub_categories":["Provides buildpacks for:"],"readme":"Heroku Buildpack for Scala [![CI](https://github.com/heroku/heroku-buildpack-scala/actions/workflows/ci.yml/badge.svg)](https://github.com/heroku/heroku-buildpack-scala/actions/workflows/ci.yml)\n=========================\n\n![](https://cloud.githubusercontent.com/assets/51578/11041625/f2eed216-86e0-11e5-8470-5c01a775fa51.jpg)\n\nThis is the official [Heroku buildpack](http://devcenter.heroku.com/articles/buildpacks) for Scala apps.\n\nHow it works\n-----\n\nThe buildpack will detect your app as Scala if it has a `project/build.properties` file and either a `.sbt` or `.scala` based build config (for example, a `build.sbt` file).  It vendors a version of sbt into your slug (if you are not using sbt-native-packager, it also includes your popluated `.ivy/cache` in the slug).  The `.ivy2` directory will be cached between builds to allow for faster build times.\n\nIt is strongly recommended that you use sbt-native-packager with this buildpack instead of sbt-start-script. The latter is deprecated, and will result in exessively large slug sizes.\n\nDocumentation\n------------\n\nFor more information about using Scala and buildpacks on Heroku, see these articles:\n\n*  [Heroku's Scala Support](https://devcenter.heroku.com/articles/scala-support)\n*  [Play Documentation: Deploying to Heroku](https://playframework.com/documentation/2.3.x/ProductionHeroku)\n*  [Customizing the JDK](https://devcenter.heroku.com/articles/customizing-the-jdk)\n*  [Running a Remote sbt Console for a Scala or Play Application ](https://devcenter.heroku.com/articles/running-a-remote-sbt-console-for-a-scala-or-play-application)\n*  [Using Node.js to perform JavaScript optimization for Play and Scala applications](https://devcenter.heroku.com/articles/using-node-js-to-perform-javascript-optimization-for-play-and-scala-applications)\n*  [Reducing the Slug Size of Play 2.x Applications](https://devcenter.heroku.com/articles/reducing-the-slug-size-of-play-2-x-applications)\n\nExamples\n------------\n\nThere are a number of example applications that demonstrate various ways of configuring a project for use on Heroku. Here are a few:\n\n*  [Play Database seed](https://github.com/mkbehbehani/play-heroku-seed)\n*  [Play Silhouette Angular seed](https://github.com/mohiva/play-silhouette-angular-seed)\n*  [Minimal sbt example](https://github.com/kissaten/sbt-minimal-scala-sample)\n*  [Lift example](https://github.com/kissaten/lift-2.5-sample)\n\nCustomizing\n-----------\n\nThis buildpack uses [sbt-extras](https://github.com/paulp/sbt-extras) to run sbt.\nIn this way, the execution of sbt can be customized either by setting\nthe SBT_OPTS config variable, or by creating a `.sbtopts` file in the\nroot directory of your project. When passing options to the underlying\nsbt JVM, you must prefix them with `-J`. Thus, setting stack size for\nthe compile process would look like this:\n\n```\n$ heroku config:set SBT_OPTS=\"-J-Xss4m\"\n```\n\nRunning additional tasks before the build\n----------------\n\nSometimes, it might be necessary to run additional sbt tasks before a build and deployment (for example, database migrations). Ideally, the tasks should be interdependent such that these tasks run automatically as pre-requisities to `compile stage`, but sometimes this might not be the case. To add any additional tasks, set the environment variable `SBT_PRE_TASKS` to a list of tasks that should be executed. If the following is set:\n\n    SBT_PRE_TASKS=flyway:migrate info\n\nThen, the following command will be run for build:\n\n    sbt flyway:migrate info compile stage\n\nClean builds\n------------\n\nIn some cases, builds need to clean artifacts before compiling. If a clean build is necessary, configure builds to perform clean by setting `SBT_CLEAN=true`:\n\n```sh-session\n$ heroku config:set SBT_CLEAN=true\nSetting config vars and restarting example-app... done, v17\nSBT_CLEAN: true\n```\n\nAll subsequent deploys will use the clean task. To remove the clean task, unset `SBT_CLEAN`:\n\n```sh-session\n$ heroku config:unset SBT_CLEAN\nUnsetting SBT_CLEAN and restarting example-app... done, v18\n```\n\nDevelopment\n-------\n\nTo make changes to this buildpack, fork it on Github. Push up changes to your fork, then create a new Heroku app to test it, or configure an existing app to use your buildpack:\n\n```\n# Create a new Heroku app that uses your buildpack\nheroku create --buildpack \u003cyour-github-url\u003e\n\n# Configure an existing Heroku app to use your buildpack\nheroku buildpacks:set \u003cyour-github-url\u003e\n\n# You can also use a git branch!\nheroku buildpacks:set \u003cyour-github-url\u003e#your-branch\n```\n\nLicense\n-------\n\nLicensed under the MIT License. See LICENSE file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheroku%2Fheroku-buildpack-scala","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheroku%2Fheroku-buildpack-scala","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheroku%2Fheroku-buildpack-scala/lists"}