Skip to content

Commit

Permalink
Merge pull request #180 from SpineEventEngine/update-config
Browse files Browse the repository at this point in the history
Update to the latest `config`
  • Loading branch information
yevhenii-nadtochii authored Apr 12, 2022
2 parents 569b036 + c5615aa commit 962feef
Show file tree
Hide file tree
Showing 65 changed files with 1,545 additions and 1,717 deletions.
9 changes: 8 additions & 1 deletion .github/workflows/build-on-ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,15 @@ jobs:
shell: bash
run: ./gradlew build --stacktrace

# See: https://github.com/marketplace/actions/junit-report-action
- name: Publish Test Report
uses: mikepenz/[email protected]
if: always() # always run even if the previous step fails
with:
report_paths: '**/build/test-results/test/TEST-*.xml'

- name: Upload code coverage report
uses: codecov/codecov-action@v2
with:
fail_ci_if_error: true
fail_ci_if_error: false
verbose: true
7 changes: 7 additions & 0 deletions .github/workflows/build-on-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,10 @@ jobs:
shell: cmd
# For the reason on `--no-daemon` see https://github.com/actions/cache/issues/454
run: gradlew.bat build --stacktrace --no-daemon

# See: https://github.com/marketplace/actions/junit-report-action
- name: Publish Test Report
uses: mikepenz/[email protected]
if: always() # always run even if the previous step fails
with:
report_paths: '**/build/test-results/test/TEST-*.xml'
222 changes: 116 additions & 106 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ import io.spine.internal.dependency.OpenCensus
import io.spine.internal.dependency.OsDetector
import io.spine.internal.dependency.Protobuf
import io.spine.internal.dependency.ThreeTen
import io.spine.internal.gradle.JavadocConfig
import io.spine.internal.gradle.javadoc.JavadocConfig
import io.spine.internal.gradle.applyGitHubPackages
import io.spine.internal.gradle.applyStandard
import io.spine.internal.gradle.forceVersions
Expand All @@ -57,7 +57,7 @@ import io.spine.internal.gradle.publish.PublishingRepos
import io.spine.internal.gradle.report.coverage.JacocoConfig
import io.spine.internal.gradle.report.license.LicenseReporter
import io.spine.internal.gradle.report.pom.PomGenerator
import io.spine.internal.gradle.spinePublishing
import io.spine.internal.gradle.publish.spinePublishing
import io.spine.internal.gradle.testing.configureLogging
import io.spine.internal.gradle.testing.registerTestTasks
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
Expand Down Expand Up @@ -107,22 +107,19 @@ plugins {
}
}

apply(from = "$rootDir/version.gradle.kts")

