Skip to content

Conversation

@jcxldn
Copy link
Member

@jcxldn jcxldn commented Mar 30, 2021

Changes

Enhancements

  • Created a checkForUnresolvablePackages
    • Compatible with root + sub projects
    • Checks that (eg. serverversion) is not included in the given configuration (runtimeClasspath for subprojects; classpath for the root project)
    • Added to allprojects' build.finalizedBy

Bugfix

  • In bukkit/build.gradle, the dependency on project(":common:serverversion") has been switched to compileOnly (see in-file comments)

Testing


Setup command
./gradlew clean build publishToMavenLocal

Test build.gradle:

apply plugin: "java"

repositories {
    mavenLocal()
    mavenCentral()
}
dependencies {
    //implementation "com.dumbdogdiner:stickyapi-config:3.0.2"
    //implementation platform("com.dumbdogdiner:stickyapi:3.0.2")
}

All Modules

implementation platform("com.dumbdogdiner:stickyapi:3.0.2")

> Task :dependencies

------------------------------------------------------------
Root project
------------------------------------------------------------

annotationProcessor - Annotation processors and their dependencies for source set 'main'.
No dependencies

apiElements - API elements for main. (n)
No dependencies

archives - Configuration for archive artifacts. (n)
No dependencies

compileClasspath - Compile classpath for source set 'main'.
\--- com.dumbdogdiner:stickyapi:3.0.2
     +--- com.dumbdogdiner:stickyapi-bukkit:3.0.2
     +--- com.dumbdogdiner:stickyapi-bungee:3.0.2
     +--- com.dumbdogdiner:stickyapi-common:3.0.2
     |    \--- com.dumbdogdiner:stickyapi-config:3.0.2
     \--- com.dumbdogdiner:stickyapi-config:3.0.2

compileOnly - Compile only dependencies for source set 'main'. (n)
No dependencies

default - Configuration for default artifacts. (n)
No dependencies

implementation - Implementation only dependencies for source set 'main'. (n)
\--- com.dumbdogdiner:stickyapi:3.0.2 (n)

runtimeClasspath - Runtime classpath of source set 'main'.
\--- com.dumbdogdiner:stickyapi:3.0.2
     +--- com.dumbdogdiner:stickyapi-bukkit:3.0.2
     |    +--- org.jetbrains:annotations:20.1.0
     |    +--- io.github.classgraph:classgraph:4.8.104
     |    +--- com.github.seancfoley:ipaddress:5.3.3
     |    \--- com.dumbdogdiner:stickyapi-common:3.0.2
     |         +--- org.jetbrains:annotations:20.1.0
     |         +--- io.github.classgraph:classgraph:4.8.104
     |         +--- com.github.seancfoley:ipaddress:5.3.3
     |         +--- com.google.code.gson:gson:2.8.6
     |         \--- com.dumbdogdiner:stickyapi-config:3.0.2
     |              +--- org.jetbrains:annotations:20.1.0
     |              +--- io.github.classgraph:classgraph:4.8.104
     |              \--- com.github.seancfoley:ipaddress:5.3.3
     +--- com.dumbdogdiner:stickyapi-bungee:3.0.2
     |    +--- org.jetbrains:annotations:20.1.0
     |    +--- io.github.classgraph:classgraph:4.8.104
     |    +--- com.github.seancfoley:ipaddress:5.3.3
     |    \--- com.dumbdogdiner:stickyapi-common:3.0.2 (*)
     +--- com.dumbdogdiner:stickyapi-common:3.0.2 (*)
     \--- com.dumbdogdiner:stickyapi-config:3.0.2 (*)

runtimeElements - Elements of runtime for main. (n)
No dependencies

runtimeOnly - Runtime only dependencies for source set 'main'. (n)
No dependencies

testAnnotationProcessor - Annotation processors and their dependencies for source set 'test'.
No dependencies

