From 082289f4018df27ef0fc10047b84435d526e9ac6 Mon Sep 17 00:00:00 2001 From: Rui Lopes Date: Fri, 13 Oct 2017 01:18:52 +0100 Subject: [PATCH] test the maven repository from gradle --- provision/test.sh | 120 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/provision/test.sh b/provision/test.sh index f599424..6daf210 100644 --- a/provision/test.sh +++ b/provision/test.sh @@ -161,6 +161,126 @@ mvn \ popd +# +# test the maven repository from gradle. + +# download and install gradle. +apt-get install -y unzip +wget -qO/tmp/gradle-4.2.1-bin.zip https://services.gradle.org/distributions/gradle-4.2.1-bin.zip +unzip -d /opt/gradle /tmp/gradle-4.2.1-bin.zip +export PATH="$PATH:/opt/gradle/gradle-4.2.1/bin" + +# build and upload an example library. +mkdir gradle-greeter-library +pushd gradle-greeter-library +mkdir -p src/main/java +cat >src/main/java/Greeter.java <<'EOF' +public final class Greeter { + public static void greet(String name) { + System.out.println("Hello " + name); + } +} +EOF +cat >settings.gradle <<'EOF' +rootProject.name = 'gradle-greeter' +EOF +cat >build.gradle <<'EOF' +// see https://docs.gradle.org/4.2.1/userguide/java_library_plugin.html +// see https://docs.gradle.org/4.2.1/userguide/maven_plugin.html + +apply plugin: 'java-library' +apply plugin: 'maven' + +version = '1.0.0' +sourceCompatibility = 1.8 +targetCompatibility = 1.8 + +jar { + manifest { + attributes( + 'Implementation-Title': 'Gradle Greeter Example', + 'Implementation-Version': version + ) + } +} + +uploadArchives { + repositories { + mavenDeployer { + repository(url: System.env.NEXUS_REPOSITORY_URL) { + authentication( + userName: System.env.NEXUS_REPOSITORY_USERNAME, + password: System.env.NEXUS_REPOSITORY_PASSWORD) + } + pom.groupId = 'com.example' + } + } +} +EOF +gradle build +unzip -l build/libs/gradle-greeter-1.0.0.jar +export NEXUS_REPOSITORY_URL='http://localhost:8081/repository/maven-releases' +export NEXUS_REPOSITORY_USERNAME='alice.doe' +export NEXUS_REPOSITORY_PASSWORD='password' +gradle upload +popd + +# build an example application that uses our gradle-greeter library from our nexus repository. +mkdir gradle-greeter-application +pushd gradle-greeter-application +mkdir -p src/main/java +cat >src/main/java/Greet.java <<'EOF' +public final class Greet { + public static void main(String[] args) { + Greeter.greet("World"); + } +} +EOF +cat >settings.gradle <<'EOF' +rootProject.name = 'gradle-greeter-application' +EOF +cat >build.gradle <<'EOF' +// see https://docs.gradle.org/4.2.1/userguide/java_plugin.html +// see https://docs.gradle.org/4.2.1/userguide/application_plugin.html +// see http://imperceptiblethoughts.com/shadow/ + +plugins { + id 'com.github.johnrengelman.shadow' version '2.0.1' +} + +apply plugin: 'application' + +mainClassName = 'Greet' +version = '1.0.0' +sourceCompatibility = 1.8 +targetCompatibility = 1.8 + +jar { + manifest { + attributes( + 'Implementation-Title': 'Gradle Greeter Application Example', + 'Implementation-Version': version, + 'Main-Class': mainClassName + ) + } +} + +repositories { + maven { + url 'http://localhost:8081/repository/maven-public' + } +} + +dependencies { + compile 'com.example:gradle-greeter:1.0.0' +} +EOF +gradle shadowJar +unzip -l build/libs/gradle-greeter-application-1.0.0-all.jar +java -jar build/libs/gradle-greeter-application-1.0.0-all.jar +popd + + # # test the raw repository.