Skip to content

Commit 94d1f66

Browse files
committed
chore(flatpak): implement offline build process and update metadata
- Update Flatpak manifest to support fully offline builds by removing network access during the build stage. - Configure Gradle to use a pre-populated offline Maven repository via `settings.gradle.kts` injection. - Update build commands to use the `--offline` flag and local Gradle distribution. - Switch source from local directory to GitHub repository tagged at version `1.6.2`. - Include `flatpak-sources.json` for pre-downloaded dependencies. - Add branding colors (light and dark schemes) to the AppStream metainfo file.
1 parent 81d4bbe commit 94d1f66

2 files changed

Lines changed: 31 additions & 7 deletions

File tree

packaging/flatpak/zed.rainxch.githubstore.metainfo.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@
5454
<name>rainxchzed</name>
5555
</developer>
5656

57+
<branding>
58+
<color type="primary" scheme_preference="light">#d4e9fc</color>
59+
<color type="primary" scheme_preference="dark">#1a3a5c</color>
60+
</branding>
61+
5762
<content_rating type="oars-1.1"/>
5863

5964
<releases>

packaging/flatpak/zed.rainxch.githubstore.yml

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,34 @@ modules:
4848
env:
4949
JAVA_HOME: /usr/lib/sdk/openjdk21
5050
GRADLE_USER_HOME: /run/build/githubstore/.gradle
51-
build-args:
52-
- --share=network
5351
build-commands:
54-
# Use local Gradle distribution (no network in sandbox)
52+
# Use local Gradle distribution (no network needed)
5553
- sed -i 's|distributionUrl=.*|distributionUrl=gradle-bin.zip|' gradle/wrapper/gradle-wrapper.properties
54+
# Configure Gradle to use the offline Maven repository (pre-downloaded dependencies)
55+
- |
56+
cat >> settings.gradle.kts << 'SETTINGS_EOF'
57+
pluginManagement {
58+
repositories.clear()
59+
repositories {
60+
maven { url = uri("/run/build/githubstore/offline-repository") }
61+
gradlePluginPortal()
62+
}
63+
}
64+
dependencyResolutionManagement {
65+
repositories.clear()
66+
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
67+
repositories {
68+
maven { url = uri("/run/build/githubstore/offline-repository") }
69+
}
70+
}
71+
SETTINGS_EOF
5672
# Disable Android targets (no Android SDK in Flatpak sandbox)
5773
- bash packaging/flatpak/disable-android-for-flatpak.sh
58-
# Build uber JAR (using non-release to avoid ProGuard duplicate jar conflicts)
74+
# Build uber JAR (fully offline — all deps from offline-repository)
5975
- ./gradlew :composeApp:packageUberJarForCurrentOS
6076
--no-daemon
6177
--no-configuration-cache
78+
--offline
6279
-Dorg.gradle.jvmargs="-Xmx6g -XX:MaxMetaspaceSize=2g"
6380
-Dorg.gradle.parallel=false
6481
# Install the JAR
@@ -76,12 +93,14 @@ modules:
7693
- install -Dm644 composeApp/src/jvmMain/resources/logo/app_icon.png
7794
/app/share/icons/hicolor/512x512/apps/zed.rainxch.githubstore.png
7895
sources:
79-
# For development: use local directory (switch to type: git for releases)
80-
- type: dir
81-
path: ../../
96+
- type: git
97+
url: https://github.com/OpenHub-Store/GitHub-Store.git
98+
tag: 1.6.2
8299
# Gradle distribution (referenced by gradle-wrapper.properties after sed patch)
83100
- type: file
84101
url: https://services.gradle.org/distributions/gradle-8.14.3-bin.zip
85102
sha256: bd71102213493060956ec229d946beee57158dbd89d0e62b91bca0fa2c5f3531
86103
dest: gradle/wrapper
87104
dest-filename: gradle-bin.zip
105+
# Pre-downloaded Gradle/Maven dependencies for offline build
106+
- flatpak-sources.json

0 commit comments

Comments
 (0)