Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ sentry.properties

# Generated files for tooling API
tests/test-home
/tests/**/.androidide/init/model.jar
/tests/**/.cg/init/model.jar

/composite-builds/build-deps-common/constants/build/
/composite-builds/build-deps/build/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,9 @@ public static String getArchitecture() {
}

public static File getProjectCacheDir(File projectDir) {
return new File(projectDir, ANDROIDIDE_PROJECT_CACHE_DIR);
File current = new File(projectDir, ANDROIDIDE_PROJECT_CACHE_DIR);
File legacy = new File(projectDir, SharedEnvironment.LEGACY_PROJECT_CACHE_DIR_NAME);
return LegacyIdeDataDirMigration.migrateLegacyIdeDataDirIfNeeded(legacy, current);
}

public static void init(Context context) {
Expand All @@ -142,7 +144,11 @@ public static void init(Context context) {
ROOT = mkdirIfNotExists(new File(DEFAULT_ROOT));
PREFIX = mkdirIfNotExists(new File(ROOT, "usr"));
HOME = mkdirIfNotExists(new File(ROOT, "home"));
ANDROIDIDE_HOME = mkdirIfNotExists(new File(HOME, ".androidide"));
File ideHomeCandidate = new File(HOME, SharedEnvironment.PROJECT_CACHE_DIR_NAME);
File legacyIdeHome = new File(HOME, SharedEnvironment.LEGACY_PROJECT_CACHE_DIR_NAME);
File ideHomeResolved =
LegacyIdeDataDirMigration.migrateLegacyIdeDataDirIfNeeded(legacyIdeHome, ideHomeCandidate);
ANDROIDIDE_HOME = mkdirIfNotExists(ideHomeResolved);
TMP_DIR = mkdirIfNotExists(new File(PREFIX, "tmp"));
BIN_DIR = mkdirIfNotExists(new File(PREFIX, "bin"));
OPT_DIR = mkdirIfNotExists(new File(PREFIX, "opt"));
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/*
* This file is part of AndroidIDE.
*
* AndroidIDE is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* AndroidIDE is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
*/
package com.itsaky.androidide.utils;

import java.io.File;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* One-time rename of the fork-era {@code .androidide} directory to {@link
* SharedEnvironment#PROJECT_CACHE_DIR_NAME}.
*/
public final class LegacyIdeDataDirMigration {

private static final Logger LOG = LoggerFactory.getLogger(LegacyIdeDataDirMigration.class);

private LegacyIdeDataDirMigration() {}

/**
* Resolves which IDE data directory path is in use: prefers {@code current} after a successful
* rename from {@code legacy}. If {@code current} already exists, it wins (both-existing case is
* logged). If only {@code legacy} exists and {@code legacy.renameTo(current)} fails, returns
* {@code legacy} so callers keep using the existing tree. If neither exists, returns {@code
* current} for the caller to create.
*/
public static File migrateLegacyIdeDataDirIfNeeded(File legacy, File current) {
if (current.exists() && legacy.exists()) {
LOG.warn(
"Both {} and {} exist; using {} only",
legacy.getAbsolutePath(),
current.getAbsolutePath(),
current.getAbsolutePath());
return current;
}
if (legacy.exists()) {
if (legacy.renameTo(current)) {
return current;
}
LOG.warn("Failed to rename legacy IDE data dir {} to {}", legacy, current);
return legacy;
}
return current;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,12 @@ const val ANDROID_SDK_ZIP = "android-sdk.zip"
const val GRADLE_DISTRIBUTION_NAME = "gradle-$GRADLE_DISTRIBUTION_VERSION"
const val GRADLE_DISTRIBUTION_ARCHIVE_NAME = "$GRADLE_DISTRIBUTION_NAME-bin.zip"

// .androidide folder
// App-internal IDE data under files/home/ (matches SharedEnvironment.PROJECT_CACHE_DIR_NAME)
@Suppress("SdCardPath")
const val ANDROIDIDE_HOME = "/data/data/com.itsaky.androidide/files/home/.androidide"
const val IDE_DATA_DIR_NAME = ".cg"

@Suppress("SdCardPath")
const val ANDROIDIDE_HOME = "/data/data/com.itsaky.androidide/files/home/$IDE_DATA_DIR_NAME"

// Code On the Go gradle plugin
const val COGO_GRADLE_PLUGIN_NAME = "cogo-plugin"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package com.itsaky.androidide.gradle

import com.itsaky.androidide.buildinfo.BuildInfo
import com.itsaky.androidide.utils.FileProvider
import com.itsaky.androidide.utils.SharedEnvironment
import org.gradle.testkit.runner.BuildResult
import org.gradle.testkit.runner.GradleRunner
import org.gradle.testkit.runner.internal.PluginUnderTestMetadataReading
Expand All @@ -35,7 +36,8 @@ internal fun buildProject(
vararg plugins: String
): BuildResult {
val projectRoot = openProject(agpVersion, useApplyPluginGroovySyntax, *plugins)
val initScript = FileProvider.testHomeDir().resolve(".androidide/init/androidide.init.gradle")
val initScript = FileProvider.testHomeDir()
.resolve("${SharedEnvironment.PROJECT_CACHE_DIR_NAME}/init/androidide.init.gradle")
val mavenLocal = FileProvider.projectRoot().resolve("gradle-plugin/build/maven-local/repos.txt").toFile()

if (!(mavenLocal.exists() && mavenLocal.isFile)) {
Expand Down
2 changes: 1 addition & 1 deletion layouteditor/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,4 @@ lint/tmp/
# lint/reports/


.androidide/
.cg/
4 changes: 2 additions & 2 deletions resources/src/main/res/values-ar-rSA/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@
<string name="xml_formatting_options">خيارات تنسيق XML</string>
<string name="xml_formatting_options_summary">تهيئة تنسيق XML</string>
<string name="idepref_customFont_title">استخدام خط مخصص</string>
<string name="idepref_customFont_summary">في حالة التمكين، سيتم استخدام الملف الموجود على \"/data/com.itsaky.androidide/files/home/.androidide/ui/font.ttf\" كخط محرر.</string>
<string name="idepref_customFont_summary">في حالة التمكين، سيتم استخدام الملف الموجود على \"/data/data/com.itsaky.androidide/files/home/.cg/ui/font.ttf\" كخط محرر.</string>
<string name="msg_installing_apk">تثبيت APK...</string>
<string name="msg_action_open_application">هل تريد فتح التطبيق؟</string>
<string name="title_gradle_service_notification_channel">خدمة بناء Code on the Go</string>
Expand Down Expand Up @@ -399,7 +399,7 @@
<string name="idepref_devOptions_summary">خيارات تجريبية/تصحيح أخطاء Code on the Go</string>
<string name="idepref_group_debugging">تصحيح الأخطاء</string>
<string name="idepref_devOptions_dumpLogs_title">تفريغ السجلات</string>
<string name="idepref_devOptions_dumpLogs_summary">تفريغ سجلات Code on the Go إلى $HOME/.androidide/logs</string>
<string name="idepref_devOptions_dumpLogs_summary">تفريغ سجلات Code on the Go إلى $HOME/.cg/logs</string>
<string name="msg_emptyview_applogs">قم بتشغيل النسخة التصحيحية (debug) من تطبيقك لعرض السجلات هنا.</string>
<string name="msg_logsender_disabled">تم تعطيل إرسال السجل. يمكنك تمكينه في الخيارات.</string>
<string name="msg_emptyview_idelogs">تظهر سجلات من بيئة التطوير المتكاملة هنا.</string>
Expand Down
4 changes: 2 additions & 2 deletions resources/src/main/res/values-bn-rIN/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@
<string name="xml_formatting_options">XML ফর্ম্যাটিং অপশনগুলি</string>
<string name="xml_formatting_options_summary">XML ফর্ম্যাটার কনফিগার করুন</string>
<string name="idepref_customFont_title">কাস্টম ফন্ট ব্যবহার করুন</string>
<string name="idepref_customFont_summary">সক্রিয় থাকলে, \"/data/data/com.itsaky.androidide/files/home/.androidide/ui/font.ttf\" ফাইলটিকে এডিটর-এর ফন্ট হিসেবে ব্যবহার করা হবে।</string>
<string name="idepref_customFont_summary">সক্রিয় থাকলে, \"/data/data/com.itsaky.androidide/files/home/.cg/ui/font.ttf\" ফাইলটিকে এডিটর-এর ফন্ট হিসেবে ব্যবহার করা হবে।</string>
<string name="msg_installing_apk">APK ইনস্টল করা হচ্ছে...</string>
<string name="msg_action_open_application">তুমি কি অ্যাপ্লিকেশনটি খুলতে চাও?</string>
<string name="title_gradle_service_notification_channel">Code on the Go Gradle build পরিষেবা</string>
Expand Down Expand Up @@ -399,7 +399,7 @@
<string name="idepref_devOptions_summary">Code on the Go-এর জন্য পরীক্ষামূলক/ডিবাগিং অপশনগুলি</string>
<string name="idepref_group_debugging">ডিবাগিং</string>
<string name="idepref_devOptions_dumpLogs_title">ডাম্প লগ</string>
<string name="idepref_devOptions_dumpLogs_summary">Code on the Go লগ ডাম্প করুন $HOME/.androidide/logs এ</string>
<string name="idepref_devOptions_dumpLogs_summary">Code on the Go লগ ডাম্প করুন $HOME/.cg/logs এ</string>
<string name="msg_emptyview_applogs">এখানে লগগুলি দেখার জন্য আপনার অ্যাপ্লিকেশনটির ডিবাগ ভ্যারিয়েন্ট টি রান করুন৷</string>
<string name="msg_logsender_disabled">LogSender নিষ্ক্রিয় করা হয়েছে। আপনি Preferences-এ গিয়ে এটিকে সক্রিয় করতে পারেন।</string>
<string name="msg_emptyview_idelogs">IDE লগস্ এখানে দেখানো হয়.</string>
Expand Down
4 changes: 2 additions & 2 deletions resources/src/main/res/values-de-rDE/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@
<string name="xml_formatting_options">XML-Formatierungsoptionen</string>
<string name="xml_formatting_options_summary">XML-Formatierer konfigurieren</string>
<string name="idepref_customFont_title">Eigene Schriftart verwenden</string>
<string name="idepref_customFont_summary">Wenn aktiviert, wird die Datei unter \"/data/data/com.itsaky.androidide/files/home/.androidide/ui/font.ttf\" als Editor Schriftart verwendet.</string>
<string name="idepref_customFont_summary">Wenn aktiviert, wird die Datei unter \"/data/data/com.itsaky.androidide/files/home/.cg/ui/font.ttf\" als Editor Schriftart verwendet.</string>
<string name="msg_installing_apk">Installiere APK...</string>
<string name="msg_action_open_application">Möchtest du die Applikation öffnen?</string>
<string name="title_gradle_service_notification_channel">Code on the Go Gradle-Build-Service</string>
Expand Down Expand Up @@ -398,7 +398,7 @@
<string name="idepref_devOptions_summary">Experimentelle/Debugging Optionen für Code on the Go</string>
<string name="idepref_group_debugging">Debugging</string>
<string name="idepref_devOptions_dumpLogs_title">Protokolle ausgeben</string>
<string name="idepref_devOptions_dumpLogs_summary">Code on the Go-Logs in $HOME/.androidide/logs ausgeben</string>
<string name="idepref_devOptions_dumpLogs_summary">Code on the Go-Logs in $HOME/.cg/logs ausgeben</string>
<string name="msg_emptyview_applogs">Run the debug variant of your application to view its logs here.</string>
<string name="msg_logsender_disabled">LogSender is disabled. You can enable it in preferences.</string>
<string name="msg_emptyview_idelogs">Protokolle der IDE werden hier angezeigt.</string>
Expand Down
4 changes: 2 additions & 2 deletions resources/src/main/res/values-es-rES/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@
<string name="xml_formatting_options">Opciones de formato XML</string>
<string name="xml_formatting_options_summary">Configura el formato XML</string>
<string name="idepref_customFont_title">Añadir fuente personalizada</string>
<string name="idepref_customFont_summary">Si está habilitado, el archivo en\"/data/data/com.itsaky.androidide/files/home/.androidide/ui/font.ttf\" se utilizará como fuente del editor.</string>
<string name="idepref_customFont_summary">Si está habilitado, el archivo en\"/data/data/com.itsaky.androidide/files/home/.cg/ui/font.ttf\" se utilizará como fuente del editor.</string>
<string name="msg_installing_apk">Instalando APK...</string>
<string name="msg_action_open_application">¿Quieres abrir la aplicación?</string>
<string name="title_gradle_service_notification_channel">Servicio de compilación de Gradle de Code on the Go</string>
Expand Down Expand Up @@ -399,7 +399,7 @@
<string name="idepref_devOptions_summary">Experimental/debugging options for Code on the Go</string>
<string name="idepref_group_debugging">Debugging</string>
<string name="idepref_devOptions_dumpLogs_title">Dump logs</string>
<string name="idepref_devOptions_dumpLogs_summary">Dump Code on the Go logs to $HOME/.androidide/logs</string>
<string name="idepref_devOptions_dumpLogs_summary">Dump Code on the Go logs to $HOME/.cg/logs</string>
<string name="msg_emptyview_applogs">Run the debug variant of your application to view its logs here.</string>
<string name="msg_logsender_disabled">LogSender is disabled. You can enable it in preferences.</string>
<string name="msg_emptyview_idelogs">Logs from the IDE are shown here.</string>
Expand Down
4 changes: 2 additions & 2 deletions resources/src/main/res/values-fr-rFR/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ Dernier projet ouvert : \n%s</string>
<string name="xml_formatting_options">XML formatting options</string>
<string name="xml_formatting_options_summary">Configurer le formateur XML</string>
<string name="idepref_customFont_title">Use custom font</string>
<string name="idepref_customFont_summary">Si activé le font : \"/data/data/com.itsaky.androidide/files/home/.androidide/ui/font.ttf\" sera utilisé comme font d\'éditeur par défaut.</string>
<string name="idepref_customFont_summary">Si activé le font : \"/data/data/com.itsaky.androidide/files/home/.cg/ui/font.ttf\" sera utilisé comme font d\'éditeur par défaut.</string>
<string name="msg_installing_apk">Installation de l\'application...</string>
<string name="msg_action_open_application">Voulez-vous ouvrir l\'application ?</string>
<string name="title_gradle_service_notification_channel">Gradle Build Service d\'Code on the Go</string>
Expand Down Expand Up @@ -400,7 +400,7 @@ Dernier projet ouvert : \n%s</string>
<string name="idepref_devOptions_summary">Options Expérimental/Débogage d\'Code on the Go</string>
<string name="idepref_group_debugging">Débogage</string>
<string name="idepref_devOptions_dumpLogs_title">Vider les logs</string>
<string name="idepref_devOptions_dumpLogs_summary">Dump Code on the Go logs to $HOME/.androidide/logs</string>
<string name="idepref_devOptions_dumpLogs_summary">Dump Code on the Go logs to $HOME/.cg/logs</string>
<string name="msg_emptyview_applogs">Run the debug variant of your application to view its logs here.</string>
<string name="msg_logsender_disabled">LogSender is disabled. You can enable it in preferences.</string>
<string name="msg_emptyview_idelogs">Logs from the IDE are shown here.</string>
Expand Down
4 changes: 2 additions & 2 deletions resources/src/main/res/values-hi-rIN/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@
<string name="xml_formatting_options">XML फोर्मटिंग विकल्प</string>
<string name="xml_formatting_options_summary">XML फॉर्मेटर को कॉन्फ़िगर करें |</string>
<string name="idepref_customFont_title">कस्टम फ़ॉन्ट का प्रयोग करें</string>
<string name="idepref_customFont_summary">सक्षम होने पर, \"/data/data/com.itsaky.android/files/home/.androidide/ui/font.ttf\" पर मौजूद फ़ाइल का उपयोग एडिटर फ़ॉन्ट के रूप में किया जाएगा।</string>
<string name="idepref_customFont_summary">सक्षम होने पर, \"/data/data/com.itsaky.androidide/files/home/.cg/ui/font.ttf\" पर मौजूद फ़ाइल का उपयोग एडिटर फ़ॉन्ट के रूप में किया जाएगा।</string>
<string name="msg_installing_apk">APK इंस्टॉल हो रहा है...</string>
<string name="msg_action_open_application">क्या आप एप्लिकेशन खोलना चाहते हैं?</string>
<string name="title_gradle_service_notification_channel">Code on the Go ग्रेडल बिल्ड सर्विस</string>
Expand Down Expand Up @@ -398,7 +398,7 @@
<string name="idepref_devOptions_summary">Code on the Go के लिए प्रायोगिक/डिबगिंग विकल्प</string>
<string name="idepref_group_debugging">डिबगिंग</string>
<string name="idepref_devOptions_dumpLogs_title">लॉग डंप करें</string>
<string name="idepref_devOptions_dumpLogs_summary">Code on the Go लॉग को $HOME/.androidide/logs डायरेक्टरी में डंप करें</string>
<string name="idepref_devOptions_dumpLogs_summary">Code on the Go लॉग को $HOME/.cg/logs डायरेक्टरी में डंप करें</string>
<string name="msg_emptyview_applogs">अपने एप्लिकेशन के लॉग यहां देखने के लिए उसका डिबग संस्करण चलाएँ।</string>
<string name="msg_logsender_disabled">लॉगसेंडर अक्षम है. आप इसे प्रेफरेन्सेस में सक्षम कर सकते हैं.</string>
<string name="msg_emptyview_idelogs">आईडीई के लॉग यहां दिखाए जाते हैं।</string>
Expand Down
4 changes: 2 additions & 2 deletions resources/src/main/res/values-in-rID/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@
<string name="xml_formatting_options">Opsi pemformatan XML</string>
<string name="xml_formatting_options_summary">Konfigurasikan pemformatan XML</string>
<string name="idepref_customFont_title">Gunakan custom font</string>
<string name="idepref_customFont_summary">Jika diaktifkan, file di \"/data/data/com.itsaky.androidide/files/home/.androidide/ui/font.ttf\" akan digunakan sebagai font Editor.</string>
<string name="idepref_customFont_summary">Jika diaktifkan, file di \"/data/data/com.itsaky.androidide/files/home/.cg/ui/font.ttf\" akan digunakan sebagai font Editor.</string>
<string name="msg_installing_apk">Menginstal APK...</string>
<string name="msg_action_open_application">Apakah Anda ingin membuka aplikasi?</string>
<string name="title_gradle_service_notification_channel">Layanan Build Gradle Code on the Go</string>
Expand Down Expand Up @@ -399,7 +399,7 @@
<string name="idepref_devOptions_summary">Opsi eksperimental/debug untuk Code on the Go</string>
<string name="idepref_group_debugging">Men-debug</string>
<string name="idepref_devOptions_dumpLogs_title">Dump log</string>
<string name="idepref_devOptions_dumpLogs_summary">Dump log Code on the Go ke $HOME/.androidide/logs</string>
<string name="idepref_devOptions_dumpLogs_summary">Dump log Code on the Go ke $HOME/.cg/logs</string>
<string name="msg_emptyview_applogs">Jalankan varian debug aplikasi Anda untuk melihat lognya di sini.</string>
<string name="msg_logsender_disabled">LogSender dinonaktifkan. Anda dapat mengaktifkannya di preferensi.</string>
<string name="msg_emptyview_idelogs">Log dari IDE ditampilkan di sini.</string>
Expand Down
Loading
Loading