Skip to content

Commit

Permalink
Merge pull request #44 from eirikhanasand/pipeline
Browse files Browse the repository at this point in the history
Added initial gradle pipeline implementation.
  • Loading branch information
sindrelol authored Feb 10, 2025
2 parents e2d3b91 + 6bfc7a3 commit cd4788d
Showing 1 changed file with 103 additions and 4 deletions.
107 changes: 103 additions & 4 deletions .github/workflows/registry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -213,11 +213,110 @@ jobs:
# # chmod +x ../tests/gradle/gradlew
# # ../tests/gradle/gradlew --project-dir ../tests/gradle clean addDependencyAndBuild --refresh-dependencies -DrepoUrl=$GRADLE_REPO_URL -Pdependency=org.apache.mina:mina-core:2.2.4"

# - name: test_gradle_dangerous
# run: |
# echo "GRADLE_REPO_URL=https://$JFROG_ID.jfrog.io/artifactory/java JFROG_USERNAME=$JFROG_USERNAME JFROG_TOKEN=$JFROG_TOKEN JFROG_ID=$JFROG_ID.jfrog.io/artifactory ../tests/gradle/gradlew --project-dir ../tests/gradle clean addDependencyAndBuild --refresh-dependencies -DrepoUrl=$GRADLE_REPO_URL -Pdependency=org.apache.mina:mina-core:2.2.1"
- name: test_gradle_dangerous
run: |
set -e # Exit on error
# Create project directories
mkdir -p gradle
mkdir -p .gradle
# Create `settings.gradle.kts`
cat > gradle/settings.gradle.kts <<EOF
rootProject.name = "gradle-project"
pluginManagement {
repositories {
maven {
url = uri("https://\${System.getenv("JFROG_ID")}.jfrog.io/artifactory/java")
credentials {
username = System.getenv("JFROG_EMAIL")
password = System.getenv("JFROG_TOKEN")
}
}
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {
maven {
url = uri("https://\${System.getenv("JFROG_ID")}.jfrog.io/artifactory/java")
credentials {
username = System.getenv("JFROG_EMAIL")
password = System.getenv("JFROG_TOKEN")
}
}
}
}
EOF
# Create `build.gradle.kts`
cat > gradle/build.gradle.kts <<EOF
plugins {
id("java")
id("com.jfrog.artifactory") version "5.+" // JFrog Artifactory
kotlin("jvm") version "1.9.22"
}
buildscript {
dependencies {
classpath("org.jfrog.buildinfo:build-info-extractor-gradle:4+")
}
}
apply(plugin = "com.jfrog.artifactory")
artifactory {
setContextUrl("https://\${System.getenv("JFROG_ID")}.jfrog.io/artifactory")
publish {
repository {
repoKey = "java"
username = System.getenv("JFROG_EMAIL")
password = System.getenv("JFROG_TOKEN")
}
}
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib")
}
val dependencyFromArgs: String? = project.findProperty("dependency") as String?
tasks.register("addDependencyAndBuild") {
doFirst {
if (dependencyFromArgs != null) {
dependencies.add("implementation", dependencyFromArgs)
println("Dependency added: \$dependencyFromArgs")
}
}
doLast {
tasks.getByName("build").dependsOn(this)
}
}
EOF

# Initialize Gradle Wrapper
cd gradle
gradle wrapper
cd ..

# Set Gradle user home
export GRADLE_USER_HOME=.gradle

# Run the build with dependency injection
./gradle/gradlew --project-dir ./gradle clean addDependencyAndBuild --refresh-dependencies -Pdependency=org.apache.mina:mina-core:2.0.7 | tee gradle.log || {
if grep -q "409" gradle.log; then
echo "409 success"
else
exit 1
fi
}


# - name: test_maven
# - name: test_maven
# run: |
# echo "MAVEN_REPO_URL=https://$JFROG_ID.jfrog.io/artifactory/java JFROG_USERNAME=$JFROG_USERNAME JFROG_TOKEN=$JFROG_TOKEN mvn clean install -U -Dbuild.cache.enabled=false -Dmaven.repo.remote=$MAVEN_REPO_URL -Ddependency=org.apache.mina:mina-core:2.2.4 -s ../tests/maven/settings.xml -f ../tests/maven/pom.xml -Ddynamic.dependency.groupId=org.apache.mina -Ddynamic.dependency.artifactId=mina-core -Ddynamic.dependency.version=2.2.4"

Expand Down

0 comments on commit cd4788d

Please sign in to comment.