Skip to content

Commit

Permalink
[PLAYSTORE] release to playstore (#13)
Browse files Browse the repository at this point in the history
* change package name

* Use gradle to publish on the store
  • Loading branch information
CedrickFlocon authored and balloob committed Nov 4, 2019
1 parent 3dca2c9 commit 1ec669d
Show file tree
Hide file tree
Showing 32 changed files with 157 additions and 78 deletions.
12 changes: 4 additions & 8 deletions .travis.yml
Expand Up @@ -2,10 +2,8 @@ language: android
dist: trusty

before_install:
- openssl aes-256-cbc -K $encrypted_a039e732823a_key -iv $encrypted_a039e732823a_iv -in travis/secrets.tar.enc -out travis/secrets.tar -d
- tar xvf travis/secrets.tar
- cp travis/google-services.json app/google-services.json
- cp travis/home-assistant-mobile-apps-5fd6b9dd0fdb.json serviceCredentialsFile.json
- chmod ugo+x .travis/before_install.sh
- ./.travis/before_install.sh

android:
components:
Expand All @@ -23,7 +21,5 @@ cache:
- $HOME/.android/build-cache

script:
- echo $TRAVIS_COMMIT_MESSAGE > CHANGES.md
- export VERSION_CODE=`git rev-list --count HEAD`
- 'if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then bash ./gradlew testReleaseUnitTest; fi'
- 'if [ "$TRAVIS_BRANCH" = "master" ]; then bash ./gradlew assembleRelease appDistributionUploadRelease; fi'
- chmod ugo+x .travis/script.sh
- ./.travis/script.sh
13 changes: 13 additions & 0 deletions .travis/before_install.sh
@@ -0,0 +1,13 @@
#!/bin/bash

if [ "$TRAVIS_PULL_REQUEST" = "false" ]
then
openssl aes-256-cbc -K $encrypted_6c4fc944fe71_key -iv $encrypted_6c4fc944fe71_iv -in .travis/secrets.tar.enc -out .travis/secrets.tar -d
tar xvf .travis/secrets.tar
mv google-services.json app/google-services.json
mv upload_keystore.keystore app/release_keystore.keystore
mv home-assistant-mobile-apps-5fd6b9dd0fdb.json app/firebaseAppDistributionServiceCredentialsFile.json
mv home-assistant-mobile-apps-0b13292f44c4.json app/playStorePublishServiceCredentialsFile.json
else
mv .travis/mock-google-services.json app/google-services.json
fi
24 changes: 24 additions & 0 deletions .travis/mock-google-services.json
@@ -0,0 +1,24 @@
{
"project_info": {
"project_number": "project_number",
"firebase_url": "firebase_url",
"project_id": "project_id",
"storage_bucket": "storage_bucket"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "mobilesdk_app_id",
"android_client_info": {
"package_name": "io.homeassistant.companion.android"
}
},
"api_key": [
{
"current_key": "current_key"
}
]
}
],
"configuration_version": "1"
}
19 changes: 19 additions & 0 deletions .travis/script.sh
@@ -0,0 +1,19 @@
#!/bin/bash

echo $TRAVIS_COMMIT_MESSAGE > CHANGES.md
export VERSION_CODE=`git rev-list --count HEAD`

if [ "$TRAVIS_PULL_REQUEST" = "false" ]
then
if [ "$TRAVIS_BRANCH" = "master" ]
then
./gradlew assembleRelease appDistributionUploadRelease

if [ -n "$TRAVIS_TAG" ]
then
./gradlew publishReleaseBundle
fi
fi
else
./gradlew testReleaseUnitTest
fi
Binary file added .travis/secrets.tar.enc
Binary file not shown.
31 changes: 29 additions & 2 deletions app/build.gradle
@@ -1,31 +1,58 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'com.google.firebase.appdistribution'
apply plugin: 'com.github.triplet.play'

buildscript {
repositories {
google()
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath 'com.google.firebase:firebase-appdistribution-gradle:1.1.0'
classpath 'com.github.triplet.gradle:play-publisher:2.5.0'
}
}

