Merge branch 'master' of github.com:NativeScript/NativeScript

# Conflicts:
#	package.json
#	packages/core/global-types.d.ts
#	packages/core/platforms/ios/Podfile
#	packages/core/ui/styling/background.android.ts
#	packages/core/ui/styling/style-scope.ts
#	packages/ui-mobile-base/ios/build.sh
This commit is contained in:
Martin Guillon
2021-02-08 10:09:12 +01:00
123 changed files with 2987 additions and 2093 deletions

View File

@ -74,7 +74,7 @@ import java.util.List;
* <li>{@code layout_wrapBefore}</li>
* </ul>
*/
public class FlexboxLayout extends ViewGroup {
public class FlexboxLayout extends LayoutBase {
@IntDef({FLEX_DIRECTION_ROW, FLEX_DIRECTION_ROW_REVERSE, FLEX_DIRECTION_COLUMN,
FLEX_DIRECTION_COLUMN_REVERSE})
@ -2226,6 +2226,11 @@ public class FlexboxLayout extends ViewGroup {
mDividerDrawableHorizontal.draw(canvas);
}
@Override
protected LayoutParams generateDefaultLayoutParams() {
return new FlexboxLayout.LayoutParams();
}
@Override
protected boolean checkLayoutParams(ViewGroup.LayoutParams p) {
return p instanceof FlexboxLayout.LayoutParams;

View File

@ -16,16 +16,16 @@ import android.widget.FrameLayout;
*
*/
public abstract class LayoutBase extends ViewGroup {
private boolean passThroughParent;
public LayoutBase(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public LayoutBase(Context context) {
super(context);
}
private boolean passThroughParent;
public boolean getPassThroughParent() { return this.passThroughParent; }
public void setPassThroughParent(boolean value) { this.passThroughParent = value; }
@Override
protected LayoutParams generateDefaultLayoutParams() {
return new CommonLayoutParams();
@ -91,4 +91,12 @@ public abstract class LayoutBase extends ViewGroup {
return gravity;
}
public boolean getPassThroughParent() {
return this.passThroughParent;
}
public void setPassThroughParent(boolean value) {
this.passThroughParent = value;
}
}

View File

@ -14,11 +14,11 @@ echo "Build iOS"
cd ios
./build.sh
cd ..
echo "Copy ios/TNSWidgets/build/*.framework dist/package/platforms/ios"
echo "Copy ios/TNSWidgets/build/*.xcframework dist/package/platforms/ios"
cp -R ios/TNSWidgets/build/TNSWidgets.framework dist/package/platforms/ios
cp -R ios/TNSWidgets/build/TNSWidgets.xcframework dist/package/platforms/ios
cp ios/TNSWidgets/build/*.framework.dSYM.zip dist/package/platforms/ios
# cp ios/TNSWidgets/build/*.framework.dSYM.zip dist/package/platforms/ios
if [ "$1" ]
then
@ -30,7 +30,7 @@ if [ "$SKIP_PACK" ]
then
echo "SKIP pack"
else
echo "Copy NPM artefacts"
echo "Copy NPM artifacts"
cp .npmignore LICENSE README.md package.json dist/package
echo "NPM pack"
cd dist/package

View File

@ -14,7 +14,7 @@ export SKIP_PACK=true
./build.android.sh
./build.ios.sh
echo "Copy NPM artefacts"
echo "Copy NPM artifacts"
cp .npmignore README.md package.json dist/package
cp ../../LICENSE dist/package

View File

@ -14,7 +14,7 @@
/**
* Get the milliseconds since the process started.
*/
double __tns_uptime();
double __tns_uptime(void);
/**
* Provides access to NSLog. The runtime implementation of console.log is filtered in release.

View File

@ -198,7 +198,7 @@
F98F5CA61CD0EFEA00978308 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0720;
LastUpgradeCheck = 1230;
ORGANIZATIONNAME = "Telerik A D";
TargetAttributes = {
F98F5CAE1CD0EFEA00978308 = {
@ -284,17 +284,29 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
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";
@ -317,7 +329,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@ -331,17 +343,29 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
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";
@ -358,7 +382,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@ -372,6 +396,7 @@
isa = XCBuildConfiguration;
buildSettings = {
BITCODE_GENERATION_MODE = bitcode;
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
@ -389,6 +414,7 @@
isa = XCBuildConfiguration;
buildSettings = {
BITCODE_GENERATION_MODE = bitcode;
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -3,6 +3,6 @@
<plist version="1.0">
<dict>
<key>BuildSystemType</key>
<string>Original</string>
<string>Latest</string>
</dict>
</plist>

View File

@ -17,7 +17,7 @@ NS_ASSUME_NONNULL_BEGIN
- (void)writeToFile:(nonnull NSString*) path
atomically:(BOOL)atomically
completion:(void (^) ())callback;
completion:(void (^) (void))callback;
@end

View File

@ -25,7 +25,7 @@
- (void)writeToFile:(nonnull NSString*) path
atomically:(BOOL)atomically
completion:(void (^) ())callback {
completion:(void (^) (void))callback {
dispatch_queue_t asyncQueue = dispatch_queue_create("org.nativescript.TNSWidgets.data", NULL);
dispatch_async(asyncQueue, ^(void) {

View File

@ -3,45 +3,37 @@
echo "Set exit on simple errors"
set -e
echo "Build for iphonesimulator"
xcodebuild -project TNSWidgets/TNSWidgets.xcodeproj -scheme TNSWidgets -sdk iphonesimulator -configuration Release clean build BUILD_DIR=$(PWD)/TNSWidgets/build -quiet -xcconfig "TNSWidgets/build.xcconfig"
rm -rf $(PWD)/TNSWidgets/build
echo "Build for iphonesimulator"
xcodebuild \
-project TNSWidgets/TNSWidgets.xcodeproj \
-scheme TNSWidgets \
-sdk iphonesimulator \
-configuration Release \
clean build \
BUILD_DIR=$(PWD)/TNSWidgets/build \
SKIP_INSTALL=NO \
-quiet
echo "Build for iphoneos"
xcodebuild -project TNSWidgets/TNSWidgets.xcodeproj -scheme TNSWidgets -sdk iphoneos -configuration Release clean build BUILD_DIR=$(PWD)/TNSWidgets/build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -quiet -xcconfig "TNSWidgets/build.xcconfig"
xcodebuild \
-project TNSWidgets/TNSWidgets.xcodeproj \
-scheme TNSWidgets \
-sdk iphoneos \
-configuration Release \
clean build \
BUILD_DIR=$(PWD)/TNSWidgets/build \
CODE_SIGN_IDENTITY="" \
CODE_SIGNING_REQUIRED=NO \
SKIP_INSTALL=NO \
-quiet
function buildFatFramework() {
FRAMEWORK_NAME=$1
RELATIVE_DIR=$2
SRC_IPHONEOS=TNSWidgets/build/Release-iphoneos/$RELATIVE_DIR/$FRAMEWORK_NAME.framework
SRC_SIMULATOR=TNSWidgets/build/Release-iphonesimulator/$RELATIVE_DIR/$FRAMEWORK_NAME.framework
DEST=TNSWidgets/build/$FRAMEWORK_NAME.framework
echo; echo "Build fat framework at $DEST"
rm -rf $DEST
mkdir $DEST
cp -r `find $SRC_IPHONEOS -depth 1 | grep -v 'PrivateHeaders'` $DEST/
lipo -create $SRC_IPHONEOS/$FRAMEWORK_NAME $SRC_SIMULATOR/$FRAMEWORK_NAME -o $DEST/$FRAMEWORK_NAME
file $DEST/$FRAMEWORK_NAME
if [ -d $SRC_IPHONEOS.dSYM ]; then
echo "Build fat dSYM at $DEST.dSYM"
cp -r $SRC_IPHONEOS.dSYM TNSWidgets/build
rm "$DEST.dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME"
lipo -create -output "$DEST.dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME" \
"$SRC_SIMULATOR.dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME" \
"$SRC_IPHONEOS.dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME"
file $DEST.dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME
echo "Archiving dSYM at $DEST.dSYM.zip"
(cd TNSWidgets/build && zip -qr $FRAMEWORK_NAME.framework.dSYM.zip $FRAMEWORK_NAME.framework.dSYM)
echo "Removing $DEST.dSYM"
rm -rf $DEST.dSYM
else
echo "info: $SRC_IPHONEOS.dSYM doesn't exist. Skipping dSYM archive."
fi
}
buildFatFramework TNSWidgets .
echo "Creating XCFramework"
xcodebuild \
-create-xcframework \
-framework $(PWD)/TNSWidgets/build/Release-iphoneos/TNSWidgets.framework \
-debug-symbols $(PWD)/TNSWidgets/build/Release-iphoneos/TNSWidgets.framework.dSYM \
-framework $(PWD)/TNSWidgets/build/Release-iphonesimulator/TNSWidgets.framework \
-debug-symbols $(PWD)/TNSWidgets/build/Release-iphonesimulator/TNSWidgets.framework.dSYM \
-output $(PWD)/TNSWidgets/build/TNSWidgets.xcframework