{"id":16853761,"url":"https://github.com/sbrannen/spring-polyglot","last_synced_at":"2025-06-21T01:34:39.071Z","repository":{"id":43365011,"uuid":"53493736","full_name":"sbrannen/spring-polyglot","owner":"sbrannen","description":"Spring Polyglot","archived":false,"fork":false,"pushed_at":"2022-03-05T14:36:32.000Z","size":106,"stargazers_count":18,"open_issues_count":1,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-11T07:30:56.146Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/sbrannen.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}},"created_at":"2016-03-09T11:51:24.000Z","updated_at":"2024-04-17T07:34:36.000Z","dependencies_parsed_at":"2022-09-09T04:31:45.312Z","dependency_job_id":null,"html_url":"https://github.com/sbrannen/spring-polyglot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sbrannen/spring-polyglot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbrannen%2Fspring-polyglot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbrannen%2Fspring-polyglot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbrannen%2Fspring-polyglot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbrannen%2Fspring-polyglot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbrannen","download_url":"https://codeload.github.com/sbrannen/spring-polyglot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbrannen%2Fspring-polyglot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261046763,"owners_count":23102328,"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-13T13:53:06.306Z","updated_at":"2025-06-21T01:34:34.060Z","avatar_url":"https://github.com/sbrannen.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Welcome to _Spring Polyglot_!\n\nThis repository is a collection of \"just for fun\" _composed annotations_\nfor use with the [Spring Framework][].\n\nThe goal of this project is to demonstrate the power of _composed annotations_\nand the use of `@AliasFor` for overriding attributes in meta-annotations by\n_translating_ common Spring annotations into different languages. In this\ncontext, the term _polyglot_ therefore refers to spoken languages, not\nprogramming languages.\n\nAnd who knows...? Perhaps some of these translated annotations will someday\nmake it into the Spring Framework.\n\n----\n\n# Languages Represented\n\nThe following languages currently have one or more translated annotations\nthat have been submitted to this project.\n\n- German: see [DeutscheIntegrationsTests][]\n- Hipster: see [HipsterTests][]\n- Japanese: see [JapaneseIntegrationTests][] and [SushiTests][]\n- Polish: see [PolskieTestyIntegracijne][]\n\n----\n\n# Examples\n\n## German\n\nFor example, the following is what an integration test in Spring can look\nlike when `@ContextConfiguration` is translated into German. Yes, this\ntest actually runs: see [DeutscheIntegrationsTests][] for details.\n\n```java\n@Kontextkonfiguration(\n\tKonfigurationsklassen = { LokaleTestkonfiguration.class },\n\tXmlDateienOderGroovySkripte = { /* keine */ },\n\tRessourcenErben = falsch,\n\tInitialisierungsprogramme = { /* keine */ },\n\tInitialisierungsprogrammeErben = falsch,\n\tLadeprogramm = AnnotationConfigContextLoader.class,\n\tName = \"In diesem Fall spielt der Name keine Rolle.\"\n)\npublic final class DeutscheIntegrationsTests {\n\n\t@AutomatischVerdrahtet(erforderlich = jawohl)\n\tprivate String Nachricht;\n\n\t@Test\n\tpublic void nachrichtPrüfen() {\n\t\tesWirdErwartetDass(Nachricht, istGleich(\"Alles in Ordnung\"));\n\t}\n\n\t@Konfiguration\n\tstatic class LokaleTestkonfiguration {\n\n\t\t@Bohne\n\t\tString Nachricht() {\n\t\t\treturn \"Alles in Ordnung\";\n\t\t}\n\t}\n\n}\n```\n\n## Hipster\n\nYes, this test actually runs: see [HipsterTests][] for details.\n\n```java\n@RunWith(SpringFoo.class)\n@Konfigz(klassez = Konfig.class, listenToYoParents = false, whoDat = \"Not I said the fly\")\npublic class HipsterTests {\n\n\t@Autowired\n\tString message;\n\n\t@Test\n\tpublic void checkItOut() {\n\t\tassertEquals(\"Keepin' it real!\", message);\n\t}\n\n}\n```\n\n----\n\n# Contributing\n\nFeel free to contribute your own translated annotations by submitting\n[pull requests][] to this repository.\n\n## Contributor License Agreement\n\nAlthough the `spring-polyglot` project is currently just for demonstration purposes,\nthere is a slight chance that annotations from this project will eventually be\nincorporated into official Spring projects. In order to have your pull requests\naccepted, we therefore ask that you sign the [Contributor License Agreement][] and\ndocument that you have done so in the commit message or comments of your pull request.\n\n## License\nThe Spring Polyglot project is released under version 2.0 of the [Apache License][].\n\n# See Also\n\n- [Spring Annotation Programming Model][]: official wiki page from the Spring team\n- [Spring Composed][]: a collection of \"serious\" _composed annotations_\nfor use with the [Spring Framework][]\n\n----\n\n# Building from Source\n\nSpring Polyglot uses a [Gradle][]-based build system. In the instructions\nbelow, `./gradlew` is invoked from the root of the project and serves as\na cross-platform, self-contained bootstrap mechanism for the build.\n\n## Prerequisites\n\n- [Git][]\n- [JDK 8][JDK8] update 60 or later\n- [Spring Framework][] 4.2.1 or later\n\nAnnotations in the `spring-polyglot` project rely on `@AliasFor` which\nwas introduced in Spring Framework 4.2 and therefore require at least Spring\nFramework 4.2.1 to work properly. \n\nBe sure that your `JAVA_HOME` environment variable points to the `jdk1.8.0` folder\nextracted from the JDK download.\n\n## Compile and Test\n\nBuild all JARs, distribution ZIP files, and docs:\n\n`./gradlew build`\n\n## Install `spring-polyglot` in local Maven repository\n\n`./gradlew install`\n\n----\n\n[Apache License]: http://www.apache.org/licenses/LICENSE-2.0\n[Gradle]: http://gradle.org\n[Git]: http://help.github.com/set-up-git-redirect\n[JDK8]: http://www.oracle.com/technetwork/java/javase/downloads\n[Spring Framework]: http://projects.spring.io/spring-framework/\n[Spring Annotation Programming Model]: https://github.com/spring-projects/spring-framework/wiki/Spring-Annotation-Programming-Model\n[Spring Composed]: https://github.com/sbrannen/spring-composed\n[pull requests]: http://help.github.com/send-pull-requests\n[Contributor License Agreement]: https://github.com/spring-projects/spring-framework/blob/master/CONTRIBUTING.md#sign-the-contributor-license-agreement\n\n[HipsterTests]: https://github.com/sbrannen/spring-polyglot/blob/master/src/test/java/org/springframework/polyglot/hipster/HipsterTests.java\n[DeutscheIntegrationsTests]: https://github.com/sbrannen/spring-polyglot/blob/master/src/test/java/org/springframework/polyglot/de/DeutscheIntegrationsTests.java\n[JapaneseIntegrationTests]: https://github.com/sbrannen/spring-polyglot/blob/master/src/test/java/org/springframework/polyglot/ja/JapaneseIntegrationTests.java\n[SushiTests]: https://github.com/sbrannen/spring-polyglot/blob/master/src/test/java/org/springframework/polyglot/ja/SushiTests.java\n[PolskieTestyIntegracijne]: https://github.com/sbrannen/spring-polyglot/blob/master/src/test/java/org/springframework/polyglot/pl/PolskieTestyIntegracijne.java\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbrannen%2Fspring-polyglot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsbrannen%2Fspring-polyglot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbrannen%2Fspring-polyglot/lists"}