testCompileClasspath - Compile classpath for source set 'test'.
\--- com.dumbdogdiner:stickyapi:3.0.2
     +--- com.dumbdogdiner:stickyapi-bukkit:3.0.2
     +--- com.dumbdogdiner:stickyapi-bungee:3.0.2
     +--- com.dumbdogdiner:stickyapi-common:3.0.2
     |    \--- com.dumbdogdiner:stickyapi-config:3.0.2
     \--- com.dumbdogdiner:stickyapi-config:3.0.2

testCompileOnly - Compile only dependencies for source set 'test'. (n)
No dependencies

testImplementation - Implementation only dependencies for source set 'test'. (n)
No dependencies

testRuntimeClasspath - Runtime classpath of source set 'test'.
\--- com.dumbdogdiner:stickyapi:3.0.2
     +--- com.dumbdogdiner:stickyapi-bukkit:3.0.2
     |    +--- org.jetbrains:annotations:20.1.0
     |    +--- io.github.classgraph:classgraph:4.8.104
     |    +--- com.github.seancfoley:ipaddress:5.3.3
     |    \--- com.dumbdogdiner:stickyapi-common:3.0.2
     |         +--- org.jetbrains:annotations:20.1.0
     |         +--- io.github.classgraph:classgraph:4.8.104
     |         +--- com.github.seancfoley:ipaddress:5.3.3
     |         +--- com.google.code.gson:gson:2.8.6
     |         \--- com.dumbdogdiner:stickyapi-config:3.0.2
     |              +--- org.jetbrains:annotations:20.1.0
     |              +--- io.github.classgraph:classgraph:4.8.104
     |              \--- com.github.seancfoley:ipaddress:5.3.3
     +--- com.dumbdogdiner:stickyapi-bungee:3.0.2
     |    +--- org.jetbrains:annotations:20.1.0
     |    +--- io.github.classgraph:classgraph:4.8.104
     |    +--- com.github.seancfoley:ipaddress:5.3.3
     |    \--- com.dumbdogdiner:stickyapi-common:3.0.2 (*)
     +--- com.dumbdogdiner:stickyapi-common:3.0.2 (*)
     \--- com.dumbdogdiner:stickyapi-config:3.0.2 (*)

testRuntimeOnly - Runtime only dependencies for source set 'test'. (n)
No dependencies

(*) - dependencies omitted (listed previously)

(n) - Not resolved (configuration is not meant to be resolved)

A web-based, searchable dependency report is available by adding the --scan option.

BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed

Common

implementation "com.dumbdogdiner:stickyapi-common:3.0.2"

> Task :dependencies

------------------------------------------------------------
Root project
------------------------------------------------------------

annotationProcessor - Annotation processors and their dependencies for source set 'main'.
No dependencies

apiElements - API elements for main. (n)
No dependencies

archives - Configuration for archive artifacts. (n)
No dependencies

compileClasspath - Compile classpath for source set 'main'.
\--- com.dumbdogdiner:stickyapi-common:3.0.2
     \--- com.dumbdogdiner:stickyapi-config:3.0.2

compileOnly - Compile only dependencies for source set 'main'. (n)
No dependencies

default - Configuration for default artifacts. (n)
No dependencies

implementation - Implementation only dependencies for source set 'main'. (n)
\--- com.dumbdogdiner:stickyapi-common:3.0.2 (n)

runtimeClasspath - Runtime classpath of source set 'main'.
\--- com.dumbdogdiner:stickyapi-common:3.0.2
     +--- org.jetbrains:annotations:20.1.0
     +--- io.github.classgraph:classgraph:4.8.104
     +--- com.github.seancfoley:ipaddress:5.3.3
     +--- com.google.code.gson:gson:2.8.6
     \--- com.dumbdogdiner:stickyapi-config:3.0.2
          +--- org.jetbrains:annotations:20.1.0
          +--- io.github.classgraph:classgraph:4.8.104
          \--- com.github.seancfoley:ipaddress:5.3.3

