From 94629ce86c6783d1d0494bd13dad6827d45d7a06 Mon Sep 17 00:00:00 2001 From: Svetoslav Date: Mon, 17 Jun 2019 13:49:52 +0300 Subject: [PATCH] chore: move typing for material design in tns-platform-declarations (#7352) --- .travis.yml | 24 ++++--- package.json | 2 +- tns-core-modules-widgets/.gitignore | 2 + tns-core-modules-widgets/.npmignore | 1 + tns-core-modules-widgets/build.android.sh | 31 +++++----- tns-core-modules-widgets/build.ios.sh | 43 +++++++------ tns-core-modules-widgets/build.sh | 25 ++------ .../ios/TNSWidgets/Podfile | 6 ++ .../ios/TNSWidgets/Podfile.lock | 39 ++++++++++++ .../TNSWidgets.xcodeproj/project.pbxproj | 52 ++++++++++++++++ .../contents.xcworkspacedata | 10 +++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++ tns-core-modules-widgets/ios/build.sh | 62 ++++++++++++------- tns-core-modules/package.json | 4 +- tns-core-modules/platforms/ios/Podfile | 1 - tns-platform-declarations/ios/ios.d.ts | 1 + .../objc-x86_64}/objc!MaterialComponents.d.ts | 0 17 files changed, 224 insertions(+), 87 deletions(-) create mode 100644 tns-core-modules-widgets/.npmignore create mode 100644 tns-core-modules-widgets/ios/TNSWidgets/Podfile create mode 100644 tns-core-modules-widgets/ios/TNSWidgets/Podfile.lock create mode 100644 tns-core-modules-widgets/ios/TNSWidgets/TNSWidgets.xcworkspace/contents.xcworkspacedata create mode 100644 tns-core-modules-widgets/ios/TNSWidgets/TNSWidgets.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 tns-core-modules/platforms/ios/Podfile rename {tns-core-modules/platforms/ios/typings => tns-platform-declarations/ios/objc-x86_64}/objc!MaterialComponents.d.ts (100%) diff --git a/.travis.yml b/.travis.yml index 253ceadc9..07bca3c13 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,20 +3,28 @@ env: - DATE=$(date +%Y-%m-%d) - PACKAGE_VERSION=$DATE-$TRAVIS_BUILD_NUMBER language: objective-c -osx_image: xcode9.3 +osx_image: xcode10.2 +jdk: + - oraclejdk8 + - openjdk8 +script: + - export JAVA_HOME=$HOME/openjdk8 + - $TRAVIS_BUILD_DIR/install-jdk.sh --install openjdk8 --target $JAVA_HOME + - # do stuff with open OpenJDK 11 + - jdk_switcher use openjdk8 install: - - brew update - - brew cask install android-sdk + # - brew update + # - brew cask install android-sdk # Suppress output of sdkmanager to keep log under the 4MB limit of travis-ci - - yes | sdkmanager "platforms;android-28" >/dev/null - - yes | sdkmanager "build-tools;28.0.3" >/dev/null - - yes | sdkmanager "extras;android;m2repository" >/dev/null + # - yes | sdkmanager "platforms;android-28" >/dev/null + # - yes | sdkmanager "build-tools;28.0.3" >/dev/null + # - yes | sdkmanager "extras;android;m2repository" >/dev/null before_script: - - export ANDROID_HOME=/usr/local/share/android-sdk + # - export ANDROID_HOME=/usr/local/share/android-sdk - npm install -g grunt-cli - npm install script: -- npm run setup-widgets +# - npm run setup-widgets - npm run setup - npm run tsc - npm run tslint \ No newline at end of file diff --git a/package.json b/package.json index bc064268a..7ea406f8f 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "dev-tsc-all": "npm run dev-tsc-tns-platform-declarations && npm run tsc && npm run dev-tsc-tests && npm run dev-tsc-apps && && npm run dev-tsc-e2e", "dev-link-tns-platform-declarations": "cd tns-platform-declarations && npm link", "dev-link-tns-core-modules": "cd tns-core-modules && npm link", - "dev-link-tns-core-modules-widgets": "(cd tns-core-modules-widgets/dist/package && npm link) && (cd tns-core-modules && npm link tns-core-modules-widgets)", + "dev-link-tns-core-modules-widgets": "(cd tns-core-modules-widgets/dist/package && npm link) && (cd tns-core-modules && npm i ../tns-core-modules-widgets/dist/package --save)", "dev-link-tests": "cd tests && npm link tns-platform-declarations && npm link tns-core-modules", "dev-link-apps": "cd apps && npm link tns-platform-declarations && npm link tns-core-modules", "dev-link-e2e-modal": "cd e2e && cd modal-navigation && npm link tns-platform-declarations && npm link tns-core-modules", diff --git a/tns-core-modules-widgets/.gitignore b/tns-core-modules-widgets/.gitignore index 8daa1f735..4fbddfeda 100644 --- a/tns-core-modules-widgets/.gitignore +++ b/tns-core-modules-widgets/.gitignore @@ -46,6 +46,8 @@ local.properties ios/TNSWidgets/TNSWidgets.xcodeproj/project.xcworkspace/xcuserdata/ ios/TNSWidgets/TNSWidgets.xcodeproj/xcuserdata/ ios/TNSWidgets/DerivedData/ +ios/TNSWidgets/Pods/ +xcuserdata/ android/widgets/bin android/widgets/.settings diff --git a/tns-core-modules-widgets/.npmignore b/tns-core-modules-widgets/.npmignore new file mode 100644 index 000000000..6c65541c5 --- /dev/null +++ b/tns-core-modules-widgets/.npmignore @@ -0,0 +1 @@ +*.dSYM* \ No newline at end of file diff --git a/tns-core-modules-widgets/build.android.sh b/tns-core-modules-widgets/build.android.sh index 6b4390df1..64401f524 100755 --- a/tns-core-modules-widgets/build.android.sh +++ b/tns-core-modules-widgets/build.android.sh @@ -6,32 +6,31 @@ set -e echo "Use dumb gradle terminal" export TERM=dumb -echo "Clean dist" -rm -rf dist -mkdir dist -mkdir dist/package -mkdir dist/package/platforms +rm -rf dist/package/platforms/android || true +mkdir -p dist/package/platforms/android echo "Build android" -mkdir dist/package/platforms/android cd android ./gradlew --quiet assembleRelease cd .. cp android/widgets/build/outputs/aar/widgets-release.aar dist/package/platforms/android/widgets-release.aar -echo "Copy NPM artefacts" -cp LICENSE dist/package/LICENSE -cp README.md dist/package/README.md -cp package.json dist/package/package.json if [ "$1" ] then echo "Suffix package.json's version with tag: $1" sed -i.bak 's/\(\"version\"\:[[:space:]]*\"[^\"]*\)\"/\1-'$1'"/g' ./dist/package/package.json fi -echo "NPM pack" -cd dist/package -PACKAGE="$(npm pack)" -cd ../.. -mv dist/package/$PACKAGE dist/$PACKAGE -echo "Output: dist/$PACKAGE" +if [ "$SKIP_PACK" ] +then + echo "SKIP pack" +else + echo "Copy NPM artefacts" + cp .npmignore LICENSE README.md package.json dist/package + echo "NPM pack" + cd dist/package + PACKAGE="$(npm pack)" + cd ../.. + mv dist/package/$PACKAGE dist/$PACKAGE + echo "Output: dist/$PACKAGE" +fi \ No newline at end of file diff --git a/tns-core-modules-widgets/build.ios.sh b/tns-core-modules-widgets/build.ios.sh index 509cd6ad3..66342487b 100755 --- a/tns-core-modules-widgets/build.ios.sh +++ b/tns-core-modules-widgets/build.ios.sh @@ -6,34 +6,39 @@ set -e echo "Use dumb terminal" export TERM=dumb -echo "Clean dist" -rm -rf dist -mkdir dist -mkdir dist/package -mkdir dist/package/platforms +rm -rf dist/package/platforms/ios || true +mkdir -p dist/package/platforms/ios echo "Build iOS" -mkdir dist/package/platforms/ios + cd ios ./build.sh cd .. -echo "Copy TNSWidgets.framework and TNSWidgets.framework.dSYM.zip to dist/package/platforms/ios" -cp -r ios/TNSWidgets/build/TNSWidgets.framework* dist/package/platforms/ios +echo "Copy ios/TNSWidgets/build/*.framework dist/package/platforms/ios" + +cp -R ios/TNSWidgets/build/MaterialComponents.framework dist/package/platforms/ios +cp -R ios/TNSWidgets/build/MDFInternationalization.framework dist/package/platforms/ios +cp -R ios/TNSWidgets/build/Pods_TNSWidgets.framework dist/package/platforms/ios +cp -R ios/TNSWidgets/build/TNSWidgets.framework dist/package/platforms/ios + +cp ios/TNSWidgets/build/*.framework.dSYM.zip dist/package/platforms/ios -echo "Copy NPM artefacts" -cp LICENSE dist/package/LICENSE -cp README.md dist/package/README.md -cp package.json dist/package/package.json if [ "$1" ] then echo "Suffix package.json's version with tag: $1" sed -i.bak 's/\(\"version\"\:[[:space:]]*\"[^\"]*\)\"/\1-'$1'"/g' ./dist/package/package.json fi -echo "NPM pack" -cd dist/package -PACKAGE="$(npm pack)" -cd ../.. -mv dist/package/$PACKAGE dist/$PACKAGE -echo "Output: dist/$PACKAGE" - +if [ "$SKIP_PACK" ] +then + echo "SKIP pack" +else + echo "Copy NPM artefacts" + cp .npmignore LICENSE README.md package.json dist/package + echo "NPM pack" + cd dist/package + PACKAGE="$(npm pack)" + cd ../.. + mv dist/package/$PACKAGE dist/$PACKAGE + echo "Output: dist/$PACKAGE" +fi \ No newline at end of file diff --git a/tns-core-modules-widgets/build.sh b/tns-core-modules-widgets/build.sh index e1acb2588..d1d2ec1a7 100755 --- a/tns-core-modules-widgets/build.sh +++ b/tns-core-modules-widgets/build.sh @@ -3,33 +3,20 @@ echo "Set exit on simple errors" set -e + echo "Use dumb gradle terminal" export TERM=dumb echo "Clean dist" rm -rf dist -mkdir dist -mkdir dist/package -mkdir dist/package/platforms -echo "Build android" -mkdir dist/package/platforms/android -cd android -./gradlew --quiet assembleRelease -cd .. -cp android/widgets/build/outputs/aar/widgets-release.aar dist/package/platforms/android/widgets-release.aar - -echo "Build iOS" -mkdir dist/package/platforms/ios -cd ios -./build.sh -cd .. -cp -r ios/TNSWidgets/build/TNSWidgets.framework dist/package/platforms/ios/TNSWidgets.framework +export SKIP_PACK=true +./build.android.sh +./build.ios.sh echo "Copy NPM artefacts" -cp LICENSE dist/package/LICENSE -cp README.md dist/package/README.md -cp package.json dist/package/package.json +cp .npmignore LICENSE README.md package.json dist/package + if [ "$1" ] then echo "Suffix package.json's version with tag: $1" diff --git a/tns-core-modules-widgets/ios/TNSWidgets/Podfile b/tns-core-modules-widgets/ios/TNSWidgets/Podfile new file mode 100644 index 000000000..01b809d3e --- /dev/null +++ b/tns-core-modules-widgets/ios/TNSWidgets/Podfile @@ -0,0 +1,6 @@ +platform :ios, '10.0' +use_frameworks! + +target 'TNSWidgets' do + pod 'MaterialComponents/Tabs', '84.4.0' +end \ No newline at end of file diff --git a/tns-core-modules-widgets/ios/TNSWidgets/Podfile.lock b/tns-core-modules-widgets/ios/TNSWidgets/Podfile.lock new file mode 100644 index 000000000..80f479d86 --- /dev/null +++ b/tns-core-modules-widgets/ios/TNSWidgets/Podfile.lock @@ -0,0 +1,39 @@ +PODS: + - MaterialComponents/AnimationTiming (84.4.0) + - MaterialComponents/Ink (84.4.0): + - MaterialComponents/private/Math + - MaterialComponents/Palettes (84.4.0) + - MaterialComponents/private/Application (84.4.0) + - MaterialComponents/private/Math (84.4.0) + - MaterialComponents/ShadowElevations (84.4.0) + - MaterialComponents/ShadowLayer (84.4.0): + - MaterialComponents/ShadowElevations + - MaterialComponents/Tabs (84.4.0): + - MaterialComponents/AnimationTiming + - MaterialComponents/Ink + - MaterialComponents/Palettes + - MaterialComponents/private/Math + - MaterialComponents/ShadowElevations + - MaterialComponents/ShadowLayer + - MaterialComponents/Typography + - MDFInternationalization + - MaterialComponents/Typography (84.4.0): + - MaterialComponents/private/Application + - MaterialComponents/private/Math + - MDFInternationalization (2.0.0) + +DEPENDENCIES: + - MaterialComponents/Tabs (= 84.4.0) + +SPEC REPOS: + https://github.com/cocoapods/specs.git: + - MaterialComponents + - MDFInternationalization + +SPEC CHECKSUMS: + MaterialComponents: e31f67324695bb1b537e5eccaee62db07ac3d06b + MDFInternationalization: 010097556d6b09d2c4ea38e0820ea6d37be6a314 + +PODFILE CHECKSUM: cf8c5f11be5a664a1b63632768c1ac024bf37a30 + +COCOAPODS: 1.5.3 diff --git a/tns-core-modules-widgets/ios/TNSWidgets/TNSWidgets.xcodeproj/project.pbxproj b/tns-core-modules-widgets/ios/TNSWidgets/TNSWidgets.xcodeproj/project.pbxproj index 05f34d003..d23fc8ecc 100644 --- a/tns-core-modules-widgets/ios/TNSWidgets/TNSWidgets.xcodeproj/project.pbxproj +++ b/tns-core-modules-widgets/ios/TNSWidgets/TNSWidgets.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 3E944C4C61C317F04FCA72D5 /* Pods_TNSWidgets.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9DA784D6AE838F6BE65AB7D /* Pods_TNSWidgets.framework */; }; 8B7321CF1D097ECD00884AC6 /* TNSLabel.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B7321CD1D097ECD00884AC6 /* TNSLabel.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8B7321D01D097ECD00884AC6 /* TNSLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B7321CE1D097ECD00884AC6 /* TNSLabel.m */; }; B8E76F52212C2DA2009CFCE2 /* NSObject+Swizzling.h in Headers */ = {isa = PBXBuildFile; fileRef = B8E76F50212C2DA2009CFCE2 /* NSObject+Swizzling.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -35,6 +36,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 0CA2D2E3500594F250B7E5AD /* Pods-TNSWidgets.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TNSWidgets.release.xcconfig"; path = "Pods/Target Support Files/Pods-TNSWidgets/Pods-TNSWidgets.release.xcconfig"; sourceTree = ""; }; 8B7321CD1D097ECD00884AC6 /* TNSLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TNSLabel.h; sourceTree = ""; }; 8B7321CE1D097ECD00884AC6 /* TNSLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TNSLabel.m; sourceTree = ""; }; B8E76F50212C2DA2009CFCE2 /* NSObject+Swizzling.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSObject+Swizzling.h"; sourceTree = ""; }; @@ -43,6 +45,8 @@ B8E76F59212C2F4E009CFCE2 /* UIView+PropertyBag.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIView+PropertyBag.m"; sourceTree = ""; }; B8E76F5C212C3134009CFCE2 /* UIView+PassThroughParent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIView+PassThroughParent.h"; sourceTree = ""; }; B8E76F5D212C3134009CFCE2 /* UIView+PassThroughParent.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIView+PassThroughParent.m"; sourceTree = ""; }; + BA714249C33720A4C73F2D73 /* Pods-TNSWidgets.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TNSWidgets.debug.xcconfig"; path = "Pods/Target Support Files/Pods-TNSWidgets/Pods-TNSWidgets.debug.xcconfig"; sourceTree = ""; }; + C9DA784D6AE838F6BE65AB7D /* Pods_TNSWidgets.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TNSWidgets.framework; sourceTree = BUILT_PRODUCTS_DIR; }; F915D3531EC9EF5E00071914 /* TNSProcess.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TNSProcess.m; path = ../TNSProcess.m; sourceTree = ""; }; F915D3541EC9EF5E00071914 /* TNSProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TNSProcess.h; path = ../TNSProcess.h; sourceTree = ""; }; F98F5CAF1CD0EFEA00978308 /* TNSWidgets.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TNSWidgets.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -60,6 +64,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 3E944C4C61C317F04FCA72D5 /* Pods_TNSWidgets.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -74,12 +79,31 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 23F4E40A96EF6D33AE4654D3 /* Frameworks */ = { + isa = PBXGroup; + children = ( + C9DA784D6AE838F6BE65AB7D /* Pods_TNSWidgets.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 50D824CFC5BFEB60164D83B1 /* Pods */ = { + isa = PBXGroup; + children = ( + BA714249C33720A4C73F2D73 /* Pods-TNSWidgets.debug.xcconfig */, + 0CA2D2E3500594F250B7E5AD /* Pods-TNSWidgets.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; F98F5CA51CD0EFEA00978308 = { isa = PBXGroup; children = ( F98F5CB11CD0EFEA00978308 /* TNSWidgets */, F98F5CBD1CD0EFEA00978308 /* TNSWidgetsTests */, F98F5CB01CD0EFEA00978308 /* Products */, + 50D824CFC5BFEB60164D83B1 /* Pods */, + 23F4E40A96EF6D33AE4654D3 /* Frameworks */, ); sourceTree = ""; }; @@ -146,6 +170,7 @@ isa = PBXNativeTarget; buildConfigurationList = F98F5CC31CD0EFEA00978308 /* Build configuration list for PBXNativeTarget "TNSWidgets" */; buildPhases = ( + A19DC6B35DC47BC836BB21AE /* [CP] Check Pods Manifest.lock */, F98F5CAA1CD0EFEA00978308 /* Sources */, F98F5CAB1CD0EFEA00978308 /* Frameworks */, F98F5CAC1CD0EFEA00978308 /* Headers */, @@ -230,6 +255,31 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + A19DC6B35DC47BC836BB21AE /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-TNSWidgets-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + 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 */ + /* Begin PBXSourcesBuildPhase section */ F98F5CAA1CD0EFEA00978308 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -353,6 +403,7 @@ }; F98F5CC41CD0EFEA00978308 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = BA714249C33720A4C73F2D73 /* Pods-TNSWidgets.debug.xcconfig */; buildSettings = { DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; @@ -369,6 +420,7 @@ }; F98F5CC51CD0EFEA00978308 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 0CA2D2E3500594F250B7E5AD /* Pods-TNSWidgets.release.xcconfig */; buildSettings = { DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; diff --git a/tns-core-modules-widgets/ios/TNSWidgets/TNSWidgets.xcworkspace/contents.xcworkspacedata b/tns-core-modules-widgets/ios/TNSWidgets/TNSWidgets.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..219395415 --- /dev/null +++ b/tns-core-modules-widgets/ios/TNSWidgets/TNSWidgets.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/tns-core-modules-widgets/ios/TNSWidgets/TNSWidgets.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/tns-core-modules-widgets/ios/TNSWidgets/TNSWidgets.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/tns-core-modules-widgets/ios/TNSWidgets/TNSWidgets.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/tns-core-modules-widgets/ios/build.sh b/tns-core-modules-widgets/ios/build.sh index 2230374c3..6273ea297 100755 --- a/tns-core-modules-widgets/ios/build.sh +++ b/tns-core-modules-widgets/ios/build.sh @@ -3,33 +3,53 @@ echo "Set exit on simple errors" set -e +( + echo "update pods" + cd TNSWidgets + pod install +) + echo "Build for iphonesimulator" -xcodebuild -project TNSWidgets/TNSWidgets.xcodeproj -sdk iphonesimulator -target TNSWidgets -configuration Release clean build CONFIGURATION_BUILD_DIR=build/Release-iphonesimulator -quiet +xcodebuild -workspace TNSWidgets/TNSWidgets.xcworkspace -scheme TNSWidgets -sdk iphonesimulator -configuration Release clean build BUILD_DIR=$(PWD)/TNSWidgets/build -quiet echo "Build for iphoneos" -xcodebuild -project TNSWidgets/TNSWidgets.xcodeproj -sdk iphoneos -target TNSWidgets -configuration Release clean build CONFIGURATION_BUILD_DIR=build/Release-iphoneos CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -quiet +xcodebuild -workspace TNSWidgets/TNSWidgets.xcworkspace -scheme TNSWidgets -sdk iphoneos -configuration Release clean build BUILD_DIR=$(PWD)/TNSWidgets/build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -quiet -echo "Build fat framework at TNSWidgets/build/TNSWidgets.framework" -rm -rf TNSWidgets/build/TNSWidgets.framework -mkdir TNSWidgets/build/TNSWidgets.framework +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 TNSWidgets/build/Release-iphoneos/TNSWidgets.framework/Headers TNSWidgets/build/TNSWidgets.framework/Headers -cp -r TNSWidgets/build/Release-iphoneos/TNSWidgets.framework/Modules TNSWidgets/build/TNSWidgets.framework/Modules -cp -r TNSWidgets/build/Release-iphoneos/TNSWidgets.framework/Info.plist TNSWidgets/build/TNSWidgets.framework/Info.plist + cp -r `find $SRC_IPHONEOS -depth 1 | grep -v 'PrivateHeaders'` $DEST/ -lipo -create TNSWidgets/build/Release-iphoneos/TNSWidgets.framework/TNSWidgets TNSWidgets/build/Release-iphonesimulator/TNSWidgets.framework/TNSWidgets -o TNSWidgets/build/TNSWidgets.framework/TNSWidgets -file TNSWidgets/build/TNSWidgets.framework/TNSWidgets + lipo -create $SRC_IPHONEOS/$FRAMEWORK_NAME $SRC_SIMULATOR/$FRAMEWORK_NAME -o $DEST/$FRAMEWORK_NAME + file $DEST/$FRAMEWORK_NAME -echo "Build fat dSYM at TNSWidgets/build/TNSWidgets.framework.dSYM" -cp -r TNSWidgets/build/Release-iphoneos/TNSWidgets.framework.dSYM TNSWidgets/build -rm "TNSWidgets/build/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets" -lipo -create -output "TNSWidgets/build/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets" \ - "TNSWidgets/build/Release-iphonesimulator/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets" \ - "TNSWidgets/build/Release-iphoneos/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets" -file TNSWidgets/build/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets + 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 TNSWidgets/build/TNSWidgets.framework.dSYM.zip" -(cd TNSWidgets/build && zip -qr TNSWidgets.framework.dSYM.zip TNSWidgets.framework.dSYM) + echo "Archiving dSYM at $DEST.dSYM.zip" + (cd TNSWidgets/build && zip -qr $FRAMEWORK_NAME.framework.dSYM.zip $FRAMEWORK_NAME.framework.dSYM) -echo "Removing TNSWidgets/build/TNSWidgets.framework.dSYM" -rm -rf TNSWidgets/build/TNSWidgets.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 . +buildFatFramework Pods_TNSWidgets . +buildFatFramework MDFInternationalization MDFInternationalization +buildFatFramework MaterialComponents MaterialComponents diff --git a/tns-core-modules/package.json b/tns-core-modules/package.json index afb5ef507..3c6d3041c 100644 --- a/tns-core-modules/package.json +++ b/tns-core-modules/package.json @@ -26,12 +26,12 @@ "license": "Apache-2.0", "typings": "tns-core-modules.d.ts", "dependencies": { - "tns-core-modules-widgets": "androidx", + "tns-core-modules-widgets": "*", "tslib": "^1.9.3" }, "devDependencies": { "@types/node": "~7.0.5", - "tns-platform-declarations": "androidx" + "tns-platform-declarations": "*" }, "scripts": { "version": "conventional-changelog -p angular -i ../CHANGELOG.md -s && git add ../CHANGELOG.md" diff --git a/tns-core-modules/platforms/ios/Podfile b/tns-core-modules/platforms/ios/Podfile deleted file mode 100644 index 0dfc8454d..000000000 --- a/tns-core-modules/platforms/ios/Podfile +++ /dev/null @@ -1 +0,0 @@ -pod 'MaterialComponents/Tabs', '84.4.0' \ No newline at end of file diff --git a/tns-platform-declarations/ios/ios.d.ts b/tns-platform-declarations/ios/ios.d.ts index 9b3b38c92..72dcbc73e 100644 --- a/tns-platform-declarations/ios/ios.d.ts +++ b/tns-platform-declarations/ios/ios.d.ts @@ -126,3 +126,4 @@ /// /// /// +/// diff --git a/tns-core-modules/platforms/ios/typings/objc!MaterialComponents.d.ts b/tns-platform-declarations/ios/objc-x86_64/objc!MaterialComponents.d.ts similarity index 100% rename from tns-core-modules/platforms/ios/typings/objc!MaterialComponents.d.ts rename to tns-platform-declarations/ios/objc-x86_64/objc!MaterialComponents.d.ts