/* * Copyright (c) 2020 - present Cloudogu GmbH * * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License as published by the Free * Software Foundation, version 3. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see https://www.gnu.org/licenses/. */ rootProject.name = 'scm' // enfore rules // http://kordamp.org/enforcer-gradle-plugin/#_applying_the_plugin buildscript { repositories { mavenCentral() gradlePluginPortal() } dependencies { classpath 'org.kordamp.gradle:enforcer-gradle-plugin:0.10.0' } } apply plugin: 'org.kordamp.gradle.enforcer' // https://kordamp.org/enforcer-gradle-plugin/ enforce { rule(enforcer.rules.RequireGradleVersion) { r -> r.version = '6.7' } rule(enforcer.rules.RequireJavaVersion) { r -> r.version = '17' } // rule(enforcer.rules.EnforceBytecodeVersion) { r -> // r.maxJdkVersion = '17' // } } includeBuild 'build-plugins' include 'scm-annotations' include 'scm-annotation-processor' include 'scm-core' include 'scm-core-annotation-processor' include 'scm-test' include 'scm-queryable-test' include 'scm-ui' include 'scm-plugins:scm-git-plugin' include 'scm-plugins:scm-hg-plugin' include 'scm-plugins:scm-svn-plugin' include 'scm-plugins:scm-legacy-plugin' include 'scm-plugins:scm-integration-test-plugin' include 'scm-persistence' include 'scm-webapp' include 'scm-server' include 'scm-it' // Do not add scm-packaging modules to every build, // These modules drastically increase the time Gradle spends in the configuration phase. // To build a distribution of SCM-Manager you have to pass -PenablePackaging if (settings.hasProperty("enablePackaging")) { include 'scm-packaging:unix' include 'scm-packaging:windows' include 'scm-packaging:deb' include 'scm-packaging:rpm' include 'scm-packaging:docker' include 'scm-packaging:helm' include 'scm-packaging:release-yaml' } buildCache { local { enabled = true } remote(HttpBuildCache) { enabled = true useExpectContinue = true url = 'https://build-cache.scm-manager.org/cache/' push = "develop".equals(System.getenv("BRANCH_NAME")) credentials { username = System.getenv('GRADLE_BUILD_CACHE_USER') password = System.getenv('GRADLE_BUILD_CACHE_PASSWORD') } } }