RoboLib/lib/publish.gradle

77 lines
2.1 KiB
Groovy

import org.gradle.internal.os.OperatingSystem
apply plugin: 'maven-publish'
ext.licenseFile = files("$rootDir/LICENSE.txt")
def pubVersion = '2025.0.1'
def outputsFolder = file("$buildDir/allOutputs")
def versionFile = file("$outputsFolder/version.txt")
def artifactGroupId = 'org.fairportrobotics.poe'
def baseArtifactId = 'potential-octo-eureka-library'
def zipBaseName = "_GROUP_org_fairportrobotics_poe_ID_${baseArtifactId}-java_CLS"
def javaBaseName = "_GROUP_org_fairportrobotics_poe_ID_${baseArtifactId}-java_CLS"
def releasesRepoUrl = "$buildDir/repos/releases"
String frcYear = '2024'
File frcHome
if (OperatingSystem.current().isWindows()) {
String publicFolder = System.getenv('PUBLIC')
if (publicFolder == null) {
publicFolder = "C:\\Users\\Public"
}
def homeRoot = new File(publicFolder, "wpilib")
frcHome = new File(homeRoot, frcYear)
} else {
def userFolder = System.getProperty("user.home")
def homeRoot = new File(userFolder, "wpilib")
frcHome = new File(homeRoot, frcYear)
}
def frcHomeMaven = new File(frcHome, 'maven')
publishing {
repositories {
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/FairportRobotics/potential-octo-eureka")
credentials {
username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
password = project.findProperty("gpr.key") ?: System.getenv("TOKEN")
}
}
maven {
name 'frcHome'
url frcHomeMaven
}
}
}
task cleanReleaseRepo(type: Delete) {
delete releasesRepoUrl
}
tasks.matching {it != cleanReleaseRepo}.all {it.dependsOn cleanReleaseRepo}
task sourceJar(type: Jar) {
from sourceSets.main.allJava
archiveClassifier = "sources"
}
publishing {
publications {
maven(MavenPublication) {
artifact sourceJar
artifactId = "${baseArtifactId}-java"
groupId artifactGroupId
version = project.hasProperty('release') ? pubVersion : pubVersion + "-SNAPSHOT"
from components.java
}
}
}