mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 03:38:23 +00:00
Tooling integration
* add .markdownlint-cli2.jsonc, .ansible-lint, .ansible-lint-ignore
configs (permissive day-1: cosmetic rules disabled, semantic ones on)
* extend scripts/install/lint.sh with generic install_pip_pkg helper +
ensure_ansible_lint / ensure_galaxy_importer / ensure_markdownlint_cli2
ensure_* functions (pip / npm with sudo / --user / --break-system-packages
fallbacks). install_ansible_tools now also pulls ansible-lint and
galaxy-importer; new `markdown` install group.
* extend scripts/lint/ansible.sh to run ansible-lint after the existing
syntax-check.
* add scripts/lint/markdown.sh and scripts/lint/galaxy.sh runners. The
galaxy runner parallelizes via xargs (-P=$(nproc)), prints OK/FAIL per
role, and treats `bare-name dependency` errors as success since our
roles/ tree is not a Galaxy collection layout. All other Galaxy schema
errors still fail.
* Makefile: new lint-markdown and lint-galaxy targets, both wired into
`make lint`.
* CI: new workflows lint-markdown.yml and lint-galaxy.yml; lint-ansible.yml
now installs ansible-core + ansible-lint; ci-orchestrator wires both
new lint workflows into lint-gate.
Galaxy schema fixes
* shorten the canonical `galaxy_info.company` block from three lines to
two ("Kevin Veen-Birkenbach\nhttps://www.veen.world", 45 chars) so it
stays under Galaxy's hard 50-char limit. Updated everywhere: 229 role
meta/main.yml plus _CANONICAL_COMPANY in
tests/lint/repository/test_role_meta_main_galaxy_schema.py.
* shorten 19 over-long role descriptions to <=255 chars.
* add stub READMEs for sys-svc-compose-ca and sys-utils-service-loader.
Markdown baseline fixes
* markdownlint-cli2 --fix run repo-wide (formatting normalization
across CHANGELOG, role READMEs, docs).
* manual MD041 fixes: prepend H1 in 15 files (CHANGELOG, LICENSE,
TODO.md helpers, role README templates, etc.).
* MD025 / MD003 / MD001 / MD032 manual fixes for heading-style and
list-spacing edge cases.
* role README content polish: "## Single Point of Truth (SPOT)" headings
renamed to "## User data resolution" (D3 self-label rule).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
52 lines
2.3 KiB
Markdown
52 lines
2.3 KiB
Markdown
# Java
|
|
|
|
## Description
|
|
|
|
Installs OpenJDK 11 (`jdk11-openjdk`) on Pacman-based systems to provide a Java runtime and development environment.
|
|
|
|
## Overview
|
|
|
|
This README file is for the Java role, which is part of the `infinito`. The role is specifically designed to automate the installation of Java on a system, focusing on the OpenJDK 11 version.
|
|
|
|
## Features
|
|
|
|
- **Automated provisioning:** Configured by Ansible without manual steps.
|
|
|
|
## Contents of the role
|
|
|
|
The `main.yml` file within the `java` role consists of a single, but crucial task:
|
|
|
|
1. **Install Java**: This task uses the `community.general.pacman` module to install the `jdk11-openjdk` package. It ensures that Java Development Kit 11 (OpenJDK 11) is present on the system.
|
|
|
|
## Purpose
|
|
|
|
The primary objective of this role is to provide a straightforward and efficient method for setting up Java, specifically JDK 11, on personal computers or development environments. This setup is essential for developers who work with Java or run applications that require the Java runtime environment.
|
|
|
|
## Prerequisites
|
|
|
|
- **Ansible**: You need to have Ansible installed on your system to use this role.
|
|
- **Arch Linux-based System**: The role uses the `pacman` package manager, indicating that it is intended for use on systems based on Arch Linux or its derivatives.
|
|
|
|
## Running the role
|
|
|
|
To run this role:
|
|
|
|
1. Clone the `computer-role` repository to your system.
|
|
2. Navigate to the `roles/java` directory within the repository.
|
|
3. Execute the role using Ansible. Make sure you have the necessary permissions to install packages on your system.
|
|
|
|
## Customization
|
|
|
|
This role is focused on installing JDK 11, but it can be easily modified to install different versions of the JDK or additional Java-related tools as per your requirements.
|
|
|
|
## Support and Contribution
|
|
|
|
For support, feedback, or contributions to the role, please open an issue or submit a pull request in the `infinito` repository. Contributions that enhance the role or broaden its applicability are greatly appreciated.
|
|
|
|
## Credits
|
|
|
|
Developed and maintained by **Kevin Veen-Birkenbach**.
|
|
Learn more at [veen.world](https://www.veen.world).
|
|
Part of the [Infinito.Nexus Project](https://s.infinito.nexus/code).
|
|
Licensed under the [Infinito.Nexus Community License (Non-Commercial)](https://s.infinito.nexus/license).
|