Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

APIs modularization #98

Merged
merged 20 commits into from
Nov 19, 2019
Merged

APIs modularization #98

merged 20 commits into from
Nov 19, 2019

Conversation

miguelangel-dev
Copy link
Member

@miguelangel-dev miguelangel-dev commented Nov 13, 2019

Description

In this PR, we have reviewed the nef-modularization to simplify how users should integrate nef in their projects.

  • Users just need to import nef to use nef in their projects.
  • Upgrade Swift-Package-Manager. You can find two Package files, one of them in / to build the nef library; and the second one in /project to build the binaries.
  • Add support to FP (added dependency to Bow) - functional apis to Carbon, Jekyll, Markdown

APIs

You can find more information in the file

@_exported

modulemap is only available for C libs, so we can not create a custom layout of how symbols visibility will be through our umbrella-library. Apple has an undocumented kind of import @_exported that let us expose symbols of nested libraries. You can read more about it in the following thread

On this way, when the user import net automatically is importing NefModels (we expose the symbols of NefModels from nef library, using @_exported)

Example of use

I have migrated nef-plugin to this API version, using the new APIs, you can review it here

@miguelangel-dev miguelangel-dev changed the base branch from develop to nef_playground_app November 13, 2019 16:51
@miguelangel-dev miguelangel-dev changed the title Api modularization APIs modularization Nov 13, 2019
@miguelangel-dev miguelangel-dev force-pushed the api_modules branch 3 times, most recently from 570c2bb to 6712caa Compare November 14, 2019 11:53
@miguelangel-dev miguelangel-dev changed the base branch from nef_playground_app to playground_ipad_support November 14, 2019 13:30
@miguelangel-dev miguelangel-dev changed the base branch from playground_ipad_support to develop November 14, 2019 13:30
@miguelangel-dev miguelangel-dev force-pushed the api_modules branch 4 times, most recently from b32ce18 to e2ec257 Compare November 16, 2019 19:53
.gitignore Show resolved Hide resolved
project/Component/NefModels/CarbonModel.swift Outdated Show resolved Hide resolved
project/Component/nef/API.swift Outdated Show resolved Hide resolved
.gitignore Show resolved Hide resolved
project/Component/NefModels/CarbonModel.swift Outdated Show resolved Hide resolved
project/Component/nef/API.swift Show resolved Hide resolved
project/Component/nef/CarbonAPI.swift Show resolved Hide resolved
comments in PR

comments in PR
@truizlop truizlop merged commit eae0354 into develop Nov 19, 2019
@truizlop truizlop deleted the api_modules branch November 19, 2019 16:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants