test the maven repository from gradle
This commit is contained in:
parent
ec6e5d8388
commit
082289f401
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue