This repository contains several libraries of ArchRules which can be used in projects by using the ArchRules Runner plugin.
These rules enforce best practices when developing Gradle plugins.
These rules detect the usage of certain APIs from Guava which have standard library replacements.
These rules enforce the usage of jakarta over javax.
These rules enforce the usage of java.time over Joda Time.
These rules enforce JSpecify nullability annotations on public code. Kotlin classes are exempt from the rule, as Kotlin has nullability built into its type system, which is compatible with JSpecify.
These rules ensure calls are not made to known insecure OSS Java APIs.
These rules enforce upgrading to JUnit Jupiter.
Copyright 2025 Netflix, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an " AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.