Skip to content

Commit

Permalink
fix: revert publications
Browse files Browse the repository at this point in the history
  • Loading branch information
ikalachy committed Jan 24, 2025
1 parent 39fb029 commit aab2b73
Showing 1 changed file with 46 additions and 11 deletions.
57 changes: 46 additions & 11 deletions gradle/publishing.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ publishing {
// NeonBee Core Jar
core(MavenPublication) {
artifactId = project.archivesBaseName

from components.java
artifact sourcesJar
artifact javadocJar
artifact source: coreJar
artifact source: shadowJar
artifact source: sourcesJar
artifact source: javadocJar

pom {
name = 'NeonBee Core'
Expand Down Expand Up @@ -54,14 +54,49 @@ publishing {
}

pom.withXml {
def dependenciesNode = asNode().children().find { it.name() == 'dependencies' }
if (dependenciesNode) {
dependenciesNode.children().each { depNode ->
// Entfernt den <scope>-Knoten, wenn er existiert
def scopeNode = depNode.children().find { it.name() == 'scope' }
if (scopeNode) {
depNode.remove(scopeNode)
def dependenciesNode = asNode().appendNode('dependencies')

// Log the start of dependency processing
def dependencyExclusions = [:]

// Create a map of dependencies and their exclusion rules
configurations.implementation.allDependencies
.findAll { dep -> !dep.excludeRules?.isEmpty() }
.forEach { dep ->
def rules = dep.excludeRules.collect { rule ->
[groupId: rule.group, artifactId: rule.module]
}
// Use group:name as the key
dependencyExclusions.put(String.valueOf("${dep.group}:${dep.name}"), rules)
}

// Iterate over implementation dependencies
configurations.implementation.allDependencies.each { dependency ->
def dependencyKey = "${dependency.group}:${dependency.name}"
logger.lifecycle("Dependency key class map: ${dependencyKey.getClass()}")

def exclusions = dependencyExclusions[dependencyKey]
logger.lifecycle("Looking for exclusion: ${dependencyKey}")

// Add the dependency to the POM
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', dependency.group ?: 'unknown-group')
dependencyNode.appendNode('artifactId', dependency.name ?: 'unknown-artifact')
dependencyNode.appendNode('version', dependency.version ?: 'unspecified-version')

if (exclusions) {
// Add exclusions to the current dependency if applicable
def exclusionsNode = dependencyNode.appendNode('exclusions')
exclusions.each { exclusion ->
def exclusionNode = exclusionsNode.appendNode('exclusion')
exclusionNode.appendNode('groupId', exclusion.groupId)
exclusionNode.appendNode('artifactId', exclusion.artifactId)
}

// Log the added exclusions
logger.lifecycle("Added exclusions for dependency: group='${dependency.group}', name='${dependency.name}', exclusions=${exclusions}")
} else {
logger.lifecycle("No exclusions for dependency: group='${dependency.group}', name='${dependency.name}'")
}
}
}
Expand Down

0 comments on commit aab2b73

Please sign in to comment.