Downloading different versions of Gradle
The recommended way to download any version of Gradle is by using the Gradle Wrapper script. If your project does not have a gradle/wrapper directory, run $ gradle wrapper to configure the Wrapper.
-
The Gradle Wrapper is present in your project.
To download a Gradle version from a non-standard location, change your Wrapper settings in /projects/<your_project>/gradle/wrapper/gradle-wrapper.properties:
-
Change the
distributionUrlproperty to point to a URL of the Gradle distribution ZIP file:properties distributionUrl=http://<url_to_gradle>/gradle-6.1-bin.zip
Alternatively, you may place a Gradle distribution zip file locally in /project/gradle in your workspace.
-
Change the
distributionUrlproperty to point to a local address of the Gradle distribution zip file:properties distributionUrl=file\:/projects/gradle/gradle-6.1-bin.zip
Configuring global Gradle repositories
Use an initialization script to configure global repositories for the workspace. Gradle performs extra configuration before projects are evaluated, and this configuration is used in each Gradle project from the workspace.
To set global repositories for Gradle that could be used in each Gradle project in the workspace, create an init.gradle script in the ~/.gradle/ directory:
allprojects {
repositories {
mavenLocal ()
maven {
url "http://repo.mycompany.com/maven"
credentials {
username "admin"
password "my_password"
}
}
}
}
This file configures Gradle to use a local Maven repository with the given credentials.
|
The |
Using self-signed certificates in Java projects
Internal artifact repositories often do not have a self-signed (SSL) certificate signed by an authority that is trusted by default in Java. They are usually signed by an internal company authority or are self-signed. Configure your tools to accept these certificates by adding them to the Java truststore.
-
Obtain a server certificate file from the repository server. It is often a file named
tls.crt.-
Create a Java truststore file:
$ keytool -import -file tls.crt -alias nexus -keystore truststore.jks -storepass changeit Trust this certificate? [no]: yes Certificate was added to keystore Owner: CN=example.com Issuer: CN=example.com Serial number: 80ca0f6980c6019a Valid from: Thu Feb 06 11:00:29 CET 2020 until: Fri Feb 05 11:00:29 CET 2021 Certificate fingerprints: MD5: 88:3C:EC:E1:BE:57:DD:9D:46:36:8E:DD:BF:14:04:22 SHA1: 08:D8:79:D3:F8:6B:5C:3D:71:AA:23:CA:72:01:47:BD:9D:91:0A:AD SHA256: 5C:BB:66:81:44:D2:50:EE:EB:CE:D6:15:7E:63:E1:9A:71:EA:58:3F:14:01:15:4E:68:5D:71:0A:A0:31:33:29 Signature algorithm name: SHA256withRSA Subject Public Key Algorithm: 4096-bit RSA key Version: 3 Extensions: #1: ObjectId: 2.5.29.17 Criticality=false SubjectAlternativeName [ DNSName: *.apps.example.com ] Trust this certificate? [no]: yes Certificate was added to keystore -
Upload the truststore file to
/projects/gradle/truststore.jksto make it available for all containers.
-
-
Add the truststore file in the Gradle container.
-
Add the
javax.net.sslsystem property to theJAVA_OPTSenvironment variable:- mountSources: true alias: maven type: dockerimage ... env: -name: JAVA_OPTS value: >- -Duser.home=/projects/gradle -Djavax.net.ssl.trustStore=/projects/truststore.jks
-