Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Maven Central Publication #54

Merged
merged 1 commit into from
Apr 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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