{"id":18264301,"url":"https://github.com/pigmice2733/robolib","last_synced_at":"2025-04-04T20:31:32.960Z","repository":{"id":44285064,"uuid":"188721788","full_name":"Pigmice2733/robolib","owner":"Pigmice2733","description":"FRC robotics library designed to be reused year to year","archived":false,"fork":false,"pushed_at":"2024-10-24T23:41:45.000Z","size":354,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-20T19:07:42.028Z","etag":null,"topics":["frc","frc-java","java","robotics"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pigmice2733.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-26T19:11:02.000Z","updated_at":"2024-10-24T23:41:48.000Z","dependencies_parsed_at":"2024-01-06T22:28:26.669Z","dependency_job_id":"10069e51-517f-4194-975d-571121f461c0","html_url":"https://github.com/Pigmice2733/robolib","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pigmice2733%2Frobolib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pigmice2733%2Frobolib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pigmice2733%2Frobolib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pigmice2733%2Frobolib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pigmice2733","download_url":"https://codeload.github.com/Pigmice2733/robolib/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247246441,"owners_count":20907801,"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":["frc","frc-java","java","robotics"],"created_at":"2024-11-05T11:14:18.810Z","updated_at":"2025-04-04T20:31:32.191Z","avatar_url":"https://github.com/Pigmice2733.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RoboLib\n\nRoboLib is reusuable robotics software developed by the Pigmice. It is a Java software library for use with the FRC WPILib platform.\n\nIt is intended to be included as a Git submodule and Gradle subproject within a specific robotics project. RoboLib includes a PIDF package, a motion control package, a driver controls package, and many helpful utilities.\n\n## Integration with a project\n\n### Prerequisites\n\nYou will need to have Gradle and Git installed. If you do not, instructions can easily be found online.\n\n### Git integration\n\nIf you want to be able to continue pulling new updates to RoboLib, or contribute changes back upstream, you will need to add RoboLib as a Git submodule within your project. This also means that you will need to have your project configured as a Git repository. These instructions assume you are familiar with Git and with a terminal - if not, you may want to look at non-Git integration.\n\nTo add RoboLib as a Git submodule, run `git submodule add https://github.com/Pigmice2733/robolib.git` within your project. You should see two new staged changes: a file called `.gitmodules` (only if you didn't already have Git submodules added), add `robolib`. Committing these changes will add the submodule and lock RoboLib to the specific version it is at now. If you use git within the `robolib` folder, you are executing Git commands for the RoboLib Git repository, not your project's. If you make changes to RoboLib, or `git pull` new changes within the robolib folder, you should commit those changes to your project to ensure that RoboLib stays locked to the version you are expecting.\n\nFrom now on, when you clone your project you will need to use `git clone \u003cproject-url\u003e --recurse-submodules` rather than just `git clone \u003cproject-url\u003e`, and similarly add `--recurse-submodules` when doing `git pull` to fetch changes from RoboLib.\n\n### Non-Git integration\n\nIf working with Git submodules seems like a headache you don't want to deal with, you can also simply download a ZIP file of RoboLib from GitHub, and place those files with a `robolib` subfolder with your project.\n\n### Gradle\n\nRoboLib uses Gradle to build dependencies and run tests. If you want to use Gradle for your project, and include RoboLib as a subproject, you will need to have the following in your `settings.gradle`:\n\n```\nrootProject.name = '\u003cyour project name\u003e'\ninclude 'robolib'\n```\n\nYou will also need to add the following to the top of the dependencies section of your `build.gradle`:\n\n```\n    wpi.deps.vendor.loadFrom(project(':robolib'))\n\n    compile project(\"robolib\")\n```\n\nYou will need to run `./gradlew build` from within the robolib folder before building your project the first time, or after a `./gradlew clean` or similar. If the build ever seems broken in a way related to RoboLib, try running `./gradlew clean` for your project, then building RoboLib from within the robolib folder, then finally building your project.\n\nFor a full example of using RoboLib as a subproject, see [our 2022 FRC competition code](https://github.com/Pigmice2733/frc-2022).\n\n## Contributing\n\nTo contribute, simply clone RoboLib like any other Git repo. Then make your changes, add tests if appropriate, make sure all tests still run, and open a PR.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpigmice2733%2Frobolib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpigmice2733%2Frobolib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpigmice2733%2Frobolib/lists"}