Skip to content

Commit 24f56a3

Browse files
authored
Merge pull request #5 from Thre4dripper/dev
Dev
2 parents f911505 + 6d58f97 commit 24f56a3

14 files changed

Lines changed: 172 additions & 142 deletions

.github/workflows/deploy.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ jobs:
7878
- name: Get local versionCode
7979
id: local
8080
run: |
81-
code=$(grep -oP 'versionCode\s+\K\d+' app/build.gradle)
81+
code=$(grep -oP 'versionCode\s*=\s*\K\d+' app/build.gradle.kts)
8282
echo "versionCode=$code" >> $GITHUB_OUTPUT
8383
8484
- name: Get latest Play Store versionCode
@@ -117,7 +117,7 @@ jobs:
117117
- uses: actions/setup-java@v4
118118
with:
119119
distribution: 'oracle'
120-
java-version: '17'
120+
java-version: '21'
121121
cache: gradle
122122

123123
- name: Download configs
@@ -128,6 +128,7 @@ jobs:
128128

129129
- name: Export signing env vars
130130
run: |
131+
echo "RELEASE_KEYSTORE_PATH=app/keystore.jks" >> $GITHUB_ENV
131132
echo "RELEASE_STORE_PASSWORD=${{ secrets.RELEASE_STORE_PASSWORD }}" >> $GITHUB_ENV
132133
echo "RELEASE_KEY_ALIAS=${{ secrets.RELEASE_KEY_ALIAS }}" >> $GITHUB_ENV
133134
echo "RELEASE_KEY_PASSWORD=${{ secrets.RELEASE_KEY_PASSWORD }}" >> $GITHUB_ENV
@@ -160,7 +161,7 @@ jobs:
160161
- uses: actions/setup-java@v4
161162
with:
162163
distribution: 'oracle'
163-
java-version: '17'
164+
java-version: '21'
164165
cache: gradle
165166

166167
- name: Download configs
@@ -171,6 +172,7 @@ jobs:
171172

172173
- name: Export signing env vars
173174
run: |
175+
echo "RELEASE_KEYSTORE_PATH=app/keystore.jks" >> $GITHUB_ENV
174176
echo "RELEASE_STORE_PASSWORD=${{ secrets.RELEASE_STORE_PASSWORD }}" >> $GITHUB_ENV
175177
echo "RELEASE_KEY_ALIAS=${{ secrets.RELEASE_KEY_ALIAS }}" >> $GITHUB_ENV
176178
echo "RELEASE_KEY_PASSWORD=${{ secrets.RELEASE_KEY_PASSWORD }}" >> $GITHUB_ENV
@@ -209,8 +211,8 @@ jobs:
209211
- name: Bump versionCode and versionName
210212
id: bump
211213
run: |
212-
local_code=$(grep -oP 'versionCode\s+\K\d+' app/build.gradle)
213-
local_name=$(grep -oP 'versionName\s+"\K[^"]+' app/build.gradle)
214+
local_code=$(grep -oP 'versionCode\s*=\s*\K\d+' app/build.gradle.kts)
215+
local_name=$(grep -oP 'versionName\s*=\s*"\K[^"]+' app/build.gradle.kts)
214216
215217
remote_code=${{ needs.version-check.outputs.version_code }}
216218
new_code=$((local_code + 1))
@@ -220,8 +222,8 @@ jobs:
220222
221223
new_name="1.0-${{ steps.sha.outputs.sha }}"
222224
223-
sed -i "s/versionCode $local_code/versionCode $new_code/" app/build.gradle
224-
sed -i "s/versionName \"$local_name\"/versionName \"$new_name\"/" app/build.gradle
225+
sed -i "s/versionCode = $local_code/versionCode = $new_code/" app/build.gradle.kts
226+
sed -i "s/versionName = \"$local_name\"/versionName = \"$new_name\"/" app/build.gradle.kts
225227
echo "new_code=$new_code" >> $GITHUB_OUTPUT
226228
echo "new_name=$new_name" >> $GITHUB_OUTPUT
227229
@@ -231,7 +233,7 @@ jobs:
231233
new_name=${{ steps.bump.outputs.new_name }}
232234
git config user.name "github-actions[bot]"
233235
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
234-
git add app/build.gradle
236+
git add app/build.gradle.kts
235237
git commit -m "chore: bump version code to $new_code and version name to $new_name"
236238
git push
237239
@@ -254,7 +256,7 @@ jobs:
254256
- name: Get Version Name
255257
id: get_version_name
256258
run: |
257-
version_name=$(grep -oP 'versionName\s+"\K[^"]+' app/build.gradle)
259+
version_name=$(grep -oP 'versionName\s*=\s*"\K[^"]+' app/build.gradle.kts)
258260
echo "version_name=$version_name" >> $GITHUB_OUTPUT
259261
260262
- name: Create Whats New

.github/workflows/pr-preview.yml

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -56,32 +56,33 @@ jobs:
5656
name: config-files
5757
path: ./app
5858

59-
- name: Set up JDK 17
59+
- name: Set up JDK 21
6060
uses: actions/setup-java@v4
6161
with:
6262
distribution: "oracle"
63-
java-version: "17"
63+
java-version: "21"
6464
cache: gradle
6565

6666
- name: Export signing env vars
6767
run: |
68+
echo "RELEASE_KEYSTORE_PATH=app/keystore.jks" >> $GITHUB_ENV
6869
echo "RELEASE_STORE_PASSWORD=${{ secrets.RELEASE_STORE_PASSWORD }}" >> $GITHUB_ENV
6970
echo "RELEASE_KEY_ALIAS=${{ secrets.RELEASE_KEY_ALIAS }}" >> $GITHUB_ENV
7071
echo "RELEASE_KEY_PASSWORD=${{ secrets.RELEASE_KEY_PASSWORD }}" >> $GITHUB_ENV
7172
7273
- name: Update Version for Debug Build
7374
run: |
7475
# Get Current Version Info
75-
current_code=$(grep -oP 'versionCode\s+\K\d+' app/build.gradle)
76-
current_name=$(grep -oP 'versionName\s+"\K[^"]+' app/build.gradle)
76+
current_code=$(grep -oP 'versionCode\s*=\s*\K\d+' app/build.gradle.kts)
77+
current_name=$(grep -oP 'versionName\s*=\s*"\K[^"]+' app/build.gradle.kts)
7778
7879
# Create PR-Specific Version
7980
pr_version_code=$((current_code + 9000 + ${{ github.event.pull_request.number }}))
8081
pr_version_name="${current_name}-PR-#${{ github.event.pull_request.number }}"
8182
82-
# Update build.gradle
83-
sed -i "s/versionCode $current_code/versionCode $pr_version_code/" app/build.gradle
84-
sed -i "s/versionName \"$current_name\"/versionName \"$pr_version_name\"/" app/build.gradle
83+
# Update build.gradle.kts
84+
sed -i "s/versionCode = $current_code/versionCode = $pr_version_code/" app/build.gradle.kts
85+
sed -i "s/versionName = \"$current_name\"/versionName = \"$pr_version_name\"/" app/build.gradle.kts
8586
8687
echo "Updated to versionCode: $pr_version_code, versionName: $pr_version_name"
8788
@@ -93,7 +94,7 @@ jobs:
9394
9495
- name: Rename Debug APK
9596
run: |
96-
app_name=$(grep -oP 'applicationId\s+"\K[^"]+' app/build.gradle | awk -F. '{print $NF}')
97+
app_name=$(grep -oP 'applicationId\s*=\s*"\K[^"]+' app/build.gradle.kts | awk -F. '{print $NF}')
9798
pr_number=${{ github.event.pull_request.number }}
9899
mv app/build/outputs/apk/debug/app-debug.apk app/build/outputs/apk/debug/"${app_name}-PR-${pr_number}-debug.apk"
99100
@@ -121,32 +122,33 @@ jobs:
121122
name: config-files
122123
path: ./app
123124

124-
- name: Set up JDK 17
125+
- name: Set up JDK 21
125126
uses: actions/setup-java@v4
126127
with:
127128
distribution: "oracle"
128-
java-version: "17"
129+
java-version: "21"
129130
cache: gradle
130131