runtimeElements - Elements of runtime for main. (n)
No dependencies

runtimeOnly - Runtime only dependencies for source set 'main'. (n)
No dependencies

testAnnotationProcessor - Annotation processors and their dependencies for source set 'test'.
No dependencies

testCompileClasspath - Compile classpath for source set 'test'.
\--- com.dumbdogdiner:stickyapi-common:3.0.2
     \--- com.dumbdogdiner:stickyapi-config:3.0.2

testCompileOnly - Compile only dependencies for source set 'test'. (n)
No dependencies

testImplementation - Implementation only dependencies for source set 'test'. (n)
No dependencies

testRuntimeClasspath - Runtime classpath of source set 'test'.
\--- com.dumbdogdiner:stickyapi-common:3.0.2
     +--- org.jetbrains:annotations:20.1.0
     +--- io.github.classgraph:classgraph:4.8.104
     +--- com.github.seancfoley:ipaddress:5.3.3
     +--- com.google.code.gson:gson:2.8.6
     \--- com.dumbdogdiner:stickyapi-config:3.0.2
          +--- org.jetbrains:annotations:20.1.0
          +--- io.github.classgraph:classgraph:4.8.104
          \--- com.github.seancfoley:ipaddress:5.3.3

testRuntimeOnly - Runtime only dependencies for source set 'test'. (n)
No dependencies

(*) - dependencies omitted (listed previously)

(n) - Not resolved (configuration is not meant to be resolved)

A web-based, searchable dependency report is available by adding the --scan option.

BUILD SUCCESSFUL in 2s
1 actionable task: 1 executed

Bungee

implementation "com.dumbdogdiner:stickyapi-bungee:3.0.2"

> Task :dependencies

------------------------------------------------------------
Root project
------------------------------------------------------------

annotationProcessor - Annotation processors and their dependencies for source set 'main'.
No dependencies

apiElements - API elements for main. (n)
No dependencies

archives - Configuration for archive artifacts. (n)
No dependencies

compileClasspath - Compile classpath for source set 'main'.
\--- com.dumbdogdiner:stickyapi-bungee:3.0.2

compileOnly - Compile only dependencies for source set 'main'. (n)
No dependencies

default - Configuration for default artifacts. (n)
No dependencies

implementation - Implementation only dependencies for source set 'main'. (n)
\--- com.dumbdogdiner:stickyapi-bungee:3.0.2 (n)

runtimeClasspath - Runtime classpath of source set 'main'.
\--- com.dumbdogdiner:stickyapi-bungee:3.0.2
     +--- org.jetbrains:annotations:20.1.0
     +--- io.github.classgraph:classgraph:4.8.104
     +--- com.github.seancfoley:ipaddress:5.3.3
     \--- com.dumbdogdiner:stickyapi-common:3.0.2
          +--- org.jetbrains:annotations:20.1.0
          +--- io.github.classgraph:classgraph:4.8.104
          +--- com.github.seancfoley:ipaddress:5.3.3
          +--- com.google.code.gson:gson:2.8.6
          \--- com.dumbdogdiner:stickyapi-config:3.0.2
               +--- org.jetbrains:annotations:20.1.0
               +--- io.github.classgraph:classgraph:4.8.104
               \--- com.github.seancfoley:ipaddress:5.3.3

runtimeElements - Elements of runtime for main. (n)
No dependencies

runtimeOnly - Runtime only dependencies for source set 'main'. (n)
No dependencies

testAnnotationProcessor - Annotation processors and their dependencies for source set 'test'.
No dependencies

testCompileClasspath - Compile classpath for source set 'test'.
\--- com.dumbdogdiner:stickyapi-bungee:3.0.2

testCompileOnly - Compile only dependencies for source set 'test'. (n)
No dependencies

