Skip to content

Commit dc04bac

Browse files
authored
Fix #2457 support overwrite build profiles by .axproj (#2460)
1 parent 2808a8f commit dc04bac

File tree

6 files changed

+30
-26
lines changed

6 files changed

+30
-26
lines changed

1k/1kiss.ps1

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,9 @@ $manifest = @{
231231
python = '3.8.0+';
232232
jdk = '17.0.10+'; # jdk17+ works for android cmdlinetools 7.0+
233233
emsdk = '3.1.53+';
234-
'cmdline-tools' = '12.0'; # android cmdlinetools
234+
cmdlinetools = '12.0'; # android cmdline-tools
235+
buildtools = '34.0.0'; # android build-tools
236+
target_sdk = '35' # android platforms
235237
}
236238

237239
# the default generator requires explicit specified: osx, ios, android, wasm
@@ -253,12 +255,6 @@ $cmdlinetools_rev = '11076708' # 12.0
253255
$ndk_r23d_rev = '12186248'
254256
# $ndk_r25d_rev = '12161346'
255257

256-
$android_sdk_tools = @{
257-
'cmdline-tools' = '12.0'
258-
'build-tools' = '34.0.0'
259-
'platforms' = '35'
260-
}
261-
262258
# eva: evaluated_args
263259
$options = @{
264260
p = $null
@@ -476,6 +472,14 @@ if ($1k.isfile($manifest_file)) {
476472
. $manifest_file
477473
}
478474

475+
if($1k.isfile($Global:__1k_user_profile)) {
476+
$1k.println("Loading user build profile: $__1k_user_profile")
477+
$user_profile = ConvertFrom-Props (Get-Content $__1k_user_profile)
478+
foreach($entry in $user_profile.GetEnumerator()) {
479+
$manifest[$entry.Key] = $entry.Value
480+
}
481+
}
482+
479483
$install_prefix = if ($options.prefix) { $options.prefix } else { Join-Path $HOME '.1kiss' }
480484
if (!$1k.isdir($install_prefix)) {
481485
$1k.mkdirs($install_prefix)
@@ -1306,11 +1310,11 @@ function setup_android_sdk() {
13061310
$sdk_comps = @()
13071311

13081312
### cmdline-tools ###
1309-
$cmdlinetools_ver = $($android_sdk_tools['cmdline-tools'])
1313+
$cmdlinetools_ver = $manifest['cmdlinetools']
13101314
$sdkmanager_prog, $sdkmanager_ver = $null, $null
13111315
$cmdlinetools_prefix = Join-Path $sdk_root "cmdline-tools"
13121316
$cmdlinetools_bin = Join-Path $cmdlinetools_prefix "$cmdlinetools_ver/bin"
1313-
$sdkmanager_prog, $sdkmanager_ver = (find_prog -name 'cmdline-tools' -cmd 'sdkmanager' -path $cmdlinetools_bin -params "--version", "--sdk_root=$sdk_root")
1317+
$sdkmanager_prog, $sdkmanager_ver = (find_prog -name 'cmdlinetools' -cmd 'sdkmanager' -path $cmdlinetools_bin -params "--version", "--sdk_root=$sdk_root")
13141318
if (!$sdkmanager_prog) {
13151319
$suffix = $('win', 'linux', 'mac').Get($HOST_OS)
13161320
if (!$sdkmanager_prog) {
@@ -1319,7 +1323,7 @@ function setup_android_sdk() {
13191323
$cmdlinetools_pkg_name = "commandlinetools-$suffix-$($cmdlinetools_rev)_latest.zip"
13201324
$cmdlinetools_url = "https://dl.google.com/android/repository/$cmdlinetools_pkg_name"
13211325
fetch_pkg $cmdlinetools_url -o $cmdlinetools_pkg_name -exrep "cmdline-tools=$cmdlinetools_ver" -prefix $cmdlinetools_prefix
1322-
$sdkmanager_prog, $_ = (find_prog -name 'cmdline-tools' -cmd 'sdkmanager' -path $cmdlinetools_bin -params "--version", "--sdk_root=$sdk_root" -silent $True)
1326+
$sdkmanager_prog, $_ = (find_prog -name 'cmdlinetools' -cmd 'sdkmanager' -path $cmdlinetools_bin -params "--version", "--sdk_root=$sdk_root" -silent $True)
13231327
if (!$sdkmanager_prog) {
13241328
throw "Install cmdlinetools version: $sdkmanager_ver fail"
13251329
}
@@ -1353,7 +1357,7 @@ function setup_android_sdk() {
13531357
if (!$1k.isdir($ndk_root)) { throw "Install android-ndk-r23d fail, please try again" }
13541358
}
13551359
else {
1356-
$1k.println("Not found suitable android ndk, installing by sdkmanager ...")
1360+
$1k.println("Not found suitable android ndk, installing ndk-$ndk_ver by sdkmanager ...")
13571361

13581362
$matchInfos = (exec_prog -prog $sdkmanager_prog -params "--sdk_root=$sdk_root", '--list' | Select-String 'ndk;')
13591363
if ($null -ne $matchInfos -and $matchInfos.Count -gt 0) {
@@ -1382,7 +1386,7 @@ function setup_android_sdk() {
13821386
}
13831387

13841388
if (!$ndkOnly) {
1385-
$sdk_comps_list = 'platform-tools', "platforms/android-$($android_sdk_tools['platforms'])", "build-tools/$($android_sdk_tools['build-tools'])"
1389+
$sdk_comps_list = 'platform-tools', "platforms/android-$($manifest['target_sdk'])", "build-tools/$($manifest['buildtools'])"
13861390
foreach ($comp in $sdk_comps_list) {
13871391
if (!$1k.isfile("$sdk_root/$comp/source.properties") -or $updateAdt) {
13881392
$sdk_comps += $comp.Replace('/', ';')

1k/build.profiles

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ llvm=17.0.6~19.1.6+
3737
jdk=17.0.10~17.0.13+
3838

3939
# The android cmdline-tools aka sdkmanager, as stable as possible
40-
cmdline-tools=12.0
40+
cmdlinetools=12.0
4141

4242
# The android ndk version
4343
# as stable as possible @setup.ps1 @gradle @axmol-cmdline
@@ -66,11 +66,11 @@ agp=8.7.3
6666

6767
# The android build-tools, @axmol-cmdline @gradle
6868
# as stable as possible, match with agp,android-studio
69-
build-tools=34.0.0
69+
buildtools=34.0.0
7070

71-
# The android-studio, @hint
71+
# The android studio, @hint
7272
# as latest as possible, but match with agp, build-tools
73-
android-studio=2024.2.1+
73+
androidstudio=2024.2.1+
7474

7575
# The android dependencies managed by @gradle
7676
appcompat=1.7.0

1k/manifest.ps1

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,6 @@ $manifest['cmake'] = $build_profiles['cmake']
1919
$manifest['vs'] = $build_profiles['vs']
2020
$manifest['llvm'] = $build_profiles['llvm']
2121

22-
# android sdk tools
23-
$android_sdk_tools['build-tools'] = $build_profiles['build-tools']
24-
$android_sdk_tools['platforms'] = $build_profiles['target_sdk']
25-
$android_sdk_tools['cmdline-tools'] = $build_profiles['cmdline-tools']
26-
2722
$Global:build_profiles = $build_profiles
2823

2924
$Global:download_path = $1k.realpath("$PSScriptRoot/../cache")

core/platform/android/libaxmol/axmol.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,9 @@ class AxmolUtils {
219219
}
220220

221221
private static String translateNdkVer(ndkVer) {
222+
if (ndkVer.endsWith('+')) {
223+
ndkVer = ndkVer.substring(0, ndkVer.length() - 1);
224+
}
222225
def ndkMajor = ndkVer.replaceAll('[^0-9]', '')
223226
def ndkMinorOff = ndkMajor.length() + 1
224227

tools/cmdline/axmol

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
#!/bin/bash -l
22

3-
AXMOL_CONSOLE_BIN_DIRECTORY=$(dirname "$0")
4-
AXMOL_CONSOLE_BIN_DIRECTORY=$(cd "$AXMOL_CONSOLE_BIN_DIRECTORY" && pwd -P)
5-
3+
SCRIPT_ROOT=$(dirname "$0")
4+
SCRIPT_ROOT=$(cd "$SCRIPT_ROOT" && pwd -P)
65
if hash pwsh 2>/dev/null; then
76
POWERSHELL=pwsh
87
else
98
echo "PowerShell 7+ required."
109
exit 1
1110
fi
12-
13-
$POWERSHELL "$AXMOL_CONSOLE_BIN_DIRECTORY/axmol.ps1" "$@"
11+
$POWERSHELL "$SCRIPT_ROOT/axmol.ps1" "$@"

tools/cmdline/build.ps1

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,10 @@ $Global:is_axmol_engine = ($source_proj_dir -eq $AX_ROOT)
9999
$Global:is_axmol_app = !!(Get-ChildItem (Join-Path $source_proj_dir '.axproj*'))
100100
$is_android = $options.p -eq 'android'
101101

102+
if($Global:is_axmol_app) {
103+
$Global:__1k_user_profile = Join-Path $source_proj_dir '.axproj'
104+
}
105+
102106
# start construct full cmd line
103107
$1k_args = @()
104108

0 commit comments

Comments
 (0)