Swift Package Manager Support for v. 1.X #99
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR implements Swift Package Manager support for the version 1.X.
Change Notes
Package.swift
to implement the Swift Package manifest.HLSObjectiveC
.mamba
is the only target exposed to be implemented. [Please note thatHLSObjectiveC
target is an internal target for Swift Package Manager support, which is not open to the implementors.]mambaSharedFramework/HLS ObjectiveC
folder.HLS ObjectiveC
contains aninclude
folder for the publicly exposed headers.Mamba.xcodeproj
was modified to reflect the new folder structure.mamba.podspec
was modified to exclude SPM support files.Exports.swift
was created. This class exposes Objective-C public headers for Swift use. More information about this in here. In the sectionEXPOSING YOUR OBJC TO SWIFT USERS
What is different from previous PR?
develop_1.X
, instead of release version 1.5.0.include
folder.Exports.swift
andPackage.swift
are inside theMamba.xcodeproj
for ease of access. (But please note that in order to build and compile the Swift package, opening the filePackage.swift
is required.Mamba.xcodeproj
cannot build/compile the Swift Package).HLSObjectiveC
- Target for ObjC code. [This is needed because we can't mix languages in SPM].HLSParserError
. [This is needed because HLSParserError shares error codes to both ObjC and Swift classes, therefore, in order to make it available for Swift and ObjC targets, it needed to be extracted from both to have its own target.]Exports.swift
andPackage.swift
)Testing Sample Apps
In order to test these changes, I have created these sample apps that implements mamba as:
MambaSamples-develop_1.x.zip
Pre-submission Checklist