testImplementation - Implementation only dependencies for source set 'test'. (n)
No dependencies

testRuntimeClasspath - Runtime classpath of source set 'test'.
\--- com.dumbdogdiner:stickyapi-bungee:3.0.2
     +--- org.jetbrains:annotations:20.1.0
     +--- io.github.classgraph:classgraph:4.8.104
     +--- com.github.seancfoley:ipaddress:5.3.3
     \--- com.dumbdogdiner:stickyapi-common:3.0.2
          +--- org.jetbrains:annotations:20.1.0
          +--- io.github.classgraph:classgraph:4.8.104
          +--- com.github.seancfoley:ipaddress:5.3.3
          +--- com.google.code.gson:gson:2.8.6
          \--- com.dumbdogdiner:stickyapi-config:3.0.2
               +--- org.jetbrains:annotations:20.1.0
               +--- io.github.classgraph:classgraph:4.8.104
               \--- com.github.seancfoley:ipaddress:5.3.3

testRuntimeOnly - Runtime only dependencies for source set 'test'. (n)
No dependencies

(*) - dependencies omitted (listed previously)

(n) - Not resolved (configuration is not meant to be resolved)

A web-based, searchable dependency report is available by adding the --scan option.

BUILD SUCCESSFUL in 2s
1 actionable task: 1 executed

Bukkit

implementation "com.dumbdogdiner:stickyapi-bukkit:3.0.2"

> Task :dependencies

------------------------------------------------------------
Root project
------------------------------------------------------------

annotationProcessor - Annotation processors and their dependencies for source set 'main'.
No dependencies

apiElements - API elements for main. (n)
No dependencies

archives - Configuration for archive artifacts. (n)
No dependencies

compileClasspath - Compile classpath for source set 'main'.
\--- com.dumbdogdiner:stickyapi-bukkit:3.0.2

compileOnly - Compile only dependencies for source set 'main'. (n)
No dependencies

default - Configuration for default artifacts. (n)
No dependencies

implementation - Implementation only dependencies for source set 'main'. (n)
\--- com.dumbdogdiner:stickyapi-bukkit:3.0.2 (n)

runtimeClasspath - Runtime classpath of source set 'main'.
\--- com.dumbdogdiner:stickyapi-bukkit:3.0.2
     +--- org.jetbrains:annotations:20.1.0
     +--- io.github.classgraph:classgraph:4.8.104
     +--- com.github.seancfoley:ipaddress:5.3.3
     \--- com.dumbdogdiner:stickyapi-common:3.0.2
          +--- org.jetbrains:annotations:20.1.0
          +--- io.github.classgraph:classgraph:4.8.104
          +--- com.github.seancfoley:ipaddress:5.3.3
          +--- com.google.code.gson:gson:2.8.6
          \--- com.dumbdogdiner:stickyapi-config:3.0.2
               +--- org.jetbrains:annotations:20.1.0
               +--- io.github.classgraph:classgraph:4.8.104
               \--- com.github.seancfoley:ipaddress:5.3.3

runtimeElements - Elements of runtime for main. (n)
No dependencies

runtimeOnly - Runtime only dependencies for source set 'main'. (n)
No dependencies

testAnnotationProcessor - Annotation processors and their dependencies for source set 'test'.
No dependencies

testCompileClasspath - Compile classpath for source set 'test'.
\--- com.dumbdogdiner:stickyapi-bukkit:3.0.2

testCompileOnly - Compile only dependencies for source set 'test'. (n)
No dependencies

testImplementation - Implementation only dependencies for source set 'test'. (n)
No dependencies

