{"id":15706720,"url":"https://github.com/knutwalker/sbt-knutwalker","last_synced_at":"2025-05-12T19:09:30.118Z","repository":{"id":30927538,"uuid":"34485492","full_name":"knutwalker/sbt-knutwalker","owner":"knutwalker","description":null,"archived":false,"fork":false,"pushed_at":"2018-01-31T18:31:46.000Z","size":60,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-12T19:09:21.210Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/knutwalker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-23T22:45:53.000Z","updated_at":"2017-05-07T11:29:10.000Z","dependencies_parsed_at":"2022-08-02T21:45:42.995Z","dependency_job_id":null,"html_url":"https://github.com/knutwalker/sbt-knutwalker","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knutwalker%2Fsbt-knutwalker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knutwalker%2Fsbt-knutwalker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knutwalker%2Fsbt-knutwalker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knutwalker%2Fsbt-knutwalker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/knutwalker","download_url":"https://codeload.github.com/knutwalker/sbt-knutwalker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253805861,"owners_count":21967053,"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":[],"created_at":"2024-10-03T20:27:17.479Z","updated_at":"2025-05-12T19:09:30.061Z","avatar_url":"https://github.com/knutwalker.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sbt-knutwalker\n\nAn opinionated plugin for github-based open-source projects.\n\n\n## Introduction\n\n`sbt-knutwalker` is a meta-plugin for sbt to simplify project builds\nwith typical or recommended settings.\nIt's based on the way I like to build my projects and if you agree with\nme there, you might benefit from this plugin, too.\n\n## What you get\n\nAs a meta-plugin, the following plugins are automatically included (alphabetical order)\n\n- [sbt-assembly](https://github.com/sbt/sbt-assembly) 0.14.6\n  Build fat-jars for your application\n\n- [sbt-buildinfo](https://github.com/sbt/sbt-buildinfo) 0.7.0\n  Generate code based on your `build.sbt`\n  \n- [sbt-docker](https://github.com/marcuslonnberg/sbt-docker) 1.4.1\n  Generate docker images for your application\n  \n- [sbt-ghpages](https://github.com/sbt/sbt-ghpages) 0.6.2\n  Push documentation and static content to github pages\n  \n- [sbt-git](https://github.com/sbt/sbt-git) 0.9.3\n  Versioning based on git\n\n- [sbt-header](https://github.com/sbt/sbt-header) 4.1.0\n  For creating and maintaining license headers\n\n- [sbt-jmh](https://github.com/ktoso/sbt-jmh) 0.3.3\n  Trust no one, bench everything\n  \n- [sbt-mima-plugin](https://github.com/typesafehub/migration-manager/wiki/Sbt-plugin) 0.1.18\n  Check for binary compability\n\n- [sbt-pgp](https://github.com/sbt/sbt-pgp) 1.1.0\n  For signing artifacts when publishing to sonatype\n\n- [sbt-release](https://github.com/sbt/sbt-release) 1.0.7\n  Provides a customizable workflow for releases\n\n- [sbt-revolver](https://github.com/spray/sbt-revolver) 0.9.1\n  quickly restart your application\n\n- [sbt-sonatype](https://github.com/xerial/sbt-sonatype) 2.1\n  Provides support for Sonatype\n\n- [sbt-scoverage](https://github.com/scoverage/sbt-scoverage) 1.5.1\n  For running statement and branch coverage\n\n- [sbt-site](https://github.com/sbt/sbt-site) 1.3.1\n  Generate static content for documentation (and github pages)\n  \n- [tut-plugin](https://github.com/tpolecat/tut) 0.6.2\n  Compile and check your documentation\n  \n- [sbt-unidoc](https://github.com/sbt/sbt-unidoc) 0.4.1\n  Generate unified documentation across multiple projects\n\nNot all of these are configured (e.g. docker), they're just included so you don't\nhave to add them to the `plugins.sbt`. Also, some of those are targeted at libraries\nwhile others are targeted at applications. Future versions might make a distinction there.\n\n\n\nFurther, these things are provided or simplified\n\n- simpler releasing to sonatype\n- Apache License with automatic license header creation\n- [useful scalac flags](http://tpolecat.github.io/2014/04/11/scalac-flags.html)\n- more aggresive resolver caching to avoid [repeated resolving...](https://twitter.com/datazenit/status/585540351978536962/photo/1)\n\n\n## Installation\n\n### sbt 0.13\n\nAdd the folling to you `project/plugins.sbt`\n\n```scala\naddSbtPlugin(\"de.knutwalker\" % \"sbt-knutwalker\" % \"0.5.1\")\n```\n\n### sbt 1.0\n\nAdd the folling to you `project/plugins.sbt`\n\n```scala\naddSbtPlugin(\"de.knutwalker\" % \"sbt-knutwalker\" % \"0.6.0\")\n```\n\n## Usage\n\nThe following keys should be used to activate various features and simplicifications\n\n##### `maintainer`\n\n`maintainer := \"Me Dev\"`\n\nMaintainer is used mainly for the license header as the licenser to use\n(Copyright YYYY $maintainer)\n\nIt is also used as the name for the developer in the generated pom for\nsonatype releasing\n\n##### `githubProject`\n\n`githubProject := de.knutwalker.sbt.Github(\"myorg\", \"awesome-project\")`\n\nSetting `githubProject`:\n  - sets the `organizationHomepage` to the github user site\n  - sets the `homepage` to the github repository site\n  - fills the scm-info in the generated pom for sonatype releasing\n  - sets the id and url for the developer in the generated pom for\nsonatype releasing\n\n##### `githubDevs`\n\nA list of developers that will be included in the generated pom for\nsonatype releasing.\nIt also workarounds a bug in pom generation in sbt 0.13.8\n\n\n##### `javaVersion`\n\n`javaVersion` controls the scalac flag `target`, based on the used version\nand the different target support for of different scala versions.\n\n##### _other keys_\n\nThere are several [other keys](src/main/scala/KSbtKeys.scala) that are not yet implemented\ncorrectly or sufficently to be mentioned here.\n\n\n### Example\n\nThe following is a minimal `build.sbt` definition that includes\nlicense headers and enables publishing to Sonatype nexus.\n\n```scala\n         name := \"aweseome-project\"\n   maintainer := \"Foo Bar\"\n scalaVersion := \"2.11.8\"\n organization := \"org.example\"\ngithubProject := Github(\"example\", \"awesome-project\")\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknutwalker%2Fsbt-knutwalker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknutwalker%2Fsbt-knutwalker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknutwalker%2Fsbt-knutwalker/lists"}