MSG라는 교내 동아리에서 Hi-v2(홈베이스 관리 시스템)을 만드면서 일어났던 일을 정리한 내용입니다.
- name: Create LOCAL_PROPERTIES
run: echo '${{ secrets.LOCAL_PROPERTIES }}' > ./local.properties
android {
buildConfigField(
"String",
"BASE_URL",
getApiKey("BASE_URL")
)
...
}
fun getApiKey(propertyKey: String): String {
val propFile = rootProject.file("./local.properties")
val properties = Properties()
properties.load(FileInputStream(propFile))
return properties.getProperty(propertyKey)
}
@Module
@InstallIn(SingletonComponent::class)
object NetworkModule {
@Provides
@Singleton
fun provideOkhttpClient(): OkHttpClient {
return OkHttpClient.Builder()
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.build()
}
@Provides
@Singleton
fun provideRetrofitInstance(
okHttpClient: OkHttpClient,
gsonConverterFactory: GsonConverterFactory
): Retrofit {
return Retrofit.Builder()
.baseUrl(BuildConfig.BASE_URL)
.client(okHttpClient)
.addConverterFactory(gsonConverterFactory)
.build()
}
@Provides
@Singleton
fun provideConverterFactory(): GsonConverterFactory {
return GsonConverterFactory.create()
}
}
Property key 'BASE_URL' not found in local.properties
원래 코드
"https://www.example.com"
BASE_URL="https://www.example.com"