From 31f832e20577f6e693042cf39cb9c667c47dcc80 Mon Sep 17 00:00:00 2001 From: AhmadKharfan Date: Thu, 30 Jul 2026 02:24:55 +0300 Subject: [PATCH 1/2] fill the editor terminal panel from the app. --- .../androidstudiolite/navigation/NavGraphs.kt | 6 ++++++ .../src/main/kotlin/ModuleBoundaryRules.kt | 1 - feature/editor/build.gradle.kts | 1 - .../androidstudiolite/feature/editor/EditorScreen.kt | 11 ++++++++++- .../editor/components/EditorBottomPanelContent.kt | 6 ++++-- 5 files changed, 20 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/ahmadkharfan/androidstudiolite/navigation/NavGraphs.kt b/app/src/main/java/com/ahmadkharfan/androidstudiolite/navigation/NavGraphs.kt index 300cdb59..5435fd39 100644 --- a/app/src/main/java/com/ahmadkharfan/androidstudiolite/navigation/NavGraphs.kt +++ b/app/src/main/java/com/ahmadkharfan/androidstudiolite/navigation/NavGraphs.kt @@ -20,6 +20,7 @@ import com.ahmadkharfan.androidstudiolite.feature.settings.navigation.settingsGr import com.ahmadkharfan.androidstudiolite.feature.terminal.navigation.terminalGraph import com.ahmadkharfan.androidstudiolite.feature.editor.EditorNavigation import com.ahmadkharfan.androidstudiolite.feature.editor.EditorRoute +import com.ahmadkharfan.androidstudiolite.feature.terminal.EditorEmbeddedTerminal import com.ahmadkharfan.androidstudiolite.feature.editor.git.conflict.GitConflictRoute import com.ahmadkharfan.androidstudiolite.feature.editor.git.diff.GitDiffRoute import com.ahmadkharfan.androidstudiolite.feature.editor.git.history.GitBlameRoute @@ -106,6 +107,11 @@ private fun NavGraphBuilder.editorDestination(navController: NavHostController) ), openConflictPath = conflictPath, onConflictPathOpened = { backStackEntry.savedStateHandle["git_conflict_path"] = null }, + // :app owns which terminal fills the editor's bottom panel, so :feature:editor does + // not depend on :feature:terminal. + terminalContent = { projectRootPath, modifier -> + EditorEmbeddedTerminal(projectRootPath = projectRootPath, modifier = modifier) + }, ) } } diff --git a/build-logic/conventions/src/main/kotlin/ModuleBoundaryRules.kt b/build-logic/conventions/src/main/kotlin/ModuleBoundaryRules.kt index db7318b6..0d3912fd 100644 --- a/build-logic/conventions/src/main/kotlin/ModuleBoundaryRules.kt +++ b/build-logic/conventions/src/main/kotlin/ModuleBoundaryRules.kt @@ -87,7 +87,6 @@ private fun violationFor(edge: ModuleEdge): BoundaryViolation? = when { val MODULE_BOUNDARY_BASELINE: Set = setOf( ":feature:editor -> :feature:buildrun", ":feature:editor -> :feature:git", - ":feature:editor -> :feature:terminal", ":feature:projects -> :feature:git", ":feature:settings -> :feature:git", ) diff --git a/feature/editor/build.gradle.kts b/feature/editor/build.gradle.kts index 56ec7bb7..81803771 100644 --- a/feature/editor/build.gradle.kts +++ b/feature/editor/build.gradle.kts @@ -8,7 +8,6 @@ dependencies { implementation(projects.designsystem) implementation(projects.feature.buildrun) implementation(projects.feature.git) - implementation(projects.feature.terminal) implementation(libs.koin.android) implementation(libs.koin.androidx.compose) implementation(libs.androidx.compose.material3) diff --git a/feature/editor/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/EditorScreen.kt b/feature/editor/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/EditorScreen.kt index dbeab724..be094f3e 100644 --- a/feature/editor/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/EditorScreen.kt +++ b/feature/editor/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/EditorScreen.kt @@ -78,6 +78,7 @@ private data class EditorScreenCallbacks( val interactionListener: EditorInteractionListener, val session: EditorSessionCallbacks, val gitNavigation: GitNavigationCallbacks, + val terminalContent: @Composable (projectRootPath: String, modifier: Modifier) -> Unit, ) private data class EditorContentLayout( @@ -91,6 +92,7 @@ fun EditorRoute( navigation: EditorNavigation, openConflictPath: String? = null, onConflictPathOpened: () -> Unit = {}, + terminalContent: @Composable (projectRootPath: String, modifier: Modifier) -> Unit = { _, _ -> }, viewModel: EditorViewModel = koinViewModel { parametersOf(projectId) }, ) { val uiState by viewModel.state.collectAsStateWithLifecycle() @@ -129,6 +131,7 @@ fun EditorRoute( EditorScreen( uiState = uiState, callbacks = EditorScreenCallbacks( + terminalContent = terminalContent, interactionListener = viewModel, session = EditorSessionCallbacks( sessionFor = viewModel::sessionFor, @@ -382,7 +385,11 @@ private fun EditorContentArea( ) if (!layout.keyboardOpen || terminalPanelActive) { - EditorBottomToolSection(uiState = uiState, interactionListener = callbacks.interactionListener) + EditorBottomToolSection( + uiState = uiState, + interactionListener = callbacks.interactionListener, + terminalContent = callbacks.terminalContent, + ) } if (!layout.keyboardOpen) { EditorFullStatusBar(uiState = uiState, onOpenBranches = callbacks.gitNavigation.openBranches) @@ -493,6 +500,7 @@ private fun EditorCodeSurface( private fun EditorBottomToolSection( uiState: EditorUiState, interactionListener: EditorInteractionListener, + terminalContent: @Composable (projectRootPath: String, modifier: Modifier) -> Unit, ) { AslBottomToolPanel( tabs = uiState.bottomPanelTabs.map { AslBottomPanelTab(it.id, it.label, it.icon, it.count, it.error) }, @@ -507,6 +515,7 @@ private fun EditorBottomToolSection( buildConsole = uiState.buildConsole, projectRootPath = uiState.projectRootPath, onJumpToBuildProblem = { interactionListener.onJumpToBuildProblem(it) }, + terminalContent = terminalContent, ) } } diff --git a/feature/editor/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/components/EditorBottomPanelContent.kt b/feature/editor/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/components/EditorBottomPanelContent.kt index 30e708a8..41efa344 100644 --- a/feature/editor/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/components/EditorBottomPanelContent.kt +++ b/feature/editor/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/components/EditorBottomPanelContent.kt @@ -41,7 +41,6 @@ import com.ahmadkharfan.androidstudiolite.feature.buildrun.BuildStatus import com.ahmadkharfan.androidstudiolite.feature.buildrun.BuildTaskGroup import com.ahmadkharfan.androidstudiolite.feature.editor.R import com.ahmadkharfan.androidstudiolite.feature.editor.toClipboardText -import com.ahmadkharfan.androidstudiolite.feature.terminal.EditorEmbeddedTerminal @Composable fun EditorBottomPanelContent( @@ -50,10 +49,13 @@ fun EditorBottomPanelContent( modifier: Modifier = Modifier, projectRootPath: String = "", onJumpToBuildProblem: (BuildProblem) -> Unit = {}, + // The terminal is supplied by the host rather than imported: the editor describes where a + // terminal goes, and :app decides which implementation fills it. + terminalContent: @Composable (projectRootPath: String, modifier: Modifier) -> Unit = { _, _ -> }, ) { when (activeTabId) { "build" -> BuildTab(buildConsole, onJumpToBuildProblem, modifier) - "term" -> EditorEmbeddedTerminal(projectRootPath = projectRootPath, modifier = modifier) + "term" -> terminalContent(projectRootPath, modifier) else -> AslEmptyState( icon = "terminal", title = stringResource(R.string.editor_bottom_empty), From 215b1a2e42f1bb51ad8c974918f888c0570b9d85 Mon Sep 17 00:00:00 2001 From: AhmadKharfan Date: Thu, 30 Jul 2026 02:31:29 +0300 Subject: [PATCH 2/2] give the git feature an api module. --- app/build.gradle.kts | 1 + .../androidstudiolite/di/GitModule.kt | 2 +- .../src/main/kotlin/ModuleBoundaryRules.kt | 2 - feature/editor/build.gradle.kts | 2 +- .../feature/editor/components/EditorDrawer.kt | 2 +- feature/git/api/build.gradle.kts | 11 + .../results.bin | 1 + .../git/api/GitErrorMessageMapperKt.dex | Bin 0 -> 3036 bytes .../api/GitPanelApi$ComposeDefaultImpls.dex | Bin 0 -> 12000 bytes .../feature/git/api/GitPanelApi.dex | Bin 0 -> 2540 bytes ...e285d0f02cbb62c4a58432728ad91da2$0.globals | Bin 0 -> 1867 bytes ...e285d0f02cbb62c4a58432728ad91da2$1.globals | Bin 0 -> 1867 bytes ...e285d0f02cbb62c4a58432728ad91da2$2.globals | Bin 0 -> 1867 bytes ...e285d0f02cbb62c4a58432728ad91da2$3.globals | Bin 0 -> 1867 bytes ...e285d0f02cbb62c4a58432728ad91da2$4.globals | Bin 0 -> 1867 bytes ...e285d0f02cbb62c4a58432728ad91da2$5.globals | Bin 0 -> 1867 bytes ...e285d0f02cbb62c4a58432728ad91da2$6.globals | Bin 0 -> 1867 bytes .../desugar_graph.bin | Bin 0 -> 235 bytes .../aapt/AndroidManifest.xml | 7 + .../aapt/output-metadata.json | 18 ++ .../aar-metadata.properties | 7 + .../debug/mapDebugSourceSetPaths/file-map.txt | 9 + .../annotationProcessors.json | 1 + .../annotationProcessors.json | 1 + .../classes/META-INF/api.kotlin_module | Bin 0 -> 103 bytes .../git/api/GitErrorMessageMapperKt.class | Bin 0 -> 2540 bytes .../api/GitPanelApi$ComposeDefaultImpls.class | Bin 0 -> 11527 bytes .../feature/git/api/GitPanelApi.class | Bin 0 -> 2056 bytes .../generateDebugUnitTestStubRFile/R.jar | Bin 0 -> 97433 bytes .../bundleLibCompileToJarDebug/classes.jar | Bin 0 -> 18379 bytes .../debug/generateDebugRFile/R.jar | Bin 0 -> 381 bytes .../debug/generateDebugRFile/R.txt | 0 .../compile-file-map.properties | 1 + .../debug/packageDebugResources/merger.xml | 2 + .../incremental/mergeDebugAssets/merger.xml | 2 + .../mergeDebugJniLibFolders/merger.xml | 2 + .../out/META-INF/api.kotlin_module | Bin 0 -> 103 bytes .../debug/parseDebugLocalResources/R-def.txt | 2 + .../manifest-merger-blame-debug-report.txt | 9 + .../processDebugManifest/AndroidManifest.xml | 7 + .../extractDeepLinksDebug/navigation.json | 1 + .../nestedResourcesValidationReport.txt | 1 + .../META-INF/api.kotlin_module | Bin 0 -> 103 bytes .../git/api/GitErrorMessageMapperKt.class | Bin 0 -> 2540 bytes .../api/GitPanelApi$ComposeDefaultImpls.class | Bin 0 -> 11527 bytes .../feature/git/api/GitPanelApi.class | Bin 0 -> 2056 bytes .../bundleLibRuntimeToJarDebug/classes.jar | Bin 0 -> 18020 bytes .../generateDebugRFile/package-aware-r.txt | 1 + .../caches-jvm/inputs/source-to-output.tab | Bin 0 -> 4096 bytes .../inputs/source-to-output.tab.keystream | Bin 0 -> 4096 bytes .../inputs/source-to-output.tab.keystream.len | Bin 0 -> 8 bytes .../inputs/source-to-output.tab.len | Bin 0 -> 8 bytes .../inputs/source-to-output.tab.values.at | Bin 0 -> 1291 bytes .../caches-jvm/inputs/source-to-output.tab_i | Bin 0 -> 32768 bytes .../inputs/source-to-output.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-attributes.tab | Bin 0 -> 4096 bytes .../jvm/kotlin/class-attributes.tab.keystream | Bin 0 -> 4096 bytes .../kotlin/class-attributes.tab.keystream.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-attributes.tab.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-attributes.tab.values.at | Bin 0 -> 52 bytes .../jvm/kotlin/class-attributes.tab_i | Bin 0 -> 32768 bytes .../jvm/kotlin/class-attributes.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-fq-name-to-source.tab | Bin 0 -> 4096 bytes .../class-fq-name-to-source.tab.keystream | Bin 0 -> 4096 bytes .../class-fq-name-to-source.tab.keystream.len | Bin 0 -> 8 bytes .../kotlin/class-fq-name-to-source.tab.len | Bin 0 -> 8 bytes .../class-fq-name-to-source.tab.values.at | Bin 0 -> 246 bytes .../jvm/kotlin/class-fq-name-to-source.tab_i | Bin 0 -> 32768 bytes .../kotlin/class-fq-name-to-source.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/internal-name-to-source.tab | Bin 0 -> 4096 bytes .../internal-name-to-source.tab.keystream | Bin 0 -> 4096 bytes .../internal-name-to-source.tab.keystream.len | Bin 0 -> 8 bytes .../kotlin/internal-name-to-source.tab.len | Bin 0 -> 8 bytes .../internal-name-to-source.tab.values.at | Bin 0 -> 660 bytes .../jvm/kotlin/internal-name-to-source.tab_i | Bin 0 -> 32768 bytes .../kotlin/internal-name-to-source.tab_i.len | Bin 0 -> 8 bytes .../caches-jvm/jvm/kotlin/package-parts.tab | Bin 0 -> 4096 bytes .../jvm/kotlin/package-parts.tab.keystream | Bin 0 -> 4096 bytes .../kotlin/package-parts.tab.keystream.len | Bin 0 -> 8 bytes .../jvm/kotlin/package-parts.tab.len | Bin 0 -> 8 bytes .../jvm/kotlin/package-parts.tab.values.at | Bin 0 -> 52 bytes .../caches-jvm/jvm/kotlin/package-parts.tab_i | Bin 0 -> 32768 bytes .../jvm/kotlin/package-parts.tab_i.len | Bin 0 -> 8 bytes .../cacheable/caches-jvm/jvm/kotlin/proto.tab | Bin 0 -> 4096 bytes .../caches-jvm/jvm/kotlin/proto.tab.keystream | Bin 0 -> 4096 bytes .../jvm/kotlin/proto.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/jvm/kotlin/proto.tab.len | Bin 0 -> 8 bytes .../caches-jvm/jvm/kotlin/proto.tab.values.at | Bin 0 -> 1033 bytes .../caches-jvm/jvm/kotlin/proto.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/jvm/kotlin/proto.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/source-to-classes.tab | Bin 0 -> 4096 bytes .../kotlin/source-to-classes.tab.keystream | Bin 0 -> 4096 bytes .../source-to-classes.tab.keystream.len | Bin 0 -> 8 bytes .../jvm/kotlin/source-to-classes.tab.len | Bin 0 -> 8 bytes .../kotlin/source-to-classes.tab.values.at | Bin 0 -> 566 bytes .../jvm/kotlin/source-to-classes.tab_i | Bin 0 -> 32768 bytes .../jvm/kotlin/source-to-classes.tab_i.len | Bin 0 -> 8 bytes .../cacheable/caches-jvm/lookups/counters.tab | 2 + .../caches-jvm/lookups/file-to-id.tab | Bin 0 -> 4096 bytes .../lookups/file-to-id.tab.keystream | Bin 0 -> 4096 bytes .../lookups/file-to-id.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/file-to-id.tab.len | Bin 0 -> 8 bytes .../lookups/file-to-id.tab.values.at | Bin 0 -> 61 bytes .../caches-jvm/lookups/file-to-id.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/lookups/file-to-id.tab_i.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/id-to-file.tab | Bin 0 -> 4096 bytes .../lookups/id-to-file.tab.keystream | Bin 0 -> 4096 bytes .../lookups/id-to-file.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/id-to-file.tab.len | Bin 0 -> 8 bytes .../lookups/id-to-file.tab.values.at | Bin 0 -> 255 bytes .../caches-jvm/lookups/id-to-file.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/lookups/id-to-file.tab_i.len | Bin 0 -> 8 bytes .../cacheable/caches-jvm/lookups/lookups.tab | Bin 0 -> 4096 bytes .../caches-jvm/lookups/lookups.tab.keystream | Bin 0 -> 4096 bytes .../lookups/lookups.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/lookups.tab.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/lookups.tab.values.at | Bin 0 -> 311 bytes .../caches-jvm/lookups/lookups.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/lookups/lookups.tab_i.len | Bin 0 -> 8 bytes .../cacheable/last-build.bin | Bin 0 -> 18 bytes .../shrunk-classpath-snapshot.bin | Bin 0 -> 16222 bytes .../logs/manifest-merger-debug-report.txt | 16 ++ .../git/api/build/reports/detekt/detekt.html | 194 ++++++++++++++++++ feature/git/api/detekt-baseline.xml | 8 + .../feature/git/api}/GitErrorMessageMapper.kt | 2 +- .../feature/git/api/GitPanelApi.kt | 23 +++ feature/git/build.gradle.kts | 1 + feature/git/detekt-baseline.xml | 2 - .../{GitPanelApi.kt => GitPanelApiImpl.kt} | 15 +- .../editor/git/GitPanelControllerContext.kt | 2 +- .../feature/editor/git/GitPanelViewModel.kt | 2 +- .../feature/editor/git/GitViewModel.kt | 1 + .../git/conflict/GitConflictViewModel.kt | 2 +- .../editor/git/history/GitHistoryViewModel.kt | 2 +- .../editor/git/refs/GitRefsViewModel.kt | 2 +- .../editor/git/GitErrorMessageMapperTest.kt | 1 + feature/projects/build.gradle.kts | 2 +- .../feature/clonerepo/CloneRepoViewModel.kt | 2 +- settings.gradle.kts | 1 + 139 files changed, 343 insertions(+), 29 deletions(-) create mode 100644 feature/git/api/build.gradle.kts create mode 100644 feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/results.bin create mode 100644 feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/ahmadkharfan/androidstudiolite/feature/git/api/GitErrorMessageMapperKt.dex create mode 100644 feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls.dex create mode 100644 feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi.dex create mode 100644 feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls$$InternalSyntheticLambda$2$9328e4783d26e1f4137cb1c7d3d49dc1e285d0f02cbb62c4a58432728ad91da2$0.globals create mode 100644 feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls$$InternalSyntheticLambda$2$9328e4783d26e1f4137cb1c7d3d49dc1e285d0f02cbb62c4a58432728ad91da2$1.globals create mode 100644 feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls$$InternalSyntheticLambda$2$9328e4783d26e1f4137cb1c7d3d49dc1e285d0f02cbb62c4a58432728ad91da2$2.globals create mode 100644 feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls$$InternalSyntheticLambda$2$9328e4783d26e1f4137cb1c7d3d49dc1e285d0f02cbb62c4a58432728ad91da2$3.globals create mode 100644 feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls$$InternalSyntheticLambda$2$9328e4783d26e1f4137cb1c7d3d49dc1e285d0f02cbb62c4a58432728ad91da2$4.globals create mode 100644 feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls$$InternalSyntheticLambda$2$9328e4783d26e1f4137cb1c7d3d49dc1e285d0f02cbb62c4a58432728ad91da2$5.globals create mode 100644 feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls$$InternalSyntheticLambda$2$9328e4783d26e1f4137cb1c7d3d49dc1e285d0f02cbb62c4a58432728ad91da2$6.globals create mode 100644 feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin create mode 100644 feature/git/api/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml create mode 100644 feature/git/api/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json create mode 100644 feature/git/api/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties create mode 100644 feature/git/api/build/intermediates/android_res_source_set_path_map/debug/mapDebugSourceSetPaths/file-map.txt create mode 100644 feature/git/api/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json create mode 100644 feature/git/api/build/intermediates/annotation_processor_list/debugUnitTest/javaPreCompileDebugUnitTest/annotationProcessors.json create mode 100644 feature/git/api/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/META-INF/api.kotlin_module create mode 100644 feature/git/api/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/com/ahmadkharfan/androidstudiolite/feature/git/api/GitErrorMessageMapperKt.class create mode 100644 feature/git/api/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls.class create mode 100644 feature/git/api/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi.class create mode 100644 feature/git/api/build/intermediates/compile_and_runtime_r_class_jar/debugUnitTest/generateDebugUnitTestStubRFile/R.jar create mode 100644 feature/git/api/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar create mode 100644 feature/git/api/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar create mode 100644 feature/git/api/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt create mode 100644 feature/git/api/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties create mode 100644 feature/git/api/build/intermediates/incremental/debug/packageDebugResources/merger.xml create mode 100644 feature/git/api/build/intermediates/incremental/mergeDebugAssets/merger.xml create mode 100644 feature/git/api/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml create mode 100644 feature/git/api/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/api.kotlin_module create mode 100644 feature/git/api/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt create mode 100644 feature/git/api/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt create mode 100644 feature/git/api/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml create mode 100644 feature/git/api/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json create mode 100644 feature/git/api/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt create mode 100644 feature/git/api/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/api.kotlin_module create mode 100644 feature/git/api/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/ahmadkharfan/androidstudiolite/feature/git/api/GitErrorMessageMapperKt.class create mode 100644 feature/git/api/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls.class create mode 100644 feature/git/api/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi.class create mode 100644 feature/git/api/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar create mode 100644 feature/git/api/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/cacheable/last-build.bin create mode 100644 feature/git/api/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin create mode 100644 feature/git/api/build/outputs/logs/manifest-merger-debug-report.txt create mode 100644 feature/git/api/build/reports/detekt/detekt.html create mode 100644 feature/git/api/detekt-baseline.xml rename feature/git/{src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git => api/src/main/java/com/ahmadkharfan/androidstudiolite/feature/git/api}/GitErrorMessageMapper.kt (94%) create mode 100644 feature/git/api/src/main/java/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi.kt rename feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/{GitPanelApi.kt => GitPanelApiImpl.kt} (70%) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 546e41e1..602eeabc 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -132,6 +132,7 @@ dependencies { implementation(projects.feature.terminal) implementation(projects.feature.buildrun) implementation(projects.feature.git) + implementation(projects.feature.git.api) implementation(projects.feature.editor) implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.activity.compose) diff --git a/app/src/main/java/com/ahmadkharfan/androidstudiolite/di/GitModule.kt b/app/src/main/java/com/ahmadkharfan/androidstudiolite/di/GitModule.kt index d4749b13..b0e26a04 100644 --- a/app/src/main/java/com/ahmadkharfan/androidstudiolite/di/GitModule.kt +++ b/app/src/main/java/com/ahmadkharfan/androidstudiolite/di/GitModule.kt @@ -24,7 +24,7 @@ import com.ahmadkharfan.androidstudiolite.domain.usecase.CloneProjectUseCase import com.ahmadkharfan.androidstudiolite.domain.usecase.ProjectPathResolver import com.ahmadkharfan.androidstudiolite.feature.clonerepo.CloneRepoViewModel import com.ahmadkharfan.androidstudiolite.feature.editor.assets.AssetsViewModel -import com.ahmadkharfan.androidstudiolite.feature.editor.git.GitPanelApi +import com.ahmadkharfan.androidstudiolite.feature.git.api.GitPanelApi import com.ahmadkharfan.androidstudiolite.feature.editor.git.GitPanelApiImpl import com.ahmadkharfan.androidstudiolite.feature.editor.git.GitPanelViewModel import com.ahmadkharfan.androidstudiolite.feature.editor.git.diff.GitDiffViewModel diff --git a/build-logic/conventions/src/main/kotlin/ModuleBoundaryRules.kt b/build-logic/conventions/src/main/kotlin/ModuleBoundaryRules.kt index 0d3912fd..e420a262 100644 --- a/build-logic/conventions/src/main/kotlin/ModuleBoundaryRules.kt +++ b/build-logic/conventions/src/main/kotlin/ModuleBoundaryRules.kt @@ -86,7 +86,5 @@ private fun violationFor(edge: ModuleEdge): BoundaryViolation? = when { /** Edges that are allowed for now and expected to be removed. Nothing may be added to this list. */ val MODULE_BOUNDARY_BASELINE: Set = setOf( ":feature:editor -> :feature:buildrun", - ":feature:editor -> :feature:git", - ":feature:projects -> :feature:git", ":feature:settings -> :feature:git", ) diff --git a/feature/editor/build.gradle.kts b/feature/editor/build.gradle.kts index 81803771..5ed8dd26 100644 --- a/feature/editor/build.gradle.kts +++ b/feature/editor/build.gradle.kts @@ -7,7 +7,7 @@ dependencies { implementation(projects.core.common) implementation(projects.designsystem) implementation(projects.feature.buildrun) - implementation(projects.feature.git) + implementation(projects.feature.git.api) implementation(libs.koin.android) implementation(libs.koin.androidx.compose) implementation(libs.androidx.compose.material3) diff --git a/feature/editor/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/components/EditorDrawer.kt b/feature/editor/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/components/EditorDrawer.kt index 8ddf4e53..c2327a83 100644 --- a/feature/editor/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/components/EditorDrawer.kt +++ b/feature/editor/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/components/EditorDrawer.kt @@ -45,7 +45,7 @@ import com.ahmadkharfan.androidstudiolite.domain.model.GitFileStatus import com.ahmadkharfan.androidstudiolite.domain.model.GitDiffTarget import com.ahmadkharfan.androidstudiolite.feature.editor.aichat.AiChatRoute import com.ahmadkharfan.androidstudiolite.feature.editor.assets.AssetsRoute -import com.ahmadkharfan.androidstudiolite.feature.editor.git.GitPanelApi +import com.ahmadkharfan.androidstudiolite.feature.git.api.GitPanelApi import com.ahmadkharfan.androidstudiolite.feature.editor.EditorFileCreateKind import com.ahmadkharfan.androidstudiolite.feature.editor.EditorFileNodeUiModel import com.ahmadkharfan.androidstudiolite.feature.editor.EditorFileTreeAction diff --git a/feature/git/api/build.gradle.kts b/feature/git/api/build.gradle.kts new file mode 100644 index 00000000..96ec06c9 --- /dev/null +++ b/feature/git/api/build.gradle.kts @@ -0,0 +1,11 @@ +plugins { id("asl.android.library.compose") } + +android { namespace = "com.ahmadkharfan.androidstudiolite.feature.git.api" } + +dependencies { + // A contract module: it may expose domain types in its signatures, so :domain is `api`, not + // `implementation`. Nothing else is allowed in here. + api(projects.domain) + implementation(platform(libs.androidx.compose.bom)) + implementation(libs.androidx.compose.ui) +} diff --git a/feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/results.bin b/feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/results.bin new file mode 100644 index 00000000..7ed749eb --- /dev/null +++ b/feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/results.bin @@ -0,0 +1 @@ +o/bundleLibRuntimeToDirDebug diff --git a/feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/ahmadkharfan/androidstudiolite/feature/git/api/GitErrorMessageMapperKt.dex b/feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/ahmadkharfan/androidstudiolite/feature/git/api/GitErrorMessageMapperKt.dex new file mode 100644 index 0000000000000000000000000000000000000000..457f42bb51a959bae257eb13137443006f9eb5e5 GIT binary patch literal 3036 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 cVJCPVHvv3v1FyHkF2lb;@|4#k?0hgnt5C8xG literal 0 HcmV?d00001 diff --git a/feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi.dex b/feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi.dex new file mode 100644 index 0000000000000000000000000000000000000000..4b96c688445b17be7099b0317cedfa986a568b59 GIT binary patch literal 2540 zcmchZO>7%g5XWcNA90)}aZF*;kU+X^X$rB|bt78hiUO&i0k;KOazQ0}_C7lsuXoMv zI;50FK}aAF5)udr5QmCNeBAgtR3K2)B7`UsAP#Ur>XAb^0ph@g|JZ9aDzrwb#It`p z@6F8n+*!Rb<#IB&Yd5`U|M21SKfdtgXU89U`-^W+FIM(FzVWf_=f7R-C2A1S^4wG! zqE+sKE{7WH2SH9D!k=t@goUfip?(#zm>@a@c?Ns}URH@-1s_C+J_cvNSKvJO4*Us5 zqeRERN8k@I93$Ed9su*e2hV{wzVKu3y)>f1Ft0}cD23i6ZRv1*4)6h9Aj~*Zd961Ij~&EH|`BYW7|xX%h66ppm-Zdln`K*}sd*u1USWf)PiWr4PIbCX_y_7$-b zLoC#VSz8cZML0${xF0l4%eAdQ8m3zpcq?_+l(vCI?YAnGqr$7opg>3e%K#NAf~F^p zsudWbVeuH9jcpBgzF$^E(++0q4cjl!UDr5jfi@RSVJ}%VY{zi}!I5Mfl=YJIW^Cd6 z5|fPmi^~zK>a^Bcp!B-ozoUA@ zu`v30r+KCL@9MF)n+Mj>WtRM2M2_oKjYS!hJiK>*-4Xi6AvZYGwCw_Iy_yp|+Cdm= zy=PM9sBf;=DTrf40jcIrkSC=^YJG`%TxZ6{H$elgbGRX$dpzNk7o<;v?e>i8RBWpp z_>^obI1H)3T|Z#?f$JUbG>-(r=dPjWQBn1&x8b?`7H3V0EeX3RNnN&RO<7slzvqNr z66Kn7Onq86<+47h^9O3#t+>f>;I|B=W)&t=`pv5Fq?xfToRD`sW0?}4amA9JuTMY9 zeY1h<+I}|tmZrll^NVI}9-aL8GB#sXn_g>z>3nu)Hm@I>)E9)G!Jf-Czgfpnf!CCi zdfjp|I4^xVKQ*Z@VGhJHmUBlI-KO-D^zh2c$_f2izZi@-b$e+~WolO$W0FE@T$vml z(^PFp)3ocgn6^oaq8`=yTCKM3O3$R0;JdS*l-}6*sG=#GN7GurM%pO24Q$oY+IHE-AUX2T|bNMBdJRZa4n^5;VB;V&;IyRP_+=$oH$&cErZ0ATwQCj|-AMt(9 zeOB>MkU((#6dvk$dmPS}qNuYU?~PDrAI=XV@aO!2*Q17gc}?-qhw}(dO4y%sw!Z-t CKXC2< literal 0 HcmV?d00001 diff --git a/feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls$$InternalSyntheticLambda$2$9328e4783d26e1f4137cb1c7d3d49dc1e285d0f02cbb62c4a58432728ad91da2$0.globals b/feature/git/api/build/.transforms/94fe96eea3abd8fd68adf8acb98c38e2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls$$InternalSyntheticLambda$2$9328e4783d26e1f4137cb1c7d3d49dc1e285d0f02cbb62c4a58432728ad91da2$0.globals new file mode 100644 index 0000000000000000000000000000000000000000..48bf507347f8e04614e4125b05bbd97be82e190c GIT binary patch literal 1867 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 literal 0 HcmV?d00001 diff --git a/feature/git/api/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml b/feature/git/api/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml new file mode 100644 index 00000000..a6bf8616 --- /dev/null +++ b/feature/git/api/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/feature/git/api/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json b/feature/git/api/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json new file mode 100644 index 00000000..9e97e138 --- /dev/null +++ b/feature/git/api/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json @@ -0,0 +1,18 @@ +{ + "version": 3, + "artifactType": { + "type": "AAPT_FRIENDLY_MERGED_MANIFESTS", + "kind": "Directory" + }, + "applicationId": "com.ahmadkharfan.androidstudiolite.feature.git.api", + "variantName": "debug", + "elements": [ + { + "type": "SINGLE", + "filters": [], + "attributes": [], + "outputFile": "AndroidManifest.xml" + } + ], + "elementType": "File" +} \ No newline at end of file diff --git a/feature/git/api/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties b/feature/git/api/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties new file mode 100644 index 00000000..b4c821ba --- /dev/null +++ b/feature/git/api/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties @@ -0,0 +1,7 @@ +aarFormatVersion=1.0 +aarMetadataVersion=1.0 +minCompileSdk=37 +minCompileMinorSdk=0 +minCompileSdkExtension=0 +minAndroidGradlePluginVersion=1.0.0 +coreLibraryDesugaringEnabled=false diff --git a/feature/git/api/build/intermediates/android_res_source_set_path_map/debug/mapDebugSourceSetPaths/file-map.txt b/feature/git/api/build/intermediates/android_res_source_set_path_map/debug/mapDebugSourceSetPaths/file-map.txt new file mode 100644 index 00000000..15728206 --- /dev/null +++ b/feature/git/api/build/intermediates/android_res_source_set_path_map/debug/mapDebugSourceSetPaths/file-map.txt @@ -0,0 +1,9 @@ +com.ahmadkharfan.androidstudiolite.feature.git.api-pngs-0 /home/null/AndroidStudioProjects/AndroidStudioLite/feature/git/api/build/generated/res/pngs/debug +com.ahmadkharfan.androidstudiolite.feature.git.api-updated_navigation_xml-1 /home/null/AndroidStudioProjects/AndroidStudioLite/feature/git/api/build/generated/updated_navigation_xml/debug +com.ahmadkharfan.androidstudiolite.feature.git.api-mergeDebugResources-2 /home/null/AndroidStudioProjects/AndroidStudioLite/feature/git/api/build/intermediates/incremental/debug/mergeDebugResources/merged.dir +com.ahmadkharfan.androidstudiolite.feature.git.api-mergeDebugResources-3 /home/null/AndroidStudioProjects/AndroidStudioLite/feature/git/api/build/intermediates/incremental/debug/mergeDebugResources/stripped.dir +com.ahmadkharfan.androidstudiolite.feature.git.api-debug-4 /home/null/AndroidStudioProjects/AndroidStudioLite/feature/git/api/build/intermediates/merged_res/debug/mergeDebugResources +com.ahmadkharfan.androidstudiolite.feature.git.api-debug-5 /home/null/AndroidStudioProjects/AndroidStudioLite/feature/git/api/build/intermediates/packaged_res/debug/packageDebugResources +com.ahmadkharfan.androidstudiolite.feature.git.api-debug-6 /home/null/AndroidStudioProjects/AndroidStudioLite/feature/git/api/src/debug/res +com.ahmadkharfan.androidstudiolite.feature.git.api-main-7 /home/null/AndroidStudioProjects/AndroidStudioLite/feature/git/api/src/main/res +gradleHome-0 /home/null/.gradle \ No newline at end of file diff --git a/feature/git/api/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json b/feature/git/api/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/feature/git/api/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/feature/git/api/build/intermediates/annotation_processor_list/debugUnitTest/javaPreCompileDebugUnitTest/annotationProcessors.json b/feature/git/api/build/intermediates/annotation_processor_list/debugUnitTest/javaPreCompileDebugUnitTest/annotationProcessors.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/feature/git/api/build/intermediates/annotation_processor_list/debugUnitTest/javaPreCompileDebugUnitTest/annotationProcessors.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/feature/git/api/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/META-INF/api.kotlin_module b/feature/git/api/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/META-INF/api.kotlin_module new file mode 100644 index 0000000000000000000000000000000000000000..c69457266afbaf45a323b380d8b48a3f3394ceb8 GIT binary patch literal 103 zcmXZNF%E+;3w0T literal 0 HcmV?d00001 diff --git a/feature/git/api/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/com/ahmadkharfan/androidstudiolite/feature/git/api/GitErrorMessageMapperKt.class b/feature/git/api/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/com/ahmadkharfan/androidstudiolite/feature/git/api/GitErrorMessageMapperKt.class new file mode 100644 index 0000000000000000000000000000000000000000..ee08c5f4ab72e94e05f44154a47054676f16c7ec GIT binary patch literal 2540 zcmbtWU2hXd6g^{;tT7=ZCQv?FIuzQFKx3e^P|{LDAP{f@O+r%2(_}rdH(u{pyR$KQ zsD#wl{s4HdKVtyp->6QmOXRl?9ARfXU^Q~-~ayU7Xat+ zrNB+!)QhTGSLIq&#cL`ms;C^Bpq$vW9GEb$y11s5O=DfG1h%LeLGgNEuf?&6=X8>& zik?%AhK_Gp4?^o_UgL!iDm`%aOw6X0%Ipi-I+_(*fiB@s3*s^p^G*S zqROPev66`^#dU30V--XRBaDnyHZZj3jh#=!khA)%7tpmTN(rSbE+s zaJ?tbi&llYq*bCl93b}$!Pl~pCRG_aR0fGm+?)wHqpe?k?)lK`Dfju6)K8u-|1BVl)nvB$kV7$Qyz{B?0v=U^zfcQ zzM^gC;tPzNc*TVszzK}yF^X}4qthl0%h9NnX``$tC`VnQLsCYHt7%lr;grC&o>*Hl zrlfeB9ww;V8D1L4lQl+$4wh?%7pF>yiA!z-x|zdifl^OCuf!_yt4tql)$pLs3dk+c zDaX1*CDW+xWahNgzCJme>s7bYX&f^}YQJ#>Wa=APR>6#GARual9t3Vgab(J8Sfidk9Lzs`n9mG# zx-3VB28Y;WPK&esLmBqjXW#Yja0@5^z9!28Nq$~gA}4BAV8=8ofWU5EHowNwx#a2| zD`Y8%^n6-h)o}+YFa@Y^S;c{y(E$%Hq^u8hJsWKVNkDw6TMH?L|2}dK$My{~8g`a8f zbM_l8JfVHi*@s*BmiAlDe!GQ7w2wObSPS3Ke)lnk$A7@dd%xkUmBRZiGzk{FV0EQ% zriE34A9TURmBNQD%n>}_1uv}>K5pRx!O1Q-wo>@Cg<}Li>w+UIg{c+>J8t_qdcqxL zvB-8m2L8f`htXa9jI=*DJzT{SpIyWtdFVrq?Fg8kX`RAOTtJ>PcHtiX7DU*MuQ~4# z_TYOA;TeYU2MV~$^#kOR%yHEf_RIYB6Yb%7 literal 0 HcmV?d00001 diff --git a/feature/git/api/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls.class b/feature/git/api/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls.class new file mode 100644 index 0000000000000000000000000000000000000000..1c9bc94cc20bc6beea1a1792217e8c545627ac1e GIT binary patch literal 11527 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 H!>|7r78OLA literal 0 HcmV?d00001 diff --git a/feature/git/api/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi.class b/feature/git/api/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi.class new file mode 100644 index 0000000000000000000000000000000000000000..3fb61f3b3b836960568e1f4b242a50a57dfc9837 GIT binary patch literal 2056 zcmd5-%~BIV5boI|n-D@+0xAUm0Ra^@?!~g8P=r!qMW6t=a2m3cFt9t5+L=&z;|+WV zPd>UzNJD%Uoxar-^jt5h&=zQ&V42w1yxpV}T3ReNQ7mz8xA zVgwQqhLE9&Qp>-t11_pFr9G)VF6`ZX->%d}S#v3r{jNDGwDCJ_{O#8N1Amjm0~_hB zNyY4-E;RR8|uC-jFX{=7l%D z$Sai%8dRA++p?n*6mE9l{~X@gy~0?j4UleoY=*!{Nd{GWm+9>Q$yQiz;?G(d$qMX$I>%&5VysQ)icz{%0!MA{fM z(uQ?(n8werjE2fa3O(Uu2nhdFGF2HoI&_Qz`EdM&SVrC`#2nL#qfR&(%gm>8@f^+- zl1@HlSgHI#WG5n-Zu+{MEc&|7VM9A}!S1c1G=^)K z8f|vBMOLA8PZ#}~r;;#Ap#KU7p84EEGQFpf<8@vY(OW}cc&*Vfi(;QEj^#4nstqiO zi{4clP@icQ`~}Mtg!GgXb H1tWg|NcUtD literal 0 HcmV?d00001 diff --git a/feature/git/api/build/intermediates/compile_and_runtime_r_class_jar/debugUnitTest/generateDebugUnitTestStubRFile/R.jar b/feature/git/api/build/intermediates/compile_and_runtime_r_class_jar/debugUnitTest/generateDebugUnitTestStubRFile/R.jar new file mode 100644 index 0000000000000000000000000000000000000000..dc993c01a807e859630be03c8942234bca124bef GIT binary patch literal 97433 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 JzrBy&egZbU)gk}@ literal 0 HcmV?d00001 diff --git a/feature/git/api/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar b/feature/git/api/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar new file mode 100644 index 0000000000000000000000000000000000000000..5bf54ca79a2cb0425d4157f497d5143ddf1401b7 GIT binary patch literal 381 zcmbVIyH3ME5S;Zh4+{8%bR-2Qq*Mr{N$CQMf`0K`;tP(A>`VH52Q3mc6%qv>z(+y$ za7&eyMl++4M!TD5VT8Y#3?{*FIevK)=W!z_nyun;%lfJ0cEz>gTDOhWo!e>KRMr`_ zGVFG(QETfIKU;NwRaD${-#?#UQZUDeFh8Xx1rg3Syk}K$y;gUR8&kLxAtAZ7wRHbsWxC>ztj%Objy!#x;GYSy)`o9PC3GjOG>XbYB QcjQ@|_y)g0Dg5gVjzOtg9smFU literal 0 HcmV?d00001 diff --git a/feature/git/api/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt b/feature/git/api/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt new file mode 100644 index 00000000..e69de29b diff --git a/feature/git/api/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties b/feature/git/api/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties new file mode 100644 index 00000000..a24f9471 --- /dev/null +++ b/feature/git/api/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties @@ -0,0 +1 @@ +#Thu Jul 30 02:27:19 EET 2026 diff --git a/feature/git/api/build/intermediates/incremental/debug/packageDebugResources/merger.xml b/feature/git/api/build/intermediates/incremental/debug/packageDebugResources/merger.xml new file mode 100644 index 00000000..a343fb0a --- /dev/null +++ b/feature/git/api/build/intermediates/incremental/debug/packageDebugResources/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/feature/git/api/build/intermediates/incremental/mergeDebugAssets/merger.xml b/feature/git/api/build/intermediates/incremental/mergeDebugAssets/merger.xml new file mode 100644 index 00000000..77693b3b --- /dev/null +++ b/feature/git/api/build/intermediates/incremental/mergeDebugAssets/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/feature/git/api/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml b/feature/git/api/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml new file mode 100644 index 00000000..e533f6ad --- /dev/null +++ b/feature/git/api/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/feature/git/api/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/api.kotlin_module b/feature/git/api/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/api.kotlin_module new file mode 100644 index 0000000000000000000000000000000000000000..c69457266afbaf45a323b380d8b48a3f3394ceb8 GIT binary patch literal 103 zcmXZNF%E+;3w0T literal 0 HcmV?d00001 diff --git a/feature/git/api/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt b/feature/git/api/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt new file mode 100644 index 00000000..78ac5b8b --- /dev/null +++ b/feature/git/api/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt @@ -0,0 +1,2 @@ +R_DEF: Internal format may change without notice +local diff --git a/feature/git/api/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt b/feature/git/api/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt new file mode 100644 index 00000000..f65f2414 --- /dev/null +++ b/feature/git/api/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt @@ -0,0 +1,9 @@ +1 +2 +4 +5 +5-->INJECTED +5-->INJECTED +6 +7 diff --git a/feature/git/api/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml b/feature/git/api/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml new file mode 100644 index 00000000..a6bf8616 --- /dev/null +++ b/feature/git/api/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/feature/git/api/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json b/feature/git/api/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/feature/git/api/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/feature/git/api/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt b/feature/git/api/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt new file mode 100644 index 00000000..08f4ebea --- /dev/null +++ b/feature/git/api/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt @@ -0,0 +1 @@ +0 Warning/Error \ No newline at end of file diff --git a/feature/git/api/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/api.kotlin_module b/feature/git/api/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/api.kotlin_module new file mode 100644 index 0000000000000000000000000000000000000000..c69457266afbaf45a323b380d8b48a3f3394ceb8 GIT binary patch literal 103 zcmXZNF%E+;3w0T literal 0 HcmV?d00001 diff --git a/feature/git/api/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/ahmadkharfan/androidstudiolite/feature/git/api/GitErrorMessageMapperKt.class b/feature/git/api/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/ahmadkharfan/androidstudiolite/feature/git/api/GitErrorMessageMapperKt.class new file mode 100644 index 0000000000000000000000000000000000000000..ee08c5f4ab72e94e05f44154a47054676f16c7ec GIT binary patch literal 2540 zcmbtWU2hXd6g^{;tT7=ZCQv?FIuzQFKx3e^P|{LDAP{f@O+r%2(_}rdH(u{pyR$KQ zsD#wl{s4HdKVtyp->6QmOXRl?9ARfXU^Q~-~ayU7Xat+ zrNB+!)QhTGSLIq&#cL`ms;C^Bpq$vW9GEb$y11s5O=DfG1h%LeLGgNEuf?&6=X8>& zik?%AhK_Gp4?^o_UgL!iDm`%aOw6X0%Ipi-I+_(*fiB@s3*s^p^G*S zqROPev66`^#dU30V--XRBaDnyHZZj3jh#=!khA)%7tpmTN(rSbE+s zaJ?tbi&llYq*bCl93b}$!Pl~pCRG_aR0fGm+?)wHqpe?k?)lK`Dfju6)K8u-|1BVl)nvB$kV7$Qyz{B?0v=U^zfcQ zzM^gC;tPzNc*TVszzK}yF^X}4qthl0%h9NnX``$tC`VnQLsCYHt7%lr;grC&o>*Hl zrlfeB9ww;V8D1L4lQl+$4wh?%7pF>yiA!z-x|zdifl^OCuf!_yt4tql)$pLs3dk+c zDaX1*CDW+xWahNgzCJme>s7bYX&f^}YQJ#>Wa=APR>6#GARual9t3Vgab(J8Sfidk9Lzs`n9mG# zx-3VB28Y;WPK&esLmBqjXW#Yja0@5^z9!28Nq$~gA}4BAV8=8ofWU5EHowNwx#a2| zD`Y8%^n6-h)o}+YFa@Y^S;c{y(E$%Hq^u8hJsWKVNkDw6TMH?L|2}dK$My{~8g`a8f zbM_l8JfVHi*@s*BmiAlDe!GQ7w2wObSPS3Ke)lnk$A7@dd%xkUmBRZiGzk{FV0EQ% zriE34A9TURmBNQD%n>}_1uv}>K5pRx!O1Q-wo>@Cg<}Li>w+UIg{c+>J8t_qdcqxL zvB-8m2L8f`htXa9jI=*DJzT{SpIyWtdFVrq?Fg8kX`RAOTtJ>PcHtiX7DU*MuQ~4# z_TYOA;TeYU2MV~$^#kOR%yHEf_RIYB6Yb%7 literal 0 HcmV?d00001 diff --git a/feature/git/api/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls.class b/feature/git/api/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi$ComposeDefaultImpls.class new file mode 100644 index 0000000000000000000000000000000000000000..1c9bc94cc20bc6beea1a1792217e8c545627ac1e GIT binary patch literal 11527 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 H!>|7r78OLA literal 0 HcmV?d00001 diff --git a/feature/git/api/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi.class b/feature/git/api/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi.class new file mode 100644 index 0000000000000000000000000000000000000000..3fb61f3b3b836960568e1f4b242a50a57dfc9837 GIT binary patch literal 2056 zcmd5-%~BIV5boI|n-D@+0xAUm0Ra^@?!~g8P=r!qMW6t=a2m3cFt9t5+L=&z;|+WV zPd>UzNJD%Uoxar-^jt5h&=zQ&V42w1yxpV}T3ReNQ7mz8xA zVgwQqhLE9&Qp>-t11_pFr9G)VF6`ZX->%d}S#v3r{jNDGwDCJ_{O#8N1Amjm0~_hB zNyY4-E;RR8|uC-jFX{=7l%D z$Sai%8dRA++p?n*6mE9l{~X@gy~0?j4UleoY=*!{Nd{GWm+9>Q$yQiz;?G(d$qMX$I>%&5VysQ)icz{%0!MA{fM z(uQ?(n8werjE2fa3O(Uu2nhdFGF2HoI&_Qz`EdM&SVrC`#2nL#qfR&(%gm>8@f^+- zl1@HlSgHI#WG5n-Zu+{MEc&|7VM9A}!S1c1G=^)K z8f|vBMOLA8PZ#}~r;;#Ap#KU7p84EEGQFpf<8@vY(OW}cc&*Vfi(;QEj^#4nstqiO zi{4clP@icQ`~}Mtg!GgXb H1tWg|NcUtD literal 0 HcmV?d00001 diff --git a/feature/git/api/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar b/feature/git/api/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar new file mode 100644 index 0000000000000000000000000000000000000000..96b8b68635f92c737e35b8ebea6f288e068a4c43 GIT binary patch literal 18020 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 Yth5yA9P@a#3!70u&!JaO?dG?i0N+)6=Kufz literal 0 HcmV?d00001 diff --git a/feature/git/api/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt b/feature/git/api/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt new file mode 100644 index 00000000..b0f02fa9 --- /dev/null +++ b/feature/git/api/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt @@ -0,0 +1 @@ +com.ahmadkharfan.androidstudiolite.feature.git.api diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab new file mode 100644 index 0000000000000000000000000000000000000000..a19dcebed30547974659b51556140168317e61e8 GIT binary patch literal 4096 zcmbR3vzw0r2$(ol@wI{Y?)5 literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len new file mode 100644 index 0000000000000000000000000000000000000000..b8872cd81c887ce026c3ab1e8b35d8ffb87a7442 GIT binary patch literal 8 McmZQz00G7s005!@ng9R* literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len new file mode 100644 index 0000000000000000000000000000000000000000..01bdaa1da7d937c7e7d98e54ba912f88ab95c7f2 GIT binary patch literal 8 LcmZQz0D}nt0GI%g literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at new file mode 100644 index 0000000000000000000000000000000000000000..3e8a00821c4144fc802be37d949836cd52a5788a GIT binary patch literal 1291 zcmd^8OHRWu5PdrqTp|m$G-s%wrKk$30I^^bnPi$)P2nhQ`N zV#V>x%(I{8lVc&SmXO^`3NJFXn{tT}h|(77h|+_@$v@jTV(O^0gF=_~Y8OEBEfo{Xz{a@-i6(W?6d6n1(f zr{SvLx989(EXkW3sRW+MJ#CB%%5uW w{7!mTRw}~lPpu5cX?*|JvADn$i$mMfTkC0iYJ+L9B$kz0T3W_2`;(>r1;<7LFaQ7m literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..71ffa352fa1ad0fb30e605a4c4eeeebc268d5987 GIT binary patch literal 32768 zcmeIuu?@f=3`Ic;R>}lSmXZZ1vJVwShR7sg2RiHAe@pM8L=8uP009C72oNAZfB*pk z1PB}n+ literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab new file mode 100644 index 0000000000000000000000000000000000000000..bdf584a84b58bf0b45e9b3a4c946653433feaad2 GIT binary patch literal 4096 zcmbR3vzw0r2pB;G3eSnEDq8~2%LkOPe|RU{AdV_hQMeD jjE2By2#kinXb6mkz-S1JhQMeDjE2By2#kgRc_9D*#r_JH literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream new file mode 100644 index 0000000000000000000000000000000000000000..7ed6e29ac1f225125c93f5f923fc62e546f92dd3 GIT binary patch literal 4096 zcmeIuyA6Oa3`Nm95hEZ`(Xv9sUwjo{e;(d}?xnC}J8^M?`GwTn@4$8y(-@HdNU}dnB=I(n0#AL-3scco7mXvUlo0PEMNf(Sik}nuz&?D OU;ztQzycQdTi^w2su(8# literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len new file mode 100644 index 0000000000000000000000000000000000000000..05301cb4af6880f22fac81bd7261d627c9632643 GIT binary patch literal 8 LcmZQz0D}eq0EhsA literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len new file mode 100644 index 0000000000000000000000000000000000000000..2a17e6e5bd9e7704741c2a3ae485eb2d2e302b87 GIT binary patch literal 8 LcmZQz0D}$y0FVHQ literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at new file mode 100644 index 0000000000000000000000000000000000000000..53b2d29f95c6af74266544729b594570fda94d3b GIT binary patch literal 52 zcmdOA@JLNeNi9+cN=?o$N>OmjFH#6dEh^3|E=kQR@klJr@J%cTOUx-v4KB$qN=#2> HWMBXQ-PsZa literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..780375ba2142e9bc959472ae65017c6bae2540ce GIT binary patch literal 32768 zcmeIuF%1A95Cp*^7)1)!aDxUa5b>d!6|lvmrAGt^5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNApCNSS=?6b;-Mg#~DAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly dK!5-N0t5&UAV7cs0RjXF5FkK+009DD1TJHN1Bd_s literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab new file mode 100644 index 0000000000000000000000000000000000000000..bdf584a84b58bf0b45e9b3a4c946653433feaad2 GIT binary patch literal 4096 zcmbR3vzw0r2pB;G3eSnEDq8~2%LkOPe|RU{AdV_hQMeD jjE2By2#kinXb6mkz-S1JhQMeDjE2By2#kgRc_9D*#r_JH literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream new file mode 100644 index 0000000000000000000000000000000000000000..7ed6e29ac1f225125c93f5f923fc62e546f92dd3 GIT binary patch literal 4096 zcmeIuyA6Oa3`Nm95hEZ`(Xv9sUwjo{e;(d}?xnC}J8^M?`GwTn@4$8y(-@HdNU}dnB=I(n0#AL-3scco7mXvUlo0PEMNf(Sik}nuz&?D OU;ztQzycQdTi^w2su(8# literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len new file mode 100644 index 0000000000000000000000000000000000000000..05301cb4af6880f22fac81bd7261d627c9632643 GIT binary patch literal 8 LcmZQz0D}eq0EhsA literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len new file mode 100644 index 0000000000000000000000000000000000000000..2a17e6e5bd9e7704741c2a3ae485eb2d2e302b87 GIT binary patch literal 8 LcmZQz0D}$y0FVHQ literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at new file mode 100644 index 0000000000000000000000000000000000000000..de7f056993646a55bb61d8dbac362c250b152d45 GIT binary patch literal 246 zcmah@K@P$&470>X_5%6_F0c#I1QJ&it=U!>%hYyzATPu12dGrnah*60t%}#!+_bmo zo3q8H)0jfay5v^Ubd~iX^QQM~QAYh9!1Kfag&<=?By$)MSUGAdnM0!9^Zif>Sjb*v zJFlZ|)Qfkj{~m8LVaGr$-h!UBvDb4}$?@cdnV4(hzYQ+c+0|LfzEj=o$gKPW$GbN+ literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..780375ba2142e9bc959472ae65017c6bae2540ce GIT binary patch literal 32768 zcmeIuF%1A95Cp*^7)1)!aDxUa5b>d!6|lvmrAGt^5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNApCNSS=?6b;-Mg#~DAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly dK!5-N0t5&UAV7cs0RjXF5FkK+009DD1TJHN1Bd_s literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab new file mode 100644 index 0000000000000000000000000000000000000000..0b2aab571a0e5f45f4a2f2e367c902b5b89e4824 GIT binary patch literal 4096 zcmbR3vzw0r2$(?x3<^HbtgH+(c&Xno&#bBi_+v?o(7zHSi`i zs4D6*s^~-)Y4y{+&dl$b-f12CN|(RRUuY9o$=HFtwtVw7CN>;(;7%Dez{!sZn1BhG VfC-p@37CKhn1BhGfC+ph@BxN)wmxhP35Ev$PmoKOBUb^iDEy$_+O$@acad$ zTW_v7cqw5#95ginQh!sXuq9+%r1q)G$K)$7ZkQp%( z-H4uiC3#Oi`40Kt;Z7us=qQtKl8&}#tYfZJ#}Ru>lrdNQ*1<7*?wKX!G1QC-yux0U eR_b&iGHh8tzVcw#pBb#lOHwXmmskEjLwo=msfFSI literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..f78bd015ab3ee59e946d8d1ca736557cb48dd577 GIT binary patch literal 32768 zcmeIuF%f_;6hy(y#0Mg%K>|W>K?xlmut8552Wa6tNJ}z%^)+u(PB~fg0(%tP*SjeSnEDq8~2%LkOPe|RU{AdV_hQMeD jjE2By2#kinXb6mkz-S1JhQMeDjE2By2#kgRc_9D*#r_JH literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream new file mode 100644 index 0000000000000000000000000000000000000000..f0a3b2b24e0e4f12a131e4a47eb543d23e7a3fb0 GIT binary patch literal 4096 zcmeH@+YQ1{3`5UGodO|Ib%+S)Lw!)CWq;hvz^8Ad#JREjaexO;KCCnZqh|18mI{(y zeXGl+-;{6CJUIDkPTCjsleav*dekLrAL??Y?oti++HXp^a*|H2Llq2CUHNvYq*aQa c37CKhn1BhGfC-p@37CKhn1BhGz~2b`0CB(_A^-pY literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len new file mode 100644 index 0000000000000000000000000000000000000000..a9f80ae0249093f1db8b14f71053acce35747e3d GIT binary patch literal 8 LcmZQz0D~C-0H6Sw literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len new file mode 100644 index 0000000000000000000000000000000000000000..2a17e6e5bd9e7704741c2a3ae485eb2d2e302b87 GIT binary patch literal 8 LcmZQz0D}$y0FVHQ literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at new file mode 100644 index 0000000000000000000000000000000000000000..46d6744972241d5e158860b121c8dcc129d1d042 GIT binary patch literal 52 zcmdOA@JLNeNi9+cN=?o$N>OmjFH#6dEh^3|E=kQR@klJr@J%cTOUx-v4KB$qN=#2> HWMBjU-P#fc literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..1c841b6eabb248e1f2b4d1676b6f511418d0bb0a GIT binary patch literal 32768 zcmeIuK@9*P5Cg#yeBcCcxZ{Z>5W)SX0=CJdrN;;mAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV8o@V7>AgbC(?m6Cgl< d009C72oNAZfB*pk1PBlyK!5-N0t5(r5x9|T0(JlZ literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab new file mode 100644 index 0000000000000000000000000000000000000000..c67de7c70954d239c6399552a3489b86c9638548 GIT binary patch literal 4096 zcmbR3vzw0r2$(?x3g(la7FPLQ`5?Q{sHc@pQ7MskQQ4+WiYm^LpEPBgQ>fK7>n1uy zb@WY&3Rg{m!%ubHv_EV6z%lf~j=eaH(z5+Aa~GRYzh0F$(&u9WCSU?4U;-v!0w!Pr NCSU?4U;=+b;0sdCI{*Lx literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len new file mode 100644 index 0000000000000000000000000000000000000000..c14ff158528dbb77ce256d3f806f2a4ffbf356e1 GIT binary patch literal 8 McmZQz00Bk|002S&IsgCw literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len new file mode 100644 index 0000000000000000000000000000000000000000..a9f80ae0249093f1db8b14f71053acce35747e3d GIT binary patch literal 8 LcmZQz0D~C-0H6Sw literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at new file mode 100644 index 0000000000000000000000000000000000000000..ed996913672ccce963060fac4eb16e5bd29c14d5 GIT binary patch literal 1033 zcmcIj%Wl&^6uog0$2DnUA|y&yQ8yG8naEo&3Is|DiKs}`{m33WliD-Z%%q}U(SKmo z&tS_3@IPEXqDHBNkPwS`oVkxPcjjCIGe#q(MqgPdRWv%2YIMPr=Grh}W>l{hG{2(h zhAoX$G+}dS0Kjq21=sSbx#_~N=fTjLG<@5$aBbe(E%a(bKjG$sQc^9L))-wJvI66# zNpt?IiyMHSC$4p5VL~X=S`W$b6p0F3F`SMQAAyfVpY9qJ6Ee1tvF&#~d*}>W17x3c z{Gnrc&hS}@+vV)mwgbP1wkJEj1@7+Q!#&*F!~F+5d->hAJn!Cq`onHwF#~ur4`oK^ zDx=Z$imI3jLPew`kF?oDT&CPG5;JNxiV=Jvf-gZna&tiiOW)=^z%1<&;N~D#a?L_> z9wF#RF-@grFqmIUlX5}MHX<}!ib(*j6kl>C-t#zqZ1)2={hMn=GNYI_lMzdcI~Cb3 zsY;j$;IJZ?p*W00C(Z~7(d>X*Z7gV#z)t#hV6n`3xgru_|Gk040^ literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..cbedabb3922925cc2687a5c8ad51dc4e78c39b26 GIT binary patch literal 32768 zcmeIuF%5t)6h+Y{^??&4;E9nD57=O5Y%qWgmJWOmWodJsfS25pa>~iN7ucfUJf5Zd z5CH@T5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXD6j-CFO!GBhnj`|v0((5vyS&Xu4hRq+K!5-N0t5&UAV7cs0RjXF5FkK+ Hzz+f+55Wno literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab new file mode 100644 index 0000000000000000000000000000000000000000..b74e9a67eb69aef19697661c3ce405caea33f5cd GIT binary patch literal 4096 zcmbR3vzw0r2$(jE2By2#kinXb6mkz-S1JhQMeDjE2By2#kinXb6mk0O=tB0OF?(ivR!s literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream new file mode 100644 index 0000000000000000000000000000000000000000..72a54c9c15ef4fdcbc2007b074e459575fa68070 GIT binary patch literal 4096 zcmeH@I}XAy5Jcxhol@wI{Y?)5 literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len new file mode 100644 index 0000000000000000000000000000000000000000..b8872cd81c887ce026c3ab1e8b35d8ffb87a7442 GIT binary patch literal 8 McmZQz00G7s005!@ng9R* literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len new file mode 100644 index 0000000000000000000000000000000000000000..01bdaa1da7d937c7e7d98e54ba912f88ab95c7f2 GIT binary patch literal 8 LcmZQz0D}nt0GI%g literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at new file mode 100644 index 0000000000000000000000000000000000000000..365ee273bc416498386e6d5a16bb2ed17d5be2b2 GIT binary patch literal 566 zcmc&xL5{*O44eyB-p~VQ`U4~c3oNJ-0*NcKs43O9N#&$};|V;ANj|`hO%!{avFwRc zVy9B86(_xUtBZ}d;;0td5Y@$VX(VH~-1lJxnc=RYCc+d-K{1FKZcUqSj z$6I4wOCJz1(zlE|+6ZONomMhqIc_qOst!aYwmJS`l~l)2F)MHj8lo!a4Mc_ms{m8X zslyYe9u8M(^Xxh@*4HFSUwl>ikrEvRc39>o0jGcMKf{Ux>8ZtYjEXf+`mi*hh~La~ IWIl}Y4VAKVJ^%m! literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..71ffa352fa1ad0fb30e605a4c4eeeebc268d5987 GIT binary patch literal 32768 zcmeIuu?@f=3`Ic;R>}lSmXZZ1vJVwShR7sg2RiHAe@pM8L=8uP009C72oNAZfB*pk z1PB}n+ literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab new file mode 100644 index 00000000..2ceb12b8 --- /dev/null +++ b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab @@ -0,0 +1,2 @@ +2 +0 \ No newline at end of file diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab new file mode 100644 index 0000000000000000000000000000000000000000..22d26f7dbf7dbe922cc0ebfe6e4ded4b256b8b40 GIT binary patch literal 4096 zcmbR3vzw0r2$(ol@wI{Y?)5 literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len new file mode 100644 index 0000000000000000000000000000000000000000..b8872cd81c887ce026c3ab1e8b35d8ffb87a7442 GIT binary patch literal 8 McmZQz00G7s005!@ng9R* literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len new file mode 100644 index 0000000000000000000000000000000000000000..01bdaa1da7d937c7e7d98e54ba912f88ab95c7f2 GIT binary patch literal 8 LcmZQz0D}nt0GI%g literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at new file mode 100644 index 0000000000000000000000000000000000000000..7d30a43be197cf75a7d324961e20ad5d6f3ab66e GIT binary patch literal 61 zcmdOA@JLNeNi9+cN=?o$N>OmjFH#6dEh^3|E=kQR@klJr@J%cTOUx-v4KB$qN=#2> KVE_Rz$p`>|QW6aS literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..71ffa352fa1ad0fb30e605a4c4eeeebc268d5987 GIT binary patch literal 32768 zcmeIuu?@f=3`Ic;R>}lSmXZZ1vJVwShR7sg2RiHAe@pM8L=8uP009C72oNAZfB*pk z1PB}n+ literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab new file mode 100644 index 0000000000000000000000000000000000000000..a35f91ffda0fdfb7e51ad89f2b3efc740f6d1538 GIT binary patch literal 4096 zcmbR3vzw0r2$(G7o?N literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream new file mode 100644 index 0000000000000000000000000000000000000000..100d20553b6dbd37d7ffb96b276b062c3395e018 GIT binary patch literal 4096 ocmeIu0SN#A00N-;f4U!`6HJ2v0|pEjFkrxd0RsjM7%*@?FdzQ_0ssI2 literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len new file mode 100644 index 0000000000000000000000000000000000000000..ccfcbf4136d7788a93b96bb14565bcc4ddf6c4d7 GIT binary patch literal 8 LcmZQz00Slf015yD literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len new file mode 100644 index 0000000000000000000000000000000000000000..01bdaa1da7d937c7e7d98e54ba912f88ab95c7f2 GIT binary patch literal 8 LcmZQz0D}nt0GI%g literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at new file mode 100644 index 0000000000000000000000000000000000000000..248a3a3ace3e17c6a57bd1f4300882c906efa482 GIT binary patch literal 255 zcmb`=K@NgI3`Sv&!U^mdT&QeFh$e3J4^yBB(@9%AzpPoie|aBO4I{DDckb0veO0SF zHWv@h(ZHt`<%wnEN2p=sxsrhqn=y?Ngd*hD(+bHn;|uC_B}^;QXMzpLgq%zzd2C5^ jkzhIwZW0$WwU*s?ViybB=@akjbxi+Zb;!J&i|oP=iNIgn literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..f768a77ff21c1e25205732a89dae8aab117c7558 GIT binary patch literal 32768 zcmeIuu@L|;2m>*5ET6GM$qvZXyHzTkwKrYsO9BK45FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk U1PBlyK!5-N0t5&UAaFt81N(dcjsO4v literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab new file mode 100644 index 0000000000000000000000000000000000000000..0e6bcbeadb971e362202ffb96a002cd1d36449e4 GIT binary patch literal 4096 zcmeIup-Tf{7{~FS?$kM9Tw1bB!xX_VtP_MK8EDa>X$zYM5fOx?6)iI@iGt~ZEG>zk zAPmFO(hxO?!7$EZGVS~xda~qS@H}w$dGFqrH+(M&w@EPz;VT;VXYn*5)mR2h_-FVG zTMD0O!o7{(kKzB({(pA4Kf{3zRS#v*Xe_mT?uEm`5L%aehKt!W~>h59hFt zGnkD_(|C+2d_)&BlTrc?(7^{B41yq)kiKviKk){Abf%{1sZd5>*U5I$qaaoVt#}T7SaOZ zECo)$+xO5?s@PHP1Z_+OIByGzF*oKo07fqnF2s@V5x;j;Nosz5@m$+F)tp^3_$Zx{ zJYcv-tmT~yD`xcahE>znqK4#?+(n|L4W=kd;!Mjqosu6zDP!U#usUU@kHF#}e-fBG zKi8@||Baz~oe;lHD9ZFtdK84^I6){;tL!a|$d=2zn-(HnQC& zGJ_5GPQ`6EQ$xK`Q8#VS@a|Q-PW?96kqTSaN(0p0ds8#534ie)8WRMm813ANg@yYx z`+G6k{l-m`bo@94Ae6eDKhhxh*N zCt&TMmtU`df0?Kr+40dW0NYlo2i9(?M|BN#3&hS$(i1=1s-F4LS@pEWT=lHlU-hWN vapj}cFYZsXpONIw8&j`cd{}FyNxiSO(et-R+w3vBZOmjFH#6dEh^3|E=kQR@klJr@J%cTOUx-v4KB$qN=#2> jVE_U~B$5HlrVoi}FCz!YJs<#)gSZ2kO}Wc3ZDjxed4v+Z literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i new file mode 100644 index 0000000000000000000000000000000000000000..b06f257966240b6b3ad10b997ff724939d0d328d GIT binary patch literal 32768 zcmeI)O-K}R7{~F^f|bCir9*lU$%8=$4YGtNqO?}Dh#-48MRZsQLJT4awhcOLDYOKY z5QsuAOC1u5Sd2u8z=CLk0>uJdB6>L#ROBJ3-wL8eZL_m8IJ5hm!|u+^|9Sq;^Vyl% z7nU{F7>f)R#|7$(3}djXw9N6uB+MvKBKKF9o_)zUh@A)^fB*un3oO(1c-6p(pz9Mc z0Rjm8Q(#JaF5XBk{$e^<2W)Suf~N5Bbz z{W`w(9vyh^L@qly4r%^3b*Z&>V!ae|Qhkh9ZLRZCP1J$_0tg_000Q0+h^dSXo#ijR zQ4LiTioh1VKm8uRA1IW5=`%NhsKP&fy|Fa6EJP!K00IagfB*srSQY5j`}O6)|VgdvZK)~Yywfes7L+Mnp$IGNV z1RNC@(Q!ZdC{pEUQXeNXReOCy#h8ys0R+4#@EdTxY2^R_ literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len new file mode 100644 index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29 GIT binary patch literal 8 McmZQz0D%Su009U9fdBvi literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/last-build.bin b/feature/git/api/build/kotlin/compileDebugKotlin/cacheable/last-build.bin new file mode 100644 index 0000000000000000000000000000000000000000..fba5e9493c6343d8788d75e4b147c190b667665a GIT binary patch literal 18 YcmZ4UmVvdLhk=1{{sxnfXAD3905($u-~a#s literal 0 HcmV?d00001 diff --git a/feature/git/api/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin b/feature/git/api/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin new file mode 100644 index 0000000000000000000000000000000000000000..4c3b477253db06390f18d17202bc2578d228191b GIT binary patch literal 16222 zcmeHOYitx%6h3XY+Xvg)CoL3ggEiV>y3hj3vy{Fplos2fM69s13#FyIWV=;BkpPO= zL@m_*q80H6A&}O9f<>+V024_tF+?$in2;C}@P$zm5|HS3W_Pyxn4MWrb|%@`&7C`s zb7#(+bH8uy+&PDcGNXtnj@rpWFQ63BMzUj%i5kgD4s2Oy6PDXhufv*^j!gP$XwT7k zryxY!HpSD{jN=xv(FQV8J*3+q-9k#Uq|IpN@LXVa{Iia;J8nPp zKU}~-mC&afm*}&mq_)(2>EM&bpeSk$nGBE8-ghRYvac*#&>YNu!L5-1Ww*d!R@lQS zxWPt?^Y#v9_n0oT+T1c-Ql%zpgZ=FEqG-e57cqK!hPqC_J~8L&*c?8+aDHh&B~ZW> z=Mm%~jhb(XvEqaai?GdI+k$Ow z(TS~A?B4`ElBimcs=#tR{!PNUH{hs~%FAYs?ps>2jP+Gl6SvV=kta}0Fmg0yqi~&q zKiBbOMA<_-g=0j;*h(VKzk+d`Th>|nRKF%AkXdVu#ffh?s8G*M)%%%W#x%s91(x)%VbH-MVfR;-v5r5>b83z;}zkax?#sQ zvX%|ecMA?44-XVV(FoRIWw9jeQ-#~;pxA;MW2@_`S=`EJa6Un~9gS^8VkN}C(QLjd=#r`wfUqJ=sY!I%$f zlXI(17M^iBMhUJlf*)CYvugG5hhOi%;lik}j101vEJGIMpm7KORuG2Mr;qg=`+oY? zZ8ztJhbZn%M-7rht*Rsu+?_f>C=x{fOBV)uj^0ex2?A8W@7?^4JwA5eIT{<@todym zGf;H-qq!7AZ8YF@$RYwZGZqvc92>y|%l-w_#I+qo3;Lni-KaUBj zFyFxQ^;H51uq7RsX_#$EpYmhe^&R1%f_v3cgT%00Wnu{KQk^CgY2p{t=?j|{j$PMj z!s{hsg+K}XQo$d-`HK!uC%eAs)X)B5Ze#zULiK4vPD`C8{9YvFjHT0rB25%DPrp{( z+ua;-G%;0XG|?dRF+0W*{8^Y^D7NBJXvb_r2adGTYyBl3lwNxLr|?k4f6-KfbWyMB zs6xrLI%OzQ#=+9jbsrtSQ4?{LktIVJuCWA%(AA>wYlxMm{d4BZ;mU-Q;h~AU)lP%d zP@^g}NV!m_14TO6_vT+c7wbOW9C37zDMJTM7%kY*n|TI;;~g9ahKC0SXEuk23hqWT z4bnihsx;v5I-LR(DZqLDy}=WGuU?Hf3Xq%kUx^9H4it{uwoz8<&!uNpM|~b10tj6% z4Z>gD?-9Ok)4{I@{)HDG`Qs!dUy3;Jn}R<7$4bfye*HG%Y6DBGx|(SDpmf9GZf2 zJ}3lV=fYBXC~Aj1XJQm2m4^@*?8_vT2I&qwYn(z@j1B1}(sEi0q&9fM%sI&0_hT^U zGjQN=un&9OXQf`+INw4p6ek6F6&#Hce1ea!EH|;tz1Dx6Na&&Rv9YXI@W42}f8U3X zmJ$H89&@baa7T4@3yuWl4Rr@wzIbPSwEfLlUG3x;iEXF-nRRVW@M&+pL0we(K83hv z`DHM?y?gs+dvC>aI3oUds4Jbn95@bfwaLchn0IdH76kdal5<^8W=^wpAS;0L0X7Qh sU;Mlm6SVo+EheqMlb`qd$fvVz^LazfR?d|iTd_v|iN + + + + + detekt report + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Metrics

