Skip to content

Commit f6c3827

Browse files
ADFA-174: Phase 2 mechanical rename, com.itsaky.androidide -> org.appdevforall.codeonthego
Renames Kotlin/Java package declarations, directory layout, manifest strings, and build-script references across the tree. Does not touch BuildConfig.PACKAGE_NAME, applicationId, or AGP namespace - those stay com.itsaky.androidide until Phase 3 (ADR 0017), which is gated on the terminal-packages cross-repo coordination tracked in ADFA-6386. Deliberately left at the old namespace, since each is tied to that same deferred constant or an external identity: - Generated classes (R, BuildConfig, the per-module eventbus index classes, data-binding Binding classes) - these live wherever AGP's namespace currently points, which hasn't moved. - composite-builds/ (vendored build-logic, ADR 0003) and the :gradle-plugin module (its generated init-script string is a literal FQN baked in by composite-builds). - The vendored fork packages inside composite-builds/build-deps (desugaring, diffutils, fuzzysearch, javac.config, layoutlib, zipfs2) and the external android-tree-sitter library (com.itsaky.androidide.treesitter). - Cross-app identity checks: Firebase's google-services.json, logsender's and termux's manifest <package> references, and the literal applicationId strings in tests/docs that describe the currently-running app. - testing/resources/sample-project and gradle-plugin/src/test/resources (fixtures simulating an external project, not our own identity). :plugin-api/:plugin-manager (com.itsaky.androidide.plugins.*) are included in this pass per team decision, despite being a published surface for third-party IDE plugins - plugin-builder's own group was already migrated to org.appdevforall.codeonthego.plugins before this branch existed. One real bug fixed along the way: common's FileProviderUtilsTest had a test fixture whose expected-output literal was swept along with production code, even though the test's whole point is exercising today's real (unflipped) package name as input. Verified: a full-tree compile (every module, every flavor/build-type, including a sweep for bare R/BuildConfig/databinding usage in files sitting at a module's namespace root) is clean, and the full unit test suite is green except a pre-existing lsp:java `refactor` test family (ExtractMethodPlanTest, ExtractMethodEditTest, ExtractVariableSoundnessTest, RegionAnalysisPrimitivesTest, ExtractMethodSignatureTest, ExtractionRegionSoundnessTest) - confirmed by stashing this entire change and re-running against the untouched baseline: identical failures, unrelated to this rename. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent 6ecf001 commit f6c3827

2,609 files changed

Lines changed: 30874 additions & 30836 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/instrumentation-test.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ jobs:
101101
--results-dir=test-results/kotlin \
102102
--results-bucket=gs://firebase-test-results-${RANDOM} \
103103
--project=codeonthego-64a92 \
104-
--test-targets "class com.itsaky.androidide.ProjectBuildTestWithKtsGradle" > test-results/kotlin/test_output.txt 2>&1 || KOTLIN_EXIT_CODE=$?
104+
--test-targets "class org.appdevforall.codeonthego.ProjectBuildTestWithKtsGradle" > test-results/kotlin/test_output.txt 2>&1 || KOTLIN_EXIT_CODE=$?
105105
106106
echo "Kotlin tests exit code: $KOTLIN_EXIT_CODE"
107107
@@ -129,7 +129,7 @@ jobs:
129129
--results-dir=test-results/groovy \
130130
--results-bucket=gs://firebase-test-results-${RANDOM} \
131131
--project=codeonthego-64a92 \
132-
--test-targets "class com.itsaky.androidide.ProjectBuildTestWithGroovyGradle" > test-results/groovy/test_output.txt 2>&1 || GROOVY_EXIT_CODE=$?
132+
--test-targets "class org.appdevforall.codeonthego.ProjectBuildTestWithGroovyGradle" > test-results/groovy/test_output.txt 2>&1 || GROOVY_EXIT_CODE=$?
133133
134134
echo "Groovy tests exit code: $GROOVY_EXIT_CODE"
135135

‎REVIEW.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ Features that aren't fully stabilized ship behind the **experimental feature fla
213213

214214
The plugin API is **not frozen** and we don't yet guarantee backward/binary compatibility (see [plugin-api.md](docs/plugin-api.md)). So the bar isn't "never break plugins" — it's **don't break them by accident**.
215215

216-
- **Does the change touch the plugin API surface?** Anything in `:plugin-api` (package `com.itsaky.androidide.plugins`), a manifest `plugin.*` meta-data key, a permission key string, a service interface reached via `ServiceRegistry`, or a format contract (`.cgp`/`.cgt`, the `plugin_documentation.db` schema, `scripts.json`, the `localhost:6174` help URLs). If so, treat it as a contract change.
216+
- **Does the change touch the plugin API surface?** Anything in `:plugin-api` (package `org.appdevforall.codeonthego.plugins`), a manifest `plugin.*` meta-data key, a permission key string, a service interface reached via `ServiceRegistry`, or a format contract (`.cgp`/`.cgt`, the `plugin_documentation.db` schema, `scripts.json`, the `localhost:6174` help URLs). If so, treat it as a contract change.
217217
- **If it breaks compatibility, is that deliberate and documented?** The PR should say what breaks, who's affected, and why it's worth it. Watch the Kotlin traps that look source-compatible but aren't — data-class constructor params, enum constants, methods added to plugin-implemented interfaces (plugin-api.md lists them).
218218
- **Do a mechanical impact check:** build/load the in-tree example plugins (`apk-viewer-plugin`, `markdown-preview-plugin`, `keystore-generator-plugin`) — and, for significant changes, the external `plugin-examples` repo — against the change.
219219
- **Even without an API change,** new core features can break plugins (shared UI, toolbar action IDs, service behavior) and plugins can conflict with each other. Keep that in view.

