// This file is in the public domain. import org.apache.tools.ant.filters.ReplaceTokens plugins { // id 'org.jetbrains.kotlin.jvm' version '1.5.30' id 'org.jetbrains.kotlin.jvm' version '1.7.22' id 'idea' id 'java-library' id 'maven-publish' // id 'signing' } group = 'tech.libeufin' version = '0.9.3' if (!JavaVersion.current().isJava11Compatible()){ throw new GradleException( "This build must be run with java 11 " + "or later (your version is java ${JavaVersion.current()})") } allprojects { ext.set("ktor_version", "2.2.1") ext.set("ktor_auth_version", "1.6.8") ext.set("exposed_version", "0.41.1") repositories { mavenCentral() jcenter() } } idea { module { excludeDirs += file("frontend") } } task versionFile() { new File("${projectDir}/util/src/main/resources", "version.txt").text = getRootProject().version } // See: https://stackoverflow.com/questions/24936781/gradle-plugin-project-version-number task libeufinVersion { doLast { println project.version } } task replaceVersionCli(type: Copy) { from file("cli/bin/libeufin-cli") into file("${project.buildDir}/generated/python") filter(ReplaceTokens, tokens: [version: getRootProject().version]) } classes { dependsOn versionFile dependsOn replaceVersionCli } task execArch(type: Zip) { dependsOn versionFile dependsOn replaceVersionCli // evaluationDependsOn("nexus") evaluationDependsOn("bank") def topDir = "${getRootProject().name}-${getRootProject().version}" archiveFileName = "${topDir}.zip" subprojects.each { if (it.name == "nexus" || it.name == "bank") { Task t = it.tasks.getByName("installShadowDist") dependsOn(t) // invokes the task 't' } } //from("nexus/build/install/nexus-shadow") { // include("**/libeufin-nexus") // include("**/*.jar") //} from("bank/build/install/bank-shadow") { include("**/libeufin-bank") include("**/*.jar") } from("${project.buildDir}/generated/python") { include("libeufin-cli") rename { "bin/libeufin-cli" } } into(topDir) }