+ +
+
    +
  • 0 number of properties
  • +
  • 2 number of functions
  • +
  • 1 number of classes
  • +
  • 1 number of packages
  • +
  • 2 number of kt files
  • +
+
+ + +

Complexity Report

+ +
+
    +
  • 43 lines of code (loc)
  • +
  • 32 source lines of code (sloc)
  • +
  • 24 logical lines of code (lloc)
  • +
  • 5 comment lines of code (cloc)
  • +
  • 21 cyclomatic complexity (mcc)
  • +
  • 1 cognitive complexity
  • +
  • 0 number of total code smells
  • +
  • 15% comment source ratio
  • +
  • 875 mcc per 1,000 lloc
  • +
  • 0 code smells per 1,000 lloc
  • +
+
+ + +

Findings

+
Total: 0
+ + +generated with
detekt version 1.23.8 on 2026-07-29 23:28:19 UTC. + + + diff --git a/feature/git/api/detekt-baseline.xml b/feature/git/api/detekt-baseline.xml new file mode 100644 index 00000000..1a64263c --- /dev/null +++ b/feature/git/api/detekt-baseline.xml @@ -0,0 +1,8 @@ + + + + + CyclomaticComplexMethod:GitErrorMessageMapper.kt$fun gitErrorMessage(error: Throwable): String + LongParameterList:GitPanelApi.kt$GitPanelApi$( projectId: String, onClose: () -> Unit, onOpenDiff: (String, GitDiffTarget) -> Unit = { _, _ -> }, onOpenHistory: () -> Unit = {}, onOpenBranches: () -> Unit = {}, onOpenTags: () -> Unit = {}, onOpenStashes: () -> Unit = {}, onOpenConflicts: () -> Unit = {}, ) + + diff --git a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitErrorMessageMapper.kt b/feature/git/api/src/main/java/com/ahmadkharfan/androidstudiolite/feature/git/api/GitErrorMessageMapper.kt similarity index 94% rename from feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitErrorMessageMapper.kt rename to feature/git/api/src/main/java/com/ahmadkharfan/androidstudiolite/feature/git/api/GitErrorMessageMapper.kt index 55b5b6ba..ab8d31f9 100644 --- a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitErrorMessageMapper.kt +++ b/feature/git/api/src/main/java/com/ahmadkharfan/androidstudiolite/feature/git/api/GitErrorMessageMapper.kt @@ -1,4 +1,4 @@ -package com.ahmadkharfan.androidstudiolite.feature.editor.git +package com.ahmadkharfan.androidstudiolite.feature.git.api import com.ahmadkharfan.androidstudiolite.domain.model.GitException diff --git a/feature/git/api/src/main/java/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi.kt b/feature/git/api/src/main/java/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi.kt new file mode 100644 index 00000000..75f66e8e --- /dev/null +++ b/feature/git/api/src/main/java/com/ahmadkharfan/androidstudiolite/feature/git/api/GitPanelApi.kt @@ -0,0 +1,23 @@ +package com.ahmadkharfan.androidstudiolite.feature.git.api + +import androidx.compose.runtime.Composable +import com.ahmadkharfan.androidstudiolite.domain.model.GitDiffTarget + +/** + * The git panel as other features see it: a composable to host, and callbacks for the destinations + * it wants opened. The host decides where those destinations live, so no consumer needs to know how + * git is implemented. + */ +interface GitPanelApi { + @Composable + fun Panel( + projectId: String, + onClose: () -> Unit, + onOpenDiff: (String, GitDiffTarget) -> Unit = { _, _ -> }, + onOpenHistory: () -> Unit = {}, + onOpenBranches: () -> Unit = {}, + onOpenTags: () -> Unit = {}, + onOpenStashes: () -> Unit = {}, + onOpenConflicts: () -> Unit = {}, + ) +} diff --git a/feature/git/build.gradle.kts b/feature/git/build.gradle.kts index 20c03f97..3c3c3fcd 100644 --- a/feature/git/build.gradle.kts +++ b/feature/git/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("asl.android.feature") } android { namespace = "com.ahmadkharfan.androidstudiolite.feature.git" } dependencies { + implementation(projects.feature.git.api) implementation(platform(libs.androidx.compose.bom)) implementation(projects.core.common) implementation(projects.designsystem) diff --git a/feature/git/detekt-baseline.xml b/feature/git/detekt-baseline.xml index 483cdf63..dfa5f95d 100644 --- a/feature/git/detekt-baseline.xml +++ b/feature/git/detekt-baseline.xml @@ -3,7 +3,6 @@ CyclomaticComplexMethod:GitAuthPrompt.kt$@Composable fun GitHubAuthDialog(state: GitAuthPromptState, actions: GitAuthPromptActions) - CyclomaticComplexMethod:GitErrorMessageMapper.kt$fun gitErrorMessage(error: Throwable): String CyclomaticComplexMethod:GitHistoryScreen.kt$@Composable private fun GitHistoryScreen( uiState: GitHistoryUiState, interactionListener: GitHistoryInteractionListener, onBack: () -> Unit, onOpenDiff: (String, String) -> Unit, ) CyclomaticComplexMethod:GitPanelScreen.kt$@Composable private fun GitPanelScreen( uiState: GitPanelUiState, interactionListener: GitPanelInteractionListener, onClose: () -> Unit, onOpenDiff: (String, GitDiffTarget) -> Unit, onOpenHistory: () -> Unit, onOpenBranches: () -> Unit, onOpenTags: () -> Unit, onOpenStashes: () -> Unit, onOpenConflicts: () -> Unit, ) LongMethod:GitAuthPrompt.kt$@Composable fun GitHubAuthDialog(state: GitAuthPromptState, actions: GitAuthPromptActions) @@ -12,7 +11,6 @@ LongMethod:GitPanelScreen.kt$@Composable private fun GitPanelScreen( uiState: GitPanelUiState, interactionListener: GitPanelInteractionListener, onClose: () -> Unit, onOpenDiff: (String, GitDiffTarget) -> Unit, onOpenHistory: () -> Unit, onOpenBranches: () -> Unit, onOpenTags: () -> Unit, onOpenStashes: () -> Unit, onOpenConflicts: () -> Unit, ) LongMethod:GitRefsScreen.kt$@Composable private fun BranchList( state: GitRefsUiState, interactionListener: GitRefsInteractionListener, onRename: (GitBranch) -> Unit, onDelete: (GitBranch) -> Unit, onMerge: (GitBranch) -> Unit, ) LongMethod:GitRefsScreen.kt$@Composable private fun GitRefsScreen( uiState: GitRefsUiState, interactionListener: GitRefsInteractionListener, onBack: () -> Unit, ) - LongParameterList:GitPanelApi.kt$GitPanelApi$( projectId: String, onClose: () -> Unit, onOpenDiff: (String, GitDiffTarget) -> Unit = { _, _ -> }, onOpenHistory: () -> Unit = {}, onOpenBranches: () -> Unit = {}, onOpenTags: () -> Unit = {}, onOpenStashes: () -> Unit = {}, onOpenConflicts: () -> Unit = {}, ) LongParameterList:GitPanelScreen.kt$( projectId: String, onClose: () -> Unit, onOpenDiff: (String, GitDiffTarget) -> Unit = { _, _ -> }, onOpenHistory: () -> Unit = {}, onOpenBranches: () -> Unit = {}, onOpenTags: () -> Unit = {}, onOpenStashes: () -> Unit = {}, onOpenConflicts: () -> Unit = {}, viewModel: GitPanelViewModel = koinViewModel { parametersOf(projectId) }, ) LongParameterList:GitPanelScreen.kt$( uiState: GitPanelUiState, interactionListener: GitPanelInteractionListener, onClose: () -> Unit, onOpenDiff: (String, GitDiffTarget) -> Unit, onOpenHistory: () -> Unit, onOpenBranches: () -> Unit, onOpenTags: () -> Unit, onOpenStashes: () -> Unit, onOpenConflicts: () -> Unit, ) ModifierMissing:GitAuthPrompt.kt$GitHubAuthDialog diff --git a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitPanelApi.kt b/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitPanelApiImpl.kt similarity index 70% rename from feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitPanelApi.kt rename to feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitPanelApiImpl.kt index 802220f0..7069b7b0 100644 --- a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitPanelApi.kt +++ b/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitPanelApiImpl.kt @@ -1,22 +1,9 @@ package com.ahmadkharfan.androidstudiolite.feature.editor.git import androidx.compose.runtime.Composable +import com.ahmadkharfan.androidstudiolite.feature.git.api.GitPanelApi import com.ahmadkharfan.androidstudiolite.domain.model.GitDiffTarget -interface GitPanelApi { - @Composable - fun Panel( - projectId: String, - onClose: () -> Unit, - onOpenDiff: (String, GitDiffTarget) -> Unit = { _, _ -> }, - onOpenHistory: () -> Unit = {}, - onOpenBranches: () -> Unit = {}, - onOpenTags: () -> Unit = {}, - onOpenStashes: () -> Unit = {}, - onOpenConflicts: () -> Unit = {}, - ) -} - class GitPanelApiImpl : GitPanelApi { @Composable override fun Panel( diff --git a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitPanelControllerContext.kt b/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitPanelControllerContext.kt index 9c028d4d..90649e79 100644 --- a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitPanelControllerContext.kt +++ b/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitPanelControllerContext.kt @@ -1,6 +1,6 @@ package com.ahmadkharfan.androidstudiolite.feature.editor.git -import com.ahmadkharfan.androidstudiolite.feature.editor.git.gitErrorMessage +import com.ahmadkharfan.androidstudiolite.feature.git.api.gitErrorMessage import java.io.File import kotlinx.coroutines.CancellationException import kotlinx.coroutines.CoroutineDispatcher diff --git a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitPanelViewModel.kt b/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitPanelViewModel.kt index 955febc0..cffee46d 100644 --- a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitPanelViewModel.kt +++ b/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitPanelViewModel.kt @@ -10,7 +10,7 @@ import com.ahmadkharfan.androidstudiolite.domain.repository.GitOperationMonitor import com.ahmadkharfan.androidstudiolite.domain.repository.GitCredentialStore import com.ahmadkharfan.androidstudiolite.domain.repository.GitHubDeviceAuthenticator import com.ahmadkharfan.androidstudiolite.domain.usecase.ProjectPathResolver -import com.ahmadkharfan.androidstudiolite.feature.editor.git.gitErrorMessage +import com.ahmadkharfan.androidstudiolite.feature.git.api.gitErrorMessage import com.ahmadkharfan.androidstudiolite.feature.editor.git.git.GitAuthController import com.ahmadkharfan.androidstudiolite.feature.editor.git.git.GitAuthMode import com.ahmadkharfan.androidstudiolite.feature.editor.git.git.GitAuthPromptActions diff --git a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitViewModel.kt b/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitViewModel.kt index f98964f8..d4809680 100644 --- a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitViewModel.kt +++ b/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitViewModel.kt @@ -1,5 +1,6 @@ package com.ahmadkharfan.androidstudiolite.feature.editor.git +import com.ahmadkharfan.androidstudiolite.feature.git.api.gitErrorMessage import com.ahmadkharfan.androidstudiolite.core.BaseViewModel import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.Dispatchers diff --git a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/conflict/GitConflictViewModel.kt b/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/conflict/GitConflictViewModel.kt index f644d38f..a6bfc644 100644 --- a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/conflict/GitConflictViewModel.kt +++ b/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/conflict/GitConflictViewModel.kt @@ -4,7 +4,7 @@ import com.ahmadkharfan.androidstudiolite.domain.model.GitConflictEntry import com.ahmadkharfan.androidstudiolite.domain.repository.GitIntegrationRepository import com.ahmadkharfan.androidstudiolite.domain.usecase.ProjectPathResolver import com.ahmadkharfan.androidstudiolite.feature.editor.git.GitViewModel -import com.ahmadkharfan.androidstudiolite.feature.editor.git.gitErrorMessage +import com.ahmadkharfan.androidstudiolite.feature.git.api.gitErrorMessage import java.io.File data class GitConflictUiState( diff --git a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/history/GitHistoryViewModel.kt b/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/history/GitHistoryViewModel.kt index 121931d7..bd6a861d 100644 --- a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/history/GitHistoryViewModel.kt +++ b/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/history/GitHistoryViewModel.kt @@ -5,7 +5,7 @@ import com.ahmadkharfan.androidstudiolite.domain.model.GitCommitSummary import com.ahmadkharfan.androidstudiolite.domain.repository.GitRepository import com.ahmadkharfan.androidstudiolite.domain.usecase.ProjectPathResolver import com.ahmadkharfan.androidstudiolite.feature.editor.git.GitViewModel -import com.ahmadkharfan.androidstudiolite.feature.editor.git.gitErrorMessage +import com.ahmadkharfan.androidstudiolite.feature.git.api.gitErrorMessage import java.io.File import com.ahmadkharfan.androidstudiolite.domain.model.GitResetMode diff --git a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/refs/GitRefsViewModel.kt b/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/refs/GitRefsViewModel.kt index fd65ec49..d4cbe780 100644 --- a/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/refs/GitRefsViewModel.kt +++ b/feature/git/src/main/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/refs/GitRefsViewModel.kt @@ -15,7 +15,7 @@ import com.ahmadkharfan.androidstudiolite.feature.editor.git.git.GitAuthControll import com.ahmadkharfan.androidstudiolite.feature.editor.git.git.GitAuthMode import com.ahmadkharfan.androidstudiolite.feature.editor.git.git.GitAuthPromptState import com.ahmadkharfan.androidstudiolite.feature.editor.git.GitViewModel -import com.ahmadkharfan.androidstudiolite.feature.editor.git.gitErrorMessage +import com.ahmadkharfan.androidstudiolite.feature.git.api.gitErrorMessage import java.io.File import java.net.URI diff --git a/feature/git/src/test/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitErrorMessageMapperTest.kt b/feature/git/src/test/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitErrorMessageMapperTest.kt index 5987f198..e40470bb 100644 --- a/feature/git/src/test/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitErrorMessageMapperTest.kt +++ b/feature/git/src/test/java/com/ahmadkharfan/androidstudiolite/feature/editor/git/GitErrorMessageMapperTest.kt @@ -1,5 +1,6 @@ package com.ahmadkharfan.androidstudiolite.feature.editor.git +import com.ahmadkharfan.androidstudiolite.feature.git.api.gitErrorMessage import com.ahmadkharfan.androidstudiolite.domain.model.GitException import org.junit.Assert.assertEquals import org.junit.Test diff --git a/feature/projects/build.gradle.kts b/feature/projects/build.gradle.kts index 53634c1d..7326ce7e 100644 --- a/feature/projects/build.gradle.kts +++ b/feature/projects/build.gradle.kts @@ -4,7 +4,7 @@ dependencies { implementation(platform(libs.androidx.compose.bom)) implementation(projects.core.common) implementation(projects.designsystem) - implementation(projects.feature.git) + implementation(projects.feature.git.api) implementation(libs.koin.android) implementation(libs.koin.androidx.compose) implementation(libs.androidx.activity.compose) diff --git a/feature/projects/src/main/java/com/ahmadkharfan/androidstudiolite/feature/clonerepo/CloneRepoViewModel.kt b/feature/projects/src/main/java/com/ahmadkharfan/androidstudiolite/feature/clonerepo/CloneRepoViewModel.kt index 4b072a0d..b0d9e768 100644 --- a/feature/projects/src/main/java/com/ahmadkharfan/androidstudiolite/feature/clonerepo/CloneRepoViewModel.kt +++ b/feature/projects/src/main/java/com/ahmadkharfan/androidstudiolite/feature/clonerepo/CloneRepoViewModel.kt @@ -3,7 +3,7 @@ package com.ahmadkharfan.androidstudiolite.feature.clonerepo import com.ahmadkharfan.androidstudiolite.core.BaseViewModel import com.ahmadkharfan.androidstudiolite.domain.model.CloneOptions import com.ahmadkharfan.androidstudiolite.domain.usecase.CloneProjectUseCase -import com.ahmadkharfan.androidstudiolite.feature.editor.git.gitErrorMessage +import com.ahmadkharfan.androidstudiolite.feature.git.api.gitErrorMessage import kotlinx.coroutines.Job class CloneRepoViewModel( diff --git a/settings.gradle.kts b/settings.gradle.kts index f91b2b1a..b6f45d2d 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -44,5 +44,6 @@ include(":feature:projects") include(":feature:terminal") include(":feature:buildrun") include(":feature:git") +include(":feature:git:api") include(":feature:editor") \ No newline at end of file