{"id":24288096,"url":"https://github.com/block/example-jvm-maven","last_synced_at":"2025-03-05T23:25:17.086Z","repository":{"id":257808169,"uuid":"863154192","full_name":"block/example-jvm-maven","owner":"block","description":"Example to bootstrap new Java Kotlin Maven Projects","archived":false,"fork":false,"pushed_at":"2025-02-21T18:08:34.000Z","size":89,"stargazers_count":1,"open_issues_count":13,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-02-21T19:24:48.893Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/block.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-25T20:05:47.000Z","updated_at":"2025-02-16T03:26:08.000Z","dependencies_parsed_at":"2024-10-03T06:55:23.532Z","dependency_job_id":"c5582656-95ce-49b8-9c9c-789394b9c561","html_url":"https://github.com/block/example-jvm-maven","commit_stats":null,"previous_names":["block-open-source/example-java-kotlin-maven-multimodule","block/example-java-kotlin-maven-multimodule","block/example-jvm-maven"],"tags_count":5,"template":true,"template_full_name":"block/oss-project-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block%2Fexample-jvm-maven","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block%2Fexample-jvm-maven/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block%2Fexample-jvm-maven/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block%2Fexample-jvm-maven/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/block","download_url":"https://codeload.github.com/block/example-jvm-maven/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242119895,"owners_count":20074796,"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":"2025-01-16T09:43:45.587Z","updated_at":"2025-03-05T23:25:17.050Z","avatar_url":"https://github.com/block.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JVM Maven Example\n\nThis project kickstarts your work in a new JVM/Maven project.\nIt should get you building as quickly as possible - with best practices\nand services baked in. It's designed for the Block Open Source Program, and may\nbe adapted for other contexts.\n\n## Features\n\n* Multimodule Maven project structure with 2 built-in modules: `api` and `impl`.\n* [Hermit](https://cashapp.github.io/hermit/) managed environment (Java, Maven)\n* GitHub Actions for Continuous Integration:\n  * Testing in both MacOS and Ubuntu environments\n  * Every commit to `main` published as `SNAPSHOT` in Block Artifactory\n  * Static Analysis ([CodeQL](https://codeql.github.com/))\n  * License scanning ([FOSSA](https://fossa.com/))\n  * Security Vulnerability detection for dependencies ([FOSSA](https://fossa.com/))\n  * Automatic dependency upgrades ([Renovate](https://github.com/renovatebot/renovate))\n  * Release and Publishing to [Maven Central](https://central.sonatype.com/)\n\n## Usage\n\nTo build a project using this template as a base:\n\n1. [Create a new repository](https://github.com/organizations/block/repositories/new).\n\n\u003cimg width=\"174\" alt=\"image\" src=\"https://github.com/user-attachments/assets/79660411-759b-4a64-9078-2b1740a9fc18\"\u003e\n\n2. Select\n`block/example-jvm-maven` as the `Repository template`.\n\n\u003cimg width=\"327\" alt=\"image\" src=\"https://github.com/user-attachments/assets/cc848e8a-1ec2-497c-878f-fc6af303a6f9\"\u003e\n\n## Preparing Your Project from This Template\n\nThere are a few steps you'll need to take from this\nquickstart template to get your project ready for action.\n\n### 🗺️ Change the Maven Coordinates\n\nThis example has `groupID` of `xyz.block` and `artifactId`s\nof `example-jvm-maven-*`. You'll need to update all `pom.xml` files:\n\n* `./pom.xml`\n* `./api/pom.xml`\n* `./impl/pom.xml`\n\n...to reflect your desired `artifactId`s. Note that changing the `groupId` may\nrender your project unable to publish into Maven Central; the account we use\nto publish is cleared for the `xyz.block` namespace.\nBlock employees may assistance by\n[opening an internal issue](https://github.com/squareup/ospo/issues/new/choose) with the\nOpen Source Program Office if they need to use\na different `groupId`.\n\n### 🔑 Get access to required GitHub Actions Secrets\n\nThe workflows on this project rely on GitHub Actions secrets,\nenvironment variables, to run the build. The Open Source Program Office\nteam will, for security purposes, make these secrets available to your\nproject. The variables in question are:\n\n* `SONATYPE_USERNAME` - A token tied to the Block OSS Sonatype account\n* `SONATYPE_PASSWORD` - Password for the above\n* `GPG_SECRET_KEY` - Key used for signing releases\n* `GPG_SECRET_PASSPHRASE` - Passphrase for above\n\nYour repo will also need access to the Artifactory repo for snapshot releases.\n\nBlock employees may request access to these by\n[opening an internal issue](https://github.com/squareup/ospo/issues/new/choose) with the\nOpen Source Program Office.\n\n### 🚀 Get Building\n\nGo get 'em. 🤘🏻🤘🏼🤘🏽🤘🏾🤘🏿\n\nInstructions are in [`CONTRIBUTING.md`](./CONTRIBUTING.md).\n\n---\n\n# README Template\n\nThis is the part you adapt for your project's audience.\n\nThis stub is meant to help you form a strong community around your work. It's yours to adapt, and may\ndiverge from this initial structure. Just keep the files seeded in this repo, and the rest is yours to evolve!\n\n## Introduction\n\nOrient users to the project here. This is a good place to start with an assumption\nthat the user knows very little - so start with the Big Picture and show how this\nproject fits into it.\n\nThen maybe a dive into what this project does.\n\nDiagrams and other visuals are helpful here. Perhaps code snippets showing usage.\n\nProject leads should complete, alongside this `README`:\n\n* [CODEOWNERS](./CODEOWNERS) - set project lead(s)\n* [CONTRIBUTING.md](./CONTRIBUTING.md) - Fill out how to: install prereqs, build, test, run, access CI, chat, discuss, file issues\n* [Bug-report.md](.github/ISSUE_TEMPLATE/bug-report.md) - Fill out `Assignees` add codeowners @names\n* [config.yml](.github/ISSUE_TEMPLATE/config.yml) - remove \"(/add your discord channel..)\" and replace the url with your Discord channel if applicable\n\nThe other files in this template repo may be used as-is:\n\n* [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)\n* [GOVERNANCE.md](./GOVERNANCE.md)\n* [LICENSE](./LICENSE)\n\n## Project Resources\n\n| Resource                                   | Description                                                                    |\n| ------------------------------------------ | ------------------------------------------------------------------------------ |\n| [CODEOWNERS](./CODEOWNERS)                 | Outlines the project lead(s)                                                   |\n| [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md) | Expected behavior for project contributors, promoting a welcoming environment |\n| [CONTRIBUTING.md](./CONTRIBUTING.md)       | Developer guide to build, test, run, access CI, chat, discuss, file issues     |\n| [GOVERNANCE.md](./GOVERNANCE.md)           | Project governance                                                             |\n| [LICENSE](./LICENSE)                       | Apache License, Version 2.0                                                    |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblock%2Fexample-jvm-maven","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblock%2Fexample-jvm-maven","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblock%2Fexample-jvm-maven/lists"}