{"id":20791543,"url":"https://github.com/bspfsystems/yamlconfiguration","last_synced_at":"2025-06-21T10:06:08.713Z","repository":{"id":45145387,"uuid":"264763949","full_name":"bspfsystems/YamlConfiguration","owner":"bspfsystems","description":"Implementation of SnakeYAML to be easy to use with files.","archived":false,"fork":false,"pushed_at":"2025-04-24T16:33:08.000Z","size":212,"stargazers_count":33,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-21T10:05:41.441Z","etag":null,"topics":["java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bspfsystems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2020-05-17T21:54:33.000Z","updated_at":"2025-04-24T16:30:36.000Z","dependencies_parsed_at":"2023-01-31T09:25:13.255Z","dependency_job_id":"c950de27-beb0-4a23-924d-4c1d60338f4c","html_url":"https://github.com/bspfsystems/YamlConfiguration","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/bspfsystems/YamlConfiguration","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bspfsystems%2FYamlConfiguration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bspfsystems%2FYamlConfiguration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bspfsystems%2FYamlConfiguration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bspfsystems%2FYamlConfiguration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bspfsystems","download_url":"https://codeload.github.com/bspfsystems/YamlConfiguration/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bspfsystems%2FYamlConfiguration/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261103434,"owners_count":23109930,"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":["java"],"created_at":"2024-11-17T15:45:28.854Z","updated_at":"2025-06-21T10:06:03.694Z","avatar_url":"https://github.com/bspfsystems.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YamlConfiguration\n\nYamlConfiguration is a library for creating and editing YAML files for configurations to be used in Java programs. In addition, it also provides the ability to use in-memory-only Configurations for internal functions, as needed.\n\nIt is based off of [SpigotMC's Bukkit](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/browse/src/main/java/org/bukkit/configuration) configuration sub-project, which stems from the original [Bukkit Project](https://github.com/Bukkit/Bukkit/tree/master/src/main/java/org/bukkit/configuration/).\n\n## Obtaining YamlConfiguration\n\nYou can obtain a copy of YamlConfiguration via the following methods:\n- Download a pre-built copy from the [Releases page](https://github.com/bspfsystems/YamlConfiguration/releases/latest/). The latest version is release 3.0.2.\n- Build from source (see below).\n- Include it as a dependency in your project (see the Development API section).\n- \n### Build from Source\n\nYamlConfiguration uses [Apache Maven](https://maven.apache.org/) to build and handle dependencies.\n\n#### Requirements\n\n- Java Development Kit (JDK) 17 or higher\n- Git\n- Apache Maven\n\n#### Compile / Build\n\nRun the following commands to build the library `.jar` file:\n```\ngit clone https://github.com/bspfsystems/YamlConfiguration.git\ncd YamlConfiguration/\nmvn clean install\n```\n\nThe `.jar` file will be located in the `target/` folder.\n\n## Developer API\n\n### Add YamlConfiguration as a Dependency\n\nTo add YamlConfiguration as a dependency to your project, use one of the following common methods (you may use others that exist, these are the common ones):\n\n**Maven:**\u003cbr /\u003e\nInclude the following in your `pom.xml` file:\u003cbr /\u003e\n```\n\u003crepositories\u003e\n    \u003crepository\u003e\n        \u003cid\u003esonatype-repo\u003c/id\u003e\n        \u003curl\u003ehttps://oss.sonatype.org/content/repositories/releases/\u003c/url\u003e\n    \u003c/repository\u003e\n\u003c/repositories\u003e\n\n\u003cdependencies\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.bspfsystems\u003c/groupId\u003e\n        \u003cartifactId\u003eyamlconfiguration\u003c/artifactId\u003e\n        \u003cversion\u003e3.0.2\u003c/version\u003e\n        \u003cscope\u003ecompile\u003c/scope\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\n**Gradle:**\u003cbr /\u003e\nInclude the following in your `build.gradle` file:\u003cbr /\u003e\n```\nrepositories {\n    maven {\n        url \"https://oss.sonatype.org/content/repositories/releases/\"\n    }\n}\n\ndependencies {\n    implementation \"org.bspfsystems:yamlconfiguration:3.0.2\"\n}\n```\n\n### API Examples\n\nThese are some basic usages of YamlConfiguration; for a full scope of what the library offers, please see the Javadocs section below.\n```\n// Load a file into memory\nYamlConfiguration config = new YamlConfiguration();\ntry {\n    config.load(new File(\"config.yml\"));\n} catch (IOException | InvalidConfigurationException e) {\n    e.printStackTrace();\n}\n\n// Set a few values in the configuration\nconfig.set(\"random_int\", (new Random()).nextInt());\nconfig.set(\"uuid\", UUID.randomUUID().toString());\n\n// Read a value\nSystem.out.println(\"UUID: \" + config.getString(\"uuid\"));\n\n// Save to a file\ntry {\n    config.save(new File(\"newconfig.yml\"));\n} catch (IOException e) {\n    e.printStackTrace();\n}\n```\n\n### Javadocs\n\nThe API Javadocs can be found [here](https://bspfsystems.org/docs/yamlconfiguration/), kindly hosted by [javadoc.io](https://javadoc.io/).\n\n## Contributing, Support, and Issues\n\nPlease check out [CONTRIBUTING.md](CONTRIBUTING.md) for more information.\n\n## Licensing\n\nYamlConfiguration uses the following licenses:\n- [The GNU General Public License, Version 3](https://www.gnu.org/licences/gpl-3.0.en.html)\n\n### Contributions \u0026 Licensing\n\nContributions to the project will remain licensed under the respective license, as defined by the particular license. Copyright/ownership of the contributions shall be governed by the license. The use of an open source license in the hopes that contributions to the project will have better clarity on legal rights of those contributions.\n\n_Please Note: This is not legal advice. If you are unsure on what your rights are, please consult a lawyer._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbspfsystems%2Fyamlconfiguration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbspfsystems%2Fyamlconfiguration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbspfsystems%2Fyamlconfiguration/lists"}