From 20baeebc4a2ea6fef9369367566f3d6e1533e12f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20K=C3=BCrten?= <sebastian@mobanisto.de>
Date: Mon, 27 Feb 2023 11:58:55 +0100
Subject: [PATCH] Let builds fail with missing license data for dependencies

---
 .../briar/desktop/builddata/GenerateBuildDataSourceTask.kt  | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/buildSrc/src/main/kotlin/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.kt b/buildSrc/src/main/kotlin/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.kt
index 66fe1d44ea..b3cb6ed462 100644
--- a/buildSrc/src/main/kotlin/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.kt
+++ b/buildSrc/src/main/kotlin/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.kt
@@ -27,6 +27,7 @@ import org.eclipse.jgit.revwalk.RevWalk
 import org.eclipse.jgit.submodule.SubmoduleWalk
 import org.gradle.api.GradleException
 import org.gradle.api.GradleScriptException
+import org.gradle.api.InvalidUserDataException
 import org.gradle.api.internal.artifacts.PreResolvedResolvableArtifact
 import org.gradle.api.tasks.TaskAction
 import java.io.ByteArrayInputStream
@@ -292,14 +293,19 @@ open class GenerateBuildDataSourceTask : AbstractBuildDataTask() {
         line("    val WINDOWS_AUMI = \"$windowsAumi\"")
         line()
         line("    val ARTIFACTS: List<Artifact> = buildList {")
+        var missingLicenses = false
         for (artifact in artifacts) {
             val license = LICENSES[artifact.unversioned()]
             if (license == null) {
                 logger.warn("No license defined for \"${artifact.group}:${artifact.artifact}\", please define in GenerateBuildDataSourceTask.kt")
+                missingLicenses = true
             }
             val licenseName = license ?: "Unknown"
             line("        add(Artifact(\"${artifact.group}\", \"${artifact.artifact}\", \"${artifact.version}\", \"$licenseName\"))")
         }
+        if (missingLicenses) {
+            throw InvalidUserDataException("Some dependencies don't have their licenses defined. See the log for details.")
+        }
         line("    }")
         line("}")
     }.toString()
-- 
GitLab