Skip to content

Commit

Permalink
Merge pull request #54 from suitetecsa/add-maven-central-publication
Browse files Browse the repository at this point in the history
Add Maven Central Publication
  • Loading branch information
lesclaz authored Apr 12, 2024
2 parents 220881f + 40d20af commit c533480
Show file tree
Hide file tree
Showing 57 changed files with 261 additions and 202 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: SDK / Publish

on:
push:
tags:
- v*
branches:
- master

jobs:
publish:
name: Publish
runs-on: ubuntu-22.04
if: ${{ startsWith(github.ref, 'refs/tags/v') && contains(github.repository_owner, 'suitetecsa') }}
steps:
- name: Checkout repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Setup Java
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
with:
distribution: temurin
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
- name: Run publish task
run: ./gradlew publishAllPublicationsToMavenCentralRepository
env:
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.ORG_GRADLE_PROJECT_mavenCentralUsername }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.ORG_GRADLE_PROJECT_mavenCentralPassword }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.ORG_GRADLE_PROJECT_signingInMemoryKey }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.ORG_GRADLE_PROJECT_signingInMemoryKeyPassword }}
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
SDK Android para SuiteEtecsa
============================

[![](https://jitpack.io/v/suitetecsa/sdk-android.svg)](https://jitpack.io/#suitetecsa/sdk-android)

Esta es una librería que facilita la creación de aplicaciones Android dedicadas a gestionar los servicios de [ETECSA](https://www.etecsa.cu).

## Cómo usar

Agrega la dependencia a tu archivo build.gradle/.kts:
[![](https://img.shields.io/maven-central/v/io.github.suitetecsa.sdk/android.svg)](https://img.shields.io/maven-central/v/io.github.suitetecsa.sdk/android.svg)

```kotlin
implementation("com.github.suitetecsa.sdk-android:{última-versión}")
implementation("io.github.suitetecsa.sdk:android:{última-versión}")
```

### Obtener información de las tarjetas SIM
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/cu/suitetecsa/sdkandroid/di/AppModule.kt
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package cu.suitetecsa.sdkandroid.di

import android.content.Context
import cu.suitetecsa.sdk.android.ContactsCollector
import cu.suitetecsa.sdk.android.SimCardCollector
import cu.suitetecsa.sdkandroid.data.source.PreferenceDataSource
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import io.github.suitetecsa.sdk.android.ContactsCollector
import io.github.suitetecsa.sdk.android.SimCardCollector
import javax.inject.Singleton

@Module
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package cu.suitetecsa.sdkandroid.presentation.balance

import cu.suitetecsa.sdk.android.model.SimCard
import io.github.suitetecsa.sdk.android.model.SimCard

sealed class BalanceEvent {
data object UpdateBalance : BalanceEvent()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,13 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import cu.suitetecsa.sdk.android.model.DataCu
import cu.suitetecsa.sdk.android.model.MainData
import cu.suitetecsa.sdk.android.model.SimCard
import cu.suitetecsa.sdk.android.model.Sms
import cu.suitetecsa.sdk.android.model.Voice
import cu.suitetecsa.sdk.android.utils.LongUtils.asSizeString
import cu.suitetecsa.sdk.android.utils.LongUtils.asTimeString
import io.github.suitetecsa.sdk.android.model.DataCu
import io.github.suitetecsa.sdk.android.model.MainData
import io.github.suitetecsa.sdk.android.model.SimCard
import io.github.suitetecsa.sdk.android.model.Sms
import io.github.suitetecsa.sdk.android.model.Voice
import io.github.suitetecsa.sdk.android.utils.LongUtils.asSizeString
import io.github.suitetecsa.sdk.android.utils.LongUtils.asTimeString
import cu.suitetecsa.sdkandroid.R
import cu.suitetecsa.sdkandroid.presentation.balance.component.ContactsBottomSheet
import cu.suitetecsa.sdkandroid.presentation.balance.component.Spinner
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
package cu.suitetecsa.sdkandroid.presentation.balance

import cu.suitetecsa.sdk.android.model.BonusCredit
import cu.suitetecsa.sdk.android.model.BonusData
import cu.suitetecsa.sdk.android.model.DataCu
import cu.suitetecsa.sdk.android.model.BonusUnlimitedData
import cu.suitetecsa.sdk.android.model.Contact
import cu.suitetecsa.sdk.android.model.DailyData
import cu.suitetecsa.sdk.android.model.MailData
import cu.suitetecsa.sdk.android.model.MainData
import cu.suitetecsa.sdk.android.model.Sms
import cu.suitetecsa.sdk.android.model.Voice
import cu.suitetecsa.sdk.android.model.SimCard

import io.github.suitetecsa.sdk.android.model.BonusCredit
import io.github.suitetecsa.sdk.android.model.BonusData
import io.github.suitetecsa.sdk.android.model.BonusUnlimitedData
import io.github.suitetecsa.sdk.android.model.Contact
import io.github.suitetecsa.sdk.android.model.DailyData
import io.github.suitetecsa.sdk.android.model.DataCu
import io.github.suitetecsa.sdk.android.model.MailData
import io.github.suitetecsa.sdk.android.model.MainData
import io.github.suitetecsa.sdk.android.model.SimCard
import io.github.suitetecsa.sdk.android.model.Sms
import io.github.suitetecsa.sdk.android.model.Voice

data class BalanceState(
val currentSimCard: SimCard? = null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,33 +9,33 @@ import androidx.compose.runtime.State
import androidx.compose.runtime.mutableStateOf
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import cu.suitetecsa.sdk.android.ContactsCollector
import cu.suitetecsa.sdk.android.SimCardCollector
import cu.suitetecsa.sdk.android.balance.FetchBalanceCallBack
import cu.suitetecsa.sdk.android.balance.consult.UssdRequest
import cu.suitetecsa.sdk.android.balance.consult.UssdRequest.BONUS_BALANCE
import cu.suitetecsa.sdk.android.balance.consult.UssdRequest.CUSTOM
import cu.suitetecsa.sdk.android.balance.consult.UssdRequest.DATA_BALANCE
import cu.suitetecsa.sdk.android.balance.consult.UssdRequest.MESSAGES_BALANCE
import cu.suitetecsa.sdk.android.balance.consult.UssdRequest.PRINCIPAL_BALANCE
import cu.suitetecsa.sdk.android.balance.consult.UssdRequest.VOICE_BALANCE
import cu.suitetecsa.sdk.android.balance.response.BonusBalance
import cu.suitetecsa.sdk.android.balance.response.Custom
import cu.suitetecsa.sdk.android.balance.response.DataBalance
import cu.suitetecsa.sdk.android.balance.response.MessagesBalance
import cu.suitetecsa.sdk.android.balance.response.PrincipalBalance
import cu.suitetecsa.sdk.android.balance.response.UssdResponse
import cu.suitetecsa.sdk.android.balance.response.VoiceBalance
import cu.suitetecsa.sdk.android.model.MainData
import cu.suitetecsa.sdk.android.model.SimCard
import cu.suitetecsa.sdk.android.model.Sms
import cu.suitetecsa.sdk.android.model.Voice
import cu.suitetecsa.sdk.android.utils.LongUtils.asDateString
import cu.suitetecsa.sdk.android.utils.smartFetchBalance
import cu.suitetecsa.sdk.android.utils.ussdFetch
import cu.suitetecsa.sdkandroid.data.source.PreferenceDataSource
import cu.suitetecsa.sdkandroid.domain.model.Preferences
import dagger.hilt.android.lifecycle.HiltViewModel
import io.github.suitetecsa.sdk.android.ContactsCollector
import io.github.suitetecsa.sdk.android.SimCardCollector
import io.github.suitetecsa.sdk.android.balance.FetchBalanceCallBack
import io.github.suitetecsa.sdk.android.balance.consult.UssdRequest
import io.github.suitetecsa.sdk.android.balance.consult.UssdRequest.BONUS_BALANCE
import io.github.suitetecsa.sdk.android.balance.consult.UssdRequest.CUSTOM
import io.github.suitetecsa.sdk.android.balance.consult.UssdRequest.DATA_BALANCE
import io.github.suitetecsa.sdk.android.balance.consult.UssdRequest.MESSAGES_BALANCE
import io.github.suitetecsa.sdk.android.balance.consult.UssdRequest.PRINCIPAL_BALANCE
import io.github.suitetecsa.sdk.android.balance.consult.UssdRequest.VOICE_BALANCE
import io.github.suitetecsa.sdk.android.balance.response.BonusBalance
import io.github.suitetecsa.sdk.android.balance.response.Custom
import io.github.suitetecsa.sdk.android.balance.response.DataBalance
import io.github.suitetecsa.sdk.android.balance.response.MessagesBalance
import io.github.suitetecsa.sdk.android.balance.response.PrincipalBalance
import io.github.suitetecsa.sdk.android.balance.response.UssdResponse
import io.github.suitetecsa.sdk.android.balance.response.VoiceBalance
import io.github.suitetecsa.sdk.android.model.MainData
import io.github.suitetecsa.sdk.android.model.SimCard
import io.github.suitetecsa.sdk.android.model.Sms
import io.github.suitetecsa.sdk.android.model.Voice
import io.github.suitetecsa.sdk.android.utils.LongUtils.asDateString
import io.github.suitetecsa.sdk.android.utils.smartFetchBalance
import io.github.suitetecsa.sdk.android.utils.ussdFetch
import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.stateIn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import cu.suitetecsa.sdk.android.model.Contact
import io.github.suitetecsa.sdk.android.model.Contact

@OptIn(ExperimentalMaterial3Api::class)
@Composable
Expand Down
4 changes: 4 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ net-monster = "1.3.0"

applifycu-bugsend = "1.0.4-alpha3"

vanniktech-maven-publish = "0.28.0"

[libraries]
core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
Expand Down Expand Up @@ -65,3 +67,5 @@ androidLibrary = { id = "com.android.library", version.ref = "agp" }
hilt-android = { id = "com.google.dagger.hilt.android", version.ref = "hilt-android" }
devtools-ksp = { id = "com.google.devtools.ksp", version.ref = "devtools-ksp" }

vanniktech-maven-publish = { id = "com.vanniktech.maven.publish", version.ref = "vanniktech-maven-publish" }

57 changes: 43 additions & 14 deletions sdk-android/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
import com.vanniktech.maven.publish.AndroidSingleVariantLibrary
import com.vanniktech.maven.publish.SonatypeHost

@Suppress("DSL_SCOPE_VIOLATION")
plugins {
alias(libs.plugins.androidLibrary)
alias(libs.plugins.kotlinAndroid)
alias(libs.plugins.arturbosch.detekt)
alias(libs.plugins.vanniktech.maven.publish)
`maven-publish`
}

android {
namespace = "cu.suitetecsa.sdk.android"
namespace = "io.github.suitetecsa.sdk.android"
compileSdk = 34

defaultConfig {
Expand All @@ -26,21 +30,25 @@ android {
)
}
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

lint {
lintConfig = file("$rootDir/android-lint.xml")
abortOnError = false
sarifReport = true
}

detekt {
buildUponDefaultConfig = true
allRules = false
config.setFrom(files("${rootProject.projectDir}/detekt.yml"))
autoCorrect = true
}

kotlinOptions {
jvmTarget = "17"
}
Expand All @@ -58,22 +66,43 @@ dependencies {
implementation(libs.net.monster)
}

publishing {
publications {
register<MavenPublication>("release") {
groupId = "com.github.suitetecsa"
artifactId = "sdk-android"
version = "2.0"
mavenPublishing {
publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL)
signAllPublications()
configure(
AndroidSingleVariantLibrary(
// the published variant
variant = "release",
// whether to publish a sources jar
sourcesJar = true,
// whether to publish a javadoc jar
publishJavadocJar = true,
)
)

afterEvaluate {
from(components["release"])
coordinates("io.github.suitetecsa.sdk", "android", "0.1.0-alpha01")
pom {
name.set(project.name)
description.set("A tool designed to interact with ETECSA services from android app.")
url.set("https://github.com/suitetecsa/sdk-android")
licenses {
license {
name.set("MIT License")
url.set("http://github.com/suitetecsa/sdk-android/blob/master/LICENSE")
distribution.set("repo")
}
}
}
repositories {
maven {
name = "jitpack"
url = uri("https://jitpack.io")
developers {
developer {
id.set("lesclaz")
name.set("Lesly Cintra")
email.set("lesclaz95@gmail.com")
}
}
scm {
url.set("http://github.com/suitetecsa/sdk-android/tree/master")
connection.set("scm:git:git://github.com/suitetecsa/sdk-android.git")
developerConnection.set("scm:git:ssh://github.com/suitetecsa/sdk-android.git")
}
}
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
package cu.suitetecsa.sdk.android
package io.github.suitetecsa.sdk.android

import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4

import androidx.test.platform.app.InstrumentationRegistry
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith

import org.junit.Assert.*

/**
* Instrumented test, which will execute on an Android device.
*
Expand All @@ -21,4 +19,4 @@ class ExampleInstrumentedTest {
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("cu.suitetecsa.sdk.android.test", appContext.packageName)
}
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package cu.suitetecsa.sdk.android
package io.github.suitetecsa.sdk.android

import android.content.Context
import cu.suitetecsa.sdk.android.model.Contact
import io.github.suitetecsa.sdk.android.model.Contact

/**
* Interface for collecting contact information from the device.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package cu.suitetecsa.sdk.android
package io.github.suitetecsa.sdk.android

import android.annotation.SuppressLint
import android.content.Context
import android.provider.ContactsContract
import cu.suitetecsa.sdk.android.model.Contact
import io.github.suitetecsa.sdk.android.model.Contact

/**
* Implementation of [ContactsCollector] for collecting contact information from the device.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package cu.suitetecsa.sdk.android
package io.github.suitetecsa.sdk.android

import android.content.Context
import android.os.Build
import cu.suitetecsa.sdk.android.model.SimCard
import io.github.suitetecsa.sdk.android.model.SimCard

/**
* Interface for collecting SIM card information.
Expand Down
Loading

0 comments on commit c533480

Please sign in to comment.