|
1 | | -@file:Suppress("RemoveExplicitTypeArguments") |
2 | | - |
3 | 1 | package com.gabrielfeo.gradle.enterprise.api |
4 | 2 |
|
5 | | -import com.gabrielfeo.gradle.enterprise.api.auth.HttpBearerAuth |
6 | | -import com.gabrielfeo.gradle.enterprise.api.infrastructure.Serializer |
7 | 3 | import com.gabrielfeo.gradle.enterprise.api.internal.* |
8 | | -import com.gabrielfeo.gradle.enterprise.api.internal.caching.CacheEnforcingInterceptor |
9 | | -import com.gabrielfeo.gradle.enterprise.api.internal.caching.CacheHitLoggingInterceptor |
10 | | -import com.gabrielfeo.gradle.enterprise.api.internal.caching.cache |
11 | | -import okhttp3.OkHttpClient |
12 | | -import retrofit2.Retrofit |
13 | | -import retrofit2.converter.moshi.MoshiConverterFactory |
14 | | -import retrofit2.converter.scalars.ScalarsConverterFactory |
15 | 4 | import retrofit2.create |
16 | 5 |
|
17 | | -var baseUrl: () -> String = { requireBaseUrl() } |
18 | | -var accessToken: () -> String = { requireToken() } |
| 6 | +val api: GradleEnterpriseApi by lazy { |
| 7 | + retrofit.create(GradleEnterpriseApi::class.java) |
| 8 | +} |
19 | 9 |
|
20 | | -var maxConcurrentRequests = 30 |
21 | | -var maxCacheSize = 500_000_000L |
22 | | -var debugLoggingEnabled = System.getenv("GRADLE_ENTERPRISE_API_DEBUG_LOGGING").toBoolean() |
| 10 | +fun shutdown() { |
| 11 | + okHttpClient.dispatcher.executorService.shutdownNow() |
| 12 | +} |
23 | 13 |
|
| 14 | +var maxCacheSize = 500_000_000L |
24 | 15 | val cacheablePaths: MutableList<Regex> = mutableListOf( |
25 | 16 | """.*/api/builds/[\d\w]+/(?:gradle|maven)-attributes""".toRegex(), |
26 | 17 | ) |
27 | 18 |
|
28 | | -val okHttpClient: OkHttpClient by lazy { |
29 | | - OkHttpClient.Builder() |
30 | | - .cache(cache) |
31 | | - .addInterceptor(HttpBearerAuth("bearer", accessToken())) |
32 | | - .addInterceptor(CacheHitLoggingInterceptor()) |
33 | | - .addNetworkInterceptor(CacheEnforcingInterceptor(cacheablePaths)) |
34 | | - .build() |
35 | | - .apply { |
36 | | - dispatcher.maxRequests = maxConcurrentRequests |
37 | | - dispatcher.maxRequestsPerHost = maxConcurrentRequests |
38 | | - } |
39 | | -} |
40 | | - |
41 | | -val retrofit: Retrofit by lazy { |
42 | | - Retrofit.Builder() |
43 | | - .baseUrl(baseUrl()) |
44 | | - .addConverterFactory(ScalarsConverterFactory.create()) |
45 | | - .addConverterFactory(MoshiConverterFactory.create(Serializer.moshi)) |
46 | | - .client(okHttpClient) |
47 | | - .build() |
48 | | -} |
49 | | - |
50 | | -val api: GradleEnterpriseApi by lazy { |
51 | | - retrofit.create<GradleEnterpriseApi>() |
52 | | -} |
| 19 | +var baseUrl: () -> String = { requireBaseUrl() } |
| 20 | +var accessToken: () -> String = { requireToken() } |
53 | 21 |
|
54 | | -fun shutdown() { |
55 | | - okHttpClient.dispatcher.executorService.shutdownNow() |
56 | | -} |
| 22 | +var maxConcurrentRequests = 30 |
| 23 | +var debugLoggingEnabled = System.getenv("GRADLE_ENTERPRISE_API_DEBUG_LOGGING").toBoolean() |
0 commit comments