{"id":15808629,"url":"https://github.com/ptrdom/scripted-sbt-sources","last_synced_at":"2026-01-22T05:33:18.330Z","repository":{"id":217722544,"uuid":"742485759","full_name":"ptrdom/scripted-sbt-sources","owner":"ptrdom","description":"sbt plugin for sbt plugins, adds improved modularisation of scripted sbt tests","archived":false,"fork":false,"pushed_at":"2025-12-28T11:40:04.000Z","size":86,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-30T22:16:49.828Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Scala","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/ptrdom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-01-12T15:31:00.000Z","updated_at":"2025-12-28T11:39:35.000Z","dependencies_parsed_at":"2024-02-11T13:41:31.488Z","dependency_job_id":"50446daf-2326-40c1-a2e7-0ca13beb2bb5","html_url":"https://github.com/ptrdom/scripted-sbt-sources","commit_stats":null,"previous_names":["ptrdom/sbt-scripted-sources","ptrdom/scripted-sbt-sources"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ptrdom/scripted-sbt-sources","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptrdom%2Fscripted-sbt-sources","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptrdom%2Fscripted-sbt-sources/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptrdom%2Fscripted-sbt-sources/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptrdom%2Fscripted-sbt-sources/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ptrdom","download_url":"https://codeload.github.com/ptrdom/scripted-sbt-sources/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptrdom%2Fscripted-sbt-sources/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28656283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-05T03:04:52.394Z","updated_at":"2026-01-22T05:33:18.307Z","avatar_url":"https://github.com/ptrdom.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# scripted-sbt-sources\n\nscripted-sbt-sources is a sbt plugin for sbt plugins, it adds improved modularisation of `scripted` tests to assist with \neasier maintenance and clearer presentation of plugin usage examples.\n\n## Motivation\n\nOne of the most important goals for plugin developers is making their creations easy to understand and adopt, and to achieve\nthat the plugin needs not only documentation, but also clear and simple examples. There are at least two ways of \nimplementing that:\n\n1. Providing `/examples` subdirectory with select projects.\n1. Referencing `scripted` tests as examples.\n\nProblem with `/examples` subdirectory is that the examples must be kept up to date and made sure to remain working, and the \nworkflow for that is not immediately obvious. This can be solved by just using `scripted` tests as examples, but truly\ngood tests bring in a lot of test specific noise into the example code, so the part of the test that represents the example\nitself becomes less clear. So maybe there is a way to solve these two problems at once - have clear examples and good tests.\n\n## Usage\n\nscripted-sbt-sources adds new configuration file named `.sources` to `scripted` tests. Developers can specify a newline\nseparated list of directories in `.sources` that will be merged together with `scripted` test directory. Directories are\nmerged in decreasing priority, meaning that files in `scripted` test directory and sources listed at the top of the\n`.sources` list overwrite directories below them. This new merged test directory is placed in `/target` directory and is\nused by the `scripted` task to run tests. \n\nSee [src/sbt-test/scripted-sources-plugin/basic-plugin-project](src/sbt-test/scripted-sources-plugin/basic-plugin-project) \nfor example plugin project.\n\n## License\n\nThis software is licensed under the MIT license\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fptrdom%2Fscripted-sbt-sources","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fptrdom%2Fscripted-sbt-sources","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fptrdom%2Fscripted-sbt-sources/lists"}