diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..c5b5d4c --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,21 @@ +name: Publish package to the Maven Central Repository +on: + release: + types: [created] +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Java + uses: actions/setup-java@v2 + with: + java-version: '11' + distribution: 'adopt' + - name: Validate Gradle wrapper + uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b + - name: Publish package + run: gradle publish + env: + MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} diff --git a/android/build.gradle b/android/build.gradle index 6deef7e..57c95ad 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -3,6 +3,68 @@ plugins { id 'kotlin-android' id 'org.jetbrains.dokka' id 'kover' + id 'maven-publish' +} + +group = 'com.veryfi' +version = '1.0.0' + +afterEvaluate{ + publishing { + publications { + release(MavenPublication) { + from components.release + groupId = 'com.veryfi' + artifactId = 'veryfi-android' + version = '1.0.0' + pom { + name = 'Veryfi Android' + description = 'Android kotlin module for communicating with the Veryfi OCR API' + url = 'https://github.com/veryfi/veryfi-android' + licenses { + license { + name = 'MIT' + url = 'https://opensource.org/licenses/MIT' + } + } + developers { + developer { + id = 'androide0917' + name = 'Yuber Garcia' + email = 'yubergarcia@veryfi.com' + } + developer { + id = 'kaevan89' + name = 'Sebastian Carmona' + email = 'sebastiancarmona@veryfi.com' + } + developer { + id = 'alejouribesanchez' + name = 'Alejandro Uribe' + email = 'alejandro@veryfi.com' + } + } + scm { + connection = 'scm:git:git://github.com/veryfi/veryfi-android.git' + developerConnection = 'scm:git:ssh://github.com/veryfi/veryfi-android.git' + url = 'https://github.com/veryfi/veryfi-android/' + } + } + } + } + repositories { + maven { + name = "OSSRH" + def releasesRepoUrl = 'https://s01.oss.sonatype.org/content/repositories/releases' + def snapshotsRepoUrl = 'https://s01.oss.sonatype.org/content/repositories/snapshots' + url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl + credentials { + username = System.getenv("MAVEN_USERNAME") + password = System.getenv("MAVEN_PASSWORD") + } + } + } + } } android { diff --git a/build.gradle b/build.gradle index 2e3ef3f..02f1493 100644 --- a/build.gradle +++ b/build.gradle @@ -1,13 +1,11 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. - - buildscript { repositories { google() mavenCentral() } dependencies { - classpath "com.android.tools.build:gradle:7.0.3" + classpath "com.android.tools.build:gradle:7.0.4" classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0' classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.5.30" classpath 'org.jetbrains.kotlinx:kover:0.4.1'