testRuntimeClasspath - Runtime classpath of source set 'test'.
\--- com.dumbdogdiner:stickyapi-bukkit:3.0.2
     +--- org.jetbrains:annotations:20.1.0
     +--- io.github.classgraph:classgraph:4.8.104
     +--- com.github.seancfoley:ipaddress:5.3.3
     \--- com.dumbdogdiner:stickyapi-common:3.0.2
          +--- org.jetbrains:annotations:20.1.0
          +--- io.github.classgraph:classgraph:4.8.104
          +--- com.github.seancfoley:ipaddress:5.3.3
          +--- com.google.code.gson:gson:2.8.6
          \--- com.dumbdogdiner:stickyapi-config:3.0.2
               +--- org.jetbrains:annotations:20.1.0
               +--- io.github.classgraph:classgraph:4.8.104
               \--- com.github.seancfoley:ipaddress:5.3.3

testRuntimeOnly - Runtime only dependencies for source set 'test'. (n)
No dependencies

(*) - dependencies omitted (listed previously)

(n) - Not resolved (configuration is not meant to be resolved)

A web-based, searchable dependency report is available by adding the --scan option.

BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed

Config

implementation "com.dumbdogdiner:stickyapi-config:3.0.2"

> Task :dependencies

------------------------------------------------------------
Root project
------------------------------------------------------------

annotationProcessor - Annotation processors and their dependencies for source set 'main'.
No dependencies

apiElements - API elements for main. (n)
No dependencies

archives - Configuration for archive artifacts. (n)
No dependencies

compileClasspath - Compile classpath for source set 'main'.
\--- com.dumbdogdiner:stickyapi-config:3.0.2

compileOnly - Compile only dependencies for source set 'main'. (n)
No dependencies

default - Configuration for default artifacts. (n)
No dependencies

implementation - Implementation only dependencies for source set 'main'. (n)
\--- com.dumbdogdiner:stickyapi-config:3.0.2 (n)

runtimeClasspath - Runtime classpath of source set 'main'.
\--- com.dumbdogdiner:stickyapi-config:3.0.2
     +--- org.jetbrains:annotations:20.1.0
     +--- io.github.classgraph:classgraph:4.8.104
     \--- com.github.seancfoley:ipaddress:5.3.3

runtimeElements - Elements of runtime for main. (n)
No dependencies

runtimeOnly - Runtime only dependencies for source set 'main'. (n)
No dependencies

testAnnotationProcessor - Annotation processors and their dependencies for source set 'test'.
No dependencies

testCompileClasspath - Compile classpath for source set 'test'.
\--- com.dumbdogdiner:stickyapi-config:3.0.2

testCompileOnly - Compile only dependencies for source set 'test'. (n)
No dependencies

testImplementation - Implementation only dependencies for source set 'test'. (n)
No dependencies

testRuntimeClasspath - Runtime classpath of source set 'test'.
\--- com.dumbdogdiner:stickyapi-config:3.0.2
     +--- org.jetbrains:annotations:20.1.0
     +--- io.github.classgraph:classgraph:4.8.104
     \--- com.github.seancfoley:ipaddress:5.3.3

testRuntimeOnly - Runtime only dependencies for source set 'test'. (n)
No dependencies

(n) - Not resolved (configuration is not meant to be resolved)

A web-based, searchable dependency report is available by adding the --scan option.

BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed

@jcxldn jcxldn requested a review from kaylendog March 30, 2021 15:13
@jcxldn jcxldn added dependencies Pull requests that update a dependency file feature New feature or request help wanted Extra attention is needed p2 bug Mid-low priority bug labels Mar 30, 2021
@jcxldn jcxldn self-assigned this Mar 30, 2021
@jcxldn jcxldn added this to the v3.0 (next) milestone Mar 30, 2021
Copy link
Collaborator

@kaylendog kaylendog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice.

@jcxldn jcxldn marked this pull request as ready for review March 30, 2021 21:34
@jcxldn jcxldn merged commit e611fcd into master Mar 30, 2021
@jcxldn jcxldn deleted the feat/jcx/2021/depsCI branch March 30, 2021 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file feature New feature or request help wanted Extra attention is needed p2 bug Mid-low priority bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants