Skip to content

Commit ac5a392

Browse files
committed
template archive installation
1 parent 4da6ceb commit ac5a392

5 files changed

Lines changed: 43 additions & 5 deletions

File tree

app/build.gradle.kts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ configurations.matching { it.name.contains("AndroidTest") }.configureEach {
190190
}
191191

192192
dependencies {
193-
debugImplementation(libs.common.leakcanary)
193+
//debugImplementation(libs.common.leakcanary)
194194

195195
// Annotation processors
196196
kapt(libs.common.glide.ap)
@@ -516,6 +516,7 @@ fun createAssetsZip(arch: String) {
516516
"documentation.db",
517517
bootstrapName,
518518
"plugin-artifacts.zip",
519+
"core.cgt"
519520
).forEach { fileName ->
520521
val filePath = sourceDir.resolve(fileName)
521522
if (!filePath.exists()) {
@@ -1010,6 +1011,12 @@ val debugAssets =
10101011
"localMvnRepository.zip",
10111012
"debug",
10121013
),
1014+
Asset(
1015+
"assets/core.cgt",
1016+
"https://appdevforall.org/dev-assets/debug/core.cgt",
1017+
"core.cgt",
1018+
"debug",
1019+
),
10131020
)
10141021

10151022
val releaseAssets =
@@ -1062,6 +1069,12 @@ val releaseAssets =
10621069
"v8/bootstrap.zip.br",
10631070
"release",
10641071
),
1072+
Asset(
1073+
"assets/release/common/data/common/core.cgt.br",
1074+
"https://appdevforall.org/dev-assets/release/core.cgt.br",
1075+
"core.cgt.br",
1076+
"release",
1077+
),
10651078
)
10661079

10671080
fun assetsBatch(

app/src/main/java/com/itsaky/androidide/assets/AssetsInstallationHelper.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import org.adfa.constants.DOCUMENTATION_DB
2020
import org.adfa.constants.GRADLE_API_NAME_JAR_ZIP
2121
import org.adfa.constants.GRADLE_DISTRIBUTION_ARCHIVE_NAME
2222
import org.adfa.constants.LOCAL_MAVEN_REPO_ARCHIVE_ZIP_NAME
23+
import org.adfa.constants.TEMPLATE_CORE_ARCHIVE
2324
import org.slf4j.LoggerFactory
2425
import com.itsaky.androidide.resources.R
2526
import java.io.File
@@ -108,7 +109,8 @@ object AssetsInstallationHelper {
108109
BOOTSTRAP_ENTRY_NAME,
109110
GRADLE_API_NAME_JAR_ZIP,
110111
LLAMA_AAR,
111-
PLUGIN_ARTIFACTS_ZIP
112+
PLUGIN_ARTIFACTS_ZIP,
113+
TEMPLATE_CORE_ARCHIVE,
112114
)
113115

114116
val stagingDir = Files.createTempDirectory(UUID.randomUUID().toString())

app/src/main/java/com/itsaky/androidide/assets/BundledAssetsInstaller.kt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import org.adfa.constants.GRADLE_API_NAME_JAR_BR
2020
import org.adfa.constants.GRADLE_API_NAME_JAR_ZIP
2121
import org.adfa.constants.GRADLE_DISTRIBUTION_ARCHIVE_NAME
2222
import org.adfa.constants.LOCAL_MAVEN_REPO_ARCHIVE_ZIP_NAME
23+
import org.adfa.constants.TEMPLATE_CORE_ARCHIVE
24+
import org.adfa.constants.TEMPLATE_CORE_ARCHIVE_BR
2325
import org.slf4j.LoggerFactory
2426
import java.io.File
2527
import java.io.FileNotFoundException
@@ -78,7 +80,17 @@ data object BundledAssetsInstaller : BaseAssetsInstaller() {
7880
}
7981
}
8082

81-
AssetsInstallationHelper.BOOTSTRAP_ENTRY_NAME -> {
83+
TEMPLATE_CORE_ARCHIVE -> {
84+
val assetPath = ToolsManager.getCommonAsset(TEMPLATE_CORE_ARCHIVE_BR)
85+
BrotliInputStream(assets.open(assetPath)).use { input ->
86+
val destFile = Environment.TEMPLATES_DIR.resolve(TEMPLATE_CORE_ARCHIVE)
87+
destFile.outputStream().use { output ->
88+
input.copyTo(output)
89+
}
90+
}
91+
}
92+
93+
AssetsInstallationHelper.BOOTSTRAP_ENTRY_NAME -> {
8294
val assetPath =
8395
ToolsManager.getCommonAsset("${AssetsInstallationHelper.BOOTSTRAP_ENTRY_NAME}.br")
8496

app/src/main/java/com/itsaky/androidide/assets/SplitAssetsInstaller.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import org.adfa.constants.DOCUMENTATION_DB
1515
import org.adfa.constants.GRADLE_API_NAME_JAR_ZIP
1616
import org.adfa.constants.GRADLE_DISTRIBUTION_ARCHIVE_NAME
1717
import org.adfa.constants.LOCAL_MAVEN_REPO_ARCHIVE_ZIP_NAME
18+
import org.adfa.constants.TEMPLATE_CORE_ARCHIVE
1819
import org.slf4j.LoggerFactory
1920
import java.io.File
2021
import java.io.FileNotFoundException
@@ -72,7 +73,14 @@ data object SplitAssetsInstaller : BaseAssetsInstaller() {
7273
logger.debug("Completed extracting '{}' to dir: {}", entry.name, destDir)
7374
}
7475

75-
AssetsInstallationHelper.BOOTSTRAP_ENTRY_NAME -> {
76+
TEMPLATE_CORE_ARCHIVE -> {
77+
val coreCgt = Environment.TEMPLATES_DIR.resolve(TEMPLATE_CORE_ARCHIVE)
78+
coreCgt.outputStream().use { output ->
79+
zipInput.copyTo(output)
80+
}
81+
}
82+
83+
AssetsInstallationHelper.BOOTSTRAP_ENTRY_NAME -> {
7684
logger.debug("Extracting 'bootstrap.zip' to dir: {}", stagingDir)
7785

7886
val result = retryOnceOnNoSuchFile(
@@ -188,6 +196,7 @@ data object SplitAssetsInstaller : BaseAssetsInstaller() {
188196
LOCAL_MAVEN_REPO_ARCHIVE_ZIP_NAME -> 215389106L
189197
AssetsInstallationHelper.BOOTSTRAP_ENTRY_NAME -> 456462823L
190198
GRADLE_API_NAME_JAR_ZIP -> 46758608L
199+
TEMPLATE_CORE_ARCHIVE -> 702001L
191200
else -> 0L
192201
}
193202

@@ -197,6 +206,7 @@ data object SplitAssetsInstaller : BaseAssetsInstaller() {
197206
ANDROID_SDK_ZIP -> Environment.ANDROID_HOME
198207
LOCAL_MAVEN_REPO_ARCHIVE_ZIP_NAME -> Environment.LOCAL_MAVEN_DIR
199208
GRADLE_API_NAME_JAR_ZIP -> Environment.GRADLE_GEN_JARS
209+
TEMPLATE_CORE_ARCHIVE -> Environment.TEMPLATES_DIR
200210
else -> throw IllegalStateException("Entry '$entryName' is not expected to be an archive")
201211
}
202212

composite-builds/build-deps-common/constants/src/main/java/org/adfa/constants/constants.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,4 +79,5 @@ const val GRADLE_API_NAME_JAR_BR = "${GRADLE_API_NAME_JAR}.br"
7979

8080
// Templates archive
8181
const val TEMPLATE_ARCHIVE_EXTENSION = "cgt"
82-
const val TEMPLATE_CORE_ARCHIVE = "core$TEMPLATE_ARCHIVE_EXTENSION"
82+
const val TEMPLATE_CORE_ARCHIVE = "core.$TEMPLATE_ARCHIVE_EXTENSION"
83+
const val TEMPLATE_CORE_ARCHIVE_BR = "${TEMPLATE_CORE_ARCHIVE}.br"

0 commit comments

Comments
 (0)