Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
06821b2
Tools xcodeproject upgrade to XCode 16
troysandal Aug 18, 2025
37b3524
fix wax structs tests
troysandal Aug 18, 2025
971bd5d
import block methods vs inline decls
troysandal Aug 21, 2025
f6b0b27
updated for iOS 13+
troysandal Aug 21, 2025
90e985a
more helpful debug statements
troysandal Aug 21, 2025
8ae8d1e
don't run unit tests by default
troysandal Aug 21, 2025
b843f4c
Framework now built as modern XCFramework
troysandal Aug 21, 2025
eead05c
BlockExample working in XCode 16
troysandal Aug 21, 2025
217f63f
MapKitExample runs in XCode 16
troysandal Aug 21, 2025
430ec0c
mobdebug built as XCode 16 XCFramework
troysandal Aug 21, 2025
69ad994
LuaCodeDebug ZeroBrane Debugging works XCode 16
troysandal Aug 22, 2025
5c6f688
remove bad ignore, these are actually needed
troysandal Aug 22, 2025
05a03ff
States building in XCode 16 using wax pod
troysandal Aug 22, 2025
0801c12
add missing xcode project and workspace files
troysandal Aug 22, 2025
766c4ed
use new name of wax xc framework
troysandal Aug 22, 2025
30cc5fa
AutoTest working in XCode 16
troysandal Aug 22, 2025
39d9903
WatchFramework compilng for XCode 16
troysandal Aug 22, 2025
6c60d05
Twitter app building on XCode 16
troysandal Aug 22, 2025
a537611
Remove TextMate support
troysandal Aug 22, 2025
e2ea90f
IBOutlet working in Xocde 16
troysandal Aug 22, 2025
dc84c85
all pods require iOS 15 or greater
troysandal Aug 22, 2025
41c2e7f
States (no framework) running in XCode 16
troysandal Aug 22, 2025
ea3dd7b
Install via Pod working in XCode 16
troysandal Aug 22, 2025
6ff91ea
Install with Source working in XCode 16
troysandal Aug 22, 2025
5c2c223
Install with Framework running in XCode 16
troysandal Aug 22, 2025
868f0bc
unused imports
troysandal Aug 24, 2025
64adebb
initial Luau support
troysandal Aug 24, 2025
ec3dab0
fix Strict Prototypes compiler warnings
troysandal Aug 24, 2025
796d1cd
more helpful enums
troysandal Aug 24, 2025
4f397a3
cleanup Luau path macros
troysandal Aug 24, 2025
9aa5a80
incorporate fix from BowerHaus
troysandal Aug 24, 2025
0f6eb61
Use minimum supported platform
troysandal Aug 26, 2025
5842e65
Luau Support
troysandal Aug 26, 2025
7211611
Luau - use private __env vs setfenv
troysandal Aug 28, 2025
e43ff6c
Luau - use private __env vs setfenv
troysandal Aug 28, 2025
5530bf7
Merge branch 'master' of github.com:troysandal/wax
troysandal Aug 28, 2025
e599a8d
bug fix - we left env tabel on the stack
troysandal Aug 29, 2025
56ce967
Moved environments into a weak, named table
troysandal Sep 1, 2025
fbd423c
Remove setfenv luaL_ref code
troysandal Sep 1, 2025
f6242b0
fix compile error in lua 5.1
troysandal Sep 1, 2025
8cb695d
file should have never been checked in
troysandal Sep 1, 2025
0a19fcf
Note that Swift project is not upgradeable.
troysandal Sep 1, 2025
3e48790
Migrate to XCode 16
troysandal Sep 1, 2025
68ca2eb
more 5.1 compilation errors
troysandal Sep 1, 2025
1252991
syncn with AWB fixes
troysandal Sep 4, 2025
67b3dc9
Luau Crash in methodClosure
troysandal Sep 10, 2025
6d3d3e6
Remove non working tests
troysandal Sep 10, 2025
f20f11c
Fix broken unit tests
troysandal Sep 10, 2025
8d3eaac
omit non-helper files
troysandal Sep 12, 2025
14ad8f7
convert to modern lua modele
troysandal Sep 12, 2025
ffc1aac
io not working in Luau, needs better fix
troysandal Sep 12, 2025
cc2d750
dont' assume init is implicitly looked for
troysandal Sep 12, 2025
f5339ed
explanatory comment
troysandal Sep 12, 2025
5da1ee1
fix wax_luau abs folder
troysandal Sep 12, 2025
b904b9c
remove last abs path
troysandal Sep 12, 2025
c0ae548
Unit Test Failure
troysandal Sep 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
build/
*.pbxuser
*.perspectivev3
wax.framework
wax.xcframework
mobdebug.framework
xcuserdata
.DS_Store
*.xcworkspacedata
*.xcuserdata
*.xccheckout
Pods/
*.xcworkspace
81 changes: 55 additions & 26 deletions examples/BlockExample/BlockExample.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objectVersion = 54;
objects = {

/* Begin PBXBuildFile section */
Expand All @@ -13,7 +13,7 @@
00767BA11C325B3000807A54 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 00767B9F1C325B3000807A54 /* Main.storyboard */; };
00767BA31C325B3000807A54 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 00767BA21C325B3000807A54 /* Assets.xcassets */; };
00767BA61C325B3000807A54 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 00767BA41C325B3000807A54 /* LaunchScreen.storyboard */; };
00BF35401C7F279B000A62DE /* BlockExample.lua in Resources */ = {isa = PBXBuildFile; fileRef = 00BF353F1C7F279B000A62DE /* BlockExample.lua */; settings = {ASSET_TAGS = (); }; };
00BF35401C7F279B000A62DE /* BlockExample.lua in Resources */ = {isa = PBXBuildFile; fileRef = 00BF353F1C7F279B000A62DE /* BlockExample.lua */; };
5AD1D06E593616AAB26A5BBF /* libPods-BlockExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F0B72215A85CD11D94405880 /* libPods-BlockExample.a */; };
/* End PBXBuildFile section */

Expand Down Expand Up @@ -113,12 +113,11 @@
isa = PBXNativeTarget;
buildConfigurationList = 00767BAA1C325B3000807A54 /* Build configuration list for PBXNativeTarget "BlockExample" */;
buildPhases = (
99475906395C18F0A6C002BC /* [CP] Check Pods Manifest.lock */,
116D2E2C04037A2B0B2672E9 /* Check Pods Manifest.lock */,
00767B8F1C325B3000807A54 /* Sources */,
00767B901C325B3000807A54 /* Frameworks */,
00767B911C325B3000807A54 /* Resources */,
68475863C2DE0F94B9FED350 /* Embed Pods Frameworks */,
23D9B9B50CF2CD7000EA9223 /* Copy Pods Resources */,
);
buildRules = (
);
Expand All @@ -135,7 +134,8 @@
00767B8B1C325B3000807A54 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0700;
BuildIndependentTargetsInParallel = YES;
LastUpgradeCheck = 1640;
ORGANIZATIONNAME = test.jz.com;
TargetAttributes = {
00767B921C325B3000807A54 = {
Expand All @@ -148,6 +148,7 @@
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
English,
en,
Base,
);
Expand Down Expand Up @@ -191,34 +192,26 @@
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
showEnvVarsInLog = 0;
};
23D9B9B50CF2CD7000EA9223 /* Copy Pods Resources */ = {
99475906395C18F0A6C002BC /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-BlockExample/Pods-BlockExample-resources.sh\"\n";
showEnvVarsInLog = 0;
};
68475863C2DE0F94B9FED350 /* Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
name = "Embed Pods Frameworks";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-BlockExample-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-BlockExample/Pods-BlockExample-frameworks.sh\"\n";
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
Expand Down Expand Up @@ -264,20 +257,32 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
Expand All @@ -292,7 +297,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
Expand All @@ -307,20 +312,32 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
Expand All @@ -329,7 +346,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
Expand All @@ -341,8 +358,14 @@
baseConfigurationReference = 72D3D589980A2D777E30430C /* Pods-BlockExample.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_OBJC_ARC = NO;
CLANG_ENABLE_OBJC_WEAK = YES;
INFOPLIST_FILE = BlockExample/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.BlockExample;
PRODUCT_NAME = "$(TARGET_NAME)";
};
Expand All @@ -353,8 +376,14 @@
baseConfigurationReference = BB933480EBA36E000F287795 /* Pods-BlockExample.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_OBJC_ARC = NO;
CLANG_ENABLE_OBJC_WEAK = YES;
INFOPLIST_FILE = BlockExample/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.jz.test.BlockExample;
PRODUCT_NAME = "$(TARGET_NAME)";
};
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,52 @@
"images" : [
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "2x"
"scale" : "2x",
"size" : "20x20"
},
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "3x"
"scale" : "3x",
"size" : "20x20"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "2x"
"scale" : "2x",
"size" : "29x29"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "3x"
"scale" : "3x",
"size" : "29x29"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "2x"
"scale" : "2x",
"size" : "40x40"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "3x"
"scale" : "3x",
"size" : "40x40"
},
{
"idiom" : "iphone",
"scale" : "2x",
"size" : "60x60"
},
{
"idiom" : "iphone",
"scale" : "3x",
"size" : "60x60"
},
{
"idiom" : "ios-marketing",
"scale" : "1x",
"size" : "1024x1024"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
"author" : "xcode",
"version" : 1
}
}
}
4 changes: 1 addition & 3 deletions examples/BlockExample/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ platform :ios


target 'BlockExample' do
platform:ios, '6.0'
#pod 'wax', :git=>'git@github.com:alibaba/wax.git', :tag=>'1.1.0'
#pod 'wax', :git=>'git@github.com:alibaba/wax.git', :commit=>'5c762ad'
platform:ios, '15.0'
pod 'wax', :path=>'../../'
pod 'Masonry', '~> 0.6.4'
end
23 changes: 23 additions & 0 deletions examples/BlockExample/Podfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
PODS:
- Masonry (0.6.4)
- wax (1.2.1)

DEPENDENCIES:
- Masonry (~> 0.6.4)
- wax (from `../../`)

SPEC REPOS:
trunk:
- Masonry

EXTERNAL SOURCES:
wax:
:path: "../../"

SPEC CHECKSUMS:
Masonry: 281802d04d787ea2973179ee8bcb50500579ede2
wax: 6974bdc27bc201389b967878f541f42e0734f8a4

PODFILE CHECKSUM: a6472a39b67d318155fd82efe80e53225645898a

COCOAPODS: 1.16.2
2 changes: 1 addition & 1 deletion examples/IBExample/IBExample-Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
Expand Down
Loading