131132
- name: Export signing env vars
132133
run: |
134+
echo "RELEASE_KEYSTORE_PATH=app/keystore.jks" >> $GITHUB_ENV
133135
echo "RELEASE_STORE_PASSWORD=${{ secrets.RELEASE_STORE_PASSWORD }}" >> $GITHUB_ENV
134136
echo "RELEASE_KEY_ALIAS=${{ secrets.RELEASE_KEY_ALIAS }}" >> $GITHUB_ENV
135137
echo "RELEASE_KEY_PASSWORD=${{ secrets.RELEASE_KEY_PASSWORD }}" >> $GITHUB_ENV
136138
137139
- name: Update Version for Release Build
138140
run: |
139141
# Get Current Version Info
140-
current_code=$(grep -oP 'versionCode\s+\K\d+' app/build.gradle)
141-
current_name=$(grep -oP 'versionName\s+"\K[^"]+' app/build.gradle)
142+
current_code=$(grep -oP 'versionCode\s*=\s*\K\d+' app/build.gradle.kts)
143+
current_name=$(grep -oP 'versionName\s*=\s*"\K[^"]+' app/build.gradle.kts)
142144
143145
# Create PR-Specific Version
144146
pr_version_code=$((current_code + 9000 + ${{ github.event.pull_request.number }}))
145147
pr_version_name="${current_name}-PR-#${{ github.event.pull_request.number }}"
146148
147-
# Update build.gradle
148-
sed -i "s/versionCode $current_code/versionCode $pr_version_code/" app/build.gradle
149-
sed -i "s/versionName \"$current_name\"/versionName \"$pr_version_name\"/" app/build.gradle
149+
# Update build.gradle.kts
150+
sed -i "s/versionCode = $current_code/versionCode = $pr_version_code/" app/build.gradle.kts
151+
sed -i "s/versionName = \"$current_name\"/versionName = \"$pr_version_name\"/" app/build.gradle.kts
150152
151153
echo "Updated to versionCode: $pr_version_code, versionName: $pr_version_name"
152154
@@ -158,7 +160,7 @@ jobs:
158160
159161
- name: Rename Release APK
160162
run: |
161-
app_name=$(grep -oP 'applicationId\s+"\K[^"]+' app/build.gradle | awk -F. '{print $NF}')
163+
app_name=$(grep -oP 'applicationId\s*=\s*"\K[^"]+' app/build.gradle.kts | awk -F. '{print $NF}')
162164
pr_number=${{ github.event.pull_request.number }}
163165
mv app/build/outputs/apk/release/app-release.apk app/build/outputs/apk/release/"${app_name}-PR-${pr_number}-release.apk"
164166

.idea/compiler.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/gradle.xml

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

Lines changed: 0 additions & 81 deletions
This file was deleted.

app/build.gradle.kts

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
import java.util.Properties
2+
3+
plugins {
4+
alias(libs.plugins.android.application)
5+
}
6+
7+
android {
8+
namespace = "com.ByteMechanics.matscape"
9+
compileSdk = 37
10+
11+
defaultConfig {
12+
applicationId = "com.ByteMechanics.matscape"
13+
minSdk = 29
14+
targetSdk = 37
15+
versionCode = 13
16+
versionName = "1.0-2a08a75"
17+
18+
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
19+
}
20+
21+
signingConfigs {
22+
create("release") {
23+
val localProps = Properties().apply {
24+
val localPropsFile = rootProject.file("local.properties")
25+
if (localPropsFile.exists()) {
26+
localPropsFile.inputStream().use { load(it) }
27+
}
28+
}
29+
30+
fun getEnvOrLocalProp(key: String): String? =
31+
System.getenv(key) ?: localProps.getProperty(key)
32+
33+
val keystorePath = getEnvOrLocalProp("RELEASE_KEYSTORE_PATH")
34+
if (keystorePath != null) {
35+
storeFile = rootProject.file(keystorePath)
36+
storePassword = getEnvOrLocalProp("RELEASE_STORE_PASSWORD")
37+
keyAlias = getEnvOrLocalProp("RELEASE_KEY_ALIAS")
38+
keyPassword = getEnvOrLocalProp("RELEASE_KEY_PASSWORD")
39+
} else {
40+
println("⚠️ RELEASE_KEYSTORE_PATH is missing — skipping release signing")
41+
}
42+
}
43+
}
44+
45+
buildTypes {
46+
debug {
47+
versionNameSuffix = "-debug"
48+
isMinifyEnabled = false
49+
signingConfig = signingConfigs.getByName("debug")
50+
proguardFiles(
51+
getDefaultProguardFile("proguard-android-optimize.txt"),
52+
"proguard-rules.pro"
53+
)
54+
}
55+
release {
56+
isMinifyEnabled = true
57+
signingConfig = signingConfigs.getByName("release")
58+
proguardFiles(
59+
getDefaultProguardFile("proguard-android-optimize.txt"),
60+
"proguard-rules.pro"
61+
)
62+
}
63+
}
64+
65+
compileOptions {
66+
sourceCompatibility = JavaVersion.VERSION_17
67+
targetCompatibility = JavaVersion.VERSION_17
68+
}
69+
}
70+
71+
dependencies {
72+
implementation(libs.appcompat)
73+
implementation(libs.material)
74+
implementation(libs.constraintlayout)
75+
testImplementation(libs.junit)
76+
androidTestImplementation(libs.androidx.junit)
77+
androidTestImplementation(libs.espresso.core)
78+
}
79+
80+
81+
82+

0 commit comments

Comments
 (0)