# https://help.github.com/articles/about-codeowners/

# These owners are the default owners for all Unikraft core files.
*			@unikraft/maintainers-core

# These owners oversee the core parts of Unikraft.
/lib/isrlib		@unikraft/maintainers-core
/lib/nolibc		@unikraft/maintainers-core
/lib/posix-libdl	@unikraft/maintainers-core
/lib/posix-sysinfo	@unikraft/maintainers-core
/lib/syscall_shim	@unikraft/maintainers-core
/lib/ukargparse		@unikraft/maintainers-core
/lib/ukboot		@unikraft/maintainers-core
/lib/uklibparam		@unikraft/maintainers-core
/lib/ukring		@unikraft/maintainers-core
/lib/uksglist		@unikraft/maintainers-core
/lib/ukstore		@unikraft/maintainers-core
/lib/uktime		@unikraft/maintainers-core
/lib/uktimeconv		@unikraft/maintainers-core

# These owners oversee the APIs.
/arch/*/*/include	@unikraft/maintainers-api
/arch/*/include		@unikraft/maintainers-api
/include		@unikraft/maintainers-api
/plat/include		@unikraft/maintainers-api

# These owners oversee all architectures.
/arch			@unikraft/maintainers-arch

# These owners oversee the ARM architecture.
/arch/arm		@unikraft/maintainers-arch-arm
/lib/fdt		@unikraft/maintainers-arch-arm
/plat/*/arm		@unikraft/maintainers-arch-arm
/plat/*/include/*-arm	@unikraft/maintainers-arch-arm

# These owners oversee the x86 architecture.
/arch/x86		@unikraft/maintainers-arch-x86
/plat/*/include/*-x86	@unikraft/maintainers-arch-x86
/plat/*/x86		@unikraft/maintainers-arch-x86

# These owners oversee all platforms.
/plat			@unikraft/maintainers-plat

# These owners oversee the KVM platform.
/plat/kvm		@unikraft/maintainers-plat-kvm

# These owners oversee the Xen platform.
/plat/xen		@unikraft/maintainers-plat-xen

# These owners oversee the linuxu platform.
/plat/linuxu/		@unikraft/maintainers-plat-linuxu

# These owners oversee the scheduler-related components.
/lib/posix-process	@unikraft/maintainers-sched
/lib/uklock		@unikraft/maintainers-sched
/lib/ukmpi		@unikraft/maintainers-sched
/lib/uksched*		@unikraft/maintainers-sched
/lib/uksignal		@unikraft/maintainers-sched

# These owners oversee the memory manangement-related components.
/lib/ukalloc*		@unikraft/maintainers-mem
/lib/ukfalloc*		@unikraft/maintainers-mem
/lib/ukmmap		@unikraft/maintainers-mem

# These owners oversee the security-related components.
/lib/ubsan		@unikraft/maintainers-security
/lib/uksp		@unikraft/maintainers-security
/lib/ukswrand		@unikraft/maintainers-security

# These owners oversee the network-related components.
/lib/uknetdev		@unikraft/maintainers-net

# These owners oversee the filesystem-related components.
/lib/9pfs		@unikraft/maintainers-fs
/lib/devfs		@unikraft/maintainers-fs
/lib/posix-user		@unikraft/maintainers-fs
/lib/ramfs		@unikraft/maintainers-fs
/lib/uk9p		@unikraft/maintainers-fs
/lib/ukblkdev		@unikraft/maintainers-fs
/lib/ukcpio		@unikraft/maintainers-fs
/lib/vfscore		@unikraft/maintainers-fs

# These owners oversee the device-related components.
/lib/ukbus		@unikraft/maintainers-device

# These owners oversee the build system.
/lib/Config.uk		@unikraft/maintainers-build
/lib/Makefile.uk	@unikraft/maintainers-build
/Makefile		@unikraft/maintainers-build
/Makefile.uk		@unikraft/maintainers-build
/support		@unikraft/maintainers-build

# These owners oversee the debugging support.
/lib/ukdebug		@unikraft/maintainers-debug

# These owners oversee internal use of Rust within Unikraft.
/lib/ukrust		@unikraft/maintainers-lang-rust

# These owners oversee testing within Unikraft.
/lib/uktest		@unikraft/maintainers-test
tests/test_*		@unikraft/maintainers-test
