@momo-kits/native-kits 0.156.1-test.10-debug → 0.156.1-test.11-debug
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compose/build.gradle.kts +1 -1
- package/gradle.properties +1 -1
- package/package.json +1 -1
- package/publish.sh +16 -9
- package/publish_beta.sh +0 -275
- package/publish_release.sh +0 -334
package/compose/build.gradle.kts
CHANGED
package/gradle.properties
CHANGED
package/package.json
CHANGED
package/publish.sh
CHANGED
|
@@ -213,13 +213,9 @@ phase_publish_npm() {
|
|
|
213
213
|
|
|
214
214
|
./gradlew clean
|
|
215
215
|
|
|
216
|
-
#
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
echo "✅ Normal version published successfully!"
|
|
221
|
-
|
|
222
|
-
# Second publish: debug version with compose kits included
|
|
216
|
+
# ============================================================
|
|
217
|
+
# FIRST PUBLISH: DEBUG VERSION (with compose kits included)
|
|
218
|
+
# ============================================================
|
|
223
219
|
echo ""
|
|
224
220
|
echo "🔧 Preparing debug version with compose kits..."
|
|
225
221
|
|
|
@@ -302,6 +298,8 @@ EOF
|
|
|
302
298
|
echo "📤 Publishing debug version (with compose)..."
|
|
303
299
|
npm publish --tag $NPM_TAG --access=public
|
|
304
300
|
|
|
301
|
+
echo "✅ Debug version published successfully!"
|
|
302
|
+
|
|
305
303
|
# Restore .npmignore
|
|
306
304
|
mv .npmignore.backup .npmignore
|
|
307
305
|
echo "✅ .npmignore restored"
|
|
@@ -321,10 +319,19 @@ EOF
|
|
|
321
319
|
|
|
322
320
|
echo "✅ package.json version restored"
|
|
323
321
|
|
|
322
|
+
# ============================================================
|
|
323
|
+
# SECOND PUBLISH: NORMAL VERSION (without compose)
|
|
324
|
+
# ============================================================
|
|
325
|
+
echo ""
|
|
326
|
+
echo "📤 Publishing normal version (without compose)..."
|
|
327
|
+
npm publish --tag $NPM_TAG --access=public
|
|
328
|
+
|
|
329
|
+
echo "✅ Normal version published successfully!"
|
|
330
|
+
|
|
324
331
|
echo ""
|
|
325
332
|
echo "✅ PHASE 2 COMPLETED"
|
|
326
|
-
echo "
|
|
327
|
-
echo "
|
|
333
|
+
echo " 🐛 Debug version: $DEBUG_VERSION (with compose) - Published first"
|
|
334
|
+
echo " 📦 Normal version: $VERSION (without compose) - Published second"
|
|
328
335
|
echo " 🏷️ NPM Tag: $NPM_TAG"
|
|
329
336
|
echo ""
|
|
330
337
|
}
|
package/publish_beta.sh
DELETED
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
set -e # Exit on error
|
|
4
|
-
|
|
5
|
-
# ============================================================================
|
|
6
|
-
# PUBLISH BETA SCRIPT WITH MULTIPLE PHASES
|
|
7
|
-
# ============================================================================
|
|
8
|
-
# Usage:
|
|
9
|
-
# sh publish_beta.sh # Run all phases
|
|
10
|
-
# sh publish_beta.sh check # Phase 1: Check and update version
|
|
11
|
-
# sh publish_beta.sh npm # Phase 2: Publish to NPM
|
|
12
|
-
# sh publish_beta.sh maven # Phase 3: Publish to Maven
|
|
13
|
-
# ============================================================================
|
|
14
|
-
|
|
15
|
-
PHASE="${1:-all}"
|
|
16
|
-
|
|
17
|
-
# ============================================================================
|
|
18
|
-
# PHASE 1: CHECK AND UPDATE VERSION
|
|
19
|
-
# ============================================================================
|
|
20
|
-
phase_check_version() {
|
|
21
|
-
echo ""
|
|
22
|
-
echo "==============================================="
|
|
23
|
-
echo "📋 PHASE 1: CHECK AND UPDATE VERSION"
|
|
24
|
-
echo "==============================================="
|
|
25
|
-
|
|
26
|
-
echo "🔍 Reading version from local package.json..."
|
|
27
|
-
|
|
28
|
-
# Get the version from local package.json
|
|
29
|
-
VERSION=$(node -p "require('./package.json').version")
|
|
30
|
-
|
|
31
|
-
if [ -z "$VERSION" ]; then
|
|
32
|
-
echo "❌ Error: Could not read version from package.json"
|
|
33
|
-
exit 1
|
|
34
|
-
fi
|
|
35
|
-
|
|
36
|
-
echo "📦 Version from package.json: $VERSION"
|
|
37
|
-
|
|
38
|
-
# Check if this version already exists on npm
|
|
39
|
-
PACKAGE_NAME=$(node -p "require('./package.json').name")
|
|
40
|
-
echo "🔎 Checking if version $VERSION already exists on npm for package $PACKAGE_NAME..."
|
|
41
|
-
|
|
42
|
-
NPM_VERSION_INFO=$(npm view "$PACKAGE_NAME@$VERSION" version 2>/dev/null || echo "")
|
|
43
|
-
|
|
44
|
-
if [ -n "$NPM_VERSION_INFO" ]; then
|
|
45
|
-
echo ""
|
|
46
|
-
echo "❌ ERROR: Version $VERSION already exists on npm!"
|
|
47
|
-
echo ""
|
|
48
|
-
echo "Please update the version in package.json before publishing."
|
|
49
|
-
echo "You can increment the version manually, for example:"
|
|
50
|
-
echo " - Current: $VERSION"
|
|
51
|
-
echo " - Suggested: Increment patch, minor, or major version"
|
|
52
|
-
echo ""
|
|
53
|
-
exit 1
|
|
54
|
-
fi
|
|
55
|
-
|
|
56
|
-
echo "✅ Version $VERSION does not exist on npm. Safe to publish."
|
|
57
|
-
|
|
58
|
-
# Update gradle.properties with the same version
|
|
59
|
-
echo "📝 Updating gradle.properties..."
|
|
60
|
-
# Get current gradle version
|
|
61
|
-
CURRENT_GRADLE_VERSION=$(grep "^version=" gradle.properties | cut -d'=' -f2 | tr -d '"')
|
|
62
|
-
|
|
63
|
-
# Update version in gradle.properties using sed
|
|
64
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
65
|
-
# macOS
|
|
66
|
-
sed -i '' "s/^version=.*/version=$VERSION/" gradle.properties
|
|
67
|
-
else
|
|
68
|
-
# Linux
|
|
69
|
-
sed -i "s/^version=.*/version=$VERSION/" gradle.properties
|
|
70
|
-
fi
|
|
71
|
-
|
|
72
|
-
echo " Gradle version updated: $CURRENT_GRADLE_VERSION → $VERSION"
|
|
73
|
-
|
|
74
|
-
export VERSION="$VERSION"
|
|
75
|
-
|
|
76
|
-
echo "✅ Using version: $VERSION"
|
|
77
|
-
echo "✅ PHASE 1 COMPLETED"
|
|
78
|
-
echo ""
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
# ============================================================================
|
|
82
|
-
# PHASE 2: PUBLISH TO NPM
|
|
83
|
-
# ============================================================================
|
|
84
|
-
phase_publish_npm() {
|
|
85
|
-
echo ""
|
|
86
|
-
echo "==============================================="
|
|
87
|
-
echo "📦 PHASE 2: PUBLISH TO NPM"
|
|
88
|
-
echo "==============================================="
|
|
89
|
-
|
|
90
|
-
# Get version from package.json
|
|
91
|
-
VERSION=$(node -p "require('./package.json').version")
|
|
92
|
-
export VERSION="$VERSION"
|
|
93
|
-
|
|
94
|
-
echo "📦 Publishing version: $VERSION"
|
|
95
|
-
|
|
96
|
-
./gradlew clean
|
|
97
|
-
|
|
98
|
-
# First publish: normal version (compose/ is excluded via .npmignore)
|
|
99
|
-
echo "📤 Publishing normal version (without compose)..."
|
|
100
|
-
npm publish --tag beta --access=public
|
|
101
|
-
|
|
102
|
-
echo "✅ Normal version published successfully!"
|
|
103
|
-
|
|
104
|
-
# Second publish: debug version with compose kits included
|
|
105
|
-
echo ""
|
|
106
|
-
echo "🔧 Preparing debug version with compose kits..."
|
|
107
|
-
|
|
108
|
-
# Create debug version
|
|
109
|
-
DEBUG_VERSION="${VERSION}-debug"
|
|
110
|
-
echo "📦 Debug version: $DEBUG_VERSION"
|
|
111
|
-
|
|
112
|
-
# Update package.json version to debug version
|
|
113
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
114
|
-
# macOS
|
|
115
|
-
sed -i '' "s/\"version\": \"$VERSION\"/\"version\": \"$DEBUG_VERSION\"/" package.json
|
|
116
|
-
else
|
|
117
|
-
# Linux
|
|
118
|
-
sed -i "s/\"version\": \"$VERSION\"/\"version\": \"$DEBUG_VERSION\"/" package.json
|
|
119
|
-
fi
|
|
120
|
-
|
|
121
|
-
# Backup compose/build.gradle.kts
|
|
122
|
-
echo "📦 Backing up compose/build.gradle.kts..."
|
|
123
|
-
cp compose/build.gradle.kts compose/build.gradle.kts.backup
|
|
124
|
-
|
|
125
|
-
# Comment out maven publish in compose/build.gradle.kts
|
|
126
|
-
echo "💬 Commenting out maven publish in compose/build.gradle.kts..."
|
|
127
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
128
|
-
# macOS - Comment out imports
|
|
129
|
-
sed -i '' 's/^import com\.vanniktech\.maven\.publish\.JavadocJar$/\/\/ &/' compose/build.gradle.kts
|
|
130
|
-
sed -i '' 's/^import com\.vanniktech\.maven\.publish\.KotlinMultiplatform$/\/\/ &/' compose/build.gradle.kts
|
|
131
|
-
# Comment out plugin
|
|
132
|
-
sed -i '' 's/^ alias(libs\.plugins\.vanniktech\.mavenPublish)$/\/\/ &/' compose/build.gradle.kts
|
|
133
|
-
# Comment out publishing block
|
|
134
|
-
sed -i '' '/^publishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
|
|
135
|
-
# Comment out entire mavenPublishing block (lines starting from mavenPublishing { to its closing })
|
|
136
|
-
sed -i '' '/^mavenPublishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
|
|
137
|
-
else
|
|
138
|
-
# Linux - Comment out imports
|
|
139
|
-
sed -i 's/^import com\.vanniktech\.maven\.publish\.JavadocJar$/\/\/ &/' compose/build.gradle.kts
|
|
140
|
-
sed -i 's/^import com\.vanniktech\.maven\.publish\.KotlinMultiplatform$/\/\/ &/' compose/build.gradle.kts
|
|
141
|
-
# Comment out plugin
|
|
142
|
-
sed -i 's/^ alias(libs\.plugins\.vanniktech\.mavenPublish)$/\/\/ &/' compose/build.gradle.kts
|
|
143
|
-
# Comment out publishing block
|
|
144
|
-
sed -i '/^publishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
|
|
145
|
-
# Comment out entire mavenPublishing block
|
|
146
|
-
sed -i '/^mavenPublishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
|
|
147
|
-
fi
|
|
148
|
-
|
|
149
|
-
# Modify android configuration for debug version
|
|
150
|
-
echo "🔧 Modifying android configuration for debug version..."
|
|
151
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
152
|
-
# macOS
|
|
153
|
-
sed -i '' 's/namespace = "\$gitlabGroup\.\$gitlabArtifactId"/namespace = "vn.momo.kits.kits"/' compose/build.gradle.kts
|
|
154
|
-
sed -i '' 's/compileSdk = libs\.versions\.android\.compileSdk\.get()\.toInt()/compileSdk = 35/' compose/build.gradle.kts
|
|
155
|
-
sed -i '' 's/minSdk = libs\.versions\.android\.minSdk\.get()\.toInt()/minSdk = 24/' compose/build.gradle.kts
|
|
156
|
-
sed -i '' "s/version = gitlabVersion/version = \"$DEBUG_VERSION\"/" compose/build.gradle.kts
|
|
157
|
-
else
|
|
158
|
-
# Linux
|
|
159
|
-
sed -i 's/namespace = "\$gitlabGroup\.\$gitlabArtifactId"/namespace = "vn.momo.kits.kits"/' compose/build.gradle.kts
|
|
160
|
-
sed -i 's/compileSdk = libs\.versions\.android\.compileSdk\.get()\.toInt()/compileSdk = 35/' compose/build.gradle.kts
|
|
161
|
-
sed -i 's/minSdk = libs\.versions\.android\.minSdk\.get()\.toInt()/minSdk = 24/' compose/build.gradle.kts
|
|
162
|
-
sed -i "s/version = gitlabVersion/version = \"$DEBUG_VERSION\"/" compose/build.gradle.kts
|
|
163
|
-
fi
|
|
164
|
-
|
|
165
|
-
# Backup .npmignore
|
|
166
|
-
cp .npmignore .npmignore.backup
|
|
167
|
-
|
|
168
|
-
# Create minimal .npmignore for debug version (only exclude build artifacts and IDE configs)
|
|
169
|
-
cat > .npmignore << 'EOF'
|
|
170
|
-
sample/
|
|
171
|
-
build/
|
|
172
|
-
|
|
173
|
-
.fleet
|
|
174
|
-
.gradle
|
|
175
|
-
.idea
|
|
176
|
-
.kotlin
|
|
177
|
-
.run
|
|
178
|
-
|
|
179
|
-
.gitattributes
|
|
180
|
-
.gitlab-ci.yml
|
|
181
|
-
.npmignore.backup
|
|
182
|
-
EOF
|
|
183
|
-
|
|
184
|
-
echo "📤 Publishing debug version (with compose)..."
|
|
185
|
-
npm publish --tag beta --access=public
|
|
186
|
-
|
|
187
|
-
# Restore .npmignore
|
|
188
|
-
mv .npmignore.backup .npmignore
|
|
189
|
-
echo "✅ .npmignore restored"
|
|
190
|
-
|
|
191
|
-
# Restore compose/build.gradle.kts
|
|
192
|
-
mv compose/build.gradle.kts.backup compose/build.gradle.kts
|
|
193
|
-
echo "✅ compose/build.gradle.kts restored"
|
|
194
|
-
|
|
195
|
-
# Restore package.json version to original
|
|
196
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
197
|
-
# macOS
|
|
198
|
-
sed -i '' "s/\"version\": \"$DEBUG_VERSION\"/\"version\": \"$VERSION\"/" package.json
|
|
199
|
-
else
|
|
200
|
-
# Linux
|
|
201
|
-
sed -i "s/\"version\": \"$DEBUG_VERSION\"/\"version\": \"$VERSION\"/" package.json
|
|
202
|
-
fi
|
|
203
|
-
|
|
204
|
-
echo "✅ package.json version restored"
|
|
205
|
-
|
|
206
|
-
echo ""
|
|
207
|
-
echo "✅ PHASE 2 COMPLETED"
|
|
208
|
-
echo " 📦 Normal version: $VERSION (without compose)"
|
|
209
|
-
echo " 🐛 Debug version: $DEBUG_VERSION (with compose)"
|
|
210
|
-
echo ""
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
# ============================================================================
|
|
214
|
-
# PHASE 3: PUBLISH TO MAVEN
|
|
215
|
-
# ============================================================================
|
|
216
|
-
phase_publish_maven() {
|
|
217
|
-
echo ""
|
|
218
|
-
echo "==============================================="
|
|
219
|
-
echo "🔧 PHASE 3: PUBLISH TO MAVEN"
|
|
220
|
-
echo "==============================================="
|
|
221
|
-
|
|
222
|
-
# Get version from package.json
|
|
223
|
-
VERSION=$(node -p "require('./package.json').version")
|
|
224
|
-
export VERSION="$VERSION"
|
|
225
|
-
|
|
226
|
-
echo "📦 Publishing KMP artifacts to Maven (version ${VERSION})..."
|
|
227
|
-
|
|
228
|
-
./gradlew :compose:publishAllPublicationsToGitLabPackagesRepository
|
|
229
|
-
|
|
230
|
-
echo "✅ Maven publishing completed successfully!"
|
|
231
|
-
echo "✅ PHASE 3 COMPLETED"
|
|
232
|
-
echo ""
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
# ============================================================================
|
|
236
|
-
# MAIN EXECUTION
|
|
237
|
-
# ============================================================================
|
|
238
|
-
|
|
239
|
-
echo ""
|
|
240
|
-
echo "🚀 PUBLISH BETA SCRIPT"
|
|
241
|
-
echo "================================================="
|
|
242
|
-
|
|
243
|
-
case "$PHASE" in
|
|
244
|
-
"check")
|
|
245
|
-
echo "Running PHASE 1 only: Check and update version"
|
|
246
|
-
phase_check_version
|
|
247
|
-
;;
|
|
248
|
-
"npm")
|
|
249
|
-
echo "Running PHASE 2 only: Publish to NPM"
|
|
250
|
-
phase_publish_npm
|
|
251
|
-
;;
|
|
252
|
-
"maven")
|
|
253
|
-
echo "Running PHASE 3 only: Publish to Maven"
|
|
254
|
-
phase_publish_maven
|
|
255
|
-
;;
|
|
256
|
-
"all")
|
|
257
|
-
echo "Running ALL PHASES"
|
|
258
|
-
phase_check_version
|
|
259
|
-
phase_publish_npm
|
|
260
|
-
phase_publish_maven
|
|
261
|
-
echo ""
|
|
262
|
-
echo "🎉 ALL PHASES COMPLETED SUCCESSFULLY!"
|
|
263
|
-
echo "================================================="
|
|
264
|
-
;;
|
|
265
|
-
*)
|
|
266
|
-
echo "❌ Error: Invalid phase '$PHASE'"
|
|
267
|
-
echo ""
|
|
268
|
-
echo "Usage:"
|
|
269
|
-
echo " sh publish_beta.sh # Run all phases"
|
|
270
|
-
echo " sh publish_beta.sh check # Phase 1: Check and update version"
|
|
271
|
-
echo " sh publish_beta.sh npm # Phase 2: Publish to NPM"
|
|
272
|
-
echo " sh publish_beta.sh maven # Phase 3: Publish to Maven"
|
|
273
|
-
exit 1
|
|
274
|
-
;;
|
|
275
|
-
esac
|
package/publish_release.sh
DELETED
|
@@ -1,334 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
set -e # Exit on error
|
|
4
|
-
|
|
5
|
-
# ============================================================================
|
|
6
|
-
# PUBLISH RELEASE SCRIPT WITH MULTIPLE PHASES
|
|
7
|
-
# ============================================================================
|
|
8
|
-
# Usage:
|
|
9
|
-
# sh publish_release.sh # Run all phases
|
|
10
|
-
# sh publish_release.sh check # Phase 1: Check and update version
|
|
11
|
-
# sh publish_release.sh npm # Phase 2: Publish to NPM
|
|
12
|
-
# sh publish_release.sh maven # Phase 3: Publish to Maven
|
|
13
|
-
# ============================================================================
|
|
14
|
-
|
|
15
|
-
PHASE="${1:-all}"
|
|
16
|
-
|
|
17
|
-
# ============================================================================
|
|
18
|
-
# PHASE 1: CHECK AND UPDATE VERSION
|
|
19
|
-
# ============================================================================
|
|
20
|
-
phase_check_version() {
|
|
21
|
-
echo ""
|
|
22
|
-
echo "==============================================="
|
|
23
|
-
echo "📋 PHASE 1: CHECK AND UPDATE VERSION"
|
|
24
|
-
echo "==============================================="
|
|
25
|
-
|
|
26
|
-
echo "🔍 Reading version from local package.json..."
|
|
27
|
-
|
|
28
|
-
# Get the version from local package.json
|
|
29
|
-
VERSION=$(node -p "require('./package.json').version")
|
|
30
|
-
|
|
31
|
-
if [ -z "$VERSION" ]; then
|
|
32
|
-
echo "❌ Error: Could not read version from package.json"
|
|
33
|
-
exit 1
|
|
34
|
-
fi
|
|
35
|
-
|
|
36
|
-
echo "📦 Version from package.json: $VERSION"
|
|
37
|
-
|
|
38
|
-
# Check if version has prerelease suffix and convert to beta format if needed
|
|
39
|
-
if [[ "$VERSION" == *"-"* ]]; then
|
|
40
|
-
# Extract base version (e.g., 0.156.1 from 0.156.1-test.5)
|
|
41
|
-
BASE_VERSION=$(echo "$VERSION" | cut -d'-' -f1)
|
|
42
|
-
PRERELEASE_SUFFIX=$(echo "$VERSION" | cut -d'-' -f2)
|
|
43
|
-
|
|
44
|
-
# If it's not already in beta format, convert to beta.1
|
|
45
|
-
if [[ "$PRERELEASE_SUFFIX" != "beta."* ]]; then
|
|
46
|
-
BETA_VERSION="${BASE_VERSION}-beta.1"
|
|
47
|
-
echo "🔄 Converting to beta format: $VERSION → $BETA_VERSION"
|
|
48
|
-
|
|
49
|
-
# Update package.json with beta version
|
|
50
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
51
|
-
# macOS
|
|
52
|
-
sed -i '' "s/\"version\": \"$VERSION\"/\"version\": \"$BETA_VERSION\"/" package.json
|
|
53
|
-
else
|
|
54
|
-
# Linux
|
|
55
|
-
sed -i "s/\"version\": \"$VERSION\"/\"version\": \"$BETA_VERSION\"/" package.json
|
|
56
|
-
fi
|
|
57
|
-
|
|
58
|
-
VERSION="$BETA_VERSION"
|
|
59
|
-
echo "✅ Version updated to beta format: $VERSION"
|
|
60
|
-
fi
|
|
61
|
-
fi
|
|
62
|
-
|
|
63
|
-
# Check if this version already exists on npm and increment until we find one that doesn't
|
|
64
|
-
PACKAGE_NAME=$(node -p "require('./package.json').name")
|
|
65
|
-
echo "🔎 Checking if version $VERSION already exists on npm for package $PACKAGE_NAME..."
|
|
66
|
-
|
|
67
|
-
# Loop until we find a version that doesn't exist on npm
|
|
68
|
-
while true; do
|
|
69
|
-
# Try to get the version info from npm
|
|
70
|
-
NPM_VERSION_INFO=$(npm view "$PACKAGE_NAME@$VERSION" version 2>/dev/null || echo "")
|
|
71
|
-
|
|
72
|
-
if [ -n "$NPM_VERSION_INFO" ]; then
|
|
73
|
-
echo "⚠️ Version $VERSION already exists on npm. Auto-incrementing version..."
|
|
74
|
-
|
|
75
|
-
# Check if it's a beta version
|
|
76
|
-
if [[ "$VERSION" == *"-beta."* ]]; then
|
|
77
|
-
# Extract base version and beta number (e.g., 0.156.1-beta.5)
|
|
78
|
-
BASE_VERSION=$(echo "$VERSION" | cut -d'-' -f1)
|
|
79
|
-
BETA_NUMBER=$(echo "$VERSION" | cut -d'.' -f4)
|
|
80
|
-
|
|
81
|
-
# Increment beta number
|
|
82
|
-
NEW_BETA_NUMBER=$((BETA_NUMBER + 1))
|
|
83
|
-
NEW_VERSION="${BASE_VERSION}-beta.${NEW_BETA_NUMBER}"
|
|
84
|
-
|
|
85
|
-
echo " Version incremented: $VERSION → $NEW_VERSION"
|
|
86
|
-
else
|
|
87
|
-
# Regular version without beta suffix
|
|
88
|
-
# Extract major.minor.patch
|
|
89
|
-
MAJOR=$(echo "$VERSION" | cut -d'.' -f1)
|
|
90
|
-
MINOR=$(echo "$VERSION" | cut -d'.' -f2)
|
|
91
|
-
PATCH=$(echo "$VERSION" | cut -d'.' -f3 | cut -d'-' -f1)
|
|
92
|
-
|
|
93
|
-
# Increment patch version
|
|
94
|
-
NEW_PATCH=$((PATCH + 1))
|
|
95
|
-
NEW_VERSION="$MAJOR.$MINOR.$NEW_PATCH"
|
|
96
|
-
|
|
97
|
-
echo " Version incremented: $VERSION → $NEW_VERSION"
|
|
98
|
-
fi
|
|
99
|
-
|
|
100
|
-
# Update package.json with new version
|
|
101
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
102
|
-
# macOS
|
|
103
|
-
sed -i '' "s/\"version\": \"$VERSION\"/\"version\": \"$NEW_VERSION\"/" package.json
|
|
104
|
-
else
|
|
105
|
-
# Linux
|
|
106
|
-
sed -i "s/\"version\": \"$VERSION\"/\"version\": \"$NEW_VERSION\"/" package.json
|
|
107
|
-
fi
|
|
108
|
-
|
|
109
|
-
VERSION="$NEW_VERSION"
|
|
110
|
-
echo "🔄 Checking version $VERSION on npm..."
|
|
111
|
-
else
|
|
112
|
-
echo "✅ Version $VERSION does not exist on npm. Using this version."
|
|
113
|
-
break
|
|
114
|
-
fi
|
|
115
|
-
done
|
|
116
|
-
|
|
117
|
-
# Update gradle.properties with the same version
|
|
118
|
-
echo "📝 Updating gradle.properties..."
|
|
119
|
-
# Get current gradle version
|
|
120
|
-
CURRENT_GRADLE_VERSION=$(grep "^version=" gradle.properties | cut -d'=' -f2 | tr -d '"')
|
|
121
|
-
|
|
122
|
-
# Update version in gradle.properties using sed
|
|
123
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
124
|
-
# macOS
|
|
125
|
-
sed -i '' "s/^version=.*/version=$VERSION/" gradle.properties
|
|
126
|
-
else
|
|
127
|
-
# Linux
|
|
128
|
-
sed -i "s/^version=.*/version=$VERSION/" gradle.properties
|
|
129
|
-
fi
|
|
130
|
-
|
|
131
|
-
echo " Gradle version updated: $CURRENT_GRADLE_VERSION → $VERSION"
|
|
132
|
-
|
|
133
|
-
export VERSION="$VERSION"
|
|
134
|
-
|
|
135
|
-
echo "✅ Using version: $VERSION"
|
|
136
|
-
echo "✅ PHASE 1 COMPLETED"
|
|
137
|
-
echo ""
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
# ============================================================================
|
|
141
|
-
# PHASE 2: PUBLISH TO NPM
|
|
142
|
-
# ============================================================================
|
|
143
|
-
phase_publish_npm() {
|
|
144
|
-
echo ""
|
|
145
|
-
echo "==============================================="
|
|
146
|
-
echo "📦 PHASE 2: PUBLISH TO NPM"
|
|
147
|
-
echo "==============================================="
|
|
148
|
-
|
|
149
|
-
# Get version from package.json
|
|
150
|
-
VERSION=$(node -p "require('./package.json').version")
|
|
151
|
-
export VERSION="$VERSION"
|
|
152
|
-
|
|
153
|
-
echo "📦 Publishing version: $VERSION"
|
|
154
|
-
|
|
155
|
-
./gradlew clean
|
|
156
|
-
|
|
157
|
-
# First publish: normal version (compose/ is excluded via .npmignore)
|
|
158
|
-
echo "📤 Publishing normal version (without compose)..."
|
|
159
|
-
npm publish --tag latest --access=public
|
|
160
|
-
|
|
161
|
-
echo "✅ Normal version published successfully!"
|
|
162
|
-
|
|
163
|
-
# Second publish: debug version with compose kits included
|
|
164
|
-
echo ""
|
|
165
|
-
echo "🔧 Preparing debug version with compose kits..."
|
|
166
|
-
|
|
167
|
-
# Create debug version
|
|
168
|
-
DEBUG_VERSION="${VERSION}-debug"
|
|
169
|
-
echo "📦 Debug version: $DEBUG_VERSION"
|
|
170
|
-
|
|
171
|
-
# Update package.json version to debug version
|
|
172
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
173
|
-
# macOS
|
|
174
|
-
sed -i '' "s/\"version\": \"$VERSION\"/\"version\": \"$DEBUG_VERSION\"/" package.json
|
|
175
|
-
else
|
|
176
|
-
# Linux
|
|
177
|
-
sed -i "s/\"version\": \"$VERSION\"/\"version\": \"$DEBUG_VERSION\"/" package.json
|
|
178
|
-
fi
|
|
179
|
-
|
|
180
|
-
# Backup compose/build.gradle.kts
|
|
181
|
-
echo "📦 Backing up compose/build.gradle.kts..."
|
|
182
|
-
cp compose/build.gradle.kts compose/build.gradle.kts.backup
|
|
183
|
-
|
|
184
|
-
# Comment out maven publish in compose/build.gradle.kts
|
|
185
|
-
echo "💬 Commenting out maven publish in compose/build.gradle.kts..."
|
|
186
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
187
|
-
# macOS - Comment out imports
|
|
188
|
-
sed -i '' 's/^import com\.vanniktech\.maven\.publish\.JavadocJar$/\/\/ &/' compose/build.gradle.kts
|
|
189
|
-
sed -i '' 's/^import com\.vanniktech\.maven\.publish\.KotlinMultiplatform$/\/\/ &/' compose/build.gradle.kts
|
|
190
|
-
# Comment out plugin
|
|
191
|
-
sed -i '' 's/^ alias(libs\.plugins\.vanniktech\.mavenPublish)$/\/\/ &/' compose/build.gradle.kts
|
|
192
|
-
# Comment out publishing block
|
|
193
|
-
sed -i '' '/^publishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
|
|
194
|
-
# Comment out entire mavenPublishing block (lines starting from mavenPublishing { to its closing })
|
|
195
|
-
sed -i '' '/^mavenPublishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
|
|
196
|
-
else
|
|
197
|
-
# Linux - Comment out imports
|
|
198
|
-
sed -i 's/^import com\.vanniktech\.maven\.publish\.JavadocJar$/\/\/ &/' compose/build.gradle.kts
|
|
199
|
-
sed -i 's/^import com\.vanniktech\.maven\.publish\.KotlinMultiplatform$/\/\/ &/' compose/build.gradle.kts
|
|
200
|
-
# Comment out plugin
|
|
201
|
-
sed -i 's/^ alias(libs\.plugins\.vanniktech\.mavenPublish)$/\/\/ &/' compose/build.gradle.kts
|
|
202
|
-
# Comment out publishing block
|
|
203
|
-
sed -i '/^publishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
|
|
204
|
-
# Comment out entire mavenPublishing block
|
|
205
|
-
sed -i '/^mavenPublishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
|
|
206
|
-
fi
|
|
207
|
-
|
|
208
|
-
# Modify android configuration for debug version
|
|
209
|
-
echo "🔧 Modifying android configuration for debug version..."
|
|
210
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
211
|
-
# macOS
|
|
212
|
-
sed -i '' 's/namespace = "\$gitlabGroup\.\$gitlabArtifactId"/namespace = "vn.momo.kits.kits"/' compose/build.gradle.kts
|
|
213
|
-
sed -i '' 's/compileSdk = libs\.versions\.android\.compileSdk\.get()\.toInt()/compileSdk = 35/' compose/build.gradle.kts
|
|
214
|
-
sed -i '' 's/minSdk = libs\.versions\.android\.minSdk\.get()\.toInt()/minSdk = 24/' compose/build.gradle.kts
|
|
215
|
-
sed -i '' "s/version = gitlabVersion/version = \"$DEBUG_VERSION\"/" compose/build.gradle.kts
|
|
216
|
-
else
|
|
217
|
-
# Linux
|
|
218
|
-
sed -i 's/namespace = "\$gitlabGroup\.\$gitlabArtifactId"/namespace = "vn.momo.kits.kits"/' compose/build.gradle.kts
|
|
219
|
-
sed -i 's/compileSdk = libs\.versions\.android\.compileSdk\.get()\.toInt()/compileSdk = 35/' compose/build.gradle.kts
|
|
220
|
-
sed -i 's/minSdk = libs\.versions\.android\.minSdk\.get()\.toInt()/minSdk = 24/' compose/build.gradle.kts
|
|
221
|
-
sed -i "s/version = gitlabVersion/version = \"$DEBUG_VERSION\"/" compose/build.gradle.kts
|
|
222
|
-
fi
|
|
223
|
-
|
|
224
|
-
# Backup .npmignore
|
|
225
|
-
cp .npmignore .npmignore.backup
|
|
226
|
-
|
|
227
|
-
# Create minimal .npmignore for debug version (only exclude build artifacts and IDE configs)
|
|
228
|
-
cat > .npmignore << 'EOF'
|
|
229
|
-
sample/
|
|
230
|
-
build/
|
|
231
|
-
|
|
232
|
-
.fleet
|
|
233
|
-
.gradle
|
|
234
|
-
.idea
|
|
235
|
-
.kotlin
|
|
236
|
-
.run
|
|
237
|
-
|
|
238
|
-
.gitattributes
|
|
239
|
-
.gitlab-ci.yml
|
|
240
|
-
.npmignore.backup
|
|
241
|
-
EOF
|
|
242
|
-
|
|
243
|
-
echo "📤 Publishing debug version (with compose)..."
|
|
244
|
-
npm publish --tag latest --access=public
|
|
245
|
-
|
|
246
|
-
# Restore .npmignore
|
|
247
|
-
mv .npmignore.backup .npmignore
|
|
248
|
-
echo "✅ .npmignore restored"
|
|
249
|
-
|
|
250
|
-
# Restore compose/build.gradle.kts
|
|
251
|
-
mv compose/build.gradle.kts.backup compose/build.gradle.kts
|
|
252
|
-
echo "✅ compose/build.gradle.kts restored"
|
|
253
|
-
|
|
254
|
-
# Restore package.json version to original
|
|
255
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
256
|
-
# macOS
|
|
257
|
-
sed -i '' "s/\"version\": \"$DEBUG_VERSION\"/\"version\": \"$VERSION\"/" package.json
|
|
258
|
-
else
|
|
259
|
-
# Linux
|
|
260
|
-
sed -i "s/\"version\": \"$DEBUG_VERSION\"/\"version\": \"$VERSION\"/" package.json
|
|
261
|
-
fi
|
|
262
|
-
|
|
263
|
-
echo "✅ package.json version restored"
|
|
264
|
-
|
|
265
|
-
echo ""
|
|
266
|
-
echo "✅ PHASE 2 COMPLETED"
|
|
267
|
-
echo " 📦 Normal version: $VERSION (without compose)"
|
|
268
|
-
echo " 🐛 Debug version: $DEBUG_VERSION (with compose)"
|
|
269
|
-
echo ""
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
# ============================================================================
|
|
273
|
-
# PHASE 3: PUBLISH TO MAVEN
|
|
274
|
-
# ============================================================================
|
|
275
|
-
phase_publish_maven() {
|
|
276
|
-
echo ""
|
|
277
|
-
echo "==============================================="
|
|
278
|
-
echo "🔧 PHASE 3: PUBLISH TO MAVEN"
|
|
279
|
-
echo "==============================================="
|
|
280
|
-
|
|
281
|
-
# Get version from package.json
|
|
282
|
-
VERSION=$(node -p "require('./package.json').version")
|
|
283
|
-
export VERSION="$VERSION"
|
|
284
|
-
|
|
285
|
-
echo "📦 Publishing KMP artifacts to Maven (version ${VERSION})..."
|
|
286
|
-
|
|
287
|
-
./gradlew :compose:publishAllPublicationsToGitLabPackagesRepository
|
|
288
|
-
|
|
289
|
-
echo "✅ Maven publishing completed successfully!"
|
|
290
|
-
echo "✅ PHASE 3 COMPLETED"
|
|
291
|
-
echo ""
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
# ============================================================================
|
|
295
|
-
# MAIN EXECUTION
|
|
296
|
-
# ============================================================================
|
|
297
|
-
|
|
298
|
-
echo ""
|
|
299
|
-
echo "🚀 PUBLISH RELEASE SCRIPT"
|
|
300
|
-
echo "================================================="
|
|
301
|
-
|
|
302
|
-
case "$PHASE" in
|
|
303
|
-
"check")
|
|
304
|
-
echo "Running PHASE 1 only: Check and update version"
|
|
305
|
-
phase_check_version
|
|
306
|
-
;;
|
|
307
|
-
"npm")
|
|
308
|
-
echo "Running PHASE 2 only: Publish to NPM"
|
|
309
|
-
phase_publish_npm
|
|
310
|
-
;;
|
|
311
|
-
"maven")
|
|
312
|
-
echo "Running PHASE 3 only: Publish to Maven"
|
|
313
|
-
phase_publish_maven
|
|
314
|
-
;;
|
|
315
|
-
"all")
|
|
316
|
-
echo "Running ALL PHASES"
|
|
317
|
-
phase_check_version
|
|
318
|
-
phase_publish_npm
|
|
319
|
-
phase_publish_maven
|
|
320
|
-
echo ""
|
|
321
|
-
echo "🎉 ALL PHASES COMPLETED SUCCESSFULLY!"
|
|
322
|
-
echo "================================================="
|
|
323
|
-
;;
|
|
324
|
-
*)
|
|
325
|
-
echo "❌ Error: Invalid phase '$PHASE'"
|
|
326
|
-
echo ""
|
|
327
|
-
echo "Usage:"
|
|
328
|
-
echo " sh publish_release.sh # Run all phases"
|
|
329
|
-
echo " sh publish_release.sh check # Phase 1: Check and update version"
|
|
330
|
-
echo " sh publish_release.sh npm # Phase 2: Publish to NPM"
|
|
331
|
-
echo " sh publish_release.sh maven # Phase 3: Publish to Maven"
|
|
332
|
-
exit 1
|
|
333
|
-
;;
|
|
334
|
-
esac
|