spinePublishing {
with(PublishingRepos) {
targetRepositories.addAll(
modules = setOf(
"web",
"firebase-web",
"testutil-web"
)
destinations = with(PublishingRepos) {
setOf(
cloudRepo,
gitHub("web"),
cloudArtifactRegistry
)
}

projectsToPublish.addAll(
"web",
"firebase-web",
"testutil-web"
)
}

allprojects {
Expand Down Expand Up @@ -155,88 +152,98 @@ subprojects {
plugin("pmd-settings")
}

tasks {
withType<JavaCompile> {
configureJavac()
configureErrorProne()
}
withType<Test> {
configureLogging()
}
registerTestTasks()
}

with(repositories) {
repositories {
applyGitHubPackages("base", rootProject)
applyGitHubPackages("base-types", rootProject)
applyGitHubPackages("time", rootProject)
applyGitHubPackages("core-java", rootProject)
applyStandard()
}

LicenseReporter.generateReportIn(project)
JavadocConfig.applyTo(project)
updateGitHubPages(spineBaseVersion) {
allowInternalJavadoc.set(true)
rootFolder.set(rootDir)
dependencies {
ErrorProne.apply {
errorprone(core)
}

Protobuf.libs.forEach { api(it) }
api(Flogger.lib)
api(Guava.lib)
api(CheckerFramework.annotations)
api(JavaX.annotations)
ErrorProne.annotations.forEach { api(it) }
api(kotlin("stdlib-jdk8"))

testImplementation(JUnit.runner)
testImplementation("io.spine.tools:spine-testlib:$spineBaseVersion")
testImplementation("io.spine.tools:spine-testutil-client:$spineCoreVersion")
}

configurations {
forceVersions()
forceTransitiveDependencies()
}

val javaVersion = JavaVersion.VERSION_11

java {
sourceCompatibility = javaVersion
targetCompatibility = javaVersion

tasks.withType<JavaCompile>().configureEach {
configureJavac()
configureErrorProne()
}
}

kotlin {
explicitApi()
}

tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = javaVersion.toString()
freeCompilerArgs = listOf("-Xskip-prerelease-check")
tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = javaVersion.toString()
freeCompilerArgs = listOf("-Xskip-prerelease-check")
}
}
}

dependencies {
ErrorProne.apply {
errorprone(core)
tasks {
test {
useJUnitPlatform {
includeEngines("junit-jupiter")
}
}

Protobuf.libs.forEach { api(it) }
api(Flogger.lib)
api(Guava.lib)
api(CheckerFramework.annotations)
api(JavaX.annotations)
ErrorProne.annotations.forEach { api(it) }
api(kotlin("stdlib-jdk8"))
registerTestTasks()

testImplementation(JUnit.runner)
testImplementation("io.spine.tools:spine-testlib:$spineBaseVersion")
testImplementation("io.spine.tools:spine-testutil-client:$spineCoreVersion")
withType<Test>().configureEach {
configureLogging()
}
}

configurations.forceVersions()
configurations.all {
resolutionStrategy {
forceTransitiveDependencies()
}
LicenseReporter.generateReportIn(project)
JavadocConfig.applyTo(project)

updateGitHubPages(spineBaseVersion) {
allowInternalJavadoc.set(true)
rootFolder.set(rootDir)
}

sourceSets {
val generatedRootDir = "$projectDir/generated"
val generatedMainDir = "$generatedRootDir/main"
val generatedTestDir = "$generatedRootDir/test"

main {
java.srcDirs("$generatedRootDir/main/spine")
java.srcDirs(
"$generatedMainDir/spine",
"$generatedMainDir/java"
)
}
test {
java.srcDirs("$generatedRootDir/test/spine")
}
}

tasks.test {
useJUnitPlatform {
includeEngines("junit-jupiter")
java.srcDirs(
"$generatedTestDir/spine",
"$generatedTestDir/java"
)
}
}
}
Expand All @@ -260,68 +267,71 @@ LicenseReporter.mergeAllReports(project)
* This breaks the Spine compiler which searches for all Protobuf definitions
* in classpath, and assumes they implement the Type URLs.
*/
fun ResolutionStrategy.forceTransitiveDependencies() {
val spineBaseVersion: String by extra
val spineBaseTypesVersion: String by extra
val spineTimeVersion: String by extra
fun NamedDomainObjectContainer<Configuration>.forceTransitiveDependencies() = all {
resolutionStrategy {
val spineBaseVersion: String by extra
val spineBaseTypesVersion: String by extra
val spineTimeVersion: String by extra

force(
OpenCensus.api,
OpenCensus.contribHttpUtil,
force(
OpenCensus.api,
OpenCensus.contribHttpUtil,

Gson.lib,
GoogleApis.common,
GoogleApis.commonProtos,
GoogleApis.protoAim,
Gson.lib,
GoogleApis.common,
GoogleApis.commonProtos,
GoogleApis.protoAim,

GoogleCloud.core,
GoogleApis.gax,
GoogleCloud.core,
GoogleApis.gax,

GoogleApis.oAuthClient,
GoogleApis.oAuthClient,

GoogleApis.AuthLibrary.credentials,
GoogleApis.AuthLibrary.oAuth2Http,
GoogleApis.AuthLibrary.credentials,
GoogleApis.AuthLibrary.oAuth2Http,

J2ObjC.lib,
J2ObjC.lib,

HttpClient.google,
HttpClient.jackson2,
HttpClient.gson,
HttpClient.apache2,
HttpClient.google,
HttpClient.jackson2,
HttpClient.gson,
HttpClient.apache2,

GoogleApis.client,
GoogleApis.client,

ThreeTen.lib,
ThreeTen.lib,

HttpComponents.client,
HttpComponents.core,
HttpComponents.client,
HttpComponents.core,

Jackson.core,
Jackson.core,
Jackson.databind,

CommonsCodec.lib,
CommonsCollections.lib,
CommonsCodec.lib,
CommonsCollections.lib,

Netty.common,
Netty.buffer,
Netty.transport,
Netty.handler,
Netty.codecHttp,
Netty.common,
Netty.buffer,
Netty.transport,
Netty.handler,
Netty.codecHttp,

JavaX.servletApi,
JavaX.servletApi,

Jetty.orbitServletJsp,
Jetty.toolchainSchemas,
Jetty.orbitServletJsp,
Jetty.toolchainSchemas,

Flogger.lib,
Flogger.Runtime.systemBackend,
OsDetector.lib,
Flogger.lib,
Flogger.Runtime.systemBackend,
OsDetector.lib,

Grpc.context,
Grpc.context,

// Transitive dependencies from `core-java` may have different (older) versions.
"io.spine:spine-base:$spineBaseVersion",
"io.spine:spine-base-types:$spineBaseTypesVersion",
"io.spine:spine-time:$spineTimeVersion",
"io.spine.tools:spine-testlib:$spineBaseVersion"
)
// Transitive dependencies from `core-java` may have different (older) versions.
"io.spine:spine-base:$spineBaseVersion",
"io.spine:spine-base-types:$spineBaseTypesVersion",
"io.spine:spine-time:$spineTimeVersion",
"io.spine.tools:spine-testlib:$spineBaseVersion"
)
}
}
7 changes: 2 additions & 5 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,14 @@
* This script uses two declarations of the constant [licenseReportVersion] because
* currently there is no way to define a constant _before_ a build script of `buildSrc`.
* We cannot use imports or do something else before the `buildscript` or `plugin` clauses.
*
* Therefore, when a version of [io.spine.internal.dependency.LicenseReport] changes, it should be
* changed in the Kotlin object _and_ in this file below twice.
*/

plugins {
java
groovy
`kotlin-dsl`
pmd
val licenseReportVersion = "2.0"
val licenseReportVersion = "2.1"
id("com.github.jk1.dependency-license-report").version(licenseReportVersion)
}

Expand All @@ -57,7 +54,7 @@ repositories {
val jacksonVersion = "2.13.0"

val googleAuthToolVersion = "2.1.2"
val licenseReportVersion = "2.0"
val licenseReportVersion = "2.1"
val grGitVersion = "3.1.1"

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@ package io.spine.internal.dependency

// https://www.mojohaus.org/animal-sniffer/animal-sniffer-maven-plugin/
object AnimalSniffer {
private const val version = "1.19"
private const val version = "1.21"
const val lib = "org.codehaus.mojo:animal-sniffer-annotations:${version}"
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ package io.spine.internal.dependency
*
* [AssertK](https://github.com/willowtreeapps/assertk)
*/
@Suppress("unused")
object AssertK {
private const val version = "0.23.1"
private const val version = "0.25"
const val libJvm = "com.willowtreeapps.assertk:assertk-jvm:${version}"
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
package io.spine.internal.dependency

// https://www.bouncycastle.org/java.html
@Suppress("unused")
object BouncyCastle {
const val libPkcsJdk15 = "org.bouncycastle:bcpkix-jdk15on:1.68"
}
Loading

0 comments on commit 962feef

Please sign in to comment.