{"id":16998679,"url":"https://github.com/joht/alias","last_synced_at":"2025-08-21T15:34:16.901Z","repository":{"id":34593623,"uuid":"179568092","full_name":"JohT/alias","owner":"JohT","description":"alias names for java types","archived":false,"fork":false,"pushed_at":"2025-08-16T12:26:44.000Z","size":1158,"stargazers_count":10,"open_issues_count":3,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-16T14:37:44.911Z","etag":null,"topics":["alias","aliases","annotation-processor","discoverability","eventsourcing","json","serializer","upcasting"],"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/JohT.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-04-04T19:58:45.000Z","updated_at":"2025-08-16T12:26:48.000Z","dependencies_parsed_at":"2023-09-24T22:18:41.049Z","dependency_job_id":"706719ce-00e2-4442-a366-0b2e8881b346","html_url":"https://github.com/JohT/alias","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/JohT/alias","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohT%2Falias","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohT%2Falias/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohT%2Falias/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohT%2Falias/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JohT","download_url":"https://codeload.github.com/JohT/alias/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohT%2Falias/sbom","scorecard":{"id":73470,"data":{"date":"2025-08-11","repo":{"name":"github.com/JohT/alias","commit":"c98327f65325d7acb1cc6a23ad584ee631a5e79a"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/15 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/JohT/alias/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/JohT/alias/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/JohT/alias/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:91: update your workflow using https://app.stepsecurity.io/secureworkflow/JohT/alias/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous-integration.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/JohT/alias/continuous-integration.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous-integration.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/JohT/alias/continuous-integration.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous-integration.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/JohT/alias/continuous-integration.yml/master?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:49","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:48","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/continuous-integration.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.1.2 not signed: https://api.github.com/repos/JohT/alias/releases/52051846","Warn: release artifact v1.1.2 does not have provenance: https://api.github.com/repos/JohT/alias/releases/52051846"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":7,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 0 commits out of 19 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-15T04:20:19.444Z","repository_id":34593623,"created_at":"2025-08-15T04:20:19.444Z","updated_at":"2025-08-15T04:20:19.444Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271500414,"owners_count":24770385,"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","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"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":["alias","aliases","annotation-processor","discoverability","eventsourcing","json","serializer","upcasting"],"created_at":"2024-10-14T04:05:52.607Z","updated_at":"2025-08-21T15:34:16.846Z","avatar_url":"https://github.com/JohT.png","language":"Java","readme":"[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Maven Central](https://img.shields.io/maven-central/v/io.github.joht.alias/type-alias.svg?style=shield)](https://maven-badges.herokuapp.com/maven-central/io.github.joht.alias/type-alias/)\n# alias\n\nJava identifies types by their class name. \nThe class name heavily depends on implementation details (e.g. where the class is located).\nFinding the right name and right place may change during development.\nAs soon as the class name is used to identify e.g. an deserialized object before reconstructing it,\na changed class name leads to a runtime exception. \n\n**type-alias** enables naming those types distinctly besides their class name. \nThis is done at compile time (no runtime dependencies) by using the annotation `@TypeAlias`.\nThe result is a generated file (e.g. ResourceBundle or Properties),\nthat contains a register of all aliases and their current type name.\n\n**type-alias** only depends on Java itself and is not needed during runtime.\nThe annotations are not present in byte code (not accessible via reflection),\nThe generated alias name register is a standard Java file (ResourceBundle or Property-File).\n\n### Quickstart\nInclude the following compile-time-only dependency.\nIt provides the annotations `@TypeAlias`, `@TypeAliases` to attach alias names,\n`@TypeAliasGeneratedFile` for customization and the java annotation processing based file generator,\nthat generates (by default) the ResourceBundle `TypeAlias.java` inside the default package containing all aliases.\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003eio.github.joht.alias\u003c/groupId\u003e\n  \u003cartifactId\u003etype-alias\u003c/artifactId\u003e\n  \u003cversion\u003e2.0.0\u003c/version\u003e\n  \u003cscope\u003eprovided\u003c/scope\u003e\n  \u003coptional\u003etrue\u003c/optional\u003e\n\u003c/dependency\u003e\n```\n\n### Building this project\nInstall maven and use `mvn install` to build this project, run all tests including the integration tests and copy the resulting artifacts into the local maven repository. A list of the most important commands can be found in [COMMANDS.md](COMMANDS.md).\n\n### Changes\nAll changes are listed in [CHANGELOG.md](./CHANGELOG.md). The file is generated automatically during \"generate-resources\" build phase based on merged pull requests and their tags.\n\n#### Breaking changes in Version 2.x\n\n- `type-alias-jsonb-typereference` had been migrated to Java 11\n- `type-alias-example` had been migrated to Java 11\n- `type-alias-axon-serializer-integration-test` will no longer be published to maven central\n\n### Contents\n- [type-alias](https://github.com/JohT/alias/tree/master/type-alias) \ncontains the main module with the java annotation processing based file generator.\n- [type-alias-example](https://github.com/JohT/alias/tree/master/type-alias-example) \nshows, how to use and customize \"type-alias\" code generation.\n- [type-alias-axon-serializer](https://github.com/JohT/alias/tree/master/type-alias-axon-serializer)\nshows, how to enhance axon serializer to use aliases.\n- [type-alias-axon-serializer-integration-test](https://github.com/JohT/alias/tree/master/type-alias-axon-serializer-integration-test)\nshows, how to configure axon serializer to use aliases.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoht%2Falias","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoht%2Falias","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoht%2Falias/lists"}