Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 38 additions & 35 deletions nebula-archrules-gradle-plugin/gradle.lockfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,31 @@
# Manual edits can break the build and are not advised.
# This file is expected to be part of source control.
cglib:cglib-nodep:3.2.2=testRuntimeClasspath
com.fasterxml.jackson.core:jackson-annotations:2.20=compileClasspath,implementationDependenciesMetadata,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
com.jayway.jsonpath:json-path:2.9.0=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
com.netflix.nebula:archrules-common:0.8.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:archrules-deprecation:0.8.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:archrules-joda:0.8.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:archrules-nullability:0.8.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:archrules-security:0.8.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:archrules-testing-frameworks:0.8.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:nebula-archrules-core:0.7.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:nebula-test:11.11.3=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
com.tngtech.archunit:archunit:1.4.1=archRules,compileClasspath,implementationDependenciesMetadata,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
com.fasterxml.jackson.core:jackson-annotations:2.20=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
com.jayway.jsonpath:json-path:2.9.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
com.netflix.nebula:archrules-common:0.9.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:archrules-deprecation:0.9.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:archrules-gradle-plugin-development:0.9.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:archrules-guava:0.9.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:archrules-javax:0.9.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:archrules-joda:0.9.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:archrules-nullability:0.9.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:archrules-security:0.9.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:archrules-testing-frameworks:0.9.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:nebula-archrules-core:0.8.0=archRules,mainArchRulesRuntime,testArchRulesRuntime
com.netflix.nebula:nebula-test:11.11.3=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
com.tngtech.archunit:archunit:1.4.1=archRules,compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
io.github.java-diff-utils:java-diff-utils:4.12=kotlinInternalAbiValidation
net.bytebuddy:byte-buddy:1.17.7=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
net.javacrumbs.json-unit:json-unit-assertj:5.0.0=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
net.javacrumbs.json-unit:json-unit-core:5.0.0=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
net.javacrumbs.json-unit:json-unit-json-path:5.0.0=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
net.bytebuddy:byte-buddy:1.17.7=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
net.javacrumbs.json-unit:json-unit-assertj:5.0.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
net.javacrumbs.json-unit:json-unit-core:5.0.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
net.javacrumbs.json-unit:json-unit-json-path:5.0.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
net.minidev:accessors-smart:2.5.0=testArchRulesRuntime,testRuntimeClasspath
net.minidev:json-smart:2.5.0=testArchRulesRuntime,testRuntimeClasspath
org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath,testImplementationDependenciesMetadata
org.assertj:assertj-core:3.27.6=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.hamcrest:hamcrest-core:3.0=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.hamcrest:hamcrest:3.0=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath
org.assertj:assertj-core:3.27.6=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.hamcrest:hamcrest-core:3.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.hamcrest:hamcrest:3.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.jetbrains.kotlin:abi-tools-api:2.2.0=kotlinInternalAbiValidation
org.jetbrains.kotlin:abi-tools:2.2.0=kotlinInternalAbiValidation
org.jetbrains.kotlin:kotlin-assignment-compiler-plugin-embeddable:2.2.0=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
Expand All @@ -36,31 +39,31 @@ org.jetbrains.kotlin:kotlin-daemon-embeddable:2.2.0=kotlinBuildToolsApiClasspath
org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:2.2.0=kotlinKlibCommonizerClasspath
org.jetbrains.kotlin:kotlin-metadata-jvm:2.2.0=kotlinInternalAbiValidation
org.jetbrains.kotlin:kotlin-reflect:1.6.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath
org.jetbrains.kotlin:kotlin-reflect:2.2.0=compileClasspath,compileOnlyDependenciesMetadata,embeddedKotlin,testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.jetbrains.kotlin:kotlin-reflect:2.2.0=compileClasspath,embeddedKotlin,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.jetbrains.kotlin:kotlin-sam-with-receiver-compiler-plugin-embeddable:2.2.0=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-script-runtime:2.2.0=compilePluginsBlocksPluginClasspathElements,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath
org.jetbrains.kotlin:kotlin-scripting-common:2.2.0=compilePluginsBlocksPluginClasspathElements,kotlinBuildToolsApiClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:2.2.0=compilePluginsBlocksPluginClasspathElements,kotlinBuildToolsApiClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:2.2.0=compilePluginsBlocksPluginClasspathElements,kotlinBuildToolsApiClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-scripting-jvm:2.2.0=compilePluginsBlocksPluginClasspathElements,kotlinBuildToolsApiClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-stdlib:2.2.0=compileClasspath,compileOnlyDependenciesMetadata,compilePluginsBlocksPluginClasspathElements,embeddedKotlin,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath,testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.jetbrains.kotlin:kotlin-stdlib:2.2.0=compileClasspath,compilePluginsBlocksPluginClasspathElements,embeddedKotlin,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath
org.jetbrains:annotations:13.0=compileClasspath,compilePluginsBlocksPluginClasspathElements,embeddedKotlin,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.json:json:20250517=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.jspecify:jspecify:1.0.0=archRules,mainArchRulesRuntime,testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.junit.jupiter:junit-jupiter-api:5.14.1=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.json:json:20250517=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.jspecify:jspecify:1.0.0=archRules,mainArchRulesRuntime,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.junit.jupiter:junit-jupiter-api:5.14.1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.junit.jupiter:junit-jupiter-engine:5.14.1=testArchRulesRuntime,testRuntimeClasspath
org.junit.jupiter:junit-jupiter-params:5.14.1=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.junit.jupiter:junit-jupiter:5.14.1=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.junit.platform:junit-platform-commons:1.14.1=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.junit.platform:junit-platform-engine:1.14.1=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.junit.platform:junit-platform-launcher:1.14.1=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.junit:junit-bom:5.14.1=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.junit.jupiter:junit-jupiter-params:5.14.1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.junit.jupiter:junit-jupiter:5.14.1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.junit.platform:junit-platform-commons:1.14.1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.junit.platform:junit-platform-engine:1.14.1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.junit.platform:junit-platform-launcher:1.14.1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.junit:junit-bom:5.14.1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.objenesis:objenesis:2.4=testRuntimeClasspath
org.opentest4j:opentest4j:1.3.0=testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.opentest4j:opentest4j:1.3.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
org.ow2.asm:asm:9.3=testArchRulesRuntime,testRuntimeClasspath
org.slf4j:slf4j-api:2.0.17=archRules,compileClasspath,implementationDependenciesMetadata,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
tools.jackson.core:jackson-core:3.0.2=compileClasspath,implementationDependenciesMetadata,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
tools.jackson.core:jackson-databind:3.0.2=compileClasspath,implementationDependenciesMetadata,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
tools.jackson:jackson-bom:3.0.2=compileClasspath,implementationDependenciesMetadata,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.slf4j:slf4j-api:2.0.17=archRules,compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
tools.jackson.core:jackson-core:3.0.2=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
tools.jackson.core:jackson-databind:3.0.2=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
tools.jackson:jackson-bom:3.0.2=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath
empty=annotationProcessor,apiDependenciesMetadata,intransitiveDependenciesMetadata,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,kotlinScriptDefExtensions,testAnnotationProcessor,testApiDependenciesMetadata,testCompileOnlyDependenciesMetadata,testIntransitiveDependenciesMetadata,testKotlinScriptDefExtensions
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,8 @@ class ArchrulesLibraryPlugin : Plugin<Project> {
override fun apply(project: Project) {
val version = determineVersion()
project.pluginManager.withPlugin("java") {
project.dependencies {
attributesSchema {
attribute(Usage.USAGE_ATTRIBUTE){
compatibilityRules.add(ArchRuleCompatibilityRule::class)
}
}
project.dependencies.attributesSchema.attribute(Usage.USAGE_ATTRIBUTE) {
compatibilityRules.add(ArchRuleCompatibilityRule::class)
}
val javaExt = project.extensions.getByType<JavaPluginExtension>()
val archRulesSourceSet = javaExt.sourceSets.create("archRules")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,10 @@ class ArchrulesRunnerPlugin : Plugin<Project> {
}
}
project.plugins.withId("java") {
project.dependencies {
attributesSchema {
attribute(Usage.USAGE_ATTRIBUTE){
compatibilityRules.add(ArchRuleCompatibilityRule::class)
}
}
project.dependencies.attributesSchema.attribute(Usage.USAGE_ATTRIBUTE) {
compatibilityRules.add(ArchRuleCompatibilityRule::class)
}

val archRulesExt = project.extensions.create<ArchrulesExtension>("archRules")
archRulesExt.consoleReportEnabled.convention(true)
archRulesExt.skipPassingSummaries.convention(false)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ class ArchrulesLibraryPluginTest {
fun `plugin sets up tests for rules`() {
val runner = testProject(projectDir) {
properties {
gradleCache(true)
buildCache(true)
}
settings {
name("library-with-rules")
Expand Down Expand Up @@ -286,7 +286,7 @@ class ArchrulesLibraryPluginTest {
fun `main code is included in archRulesTest`() {
val runner = testProject(projectDir) {
properties {
gradleCache(true)
buildCache(true)
}
settings {
name("library-with-rules")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,11 +172,7 @@ archRules {
.hasNoDeprecationWarnings()
}

/**
* once artifacts are published with the correct usage attribute, this should pass
*/
@Test
@Disabled
fun `test proto integration`() {
val runner = testProject(projectDir) {
properties {
Expand All @@ -186,6 +182,7 @@ archRules {
plugins {
id("com.google.protobuf").version("0.9.6")
}
dependencies("""implementation("com.netflix.nebula:archrules-deprecation:latest.release")""")
}
projectWithCodeUsingDeprecatedCode {
plugins {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ class TransitiveDependencyTests {
fun `plugin sets up tests for rules with dependencies`() {
val runner = testProject(projectDir) {
properties {
gradleCache(true)
buildCache(true)
}
settings {
name("library-with-rules")
Expand Down Expand Up @@ -149,7 +149,7 @@ class TransitiveDependencyTests {
fun `plugin sets up tests for rules in archRules with helper dependencies`() {
val runner = testProject(projectDir) {
properties {
gradleCache(true)
buildCache(true)
}
settings {
name("library-with-rules")
Expand Down Expand Up @@ -216,7 +216,7 @@ class TransitiveDependencyTests {
fun `test transitive rules in classpath`() {
val runner = testProject(projectDir) {
properties {
gradleCache(true)
buildCache(true)
}
settings {
name("library-with-rules")
Expand Down Expand Up @@ -297,7 +297,7 @@ class TransitiveDependencyTests {
fun `test transitive rules in archRules`() {
val runner = testProject(projectDir) {
properties {
gradleCache(true)
buildCache(true)
}
settings {
name("library-with-rules")
Expand Down Expand Up @@ -379,7 +379,7 @@ class TransitiveDependencyTests {
fun `rules can be authored in main source sets`() {
val runner = testProject(projectDir) {
properties {
gradleCache(true)
buildCache(true)
}
settings {
name("library-with-rules")
Expand Down
6 changes: 3 additions & 3 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
pluginManagement {
plugins {
id("com.netflix.nebula.root") version ("25.+")
id("com.netflix.nebula.plugin-plugin") version ("25.+")
id("com.netflix.nebula.library") version ("25.+")
id("com.netflix.nebula.root") version ("25.5.2")
id("com.netflix.nebula.plugin-plugin") version ("25.5.2")
id("com.netflix.nebula.library") version ("25.5.2")
}
}
plugins {
Expand Down