Skip to content

Commit 7175ef4

Browse files
authored
Merge branch 'Acode-Foundation:main' into main
2 parents f0b550e + e2acb9b commit 7175ef4

File tree

137 files changed

+11777
-5335
lines changed

Some content is hidden

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

137 files changed

+11777
-5335
lines changed

.devcontainer/Dockerfile

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Acode Development Container - Standalone Docker Build
2+
#
3+
# This Dockerfile is for MANUAL Docker builds (docker build/run).
4+
# Usage:
5+
# docker build -t acode-dev .devcontainer/
6+
# docker run -it -v $(pwd):/workspaces/acode acode-dev
7+
8+
FROM mcr.microsoft.com/devcontainers/java:1-21-bullseye
9+
10+
ARG ANDROID_PLATFORM=35
11+
ARG ANDROID_BUILD_TOOLS=35.0.0
12+
ARG CMDLINE_TOOLS_VERSION=11076708
13+
ARG NODE_VERSION=22
14+
ARG GRADLE_VERSION=8.11
15+
16+
ENV ANDROID_HOME=/opt/android-sdk
17+
ENV ANDROID_SDK_ROOT=/opt/android-sdk
18+
ENV GRADLE_HOME=/opt/gradle
19+
ENV PATH="${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${GRADLE_HOME}/bin"
20+
21+
RUN apt-get update && apt-get install -y --no-install-recommends \
22+
wget \
23+
unzip \
24+
&& rm -rf /var/lib/apt/lists/*
25+
26+
# Install Gradle
27+
RUN wget -q "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" -O /tmp/gradle.zip \
28+
&& unzip -q /tmp/gradle.zip -d /opt \
29+
&& rm /tmp/gradle.zip \
30+
&& ln -s /opt/gradle-${GRADLE_VERSION} ${GRADLE_HOME}
31+
32+
# Install fnm and Node.js
33+
ENV FNM_DIR=/usr/local/fnm
34+
ENV PATH="${FNM_DIR}:${PATH}"
35+
RUN curl -fsSL https://fnm.vercel.app/install | bash -s -- --install-dir "${FNM_DIR}" --skip-shell \
36+
&& eval "$(${FNM_DIR}/fnm env)" \
37+
&& fnm install ${NODE_VERSION} \
38+
&& fnm default ${NODE_VERSION} \
39+
&& npm install -g pnpm
40+
41+
ENV PATH="${FNM_DIR}/aliases/default/bin:${PATH}"
42+
43+
# Install Android SDK
44+
RUN mkdir -p ${ANDROID_HOME}/cmdline-tools \
45+
&& cd ${ANDROID_HOME}/cmdline-tools \
46+
&& wget -q "https://dl.google.com/android/repository/commandlinetools-linux-${CMDLINE_TOOLS_VERSION}_latest.zip" -O cmdline-tools.zip \
47+
&& unzip -q cmdline-tools.zip \
48+
&& rm cmdline-tools.zip \
49+
&& mv cmdline-tools latest \
50+
&& yes | ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --licenses 2>/dev/null || true \
51+
&& ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --update \
52+
&& ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager \
53+
"platform-tools" \
54+
"platforms;android-${ANDROID_PLATFORM}" \
55+
"build-tools;${ANDROID_BUILD_TOOLS}"
56+
57+
WORKDIR /workspaces/acode
58+
59+
LABEL maintainer="Acode Foundation"
60+
LABEL description="Development environment for building Acode - Code Editor for Android"

.devcontainer/devcontainer.json

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,42 @@
11
{
2-
"image": "mcr.microsoft.com/devcontainers/universal:2",
3-
"features": {
4-
"ghcr.io/nordcominc/devcontainer-features/android-sdk:1": {}
5-
}
6-
}
2+
"name": "Acode Development",
3+
"image": "mcr.microsoft.com/devcontainers/java:1-21-bullseye",
4+
5+
"features": {
6+
"ghcr.io/devcontainers/features/java:1": {
7+
"installGradle": true,
8+
"installGroovy": false,
9+
"installMaven": false,
10+
"installAnt": false,
11+
"version": "21",
12+
"jdkDistro": "ms",
13+
"gradleVersion": "latest"
14+
},
15+
"ghcr.io/nordcominc/devcontainer-features/android-sdk:1": {
16+
"platform": "35",
17+
"build_tools": "35.0.0"
18+
},
19+
"ghcr.io/devcontainers/features/node:1": {
20+
"nodeGypDependencies": false,
21+
"installYarnUsingApt": false,
22+
"version": "lts",
23+
"pnpmVersion": "latest",
24+
"nvmVersion": "latest"
25+
}
26+
},
27+
28+
"postCreateCommand": "pnpm run setup",
29+
30+
"customizations": {
31+
"vscode": {
32+
"extensions": ["biomejs.biome", "redhat.java"],
33+
"settings": {
34+
"editor.formatOnSave": true,
35+
"editor.defaultFormatter": "biomejs.biome",
36+
"[java]": {
37+
"editor.defaultFormatter": "redhat.java"
38+
}
39+
}
40+
}
41+
}
42+
}

.dockerignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Dependencies
2+
node_modules/
3+
.pnpm-store/
4+
5+
# Build outputs
6+
platforms/
7+
plugins/
8+
www/css/build/
9+
www/js/build/
10+
11+
# IDE
12+
.vscode/
13+
.idea/
14+
15+
# Git
16+
.git/
17+
.gitignore
18+
19+
# Misc
20+
*.log
21+
*.apk
22+
*.aab
23+
.DS_Store
24+
Thumbs.db

.github/CODEOWNERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
.github/CODEOWNERS @Acode-Foundation
1+
.github/CODEOWNERS @Acode-Foundation/acode
22

33
# workflows
44
.github/workflows/nightly-build.yml @unschooledgamer
55
.github/workflows/on-demand-preview-releases-PR.yml @unschooledgamer
6-
.github/workflows/community-release-notifier.yml @unschooledgamer
6+
.github/workflows/community-release-notifier.yml @unschooledgamer

.github/dependabot.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for more information:
4+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
# https://containers.dev/guide/dependabot
6+
7+
version: 2
8+
updates:
9+
- package-ecosystem: "devcontainers"
10+
directory: "/"
11+
schedule:
12+
interval: weekly

.github/labeler.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
translations:
2+
- any:
3+
- changed-files:
4+
- any-glob-to-any-file: 'src/lang/*.json'
5+
6+
docs:
7+
- any:
8+
- changed-files:
9+
- any-glob-to-any-file: '**/*.md'
10+
11+
enhancement:
12+
- any:
13+
- head-branch: ['^feature', 'feature', '^feat', '^add']
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: Add Pull Requests Labels
2+
on:
3+
pull_request_target:
4+
types: [opened, closed, ready_for_review]
5+
6+
jobs:
7+
add-labels:
8+
timeout-minutes: 5
9+
runs-on: ubuntu-latest
10+
11+
if: github.event.action == 'opened'
12+
permissions:
13+
contents: read
14+
pull-requests: write
15+
16+
steps:
17+
- uses: actions/labeler@v6

