{"id":18430649,"url":"https://github.com/trivago/triava","last_synced_at":"2025-04-07T17:33:45.742Z","repository":{"id":57729161,"uuid":"44243110","full_name":"trivago/triava","owner":"trivago","description":"The triava project contains several of trivago's core libraries for Java-based projects: caching, collections, annotations, concurrency libraries and more.","archived":false,"fork":false,"pushed_at":"2020-10-13T01:26:33.000Z","size":783,"stargazers_count":76,"open_issues_count":5,"forks_count":10,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-22T22:23:38.939Z","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/trivago.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","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":"2015-10-14T11:23:51.000Z","updated_at":"2025-01-09T08:47:25.000Z","dependencies_parsed_at":"2022-09-10T21:50:12.737Z","dependency_job_id":null,"html_url":"https://github.com/trivago/triava","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trivago%2Ftriava","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trivago%2Ftriava/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trivago%2Ftriava/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trivago%2Ftriava/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trivago","download_url":"https://codeload.github.com/trivago/triava/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247698166,"owners_count":20981312,"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-11-06T05:21:49.874Z","updated_at":"2025-04-07T17:33:45.370Z","avatar_url":"https://github.com/trivago.png","language":"Java","funding_links":[],"categories":["工具库"],"sub_categories":[],"readme":"# triava\n\nThe triava project contains several of trivago's core libraries for Java-based projects: caching, collections, annotations, concurrency libraries and more.\n\nTriavaCache (short: tcache) is fully JCache / JSR107 (Java Caching) compliant. More information on tcache:\n- JSR107 compliance: See [TCK information](./tck/README.md) and https://jcp.org/aboutJava/communityprocess/implementations/jsr107/index.html\n- Blog post: https://tech.trivago.com/2015/10/15/tcache/\n- Talk on FROsCon : https://programm.froscon.de/2016/events/1803.html\n\n## License\nLicensed under the Apache License, Version 2.0\n\n## Usage:\nTo start, look at the [examples folder](./src/examples/java/com/trivago/examples). Further interesting examples are in the [tcache unit test folder](src/test/java/com/trivago/triava/tcache/) and [util unit test folder](src/test/java/com/trivago/triava/util/).  \n\n### Usage in Maven: pom.xml\ntriava is available from [Maven Central](http://search.maven.org/#search|ga|1|a%3A%22triava%22)\n\n```\n  \u003cdependencies\u003e\n    \u003cdependency\u003e\n      \u003cgroupId\u003ecom.trivago\u003c/groupId\u003e\n      \u003cartifactId\u003etriava\u003c/artifactId\u003e\n      \u003cversion\u003e2.0.1\u003c/version\u003e\n    \u003c/dependency\u003e\n  \u003c/dependencies\u003e\n```\n\n\n### Usage in Gradle: build.gradle\n```\ndependencies {\n\tcompile 'com.trivago:triava:2.0.1'\n}\n```\n\n## Changes ##\nSee [Changelog](CHANGES.md)\n\n\n\n## Building:\ntriava requires Java 8 and depends on the JSR107 API javax.cache:cache-api:1.0.0. Dependencies are resolved by Maven. The following will build everything, including Javadoc and a source jar:\n\n`mvn package`\n\nThis will create three artifacts in the target/ folder:\n\n- triava-[version].jar\n- triava-[version]-sources.jar\n- triava-[version]-javadoc.jar\n\nMaintainers can upload new versions to Maven Central Staging:\n\nBefore uploading a new version, you should:\n - Fix all Javadocs warnings\n - Run long tests from package com.trivago.triava.tcache.integration manually\n - Run FindBugs and fix all bugs\n - Check for missing licensing header\n ```\n find . -name '*.java' ! -path './src/test/java/com/trivago/triava/tcache/tmp/*' -print0 | xargs -0 grep -L \"Licensed under the Apache License, Version 2.0\"\n ```\n - Release notes and versioning\n     - Update [Changelog](CHANGES.md)\n     - Update pom.xml with version number\n     - Update this README: Update all version numbers\n     - Commit changes\n - Upload to Maven Central (check with maintainers on details, e.g. in the triava Knowledge page)\n - Tag the release, if the release is good\n```\nmvn clean deploy -P release\nversion=2.0.1; git tag -a v$version -m \"v$version\"\ngit push --tags\n```\n\n## Examples\nHave a look at the [examples folder](./src/examples/java/com/trivago/examples).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrivago%2Ftriava","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrivago%2Ftriava","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrivago%2Ftriava/lists"}