Граф коммитов

57 Коммитов

Автор SHA1 Сообщение Дата
Ruben Guerrero add4a30436
Fix Issue 224 (#239) 2019-10-14 18:11:19 -07:00
Ruben Guerrero d65e1e76e3
Use MSIX_BINARY_ROOT instead of CMAKE_BINARY_DIR (#183) 2019-07-31 13:28:21 -07:00
Ruben Guerrero 8843c96c32
Use MSIX_* specific CMake variables for build and src directories to don't interfere with projects that add it as a subtree" (#181) 2019-07-30 11:01:17 -07:00
Ruben Guerrero a3f4e6b511
Deprecate MSIX_VALIDATION_OPTION_SKIPAPPXMANIFEST and improve CMake MSIX SDK option processing (#177) 2019-07-16 15:49:49 -07:00
Ruben Guerrero 9a9005bc9e
Make MSIX_PACK as non default option (#174) 2019-07-15 17:13:34 -07:00
Ruben Guerrero Samaniego e804fafc71 Merge branch 'master' into packaging 2019-06-04 23:58:06 -07:00
Ruben Guerrero 418393f8dd
msixtest - use catch2 as our test infrastructure for all supported platforms (#149) 2019-05-30 11:58:06 -07:00
Ruben Guerrero acc3972515
Disable pack for mobile (#131) 2019-05-12 22:12:51 -07:00
Ruben Guerrero 77c2b1297b
Add CMake MSIX_PACK option (#114) 2019-05-02 11:29:11 -07:00
JohnMcPMS 3b51adbf70
Allow explicit selection of crypto library; fixes and improvements for Windows test script. (#81) 2019-04-08 15:38:31 -07:00
Ruben Guerrero 8051099405
Fix set CACHE type on ios toolchain (#75) 2019-03-27 17:55:05 -07:00
Ruben Guerrero 5a6c06e91b
Turn on Azure Pipelines for Windows for CI and PRs. (#52) 2019-03-05 14:14:11 -08:00
Ruben Guerrero Samaniego 2e4dbe8436 Use CMAKE_BINARY_DIR to CMAKE_CURRENT_BINARY_DIR 2019-03-01 15:10:32 -08:00
Ruben Guerrero Samaniego 965ca5e953 Merged PR 2853269: Provide platform-specific nuget packages for msix
CMake changes to enable creating independent nuget packages according to the platform.

Packages names are:
- Microsoft.MSIX.Packaging.n.n.n.nupkg
- Microsoft.MSIX.Packaging.AOSP.n.n.n.nupkg
- Microsoft.MSIX.Packaging.iOS.n.n.n.nupkg
- Microsoft.MSIX.Packaging.Linux.n.n.n.nupkg
- Microsoft.MSIX.Packaging.MacOS.n.n.n.nupkg
- Microsoft.MSIX.Packaging.Windows.n.n.n.nupkg

where n.n.n is the version of the SDK.

Other changes:
1. Fix bug where iOS couldn't find git, so the SDK version was always 0.0.0
2. Change iOS BVT to link agains libmsix.dylib and libmsixtestcommon.dylib instead of libmsix.0.0.0.dylib and libmsixtestcommon.0.0.0.dylib
3. Change testios.sh to exit if compiling the test app fails
4. Remove extra space between THIRD and PARTY in "THIRD PARTY CODE NOTICE" file name
5. Removed unnecessary cmakein files
2019-02-08 20:32:35 -08:00
Ruben Guerrero Samaniego a1c8c698f7 Merged PR 2416703: Clean up on CMakeLists.txt and DirectoryObject.cpp
Clean up to follow CMake conventions and best practices.
2018-10-09 13:44:15 -07:00
Adrian Mascarenhas 08c6b2cc0c Merged PR 2342853: [MSIX SDK] reduce binary size on android by switching to use inbox java xml parser on android instead of xerces
reducing the msix sdk binary size for android by ~3.5MB by switching to use the inbox android java xml no validation parser instead of xerces. This reduces the libmsix.so from ~5.8MB to ~2.3 MB.
- Need to use JNI interop for accessing the java xml parser elements. Made sure that local refs to java objects are released when done.
-by default on android, it will use javaxml. For flexibility, if one still wants to use the native xerces parse, they can use the -parser-xerces build flag.
- verified that androidBVT tests pass.

Related work items: #18565184
2018-10-09 13:44:15 -07:00
Ruben Guerrero Samaniego dea2e72be9 Merged PR 2308191: [MSIX SDK] add a c-make switch to exclude bundles from unpack
Enable the user to disable bundle support for the SDK by specifying -DSKIP_BUNDLES=on on CMake. If the user tries to unpack a bundle or create a bundle factory they will get 0x80070032 (E_NOTSUPPORTED). The binary size decreases ~60k.

Win x64
- bundle: 464 k
- no bundle: 413 k

Win x86
- bundle: 330 k
- no bundle: 293 k

Linux
- bundle: 5,424 k
- no bundle: 5,330 k

AOSP arm
- bundle: 4,381 k
- no bundle: 4,313 k

AOSP arm v7a
- bundle: 4,288 k
- no bundle: 4,220 k

MacOS
- bundle: 4,487 k
- no bundle: 4,413 k

iOS arm64
- bundle: 4,516 k
- no bundle: 4,458 k

Related work items: #18753331
2018-09-21 15:57:06 -07:00
Ruben Guerrero Samaniego d60af3bc20 Merged PR 2285323: MSIX SDK improvements
This changes includes
- Adding version number to makemsix
- Fix multiple warning in different platforms
- Add implementation for IStream::Stat. This is specially required for Gdiplus::Image::FromStream, otherwise the image won't load.

Related work items: #18849745, #18849764, #18849775
2018-09-21 15:57:06 -07:00
Ruben Guerrero Samaniego bd45ddfcba Merged PR 2098454: Add cmake option to statically link the runtime library for Windows by passing /MT or /MTd
To enable statically link the runtime library use "makewin <arch> -mt" or pass "-DUSE_STATIC_MSVC=on". Default is off.
Note: This increase the size of the binary considerably.

Related work items: #18288248
2018-09-21 15:57:06 -07:00
Ruben Guerrero Samaniego b48b443d71 Merged PR 2009143: [MSIX SDK] Allow user to get more information about the AppxManifest
Implement missing functionality of IAppxManifestReader (except two methods that didn't seem relevant for now) and new public API to get any element from the AppxManifest.xml.

IMSIXDocumentElement
- GetDocumentElement - returns a IMSIXElement.

IMSIXElement
- GetAttributeValue - takes an attribute name and returns its value. Null if not present.
- GetText - returns the text of the node. Null if not present.
- GetElements - takes an xpath string and returns an IMSIXElementEnumerator with the result.

IMSIXElementEnumerator
- GetCurrent - returns current IMSIXElement
- GetHasCurrent - return true if there's an element in the current position of the list, false if not
- MoveNext - move to the next element on the list.

For example, the Appx Packaging APIs don't have a way to obtain the extension element.  With the new interfaces, this can be done like this:

`ComPtr<IMSIXDocumentElement> msixDocument;`
`RETURN_IF_FAILED(manifestReader->QueryInterface(UuidOfImpl<IMSIXDocumentElement>::iid, reinterpret_cast<void**>(&msixDocument)));`
`ComPtr<IMSIXElementEnumerator> elementEnum;`
`//  xpath valid for MSXML6`
`RETURN_IF_FAILED(manifestElement->GetElements(L"/*[local-name()='Package']/*[local-name()='Extensions']/*[local-name()='Extension']", &elementEnum));`
`// iterate the elementEnum...`

Related work items: #17990214
2018-09-21 15:57:06 -07:00
Ruben Guerrero Samaniego 3722f3fd2c Merged PR 1959478: Clean up openssl sources files
Remove test files build for openssl. Also allow users to have a dynamic dependency on openssl by adding a cmake switch. Use -DUSE_SHARED_OPENSSL=on in the cmake command to enable it.

Related work items: #17881939
2018-09-21 15:57:06 -07:00
Ruben Guerrero Samaniego 3808542355 Change in Windows 7 Implementation 2018-09-21 15:57:06 -07:00
Ruben Guerrero Samaniego 95c361b53d Enable a switch to make zlib a dynamic dependency for msix.dll 2018-09-21 15:57:06 -07:00
Phil Smith b7364bccf0 Enable turning-off schema validation regardless of XML PAL. 2018-03-29 17:08:25 -07:00
Ruben Guerrero Samaniego 9f529df04c Move generation of headers to its own cmake module 2018-03-29 17:06:13 -07:00
Phil Smith 3d65864170 Add standard headers. 2018-03-29 17:06:06 -07:00
Phil Smith fe110564c4 Move xerces from the always-default to parser of last restort.
Add probe for MSXML6 XML PAL in CMake project root,
and plumb that bit through to the MSIX shared module.
Stub-out MSXML6 XmlObject implementation.
2018-03-05 17:51:10 -08:00
Phil Smith ba72a5ffea Move ParsingException into Xerces-C PAL.
Create XML_PARSER CMAKE switch for selecting parser PAL implementation.
Create USING_XERCES #define for use in ResultOf ABI boundary.
Make inclusion of Xerces-C project dependent on XML_PARSER setting.
2018-03-05 13:41:56 -08:00
Ruben Guerrero Samaniego 7e05b7959b Merged PR 1424038: Rename CrossPlat files from appx to MSIX
This change contains the renaming from xPlatAppx to MSIX Packaging SDK

Binaries
- xPlatAppx.dll -> msix.dll
- MakexPlatAppx.exe -> makemsix.exe

Export rename
- UnpackAppx ->UnpackPackage

Related work items: #15704951
2018-02-13 21:25:38 +00:00
Phil Smith 8c648bdbaf Merged PR 1386317: Enable iOS BVT
Vide proof of life available at: https://microsoft-my.sharepoint.com/✌️/p/psmith_ntdev/EZBv5Wwz6g5ModJ0i4JU_hoBZjFD0XCL8_4lOEz-V-3USw?e=QOpsnU

Related work items: #15424308
2018-02-01 01:48:01 +00:00
Phil Smith 7dcd4345ea Merged PR 1321539: Copy license and certificates into build folder for publishing into nuget
Copy license and certificates into build folder for publishing into nuget package for consumption by clients.

Related work items: #13953197, #15427176
2018-01-17 21:59:19 +00:00
Phil Smith ef4a7ac5c1 Merged PR 1310448: Initial changes to enable iOS symulator cross compilation
Change enables cross compilation for simulator

Related work items: #15424167
2018-01-13 02:53:15 +00:00
Phil Smith b7ff4d10b3 Push release builds to as small as possible. Will add chk builds in a subsequent patch. 2017-12-12 14:55:32 -08:00
Ruben Guerrero Samaniego 91c4aa6ede Merged PR 1208715: Enable Android build
Scripts for building Android on Linux for our build system and for windows for local development.
Archs:
- x86
- arm
- armv7a
- arm64
2017-12-12 20:50:36 +00:00
Phil Smith 1b00949302 Merged PR 1168121: Set the NDEBUG flag (to turn-off asserts) on every build flavor except for Debug
Asserts should NOT be turned-on for any release build type.

Related work items: #14265946
2017-12-01 00:59:55 +00:00
Phil Smith 4030af0a4f Merged PR 1116842: Merge bug_14681942 to feature
Basically, we needed to implement Zip64 support as HelloWorld.appx (SDX) was, under the covers built with a Zip64-based OPC container.  None of our prior collateral was built as such. Also, we didn't have the ability for a client to override unpacking an unsigned appx package (which was blocking end-to-end validation of HelloWorld.appx as it was not signed).

Related work items: #14681942
2017-11-17 19:14:02 +00:00
Ruben Guerrero Samaniego 3e09f7041d Merged PR 1116488: Create a real native nuget package
Verified that it builds and releases successfully and downloaded the package and installed it on a dummy project in VS.
Added Microsoft.xPlat.AppxPackaging.targets which allows everyone that installs the package to already have our headers in their include path.
Move stuff around in our CMakeLists.txt so we can complete the NUSPEC on clean runs without depending on an specific target.

Structure of the nuget package
- build
-- native
---MACOS
---WIN32
---Microsoft.xPlat.AppxPackaging.targets
2017-11-17 01:15:02 +00:00
Ruben Guerrero Samaniego 9a780f3706 Merged PR 1096935: Build on Linux
A bug on the CMakeLists.txt file that zlib provides makes zlib fail to compile when is used via add_subdirectory() by another project. For some reason, this issue only happens for Linux.

There's an already existing open PR since Feb 2017 with the fix (https://github.com/madler/zlib/pull/219). This PR changes the zlib submodule to point to that commit.
2017-11-14 01:44:06 +00:00
Phillip Smith c04961b588 Reverts the revert that went into the wrong branch. This should head-off any merge conflicts that arise when this branche's payload hits the payload that was in origin/helpphil. 2017-11-03 00:20:08 -07:00
Phillip Smith 8922a45334 Revert Packing up for the day. This was inadvertently pushed to the wrong branch. 2017-11-02 20:09:32 -07:00
Phil Smith dda88911c9 Packing up for the day. 2017-11-02 18:13:34 -07:00
Phil Smith 621d2da23c Feedback taken into account. 2017-11-02 11:55:48 -07:00
Phillip Smith 1fb1d3c68b Fixed the zlib decompression error, now need to fix IStream::CopyTo's implementation to figure out when to quit copying. 2017-11-02 01:23:17 -07:00
Phil Smith b21266a687 Fix debug symbols not being produce. Ensure that we're always building release builds. Insert temporary dynamic dependency on OpenSSL to unblock ThomasOl until we get CMake building the OpenSSL submodule. Add additional output via CMake to make diagnosing issues in the build a bit clearer. 2017-10-30 13:04:28 -07:00
Phil Smith 62ab396c02 Lesson learned: DO NOT use STREQUAL in CMakeLists 2017-10-27 15:20:16 -07:00
Phil Smith 10959a28e8 Fix release break due to CMakeList.txt dependency on description containing 3+ parts (which doesn't happen on first build with specified tag)
Also added release_master script to automate creating release forks from master as part of release process.
2017-10-27 15:05:33 -07:00
Phil Smith 5c05e3310c Merged PR 1028022: Merge xerces to feature
The latest round of ES changes that I had to make to get NuGet package publishing working.  You can see what the release logs look like here: https://microsoft.visualstudio.com/xPlatAppx/_apps/hub/ms.vss-releaseManagement-web.hub-explorer?definitionId=2&releaseId=17&_a=release-logs and you can find the published package here: https://microsoft.visualstudio.com/xPlatAppx/_packaging?feed=xPlatAppx&_a=feed .
2017-10-27 18:48:31 +00:00
Phil Smith 7637db9f57 Feedback taken into account and hooked-up git tags to version. 2017-10-25 18:08:30 -07:00
Phillip Smith 3e8bc53836 fix bad merge 2017-10-25 00:56:41 -07:00
Phillip Smith ade7403e45 Merge with origin/feature 2017-10-25 00:53:20 -07:00