Skip to content

jack-bradshaw/monorepo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monorepo

This repository is structured as a tree of packages. It contains all code and content personally authored by Jack Bradshaw from 2022 onwards, with contributions from third parties in some packages. The various interconnected tools and systems it provides are documented in the READMEs distributed throughout the repository.

Release

The repository itself is not released to third party package managers; however, various subpackages are available from an assortment of package managers, with release details provided in the READMEs distributed throughout the repository. Furthermore, the repository itself is unversioned, and individual packages are versioned independently.

Legal

The contents of the repository are provided under the terms of various licenses. The LICENSE files distributed throughout the repository apply recursively down the file tree, meaning each license file applies to the content of the containing directory and the contents of its subdirectories; however, only one license can apply to any given directory, and license files further down the directory tree override and anul license files further up. For example, given a LICENSE in /example/foo/LICENSE and a LICENSE in /example/foo/bar/LICENSE, all files in and under foo are subject to the foo license, except for the recursive contents of bar, which are subject to the bar LICENSE.

Contents

The contents of the repository are divided into first_party, which contains all materials originating from this repository, and third_party, which contains everything else. First party contains the following top-level packages:

  • autofactory: AutoFactory Bazel integration.
  • build_tests: Build system tests.
  • concurrency: Kotlin concurrency infrastructure.
  • coroutines: Kotlin coroutine infrastructure.
  • formatting: Automated formatting tools.
  • klu: General helpers and utilities for Kotlin.
  • kmonkey: Kotlin support for the JMonkey video game engine.
  • universal: Universal models that apply across all domains.
  • otter: An experimental and incomplete video game engine based on JMonkey.
  • presubmit: Continuous integration infrastructure.
  • rules_hugo: Build rules for Hugo.
  • sasync: Tools for working with Java STDIO in Kotlin.
  • tofu: Tools for working with open-tofu.
  • contributing: Contribution standards, practices, and guidelines.

Some files are contained in the root directory for integration with the build system and other tooling.

Build System

This repository uses Bazel to build and test all code. View the setup instructions to get started.

Continuous Integration

Submission to the main branch is guarded by the presubmit continuous integration system. It runs automatically on GitHub and must pass before submission can proceed. Furthermore, trunk-based development is exclusively used, meaning rebasing onto main is the only acceptable method of submission, and all releases occur from main. GitFlow and other branch-based models are not used.

External Dependencies

Package managers are used to access external packages (details in external dependencies).

Licensing Agreement

There is no CLA.

Contributions

The READMEs throughout the repository specify which packages accept third-party contributions. All contributions must conform to the repository wide contribution directives, and some packages provide package-scoped contribution directives.

About

One Repo to rule them all, One Repo to find them, One Repo to bring them all, and in the darkness bind them.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors