{"id":14966066,"url":"https://github.com/jonathanstowe/test-meta","last_synced_at":"2025-10-25T13:31:16.611Z","repository":{"id":41073892,"uuid":"45759940","full_name":"jonathanstowe/Test-META","owner":"jonathanstowe","description":"Test that a Perl 6 project has a good and proper META file","archived":false,"fork":false,"pushed_at":"2023-07-04T07:03:29.000Z","size":74,"stargazers_count":10,"open_issues_count":8,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-31T07:21:40.508Z","etag":null,"topics":["meta","metadata","raku","testing-tools"],"latest_commit_sha":null,"homepage":"","language":"Raku","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonathanstowe.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":null,"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}},"created_at":"2015-11-07T23:58:02.000Z","updated_at":"2022-08-07T08:48:06.000Z","dependencies_parsed_at":"2024-09-14T01:22:23.553Z","dependency_job_id":"bb36aa0e-cd88-4ff1-958c-3bf8801f697d","html_url":"https://github.com/jonathanstowe/Test-META","commit_stats":{"total_commits":89,"total_committers":14,"mean_commits":6.357142857142857,"dds":0.6179775280898876,"last_synced_commit":"1190f9dd0c5daf6d320047674281090f68cd1be7"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FTest-META","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FTest-META/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FTest-META/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FTest-META/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonathanstowe","download_url":"https://codeload.github.com/jonathanstowe/Test-META/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238147588,"owners_count":19424289,"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":["meta","metadata","raku","testing-tools"],"created_at":"2024-09-24T13:35:46.683Z","updated_at":"2025-10-25T13:31:09.281Z","avatar_url":"https://github.com/jonathanstowe.png","language":"Raku","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Test::META\n\nTest that a Raku project has a good and proper META file.\n\n[![CI](https://github.com/jonathanstowe/Test-META/actions/workflows/main.yml/badge.svg)](https://github.com/jonathanstowe/Test-META/actions/workflows/main.yml)\n\n## Synopsis\n\nThis is the actual `t/030-my-meta.t` from this distribution\n\n```Perl6\n#!raku\n\nuse v6;\nuse lib 'lib';\n\nuse Test;\nuse Test::META;\n\nplan 1;\n\n# That's it\nmeta-ok();\n\n\ndone-testing;\n```\n\n\nHowever, you may want to make this test conditional, only run by the\nauthor (e.g. by checking the `AUTHOR_TESTING` environment variable). Also,\nregular users of your module will not need Test::META on their system):\n\n```Perl6\nuse v6;\nuse lib 'lib';\nuse Test;\nplan 1;\n\nconstant AUTHOR = ?%*ENV\u003cAUTHOR_TESTING\u003e;\n\nif AUTHOR {\n    require Test::META \u003c\u0026meta-ok\u003e;\n    meta-ok;\n    done-testing;\n}\nelse {\n     skip-rest \"Skipping author test\";\n     exit;\n}\n```\n\nIf you are running under Travis CI you can set the right environment\nvariable in the YAML. One way to do this is like this:\n\n```\nscript:\n  - AUTHOR_TESTING=1 prove -v -e \"raku -Ilib\"\n```\n\nOther continuous integration systems will have a similar facility.\n\n## Description\n\nThis provides a simple mechanism for module authors to have some\nconfidence that they have a working distribution META description\nfile (as described in [S22](http://design.raku.org/S22.html#META6.json)).\n\nIt exports one subroutine `meta-ok` that runs a single sub-test that\nchecks that:\n\n   *  The META file (either META6.json or META.info) exists\n   *  That the META file can be parsed as valid JSON\n   *  That the attributes marked as \"mandatory\" are present\n   *  That the files mentioned in the \"provides\" section are present.\n\nThere are mechanisms that are used internally for testing to override the\nlocation or name of the META file. These can be seen in the test suite\nthough they are not typically needed.\n\n## Installation\n\nYou can install directly with \"zef\":\n\n```\n# Remote installation\n$ zef install Test::META\n\n# From the source directory\n$ zef install .\n```\n\n## Support\n\nSuggestions/patches are welcomed via github at:\n\nhttps://github.com/jonathanstowe/Test-META\n\nIf you can think of further tests that could be made, please send a\npatch.  Bear in mind that the tests for the structure of the META file\nand particularly the required fields rely on the implementation of the\nmodule [META6](https://github.com/jonathanstowe/META6) and you may want\nto consider changing that instead.\n\n## Licence\n\nThis is free software.\n\nPlease see the [LICENCE](LICENCE) for the details.\n\n© Jonathan Stowe 2015 - 2021\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanstowe%2Ftest-meta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathanstowe%2Ftest-meta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanstowe%2Ftest-meta/lists"}