
task nettyTcNativeBoringSslStaticLinuxX8664(type: Jar) {
    archiveBaseName.set('netty-tcnative-boringssl-static')
    archiveClassifier.set('linux-x86_64')
    version rootProject.version
    from (sourceSets.main.output) {
        include 'META-INF/native/libnetty_tcnative_linux_x86_64.so'
    }
}
assemble.dependsOn(nettyTcNativeBoringSslStaticLinuxX8664)

task nettyTcNativeBoringSslStaticLinuxAarch64(type: Jar) {
    archiveBaseName.set('netty-tcnative-boringssl-static')
    archiveClassifier.set('linux-aarch_64')
    version rootProject.version
    from (sourceSets.main.output) {
        include 'META-INF/native/libnetty_tcnative_linux_aarch_64.so'
    }
}
assemble.dependsOn(nettyTcNativeBoringSslStaticLinuxAarch64)

task nettyTcNativeBoringSslStaticOsxX8664(type: Jar) {
    archiveBaseName.set('netty-tcnative-boringssl-static')
    archiveClassifier.set('osx-x86_64')
    version rootProject.version
    from (sourceSets.main.output) {
        include 'META-INF/native/libnetty_tcnative_osx_x86_64.jnilib'
    }
}
assemble.dependsOn(nettyTcNativeBoringSslStaticOsxX8664)

task nettyTcNativeBoringSslStaticOsxAarch64(type: Jar) {
    archiveBaseName.set('netty-tcnative-boringssl-static')
    archiveClassifier.set('osx-aarch_64')
    version rootProject.version
    from (sourceSets.main.output) {
        include 'META-INF/native/libnetty_tcnative_osx_aarch_64.jnilib'
    }
}
assemble.dependsOn(nettyTcNativeBoringSslStaticOsxAarch64)

task nettyTcNativeBoringSslStaticWindowsX8664(type: Jar) {
    archiveBaseName.set('netty-tcnative-boringssl-static')
    archiveClassifier.set('windows-x86_64')
    version rootProject.version
    from (sourceSets.main.output) {
        include 'META-INF/native/libnetty_tcnative_windows_x86_64.dll'
    }
}
assemble.dependsOn(nettyTcNativeBoringSslStaticWindowsX8664)

configurations {
    'linux-x86_64' {
        canBeConsumed = true
        canBeResolved = false
        extendsFrom runtimeOnly
    }
    'linux-aarch64' {
        canBeConsumed = true
        canBeResolved = false
        extendsFrom runtimeOnly
    }
    'osx-x86_64' {
        canBeConsumed = true
        canBeResolved = false
        extendsFrom runtimeOnly
    }
    'osx-aarch64' {
        canBeConsumed = true
        canBeResolved = false
        extendsFrom runtimeOnly
    }
    'windows-x86_64' {
        canBeConsumed = true
        canBeResolved = false
        extendsFrom runtimeOnly
    }
}

artifacts {
    'linux-x86_64'(nettyTcNativeBoringSslStaticLinuxX8664)
    'linux-aarch64'(nettyTcNativeBoringSslStaticLinuxAarch64)
    'osx-x86_64'(nettyTcNativeBoringSslStaticOsxX8664)
    'osx-aarch64'(nettyTcNativeBoringSslStaticOsxAarch64)
    'windows-x86_64'(nettyTcNativeBoringSslStaticWindowsX8664)
}

publishing {
    publications {
        publishNettyTcNaticeBoringSslStaticLinuxX8664(MavenPublication) {
            groupId rootProject.group
            artifactId project.name
            version rootProject.version
            artifact nettyTcNativeBoringSslStaticLinuxX8664
            pom {
                artifactId = project.name
                name = project.name
                version = project.version
                description = rootProject.ext.description
                url = rootProject.ext.url
                inceptionYear = rootProject.ext.inceptionYear
                packaging = 'jar'
                organization {
                    name = rootProject.ext.organizationName
                    url = rootProject.ext.organizationUrl
                }
                developers {
                    developer {
                        id = 'jprante'
                        name = 'Jörg Prante'
                        email = 'joergprante@gmail.com'
                        url = 'https://xbib.org/joerg'
                    }
                }
                scm {
                    url = rootProject.ext.scmUrl
                    connection = rootProject.ext.scmConnection
                    developerConnection = rootProject.ext.scmDeveloperConnection
                }
                issueManagement {
                    system = rootProject.ext.issueManagementSystem
                    url = rootProject.ext.issueManagementUrl
                }
                licenses {
                    license {
                        name = rootProject.ext.licenseName
                        url = rootProject.ext.licenseUrl
                        distribution = 'repo'
                    }
                }
            }
        }
        publishNettyTcNativeBoringSslStaticLinuxAarch64(MavenPublication) {
            groupId rootProject.group
            artifactId project.name
            version rootProject.version
            artifact nettyTcNativeBoringSslStaticLinuxAarch64
        }
        publishNettyTcNaticeBoringSslStaticOsxX8664(MavenPublication) {
            groupId rootProject.group
            artifactId project.name
            version rootProject.version
            artifact nettyTcNativeBoringSslStaticOsxX8664
        }
        publishNettyTcNativeBoringSslStaticOsxAarch64(MavenPublication) {
            groupId rootProject.group
            artifactId project.name
            version rootProject.version
            artifact nettyTcNativeBoringSslStaticOsxAarch64
        }
        publishNettyTcNaticeBoringSslStaticWindowsX8664(MavenPublication) {
            groupId rootProject.group
            artifactId project.name
            version rootProject.version
            artifact nettyTcNativeBoringSslStaticWindowsX8664
        }
    }
}
