-
-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Gradle config #194
Update Gradle config #194
Conversation
…m root build.gradle.kts)
…lugins to match existing version
…ing for 'fetcher' subprojects
@@ -0,0 +1,8 @@ | |||
package buildsrc.convention | |||
|
|||
plugins { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
prep for #192
buildSrc/src/main/kotlin/buildsrc/convention/maven-publishing.gradle.kts
Outdated
Show resolved
Hide resolved
buildSrc/src/main/kotlin/buildsrc/convention/version-management.gradle.kts
Show resolved
Hide resolved
dependencies { | ||
testImplementation(Deps.jUnit) | ||
testImplementation(Deps.strikt) | ||
testImplementation(Deps.Mockk.mockk) | ||
testImplementation(Deps.Mockk.dslJvm) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a comment: normally I prefer keeping dependencies out of convention plugins. buildSrc doesn't play very nicely with the dependency management plugins and tools (like version catalogs), and it can make the subprojects config a bit more obfuscated. But this works fine, especially for common test dependencies, and because Deps.kt
is well managed and organised.
name.set("skrape{it}") | ||
description.set("A Kotlin-based testing/scraping/parsing library providing the ability to analyze and extract data from HTML (server & client-side rendered). It places particular emphasis on ease of use and a high level of readability by providing an intuitive DSL. First and foremost it aims to be a testing lib, but it can also be used to scrape websites in a convenient fashion.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
small notes:
Now the POM name includes the subproject name.
By default Gradle will use project.description
for the POM description, so you might want to move this description to the root project, and make the subproject descriptions more specific
Really really big thanks for the great work 🎉👌 |
Preparation for #192
This PR breaks up the Gradle config into smaller convention plugins. Each convention plugin can be applied to each subproject as required. This helps with organising build configuration, and only applying it as required. All of the config was copy&pasted from the root
build.gradle.kts
, so nothing should be different.I enabled some Gradle caching options. This should speed up build speeds, and when developing locally (for example, when switching branches).
I adjusted some of the Gradle build config which seemed unusual to me. I changed them to be more conventional - which could be a mistake! I'll make notes of these so you can review them.
I changed the name of the Maven POMs to include the subproject name, prefixed by
skrape{it}
.This PR includes the README updates README minor spelling/grammar fixes #193
I updated Gradle to 7.5
I merged the 3
.gitignore
s into oneWIP:
Okay, all done!
Changes of note:
./gradlew publishAllPublicationsToLocalProjectDirRepository
gradle.properties
). You might see some configuration cache warnings likeorg.gradle.unsafe.configuration-cache=false
. Note that the build cache is stable, that shouldn't cause issues.