{"id":24766943,"url":"https://github.com/jonathanmerritt/androidscabbard","last_synced_at":"2026-04-29T09:31:22.682Z","repository":{"id":57720583,"uuid":"120130047","full_name":"JonathanMerritt/AndroidScabbard","owner":"JonathanMerritt","description":"A set of base dagger classes for common android components.","archived":false,"fork":false,"pushed_at":"2018-03-28T07:18:18.000Z","size":290,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T18:13:51.876Z","etag":null,"topics":["android","android-library","dagger","dagger-android","dagger-android-support","dagger2","dagger2-android","dagger2-android-support"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JonathanMerritt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-03T21:11:35.000Z","updated_at":"2025-01-11T12:16:15.000Z","dependencies_parsed_at":"2022-09-26T21:41:00.795Z","dependency_job_id":null,"html_url":"https://github.com/JonathanMerritt/AndroidScabbard","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanMerritt%2FAndroidScabbard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanMerritt%2FAndroidScabbard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanMerritt%2FAndroidScabbard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanMerritt%2FAndroidScabbard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JonathanMerritt","download_url":"https://codeload.github.com/JonathanMerritt/AndroidScabbard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245144973,"owners_count":20568056,"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":["android","android-library","dagger","dagger-android","dagger-android-support","dagger2","dagger2-android","dagger2-android-support"],"created_at":"2025-01-29T00:33:42.544Z","updated_at":"2026-04-29T09:31:22.590Z","avatar_url":"https://github.com/JonathanMerritt.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://raw.githubusercontent.com/JonathanMerritt/AndroidScabbard/master/app/src/main/ic_launcher-web.png\" width=\"156\" align=\"left\"/\u003e\n\n# Android Scabbard\n[![BINTRAY][BINTRAY-SVG]][BINTRAY]\n[![MAVEN-CENTRAL][MAVEN-CENTRAL-SVG]][MAVEN-CENTRAL]\n[![TRAVIS-CI][TRAVIS-CI-SVG]][TRAVIS-CI]\n\n\n**A set of base dagger classes for common android components.**\n\n#\nThe main reason for creating the library, was to avoid having to copy over the same base dagger classes for\nevery new project.\n\nI intended for it to be just the `annotations` library, which contains `@Scope`'s and `@Qualifier`'s, however\nI decided to add the `core` library, which contains `@Module`'s. \n\nEach one has a `-support` library equivalent, to 'somewhat' match daggers' structure.\n\n_Any help or contribution is welcome._\n\n## Download\n#### Gradle\n```groovy\n  repositories {\n    jcenter()\n    //OR\n    mavenCentral()\n  }\n \n  dependencies {\n    implementation \"com.github.jonathanmerritt.androidscabbard:annotations OR* core:x.y.z\"    \n    //AND OR**\n    implementation \"com.github.jonathanmerritt.androidscabbard:annotations-support OR* core-support:x.y.z\"\n  }\n```\n\n#### Maven\n```xml\n\u003cdependencies\u003e\n \u003cdependency\u003e\n   \u003cgroupId\u003ecom.github.jonathanmerritt.androidscabbard\u003c/groupId\u003e\n   \u003cartifactId\u003eannotations OR* core\u003c/artifactId\u003e\n   \u003c!--AND OR**--\u003e\n   \u003cartifactId\u003eannotations-support OR* core-support\u003c/artifactId\u003e\n   \u003cversion\u003ex.y.z\u003c/version\u003e\n   \u003ctype\u003epom\u003c/type\u003e\n \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\n*`core` libraries will include their equivalent `annotations` library automatically.\n\n**`-support` variants will NOT include their equivalents.\n\n\n## Usage\nThis small example simply `Provides` an `ActivityScoped ActivityQualified String`.\n\n_Check the sample apps for more detailed examples._\n \n#### Annotations\n```java\n  @Module public interface SomeActivityModule {\n    @ActivityScoped @ActivityQualified @Provides static String provideActivityTag(SomeActivity someActivity) {\n      return activity.getClass().getSimpleName();\n    }\n  }\n```\n\n#### Core\n```java\n  @Module(includes = HasActivityModule.class) public interface SomeActivityModule extends IsActivityModule\u003cSomeActivity\u003e {\n      @ActivityScoped @ActivityQualified @Provides static String provideActivityTag(@ActivityQualified Class\u003c?\u003e activityClass) {\n        return activityClass.getSimpleName();\n      }\n  }\n```\n\n## TODO\n- Improve sample apps.\n- Add overview of classes to README.\n- Quadruple check stuff.\n- Bump to 1.0.0.\n- ...\n\n## License\n[Apache-2.0][LICENSE]\n\n    Copyright 2018 Jonathan Merritt 11R00TT00R11@GMAIL.COM\n    \n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n[BINTRAY-SVG]:https://img.shields.io/bintray/v/jonathanmerritt/AndroidScabbard/annotations.svg?style=flat-square\u0026colorB=067EC4\u0026label=Bintray\n[BINTRAY]:https://bintray.com/jonathanmerritt/AndroidScabbard/annotations/_latestVersion\n[MAVEN-CENTRAL-SVG]: https://img.shields.io/maven-central/v/com.github.jonathanmerritt.androidscabbard/annotations.svg?style=flat-square\u0026colorB=067EC4\u0026label=MavenCentral\n[MAVEN-CENTRAL]: http://repo1.maven.org/maven2/com/github/jonathanmerritt/androidscabbard/annotations\n[TRAVIS-CI-SVG]: https://img.shields.io/travis/JonathanMerritt/AndroidScabbard.svg?style=flat-square\u0026colorB=067EC4\u0026label=TravisCI\n[TRAVIS-CI]: https://travis-ci.org/JonathanMerritt/AndroidScabbard\n\n[RELEASES]: https://github.com/JonathanMerritt/AndroidScabbard/releases\n[LICENSE]: https://github.com/JonathanMerritt/AndroidScabbard/blob/master/LICENSE.txt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanmerritt%2Fandroidscabbard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathanmerritt%2Fandroidscabbard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanmerritt%2Fandroidscabbard/lists"}