@momo-kits/native-kits 0.156.1-test.5-debug → 0.156.1-test.6-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/publish.sh ADDED
@@ -0,0 +1,431 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -e # Exit on error
4
+
5
+ # ============================================================================
6
+ # UNIVERSAL PUBLISH SCRIPT
7
+ # ============================================================================
8
+ # Usage:
9
+ # sh publish.sh beta # Run all phases for beta
10
+ # sh publish.sh release # Run all phases for release
11
+ # sh publish.sh beta check # Phase 1 only: Check version (beta)
12
+ # sh publish.sh beta maven # Phase 2 only: Publish to Maven (beta)
13
+ # sh publish.sh beta npm # Phase 3 only: Publish to NPM (beta)
14
+ # sh publish.sh release check # Phase 1 only: Check version (release)
15
+ # sh publish.sh release maven # Phase 2 only: Publish to Maven (release)
16
+ # sh publish.sh release npm # Phase 3 only: Publish to NPM (release)
17
+ # ============================================================================
18
+
19
+ MODE="${1:-}"
20
+ PHASE="${2:-all}"
21
+
22
+ # Validate MODE
23
+ if [ -z "$MODE" ]; then
24
+ echo "❌ Error: MODE is required"
25
+ echo ""
26
+ echo "Usage:"
27
+ echo " sh publish.sh beta [phase] # Beta publishing"
28
+ echo " sh publish.sh release [phase] # Release publishing"
29
+ echo ""
30
+ echo "Phases: check | maven | npm | all (default: all)"
31
+ exit 1
32
+ fi
33
+
34
+ if [ "$MODE" != "beta" ] && [ "$MODE" != "release" ]; then
35
+ echo "❌ Error: Invalid MODE '$MODE'. Must be 'beta' or 'release'"
36
+ exit 1
37
+ fi
38
+
39
+ # ============================================================================
40
+ # PHASE 1: CHECK AND UPDATE VERSION
41
+ # ============================================================================
42
+ phase_check_version() {
43
+ echo ""
44
+ echo "==============================================="
45
+ echo "📋 PHASE 1: CHECK AND UPDATE VERSION ($MODE)"
46
+ echo "==============================================="
47
+
48
+ PACKAGE_NAME=$(node -p "require('./package.json').name")
49
+
50
+ # ==============================================================
51
+ # BETA MODE: Detect specific vs normal, format accordingly
52
+ # ==============================================================
53
+ if [ "$MODE" == "beta" ]; then
54
+ echo "🔍 Reading version from package.json..."
55
+ VERSION=$(node -p "require('./package.json').version")
56
+
57
+ if [ -z "$VERSION" ]; then
58
+ echo "❌ Error: Could not read version from package.json"
59
+ exit 1
60
+ fi
61
+
62
+ echo "📦 Version from package.json: $VERSION"
63
+
64
+ # Detect version type: specific vs normal
65
+ # Specific: has suffix but NOT "beta" (e.g., 0.156.2-test.1, 0.156.2-alpha.1)
66
+ # Normal: has "beta" suffix OR no suffix (e.g., 0.156.2-beta.1, 0.156.2)
67
+
68
+ if [[ "$VERSION" == *"-"* ]] && [[ "$VERSION" != *"-beta."* ]]; then
69
+ # Has suffix but not beta → specific
70
+ VERSION_TYPE="specific"
71
+ NPM_TAG="alpha"
72
+ echo "🏷️ Detected: SPECIFIC version (tag: alpha)"
73
+ else
74
+ # Has beta suffix or no suffix → normal
75
+ VERSION_TYPE="normal"
76
+ NPM_TAG="beta"
77
+ echo "🏷️ Detected: NORMAL version (tag: beta)"
78
+ fi
79
+
80
+ # Format version based on type
81
+ if [ "$VERSION_TYPE" == "specific" ]; then
82
+ # Specific: Check existence, FAIL if exists
83
+ echo "🔎 Checking if specific version $VERSION exists on npm..."
84
+ NPM_VERSION_INFO=$(npm view "$PACKAGE_NAME@$VERSION" version 2>/dev/null || echo "")
85
+
86
+ if [ -n "$NPM_VERSION_INFO" ]; then
87
+ echo ""
88
+ echo "❌ ERROR: Specific version $VERSION already exists on npm!"
89
+ echo ""
90
+ echo "Please update the version in package.json before publishing."
91
+ echo ""
92
+ exit 1
93
+ fi
94
+
95
+ echo "✅ Specific version $VERSION does not exist on npm. Safe to publish."
96
+ else
97
+ # Normal: Auto-format and increment
98
+ # If no beta suffix, add -beta.1
99
+ if [[ "$VERSION" != *"-beta."* ]]; then
100
+ echo "🔄 Adding beta suffix: $VERSION → ${VERSION}-beta.1"
101
+ VERSION="${VERSION}-beta.1"
102
+
103
+ # Update package.json with beta version
104
+ ORIGINAL_VERSION=$(node -p "require('./package.json').version")
105
+ if [[ "$OSTYPE" == "darwin"* ]]; then
106
+ sed -i '' "s/\"version\": \"$ORIGINAL_VERSION\"/\"version\": \"$VERSION\"/" package.json
107
+ else
108
+ sed -i "s/\"version\": \"$ORIGINAL_VERSION\"/\"version\": \"$VERSION\"/" package.json
109
+ fi
110
+ fi
111
+
112
+ # Check if version exists and auto-increment
113
+ echo "🔎 Checking version $VERSION on npm..."
114
+ while true; do
115
+ NPM_VERSION_INFO=$(npm view "$PACKAGE_NAME@$VERSION" version 2>/dev/null || echo "")
116
+
117
+ if [ -n "$NPM_VERSION_INFO" ]; then
118
+ echo "⚠️ Version $VERSION already exists on npm. Auto-incrementing..."
119
+
120
+ # Extract base version and beta number (e.g., 0.156.1-beta.5)
121
+ BASE_VERSION=$(echo "$VERSION" | cut -d'-' -f1)
122
+ BETA_NUMBER=$(echo "$VERSION" | grep -oE 'beta\.([0-9]+)' | cut -d'.' -f2)
123
+
124
+ # Increment beta number
125
+ NEW_BETA_NUMBER=$((BETA_NUMBER + 1))
126
+ NEW_VERSION="${BASE_VERSION}-beta.${NEW_BETA_NUMBER}"
127
+
128
+ echo " Version incremented: $VERSION → $NEW_VERSION"
129
+ VERSION="$NEW_VERSION"
130
+ else
131
+ echo "✅ Version $VERSION does not exist on npm. Using this version."
132
+ break
133
+ fi
134
+ done
135
+
136
+ # Update package.json with final version
137
+ CURRENT_VERSION=$(node -p "require('./package.json').version")
138
+ if [ "$CURRENT_VERSION" != "$VERSION" ]; then
139
+ if [[ "$OSTYPE" == "darwin"* ]]; then
140
+ sed -i '' "s/\"version\": \"$CURRENT_VERSION\"/\"version\": \"$VERSION\"/" package.json
141
+ else
142
+ sed -i "s/\"version\": \"$CURRENT_VERSION\"/\"version\": \"$VERSION\"/" package.json
143
+ fi
144
+ echo "📝 Updated package.json: $CURRENT_VERSION → $VERSION"
145
+ fi
146
+ fi
147
+ fi
148
+
149
+ # ==============================================================
150
+ # RELEASE MODE: Read from npm@latest and auto-increment
151
+ # ==============================================================
152
+ if [ "$MODE" == "release" ]; then
153
+ echo "🔍 Reading latest version from npm@latest (NOT from package.json)..."
154
+
155
+ # Read version from npm@latest
156
+ LATEST_VERSION=$(npm view "$PACKAGE_NAME@latest" version 2>/dev/null || echo "")
157
+
158
+ if [ -z "$LATEST_VERSION" ]; then
159
+ echo "❌ Error: Could not read version from npm@latest"
160
+ echo "Package may not exist on npm yet."
161
+ exit 1
162
+ fi
163
+
164
+ echo "📦 Current @latest version on npm: $LATEST_VERSION"
165
+
166
+ # Parse and increment patch version
167
+ # Extract major.minor.patch (handle versions like 0.156.2 or 0.156.2-beta.1)
168
+ MAJOR=$(echo "$LATEST_VERSION" | cut -d'.' -f1)
169
+ MINOR=$(echo "$LATEST_VERSION" | cut -d'.' -f2)
170
+ PATCH=$(echo "$LATEST_VERSION" | cut -d'.' -f3 | cut -d'-' -f1)
171
+
172
+ # Increment patch
173
+ NEW_PATCH=$((PATCH + 1))
174
+ VERSION="$MAJOR.$MINOR.$NEW_PATCH"
175
+
176
+ echo "🔼 Auto-incremented version: $LATEST_VERSION → $VERSION"
177
+
178
+ # Check if new version exists and continue incrementing
179
+ echo "🔎 Checking if version $VERSION exists on npm..."
180
+ while true; do
181
+ NPM_VERSION_INFO=$(npm view "$PACKAGE_NAME@$VERSION" version 2>/dev/null || echo "")
182
+
183
+ if [ -n "$NPM_VERSION_INFO" ]; then
184
+ echo "⚠️ Version $VERSION already exists on npm. Auto-incrementing..."
185
+ NEW_PATCH=$((NEW_PATCH + 1))
186
+ VERSION="$MAJOR.$MINOR.$NEW_PATCH"
187
+ echo " Version incremented: → $VERSION"
188
+ else
189
+ echo "✅ Version $VERSION does not exist on npm. Using this version."
190
+ break
191
+ fi
192
+ done
193
+
194
+ # Update package.json with new version
195
+ CURRENT_VERSION=$(node -p "require('./package.json').version")
196
+ if [[ "$OSTYPE" == "darwin"* ]]; then
197
+ sed -i '' "s/\"version\": \"$CURRENT_VERSION\"/\"version\": \"$VERSION\"/" package.json
198
+ else
199
+ sed -i "s/\"version\": \"$CURRENT_VERSION\"/\"version\": \"$VERSION\"/" package.json
200
+ fi
201
+ echo "📝 Updated package.json: $CURRENT_VERSION → $VERSION"
202
+
203
+ # Set NPM tag to latest
204
+ NPM_TAG="latest"
205
+ fi
206
+
207
+ # Update gradle.properties with the same version
208
+ echo "📝 Updating gradle.properties..."
209
+ CURRENT_GRADLE_VERSION=$(grep "^version=" gradle.properties | cut -d'=' -f2 | tr -d '"')
210
+
211
+ if [[ "$OSTYPE" == "darwin"* ]]; then
212
+ sed -i '' "s/^version=.*/version=$VERSION/" gradle.properties
213
+ else
214
+ sed -i "s/^version=.*/version=$VERSION/" gradle.properties
215
+ fi
216
+
217
+ echo " Gradle version updated: $CURRENT_GRADLE_VERSION → $VERSION"
218
+
219
+ export VERSION="$VERSION"
220
+ export NPM_TAG="$NPM_TAG"
221
+
222
+ echo "✅ Using version: $VERSION"
223
+ echo "✅ NPM tag: $NPM_TAG"
224
+ echo "✅ PHASE 1 COMPLETED"
225
+ echo ""
226
+ }
227
+
228
+ # ============================================================================
229
+ # PHASE 2: PUBLISH TO MAVEN
230
+ # ============================================================================
231
+ phase_publish_maven() {
232
+ echo ""
233
+ echo "==============================================="
234
+ echo "🔧 PHASE 2: PUBLISH TO MAVEN ($MODE)"
235
+ echo "==============================================="
236
+
237
+ # Get version from package.json
238
+ VERSION=$(node -p "require('./package.json').version")
239
+ export VERSION="$VERSION"
240
+
241
+ echo "📦 Publishing KMP artifacts to Maven (version ${VERSION})..."
242
+
243
+ ./gradlew :compose:publishAllPublicationsToGitLabPackagesRepository
244
+
245
+ echo "✅ Maven publishing completed successfully!"
246
+ echo "✅ PHASE 2 COMPLETED"
247
+ echo ""
248
+ }
249
+
250
+ # ============================================================================
251
+ # PHASE 3: PUBLISH TO NPM
252
+ # ============================================================================
253
+ phase_publish_npm() {
254
+ echo ""
255
+ echo "==============================================="
256
+ echo "📦 PHASE 3: PUBLISH TO NPM ($MODE)"
257
+ echo "==============================================="
258
+
259
+ # Get version from package.json
260
+ VERSION=$(node -p "require('./package.json').version")
261
+ export VERSION="$VERSION"
262
+
263
+ # Determine NPM tag (should already be set from phase 1, but fallback just in case)
264
+ if [ -z "$NPM_TAG" ]; then
265
+ if [ "$MODE" == "beta" ]; then
266
+ # Re-detect version type
267
+ if [[ "$VERSION" == *"-"* ]] && [[ "$VERSION" != *"-beta."* ]]; then
268
+ NPM_TAG="alpha"
269
+ else
270
+ NPM_TAG="beta"
271
+ fi
272
+ else
273
+ NPM_TAG="latest"
274
+ fi
275
+ fi
276
+
277
+ echo "📦 Publishing version: $VERSION"
278
+ echo "🏷️ NPM tag: $NPM_TAG"
279
+
280
+ ./gradlew clean
281
+
282
+ # ============================================================
283
+ # FIRST PUBLISH: DEBUG VERSION (with compose kits included)
284
+ # ============================================================
285
+ echo ""
286
+ echo "🔧 Preparing debug version with compose kits..."
287
+
288
+ # Create debug version
289
+ DEBUG_VERSION="${VERSION}-debug"
290
+ echo "📦 Debug version: $DEBUG_VERSION"
291
+
292
+ # Update package.json version to debug version
293
+ if [[ "$OSTYPE" == "darwin"* ]]; then
294
+ sed -i '' "s/\"version\": \"$VERSION\"/\"version\": \"$DEBUG_VERSION\"/" package.json
295
+ else
296
+ sed -i "s/\"version\": \"$VERSION\"/\"version\": \"$DEBUG_VERSION\"/" package.json
297
+ fi
298
+
299
+ # Backup compose/build.gradle.kts
300
+ echo "📦 Backing up compose/build.gradle.kts..."
301
+ cp compose/build.gradle.kts compose/build.gradle.kts.backup
302
+
303
+ # Comment out maven publish in compose/build.gradle.kts
304
+ echo "💬 Commenting out maven publish in compose/build.gradle.kts..."
305
+ if [[ "$OSTYPE" == "darwin"* ]]; then
306
+ sed -i '' 's/^import com\.vanniktech\.maven\.publish\.JavadocJar$/\/\/ &/' compose/build.gradle.kts
307
+ sed -i '' 's/^import com\.vanniktech\.maven\.publish\.KotlinMultiplatform$/\/\/ &/' compose/build.gradle.kts
308
+ sed -i '' 's/^ alias(libs\.plugins\.vanniktech\.mavenPublish)$/\/\/ &/' compose/build.gradle.kts
309
+ sed -i '' '/^publishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
310
+ sed -i '' '/^mavenPublishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
311
+ else
312
+ sed -i 's/^import com\.vanniktech\.maven\.publish\.JavadocJar$/\/\/ &/' compose/build.gradle.kts
313
+ sed -i 's/^import com\.vanniktech\.maven\.publish\.KotlinMultiplatform$/\/\/ &/' compose/build.gradle.kts
314
+ sed -i 's/^ alias(libs\.plugins\.vanniktech\.mavenPublish)$/\/\/ &/' compose/build.gradle.kts
315
+ sed -i '/^publishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
316
+ sed -i '/^mavenPublishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
317
+ fi
318
+
319
+ # Modify android configuration for debug version
320
+ echo "🔧 Modifying android configuration for debug version..."
321
+ if [[ "$OSTYPE" == "darwin"* ]]; then
322
+ sed -i '' 's/namespace = "\$gitlabGroup\.\$gitlabArtifactId"/namespace = "vn.momo.kits.kits"/' compose/build.gradle.kts
323
+ sed -i '' 's/compileSdk = libs\.versions\.android\.compileSdk\.get()\.toInt()/compileSdk = 35/' compose/build.gradle.kts
324
+ sed -i '' 's/minSdk = libs\.versions\.android\.minSdk\.get()\.toInt()/minSdk = 24/' compose/build.gradle.kts
325
+ sed -i '' "s/version = gitlabVersion/version = \"$DEBUG_VERSION\"/" compose/build.gradle.kts
326
+ else
327
+ sed -i 's/namespace = "\$gitlabGroup\.\$gitlabArtifactId"/namespace = "vn.momo.kits.kits"/' compose/build.gradle.kts
328
+ sed -i 's/compileSdk = libs\.versions\.android\.compileSdk\.get()\.toInt()/compileSdk = 35/' compose/build.gradle.kts
329
+ sed -i 's/minSdk = libs\.versions\.android\.minSdk\.get()\.toInt()/minSdk = 24/' compose/build.gradle.kts
330
+ sed -i "s/version = gitlabVersion/version = \"$DEBUG_VERSION\"/" compose/build.gradle.kts
331
+ fi
332
+
333
+ # Backup .npmignore
334
+ cp .npmignore .npmignore.backup
335
+
336
+ # Create minimal .npmignore for debug version
337
+ cat > .npmignore << 'EOF'
338
+ sample/
339
+ build/
340
+
341
+ .fleet
342
+ .gradle
343
+ .idea
344
+ .kotlin
345
+ .run
346
+
347
+ .gitattributes
348
+ .gitlab-ci.yml
349
+ .npmignore.backup
350
+ EOF
351
+
352
+ echo "📤 Publishing debug version (with compose)..."
353
+ npm publish --tag $NPM_TAG --access=public
354
+
355
+ echo "✅ Debug version published successfully!"
356
+
357
+ # Restore .npmignore
358
+ mv .npmignore.backup .npmignore
359
+ echo "✅ .npmignore restored"
360
+
361
+ # Restore compose/build.gradle.kts
362
+ mv compose/build.gradle.kts.backup compose/build.gradle.kts
363
+ echo "✅ compose/build.gradle.kts restored"
364
+
365
+ # Restore package.json version to original
366
+ if [[ "$OSTYPE" == "darwin"* ]]; then
367
+ sed -i '' "s/\"version\": \"$DEBUG_VERSION\"/\"version\": \"$VERSION\"/" package.json
368
+ else
369
+ sed -i "s/\"version\": \"$DEBUG_VERSION\"/\"version\": \"$VERSION\"/" package.json
370
+ fi
371
+
372
+ echo "✅ package.json version restored"
373
+
374
+ # ============================================================
375
+ # SECOND PUBLISH: NORMAL VERSION (without compose)
376
+ # ============================================================
377
+ echo ""
378
+ echo "📤 Publishing normal version (without compose)..."
379
+ npm publish --tag $NPM_TAG --access=public
380
+
381
+ echo "✅ Normal version published successfully!"
382
+
383
+ echo ""
384
+ echo "✅ PHASE 3 COMPLETED"
385
+ echo " 🐛 Debug version: $DEBUG_VERSION (with compose) - Published first"
386
+ echo " 📦 Normal version: $VERSION (without compose) - Published second"
387
+ echo " 🏷️ NPM Tag: $NPM_TAG"
388
+ echo ""
389
+ }
390
+
391
+ # ============================================================================
392
+ # MAIN EXECUTION
393
+ # ============================================================================
394
+
395
+ echo ""
396
+ echo "🚀 PUBLISH SCRIPT - MODE: $(echo $MODE | tr '[:lower:]' '[:upper:]')"
397
+ echo "================================================="
398
+
399
+ case "$PHASE" in
400
+ "check")
401
+ echo "Running PHASE 1 only: Check and update version"
402
+ phase_check_version
403
+ ;;
404
+ "maven")
405
+ echo "Running PHASE 2 only: Publish to Maven"
406
+ phase_publish_maven
407
+ ;;
408
+ "npm")
409
+ echo "Running PHASE 3 only: Publish to NPM"
410
+ phase_publish_npm
411
+ ;;
412
+ "all")
413
+ echo "Running ALL PHASES"
414
+ phase_check_version
415
+ phase_publish_maven
416
+ phase_publish_npm
417
+ echo ""
418
+ echo "🎉 ALL PHASES COMPLETED SUCCESSFULLY!"
419
+ echo "================================================="
420
+ ;;
421
+ *)
422
+ echo "❌ Error: Invalid phase '$PHASE'"
423
+ echo ""
424
+ echo "Usage:"
425
+ echo " sh publish.sh $MODE # Run all phases"
426
+ echo " sh publish.sh $MODE check # Phase 1: Check and update version"
427
+ echo " sh publish.sh $MODE maven # Phase 2: Publish to Maven"
428
+ echo " sh publish.sh $MODE npm # Phase 3: Publish to NPM"
429
+ exit 1
430
+ ;;
431
+ esac
package/publish_beta.sh DELETED
@@ -1,153 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -e # Exit on error
4
-
5
- echo "🔍 Reading version from local package.json..."
6
-
7
- # Get the version from local package.json
8
- VERSION=$(node -p "require('./package.json').version")
9
-
10
- if [ -z "$VERSION" ]; then
11
- echo "❌ Error: Could not read version from package.json"
12
- exit 1
13
- fi
14
-
15
- echo "📦 Version from package.json: $VERSION"
16
-
17
- # Update gradle.properties with the same version
18
- echo "📝 Updating gradle.properties..."
19
- # Get current gradle version
20
- CURRENT_GRADLE_VERSION=$(grep "^version=" gradle.properties | cut -d'=' -f2 | tr -d '"')
21
-
22
- # Update version in gradle.properties using sed
23
- if [[ "$OSTYPE" == "darwin"* ]]; then
24
- # macOS
25
- sed -i '' "s/^version=.*/version=$VERSION/" gradle.properties
26
- else
27
- # Linux
28
- sed -i "s/^version=.*/version=$VERSION/" gradle.properties
29
- fi
30
-
31
- echo " Gradle version updated: $CURRENT_GRADLE_VERSION → $VERSION"
32
-
33
- export VERSION="$VERSION"
34
-
35
- echo "✅ Using version: $VERSION"
36
- echo "📦 Publishing KMP artifacts to Maven (version ${VERSION})..."
37
-
38
- ./gradlew clean
39
-
40
- # First publish: normal version (compose/ is excluded via .npmignore)
41
- echo "📤 Publishing normal version (without compose)..."
42
- npm publish --tag beta --access=public
43
-
44
- ./gradlew :compose:publishAllPublicationsToGitLabPackagesRepository
45
-
46
- echo "✅ Normal version published successfully!"
47
-
48
- # Second publish: debug version with compose kits included
49
- echo ""
50
- echo "🔧 Preparing debug version with compose kits..."
51
-
52
- # Create debug version
53
- DEBUG_VERSION="${VERSION}-debug"
54
- echo "📦 Debug version: $DEBUG_VERSION"
55
-
56
- # Update package.json version to debug version
57
- if [[ "$OSTYPE" == "darwin"* ]]; then
58
- # macOS
59
- sed -i '' "s/\"version\": \"$VERSION\"/\"version\": \"$DEBUG_VERSION\"/" package.json
60
- else
61
- # Linux
62
- sed -i "s/\"version\": \"$VERSION\"/\"version\": \"$DEBUG_VERSION\"/" package.json
63
- fi
64
-
65
- # Backup compose/build.gradle.kts
66
- echo "? Backing up compose/build.gradle.kts..."
67
- cp compose/build.gradle.kts compose/build.gradle.kts.backup
68
-
69
- # Comment out maven publish in compose/build.gradle.kts
70
- echo "💬 Commenting out maven publish in compose/build.gradle.kts..."
71
- if [[ "$OSTYPE" == "darwin"* ]]; then
72
- # macOS - Comment out imports
73
- sed -i '' 's/^import com\.vanniktech\.maven\.publish\.JavadocJar$/\/\/ &/' compose/build.gradle.kts
74
- sed -i '' 's/^import com\.vanniktech\.maven\.publish\.KotlinMultiplatform$/\/\/ &/' compose/build.gradle.kts
75
- # Comment out plugin
76
- sed -i '' 's/^ alias(libs\.plugins\.vanniktech\.mavenPublish)$/\/\/ &/' compose/build.gradle.kts
77
- # Comment out publishing block
78
- sed -i '' '/^publishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
79
- # Comment out entire mavenPublishing block (lines starting from mavenPublishing { to its closing })
80
- sed -i '' '/^mavenPublishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
81
- else
82
- # Linux - Comment out imports
83
- sed -i 's/^import com\.vanniktech\.maven\.publish\.JavadocJar$/\/\/ &/' compose/build.gradle.kts
84
- sed -i 's/^import com\.vanniktech\.maven\.publish\.KotlinMultiplatform$/\/\/ &/' compose/build.gradle.kts
85
- # Comment out plugin
86
- sed -i 's/^ alias(libs\.plugins\.vanniktech\.mavenPublish)$/\/\/ &/' compose/build.gradle.kts
87
- # Comment out publishing block
88
- sed -i '/^publishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
89
- # Comment out entire mavenPublishing block
90
- sed -i '/^mavenPublishing {$/,/^}$/s/^/\/\/ /' compose/build.gradle.kts
91
- fi
92
-
93
- # Modify android configuration for debug version
94
- echo "🔧 Modifying android configuration for debug version..."
95
- if [[ "$OSTYPE" == "darwin"* ]]; then
96
- # macOS
97
- sed -i '' 's/namespace = "\$gitlabGroup\.\$gitlabArtifactId"/namespace = "vn.momo.kits.kits"/' compose/build.gradle.kts
98
- sed -i '' 's/compileSdk = libs\.versions\.android\.compileSdk\.get()\.toInt()/compileSdk = 35/' compose/build.gradle.kts
99
- sed -i '' 's/minSdk = libs\.versions\.android\.minSdk\.get()\.toInt()/minSdk = 24/' compose/build.gradle.kts
100
- sed -i '' "s/version = gitlabVersion/version = \"$DEBUG_VERSION\"/" compose/build.gradle.kts
101
- else
102
- # Linux
103
- sed -i 's/namespace = "\$gitlabGroup\.\$gitlabArtifactId"/namespace = "vn.momo.kits.kits"/' compose/build.gradle.kts
104
- sed -i 's/compileSdk = libs\.versions\.android\.compileSdk\.get()\.toInt()/compileSdk = 35/' compose/build.gradle.kts
105
- sed -i 's/minSdk = libs\.versions\.android\.minSdk\.get()\.toInt()/minSdk = 24/' compose/build.gradle.kts
106
- sed -i "s/version = gitlabVersion/version = \"$DEBUG_VERSION\"/" compose/build.gradle.kts
107
- fi
108
-
109
- # Backup .npmignore
110
- cp .npmignore .npmignore.backup
111
-
112
- # Create minimal .npmignore for debug version (only exclude build artifacts and IDE configs)
113
- cat > .npmignore << 'EOF'
114
- sample/
115
- build/
116
-
117
- .fleet
118
- .gradle
119
- .idea
120
- .kotlin
121
- .run
122
-
123
- .gitattributes
124
- .gitlab-ci.yml
125
- .npmignore.backup
126
- EOF
127
-
128
- echo "📤 Publishing debug version (with compose)..."
129
- npm publish --tag beta --access=public
130
-
131
- # Restore .npmignore
132
- mv .npmignore.backup .npmignore
133
- echo "✅ .npmignore restored"
134
-
135
- # Restore compose/build.gradle.kts
136
- mv compose/build.gradle.kts.backup compose/build.gradle.kts
137
- echo "✅ compose/build.gradle.kts restored"
138
-
139
- # Restore package.json version to original
140
- if [[ "$OSTYPE" == "darwin"* ]]; then
141
- # macOS
142
- sed -i '' "s/\"version\": \"$DEBUG_VERSION\"/\"version\": \"$VERSION\"/" package.json
143
- else
144
- # Linux
145
- sed -i "s/\"version\": \"$DEBUG_VERSION\"/\"version\": \"$VERSION\"/" package.json
146
- fi
147
-
148
- echo "✅ package.json version restored"
149
-
150
- echo ""
151
- echo "🎉 Publishing completed successfully!"
152
- echo " 📦 Normal version: $VERSION (without compose)"
153
- echo " 🐛 Debug version: $DEBUG_VERSION (with compose)"