.github/workflows/ci.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,35 @@ jobs:
3333

3434
- name: Run Biome
3535
run: biome ci .
36+
37+
translation-check:
38+
name: Translation Check (On PR Only)
39+
timeout-minutes: 5
40+
runs-on: ubuntu-latest
41+
permissions:
42+
contents: read
43+
pull-requests: read
44+
if: github.event_name == 'pull_request'
45+
steps:
46+
- name: Checkout Repository
47+
uses: actions/checkout@v5
48+
- name: Use Node.js
49+
uses: actions/setup-node@v5
50+
with:
51+
cache: npm
52+
cache-dependency-path: '**/package-lock.json'
53+
54+
- name: Detect Changed Files
55+
uses: dorny/paths-filter@v3
56+
id: file-changes
57+
with:
58+
list-files: shell
59+
filters: |
60+
translation:
61+
- 'src/lang/*.json'
62+
token: ${{ secrets.GITHUB_TOKEN }}
63+
- name: Translation Files Check (if changed)
64+
if: steps.file-changes.outputs.translation == 'true'
65+
run: |
66+
npm ci --no-audit --no-fund
67+
npm run lang check

.github/workflows/close-inactive-issues.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
2323
Thanks for your help!
2424
close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale."
25+
exempt-all-milestones: true
2526
days-before-pr-stale: -1
2627
days-before-pr-close: -1
2728
exempt-issue-labels: "new plugin idea, todo, enhancement, bug, Low priority, documentation"

.github/workflows/community-release-notifier.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ on:
1212
required: true
1313
description: "release URL"
1414
type: 'string'
15+
body:
16+
required: true
17+
description: "Release Body"
18+
type: 'string'
19+
default: ''
1520
secrets:
1621
DISCORD_WEBHOOK_RELEASE_NOTES:
1722
description: 'Discord Webhook for Notifying Releases to Discord'
@@ -30,6 +35,7 @@ jobs:
3035
stringToTruncate: |
3136
📢 Acode [${{ github.event.release.tag_name || inputs.tag_name }}](<${{ github.event.release.url || inputs.url }}>) was just Released 🎉!
3237
38+
${{ github.event.release.body || inputs.body }}
3339
3440
- name: Discord Webhook Action (Publishing)
3541
uses: tsickert/discord-webhook@c840d45a03a323fbc3f7507ac7769dbd91bfb164 # v5.3.0

0 commit comments

Comments
 (0)