diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3f547f1..44494de 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -11,24 +11,27 @@ jobs: steps: - name: Checkout project sources - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - name: Setup java - uses: actions/setup-java@v3 + - name: Setup Java + uses: actions/setup-java@v4 with: - distribution: corretto - java-version: 8 + distribution: temurin + java-version: 17 + cache: gradle - name: Setup Android SDK uses: android-actions/setup-android@v3 with: - cmdline-tools-version: 8512546 - packages: 'build-tools;22.0.1 platforms;android-22' + packages: | + platform-tools + platforms;android-36 + build-tools;36.0.0 - name: Setup Android NDK uses: nttld/setup-ndk@v1 with: - ndk-version: r10e + ndk-version: r28 - name: Setup Gradle uses: gradle/gradle-build-action@v2 @@ -38,4 +41,7 @@ jobs: SIMLA_MOBILE_APPS_EMAIL: ${{ secrets.SIMLA_MOBILE_APPS_EMAIL }} OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} - run: ./gradlew :opuslib:uploadArchives --stacktrace + SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }} + SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }} + SIGNING_KEY: ${{ secrets.SIGNING_KEY }} + run: ./gradlew :opuslib:publishReleasePublicationToMavenRepository --stacktrace diff --git a/build.gradle b/build.gradle index 29d69d4..a6b9018 100644 --- a/build.gradle +++ b/build.gradle @@ -1,18 +1,13 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. - -buildscript { - repositories { - jcenter() - } - dependencies { - classpath 'com.android.tools.build:gradle:1.5.0' - //classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' - //classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2' - } +plugins { + id "com.android.application" version "8.12.2" apply false + id "com.android.library" version "8.12.2" apply false + id "org.jetbrains.kotlin.android" version "2.2.10" apply false } allprojects { repositories { - jcenter() + google() + mavenCentral() } } diff --git a/gradle/gradle-maven.gradle b/gradle/gradle-maven.gradle index 51c4c33..57824f6 100644 --- a/gradle/gradle-maven.gradle +++ b/gradle/gradle-maven.gradle @@ -1,48 +1,59 @@ -apply plugin: 'maven' -apply plugin: 'signing' +apply plugin: "maven-publish" +apply plugin: "signing" -uploadArchives { - repositories { - mavenDeployer { - repository(url: "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/") { - authentication(userName: System.getenv("OSSRH_USERNAME"), password: System.getenv("OSSRH_PASSWORD")) - } +publishing { + publications { + release(MavenPublication) { - beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } + afterEvaluate { + from components.release + } - pom.project { - name 'OpusLib' - description 'Re-publishing of OpusLib with no additional functionality.' - url 'https://github.com/simla-tech/opus_android' + pom { + name.set("OpusLib") + description.set("Re-publishing of OpusLib with no additional functionality.") + url.set("https://github.com/simla-tech/opus_android") licenses { license { - name 'The Apache License, Version 2.0' - url 'http://www.apache.org/licenses/LICENSE-2.0.txt' - distribution 'repo' + name.set("The Apache License, Version 2.0") + url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") + distribution.set("repo") } } developers { developer { - id 'SimlaTech' - name 'Simla Mobile Dev Team' - email System.getenv("SIMLA_TECH_EMAIL") + id.set("SimlaTech") + name.set("Simla Mobile Dev Team") + email.set(System.getenv("SIMLA_TECH_EMAIL")) } } scm { - url 'https://github.com/simla-tech/opus_android' - connection 'scm:git:git://github.com/simla-tech/opus_android.git' - developerConnection 'scm:git:ssh://github.com/simla-tech/opus_android.git' + url.set("https://github.com/simla-tech/opus_android") + connection.set("scm:git:git://github.com/simla-tech/opus_android.git") + developerConnection.set("scm:git:ssh://github.com/simla-tech/opus_android.git") } } } } + + repositories { + maven { + url = uri("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/") + credentials { + username = System.getenv("OSSRH_USERNAME") + password = System.getenv("OSSRH_PASSWORD") + } + } + } } -// Configure signing for all artifacts in 'archives' configuration signing { - required { gradle.taskGraph.hasTask("uploadArchives") } - sign configurations.archives -} + def signingKeyId = findProperty("signingKeyId") ?: System.getenv("SIGNING_KEY_ID") + def signingKey = findProperty("signingKey") ?: System.getenv("SIGNING_KEY") + def signingPassword = findProperty("signingKeyPassword") ?: System.getenv("SIGNING_KEY_PASSWORD") + useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword) + sign publishing.publications.release +} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e7faee0..cca0039 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Apr 10 15:27:10 PDT 2013 +#Thu Sep 04 09:32:24 MSK 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip diff --git a/oplayer/build.gradle b/oplayer/build.gradle index 506bae9..c8f52de 100644 --- a/oplayer/build.gradle +++ b/oplayer/build.gradle @@ -1,13 +1,12 @@ apply plugin: 'com.android.application' android { - - compileSdkVersion 22 - buildToolsVersion "22.0.1" + compileSdkVersion = 36 + buildToolsVersion "28.0.3" defaultConfig { applicationId "top.oply.oplayer" minSdkVersion 15 - targetSdkVersion 22 + targetSdkVersion 36 versionCode 2 versionName '1.1' } diff --git a/opuslib/build.gradle b/opuslib/build.gradle index addc5bf..cf09bf2 100644 --- a/opuslib/build.gradle +++ b/opuslib/build.gradle @@ -1,38 +1,18 @@ -//import org.apache.tools.ant.taskdefs.condition.Os -import org.gradle.plugins.signing.Sign -apply plugin: 'com.android.library' -//apply plugin: 'com.github.dcendents.android-maven' -//apply plugin: 'com.jfrog.bintray' +plugins { + id 'com.android.library' + id 'kotlin-android' +} -group = 'com.simla.android.opuslib' -version = "1.0.3" +apply from: "$rootDir/gradle/gradle-maven.gradle" android { - compileSdkVersion 22 - buildToolsVersion "22.0.1" - resourcePrefix "ly__" + namespace = "top.oply.opuslib" + compileSdk = 36 defaultConfig { - minSdkVersion 4 - targetSdkVersion 22 - versionCode 1 - versionName "1.0" - } - sourceSets.main { - jni.srcDirs = [] // This prevents the auto generation of Android.mk - jniLibs.srcDir 'src/main/libs' // This is not necessary unless you have precompiled libraries in your project. - } - - task ndkBuild(type: Exec) { - //if (Os.isFamily(Os.FAMILY_WINDOWS)) { - commandLine 'ndk-build.cmd', '-C', file('src/main/jni').absolutePath - //} else { - // commandLine 'ndk-build', '-C', file('src/main/jni').absolutePath - //} - } - - tasks.withType(JavaCompile) { - compileTask -> compileTask.dependsOn ndkBuild + minSdk = 15 + targetSdkVersion 36 + version = "1.0.3" } buildTypes { @@ -47,96 +27,15 @@ android { zipAlignEnabled false } } -} -dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') -} - -/* -def siteUrl = 'https://github.com/louisyonge/opus_android' // Project url -def gitUrl = 'https://github.com/louisyonge/opus_android.git' // Git url -group = "top.oply.opuslib" // Maven Group ID for the artifact,usually it's package name. -install { - repositories.mavenInstaller { - // This generates POM.xml with proper parameters - pom { - project { - packaging 'aar' - // Add your description here - name 'Opus library for Android' //Project description - url siteUrl - // Set your license - licenses { - license { - name 'The Apache Software License, Version 2.0' - url 'http://www.apache.org/licenses/LICENSE-2.0.txt' - } - } - developers { - developer { - id 'louis' //Some basic information - name 'Louis' - email 'ly.louisyoung@gmail.com' - } - } - scm { - connection gitUrl - developerConnection gitUrl - url siteUrl - } - } + publishing { + singleVariant('release') { + withSourcesJar() + withJavadocJar() } } } -// */ - -task sourcesJar(type: Jar) { - from android.sourceSets.main.java.srcDirs - classifier = 'sources' -} -task javadoc(type: Javadoc) { - source = android.sourceSets.main.java.srcDirs - classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) -} -task javadocJar(type: Jar, dependsOn: javadoc) { - classifier = 'javadoc' - from javadoc.destinationDir -} -artifacts { - archives javadocJar - archives sourcesJar -} -/* -Properties properties = new Properties() -properties.load(project.rootProject.file('local.properties').newDataInputStream()) -bintray { - user = properties.getProperty("bintray.user") - key = properties.getProperty("bintray.apikey") - configurations = ['archives'] - pkg { - repo = "maven" - name = "opus_andorid" //Name appeared on JCenter - websiteUrl = siteUrl - vcsUrl = gitUrl - licenses = ["Apache-2.0"] - publish = true - } +dependencies { + implementation fileTree(dir: "libs", include: ["*.jar"]) } -// */ - -apply from: rootProject.file('gradle/gradle-maven.gradle') - -gradle.taskGraph.whenReady { taskGraph -> - if (taskGraph.allTasks.any { it instanceof Sign }) { - - def id = "INSERT KEY ID HERE" - def file = project.file('INSERT RELATIVE PATH TO GPG FILE HERE').absolutePath - def password = "INSERT KEY PASSWORD HERE" - - allprojects { ext."signing.keyId" = id } - allprojects { ext."signing.secretKeyRingFile" = file } - allprojects { ext."signing.password" = password } - } -} \ No newline at end of file diff --git a/sample1/build.gradle b/sample1/build.gradle index cd9bf90..2ac88ef 100644 --- a/sample1/build.gradle +++ b/sample1/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 22 - buildToolsVersion "22.0.1" + compileSdkVersion = 36 + buildToolsVersion "28.0.3" defaultConfig { applicationId "top.oply.opusplayer" minSdkVersion 15 - targetSdkVersion 22 + targetSdkVersion 36 versionCode 1 versionName "1.0" } diff --git a/settings.gradle b/settings.gradle index a53bb4d..9eda729 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1,8 @@ +pluginManagement { + repositories { + gradlePluginPortal() + google() + } +} + include ':opuslib'