android {
compileSdkVersion 29

defaultConfig {
applicationId "io.homeassistant.android"
applicationId "io.homeassistant.companion.android"
minSdkVersion 21
targetSdkVersion 29
versionCode "${System.env.VERSION_CODE ?: 1}".toInteger()
versionName "1.0.0"
}

firebaseAppDistribution {
serviceCredentialsFile = "serviceCredentialsFile.json"
serviceCredentialsFile = "firebaseAppDistributionServiceCredentialsFile.json"
releaseNotesFile = "CHANGES.md"
}

signingConfigs {
release {
storeFile file('release_keystore.keystore')
storePassword "${System.env.KEYSTORE_PASSWORD ?: ""}"
keyAlias "$System.env.KEYSTORE_ALIAS" ?: ""
keyPassword "${System.env.KEYSTORE_ALIAS_PASSWORD ?: ""}"
v1SigningEnabled true
v2SigningEnabled true
}
}

buildTypes {
release {
debuggable false
jniDebuggable false
zipAlignEnabled true
signingConfig signingConfigs.release
}
}
}

play {
serviceAccountCredentials = file("playStorePublishServiceCredentialsFile.json")
}

dependencies {
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/AndroidManifest.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="io.homeassistant.android">
package="io.homeassistant.companion.android">

<uses-permission android:name="android.permission.INTERNET" />

Expand All @@ -15,7 +15,7 @@
android:usesCleartextTraffic="true"
tools:ignore="GoogleAppIndexingWarning">

<activity android:name=".io.homeassistant.android.launch.LaunchActivity">
<activity android:name=".launch.LaunchActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Expand Down
12 changes: 0 additions & 12 deletions app/src/main/java/io/homeassistant/android/webview/WebView.kt

This file was deleted.

@@ -1,7 +1,7 @@
package io.homeassistant.android
package io.homeassistant.companion.android

import android.app.Application
import io.homeassistant.android.api.Session
import io.homeassistant.companion.android.api.Session

class HomeAssistantApplication : Application() {

Expand Down
@@ -1,4 +1,4 @@
package io.homeassistant.android.api
package io.homeassistant.companion.android.api

import retrofit2.Call
import retrofit2.http.Field
Expand Down
@@ -1,4 +1,4 @@
package io.homeassistant.android.api
package io.homeassistant.companion.android.api

import com.fasterxml.jackson.annotation.JsonProperty

Expand Down
@@ -1,6 +1,6 @@
package io.homeassistant.android.api
package io.homeassistant.companion.android.api

import io.homeassistant.android.BuildConfig
import io.homeassistant.companion.android.BuildConfig
import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
Expand Down
@@ -1,4 +1,4 @@
package io.homeassistant.android.api
package io.homeassistant.companion.android.api

import com.fasterxml.jackson.annotation.JsonProperty

Expand Down
@@ -1,8 +1,7 @@
package io.homeassistant.android.api
package io.homeassistant.companion.android.api

import android.app.Application
import android.content.Context
import io.homeassistant.android.io.homeassistant.android.api.Token
import java.util.*


Expand Down
@@ -1,4 +1,4 @@
package io.homeassistant.android.io.homeassistant.android.api
package io.homeassistant.companion.android.api

import java.util.*

Expand Down
@@ -1,10 +1,10 @@
package io.homeassistant.android.io.homeassistant.android.launch
package io.homeassistant.companion.android.launch

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import io.homeassistant.android.api.Session
import io.homeassistant.android.onboarding.OnboardingActivity
import io.homeassistant.android.webview.WebViewActivity
import io.homeassistant.companion.android.api.Session
import io.homeassistant.companion.android.onboarding.OnboardingActivity
import io.homeassistant.companion.android.webview.WebViewActivity


class LaunchActivity : AppCompatActivity() {
Expand Down
@@ -1,4 +1,4 @@
package io.homeassistant.android.onboarding
package io.homeassistant.companion.android.onboarding

import android.os.Bundle
import android.os.Handler
Expand All @@ -8,7 +8,7 @@ import android.view.ViewGroup
import android.widget.Button
import android.widget.ViewFlipper
import androidx.fragment.app.Fragment
import io.homeassistant.android.R
import io.homeassistant.companion.android.R


class DiscoveryFragment : Fragment() {
Expand Down
@@ -1,4 +1,4 @@
package io.homeassistant.android.onboarding
package io.homeassistant.companion.android.onboarding

interface DiscoveryListener {

Expand Down
@@ -1,4 +1,4 @@
package io.homeassistant.android.onboarding
package io.homeassistant.companion.android.onboarding

import android.os.Bundle
import android.view.LayoutInflater
Expand All @@ -7,7 +7,7 @@ import android.view.ViewGroup
import android.widget.Button
import android.widget.EditText
import androidx.fragment.app.Fragment
import io.homeassistant.android.R
import io.homeassistant.companion.android.R


class ManualSetupFragment : Fragment() {
Expand Down
@@ -1,4 +1,4 @@
package io.homeassistant.android.onboarding
package io.homeassistant.companion.android.onboarding


interface ManualSetupListener {
Expand Down
@@ -1,12 +1,13 @@
package io.homeassistant.android.onboarding
package io.homeassistant.companion.android.onboarding

import android.content.Context
import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import io.homeassistant.android.onboarding.authentication.AuthenticationFragment
import io.homeassistant.android.onboarding.authentication.AuthenticationListener
import io.homeassistant.android.webview.WebViewActivity
import io.homeassistant.companion.android.R
import io.homeassistant.companion.android.onboarding.authentication.AuthenticationFragment
import io.homeassistant.companion.android.onboarding.authentication.AuthenticationListener
import io.homeassistant.companion.android.webview.WebViewActivity


class OnboardingActivity : AppCompatActivity(), DiscoveryListener, ManualSetupListener, AuthenticationListener {
Expand All @@ -21,12 +22,12 @@ class OnboardingActivity : AppCompatActivity(), DiscoveryListener, ManualSetupLi

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(io.homeassistant.android.R.layout.activity_onboarding)
setContentView(R.layout.activity_onboarding)

if (savedInstanceState == null) {
supportFragmentManager
.beginTransaction()
.add(io.homeassistant.android.R.id.content, DiscoveryFragment.newInstance())
.add(R.id.content, DiscoveryFragment.newInstance())
.commit()
}
}
Expand All @@ -42,7 +43,7 @@ class OnboardingActivity : AppCompatActivity(), DiscoveryListener, ManualSetupLi
override fun onSelectManualSetup() {
supportFragmentManager
.beginTransaction()
.replace(io.homeassistant.android.R.id.content, ManualSetupFragment.newInstance())
.replace(R.id.content, ManualSetupFragment.newInstance())
.commit()
}

Expand All @@ -53,7 +54,7 @@ class OnboardingActivity : AppCompatActivity(), DiscoveryListener, ManualSetupLi
override fun onSelectUrl(url: String) {
supportFragmentManager
.beginTransaction()
.replace(io.homeassistant.android.R.id.content, AuthenticationFragment.newInstance(url))
.replace(R.id.content, AuthenticationFragment.newInstance(url))
.commit()
}

Expand Down
@@ -1,4 +1,4 @@
package io.homeassistant.android.onboarding.authentication
package io.homeassistant.companion.android.onboarding.authentication

import android.os.Bundle
import android.view.LayoutInflater
Expand All @@ -7,7 +7,7 @@ import android.view.ViewGroup
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.fragment.app.Fragment
import io.homeassistant.android.R
import io.homeassistant.companion.android.R


class AuthenticationFragment : Fragment(), AuthenticationView {
Expand Down
@@ -1,4 +1,4 @@
package io.homeassistant.android.onboarding.authentication
package io.homeassistant.companion.android.onboarding.authentication

interface AuthenticationListener {

Expand Down
@@ -1,4 +1,4 @@
package io.homeassistant.android.onboarding.authentication
package io.homeassistant.companion.android.onboarding.authentication


interface AuthenticationPresenter {
Expand Down
@@ -1,11 +1,11 @@
package io.homeassistant.android.onboarding.authentication
package io.homeassistant.companion.android.onboarding.authentication

import android.net.Uri
import android.util.Log
import io.homeassistant.android.api.AuthenticationService
import io.homeassistant.android.api.HomeAssistantApi
import io.homeassistant.android.api.Session
import io.homeassistant.android.api.AuthorizationCode
import io.homeassistant.companion.android.api.AuthenticationService
import io.homeassistant.companion.android.api.HomeAssistantApi
import io.homeassistant.companion.android.api.Session
import io.homeassistant.companion.android.api.AuthorizationCode
import retrofit2.Call
import retrofit2.Response

Expand Down
@@ -1,4 +1,4 @@
package io.homeassistant.android.onboarding.authentication
package io.homeassistant.companion.android.onboarding.authentication


interface AuthenticationView {
Expand Down

0 comments on commit 1ec669d

Please sign in to comment.