| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| plugins { |
| id 'com.gradle.enterprise' version '3.13.2' |
| id 'com.gradle.common-custom-user-data-gradle-plugin' version '1.10' |
| } |
| |
| def isGithubActions = System.getenv('GITHUB_ACTIONS') != null |
| def isJenkins = System.getenv('JENKINS_URL') != null |
| def isCI = isGithubActions || isJenkins |
| |
| gradleEnterprise { |
| server = "https://ge.apache.org" |
| buildScan { |
| capture { taskInputFiles = true } |
| uploadInBackground = !isCI |
| publishAlways() |
| publishIfAuthenticated() |
| obfuscation { |
| // This obfuscates the IP addresses of the build machine in the build scan. |
| // Alternatively, the build scan will provide the hostname for troubleshooting host-specific issues. |
| ipAddresses { addresses -> addresses.collect { address -> "0.0.0.0"} } |
| } |
| } |
| } |
| |
| buildCache { |
| local { |
| enabled = !isCI |
| } |
| |
| remote(gradleEnterprise.buildCache) { |
| enabled = false |
| } |
| } |
| |
| include 'common:scala' |
| |
| include 'core:controller' |
| include 'core:scheduler' |
| include 'core:invoker' |
| include 'core:cosmosdb:cache-invalidator' |
| include 'core:standalone' |
| include 'core:monitoring:user-events' |
| |
| include 'tests' |
| include 'tests:performance:gatling_tests' |
| |
| include 'tools:actionProxy' |
| include 'tools:ow-utils' |
| include 'tools:dev' |
| |
| include 'tools:admin' |
| |
| rootProject.name = 'openwhisk' |
| |
| |
| def scalaVersion = System.getenv().getOrDefault('OW_SCALA_VERSION', '2.12') |
| |
| if (scalaVersion == '2.12') { |
| println("Build using Scala 2.12") |
| gradle.ext.scala = [ |
| version : '2.12.10', |
| depVersion : '2.12', |
| scoverageScalaVersion : '2.12.15', |
| scoverageVersion : '1.4.11', |
| compileFlags: ['-feature', '-unchecked', '-deprecation', '-Xfatal-warnings', '-Ywarn-unused-import'] |
| ] |
| } else { |
| println("Build using Scala 2.13") |
| gradle.ext.scala = [ |
| version : '2.13.1', |
| depVersion : '2.13', |
| scoverageScalaVersion : '2.13.1', |
| scoverageVersion : '1.4.11', |
| // We can't use fatal warnings yet because there are deprecated things in 2.13 that are not fixable |
| // in 2.12. |
| compileFlags: ['-feature', '-unchecked', '-deprecation'] |
| ] |
| } |
| |
| gradle.ext.scalafmt = [ |
| version: '1.5.0', |
| config: new File(rootProject.projectDir, '.scalafmt.conf') |
| ] |
| |
| gradle.ext.akka = [version : '2.6.12'] |
| gradle.ext.akka_kafka = [version : '2.0.5'] |
| gradle.ext.akka_http = [version : '10.2.4'] |
| gradle.ext.akka_management = [version : '1.0.5'] |
| |
| gradle.ext.curator = [version : '4.3.0'] |
| gradle.ext.kube_client = [version: '4.10.3'] |
| |
| gradle.ext.netty = [version : '4.1.87.Final'] |