actions/src/main/java/com/itsaky/androidide/actions/ActionData.java renamed to actions/src/main/java/org/appdevforall/codeonthego/actions/ActionData.java

Lines changed: 71 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,71 @@
1-
/*
2-
* This file is part of AndroidIDE.
3-
*
4-
* AndroidIDE is free software: you can redistribute it and/or modify
5-
* it under the terms of the GNU General Public License as published by
6-
* the Free Software Foundation, either version 3 of the License, or
7-
* (at your option) any later version.
8-
*
9-
* AndroidIDE is distributed in the hope that it will be useful,
10-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12-
* GNU General Public License for more details.
13-
*
14-
* You should have received a copy of the GNU General Public License
15-
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
16-
*/
17-
18-
package com.itsaky.androidide.actions;
19-
20-
import android.content.Context;
21-
22-
import androidx.annotation.NonNull;
23-
import androidx.annotation.Nullable;
24-
25-
import java.util.HashMap;
26-
import java.util.Map;
27-
import java.util.Objects;
28-
29-
/**
30-
* @author Akash Yadav
31-
*/
32-
public class ActionData {
33-
34-
private ActionData() {}
35-
36-
/**
37-
* Creates a new {@link ActionData} instance.
38-
*
39-
* @param context The context to this instance is attached to.
40-
* @return A new {@link ActionData} instance.
41-
*/
42-
@NonNull
43-
public static ActionData create(@NonNull Context context) {
44-
final var data = new ActionData();
45-
data.put(Context.class, context);
46-
return data;
47-
}
48-
49-
private final Map<Class<?>, Object> instances = new HashMap<>();
50-
51-
public <T> void put(@NonNull Class<T> type, @Nullable T object) {
52-
Objects.requireNonNull(type);
53-
this.instances.put(type, object);
54-
}
55-
56-
@Nullable
57-
public <T> T get(@NonNull Class<T> type) {
58-
Objects.requireNonNull(type);
59-
60-
final var object = this.instances.get(type);
61-
if (object == null) {
62-
return null;
63-
}
64-
65-
return type.cast(object);
66-
}
67-
68-
public void clear() {
69-
this.instances.clear();
70-
}
71-
}
1+
/*
2+
* This file is part of AndroidIDE.
3+
*
4+
* AndroidIDE is free software: you can redistribute it and/or modify
5+
* it under the terms of the GNU General Public License as published by
6+
* the Free Software Foundation, either version 3 of the License, or
7+
* (at your option) any later version.
8+
*
9+
* AndroidIDE is distributed in the hope that it will be useful,
10+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
* GNU General Public License for more details.
13+
*
14+
* You should have received a copy of the GNU General Public License
15+
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
16+
*/
17+
18+
package org.appdevforall.codeonthego.actions;
19+
20+
import android.content.Context;
21+
22+
import androidx.annotation.NonNull;
23+
import androidx.annotation.Nullable;
24+
25+
import java.util.HashMap;
26+
import java.util.Map;
27+
import java.util.Objects;
28+
29+
/**
30+
* @author Akash Yadav
31+
*/
32+
public class ActionData {
33+
34+
private ActionData() {}
35+
36+
/**
37+
* Creates a new {@link ActionData} instance.
38+
*
39+
* @param context The context to this instance is attached to.
40+
* @return A new {@link ActionData} instance.
41+
*/
42+
@NonNull
43+
public static ActionData create(@NonNull Context context) {
44+
final var data = new ActionData();
45+
data.put(Context.class, context);
46+
return data;
47+
}
48+
49+
private final Map<Class<?>, Object> instances = new HashMap<>();
50+
51+
public <T> void put(@NonNull Class<T> type, @Nullable T object) {
52+
Objects.requireNonNull(type);
53+
this.instances.put(type, object);
54+
}
55+
56+
@Nullable
57+
public <T> T get(@NonNull Class<T> type) {
58+
Objects.requireNonNull(type);
59+
60+
final var object = this.instances.get(type);
61+
if (object == null) {
62+
return null;
63+
}
64+
65+
return type.cast(object);
66+
}
67+
68+
public void clear() {
69+
this.instances.clear();
70+
}
71+
}

actions/src/main/java/com/itsaky/androidide/actions/ActionItem.kt renamed to actions/src/main/java/org/appdevforall/codeonthego/actions/ActionItem.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,23 @@
1515
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
1616
*/
1717

18-
package com.itsaky.androidide.actions
18+
package org.appdevforall.codeonthego.actions
1919

20+
21+
import com.itsaky.androidide.actions.R
2022
import android.graphics.ColorFilter
2123
import android.graphics.PorterDuff
2224
import android.graphics.PorterDuffColorFilter
2325
import android.graphics.drawable.Drawable
2426
import android.view.Menu
2527
import android.view.View
2628
import androidx.annotation.CallSuper
27-
import com.itsaky.androidide.idetooltips.TooltipCategory
28-
import com.itsaky.androidide.utils.resolveAttr
29+
import org.appdevforall.codeonthego.idetooltips.TooltipCategory
30+
import org.appdevforall.codeonthego.utils.resolveAttr
2931

3032
/**
3133
* An action that can be registered using the [ActionsRegistry]
32-
* [com.itsaky.androidide.actions.ActionsRegistry]
34+
* [org.appdevforall.codeonthego.actions.ActionsRegistry]
3335
*
3436
* @author Akash Yadav
3537
*/

actions/src/main/java/com/itsaky/androidide/actions/ActionMenu.kt renamed to actions/src/main/java/org/appdevforall/codeonthego/actions/ActionMenu.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
1616
*/
1717

18-
package com.itsaky.androidide.actions
18+
package org.appdevforall.codeonthego.actions
1919

2020
/**
2121
* An action menu is an action which can contain child actions.

0 commit comments

Comments
 (0)