settings-debian.gradle: separate out settings for builds on Debian Gradle 4.4

This is meant to prepare for improvements to the regular `settings.gradle` file.
This commit is contained in:
Andreas Schildbach 2024-08-26 13:43:44 +02:00
parent a2642d8af7
commit 8873915804
4 changed files with 41 additions and 2 deletions

View File

@ -21,7 +21,7 @@ bullseye-jdk11:
- apt-get update
- apt-get -y install openjdk-11-jdk-headless gradle
script:
- gradle build :bitcoinj-core:publishToMavenLocal :bitcoinj-wallettool:installDist --init-script build-scan-agree.gradle --scan --stacktrace
- gradle --settings-file settings-debian.gradle build :bitcoinj-core:publishToMavenLocal :bitcoinj-wallettool:installDist --init-script build-scan-agree.gradle --scan --stacktrace
after_script:
- gradle --version
- sha256sum core/build/libs/*.jar wallettool/build/install/wallet-tool/bin/* wallettool/build/install/wallet-tool/lib/*.jar
@ -32,7 +32,7 @@ bookworm-jdk17:
- apt-get update
- apt-get -y install openjdk-17-jdk-headless gradle
script:
- gradle build :bitcoinj-core:publishToMavenLocal :bitcoinj-wallettool:installDist --init-script build-scan-agree.gradle --scan --stacktrace
- gradle --settings-file settings-debian.gradle build :bitcoinj-core:publishToMavenLocal :bitcoinj-wallettool:installDist --init-script build-scan-agree.gradle --scan --stacktrace
after_script:
- gradle --version
- sha256sum core/build/libs/*.jar wallettool/build/install/wallet-tool/bin/* wallettool/build/install/wallet-tool/lib/*.jar

View File

@ -80,6 +80,13 @@ Our reference build (which is also used for our releases) is running within a co
Buildah 1.26+, Podman 4.1+ and Docker (with BuildKit) are supported. We tested various combinations of host OSes
(Debian, Ubuntu, macOS, Windows+WSL) and architectures (amd64, arm64). For usage instructions see `build.Containerfile`.
This uses Debian Gradle with the `settings-debian.gradle` settings. If you happen to use Debian and have Gradle
installed from the Debian repository, you can invoke these settings directly:
```
gradle --settings-file settings-debian.gradle clean build
```
### Example applications
These are found in the `examples` module.

View File

@ -38,6 +38,7 @@ COPY --chown=builder / project/
# build project
RUN /usr/bin/gradle --project-dir project/ \
--no-build-cache --no-daemon --no-parallel \
--settings-file=settings-debian.gradle \
-Dmaven.repo.local=repo \
clean ${ADDITIONAL_GRADLE_TASK} :bitcoinj-core:publishToMavenLocal :bitcoinj-wallettool:installDist

31
settings-debian.gradle Normal file
View File

@ -0,0 +1,31 @@
/*
* Setting file only for Debian Gradle 4.4.1.
* Usage: gradle --settings-file=settings-debian.gradle build
*/
import org.gradle.util.GradleVersion
// required Gradle version for build
def gradleVersion = GradleVersion.version("4.4.1")
if (GradleVersion.current().compareTo(gradleVersion) != 0) {
throw new GradleScriptException("bitcoinj build requires Debian Gradle ${gradleVersion}", null)
}
if (!JavaVersion.current().isJava11Compatible()) {
throw new GradleScriptException("bitcoinj build requires Java 11 or later", null)
}
rootProject.name = 'bitcoinj-parent'
include 'core'
project(':core').name = 'bitcoinj-core'
include 'tools'
project(':tools').name = 'bitcoinj-tools'
include 'wallettool'
project(':wallettool').name = 'bitcoinj-wallettool'
include 'examples'
project(':examples').name = 'bitcoinj-examples'