Skip to content

Added support for "driver-extension" and "system-extension" product types#1094

Merged
yonaskolb merged 5 commits intoyonaskolb:masterfrom
vgorloff:feature/system-extension-support-02
Jun 20, 2021
Merged

Added support for "driver-extension" and "system-extension" product types#1094
yonaskolb merged 5 commits intoyonaskolb:masterfrom
vgorloff:feature/system-extension-support-02

Conversation

@vgorloff
Copy link
Copy Markdown
Contributor

  • Added support for "driver-extension" and "system-extension" product types #1092

vgorloff added 2 commits June 18, 2021 01:13
commit 0bcdce0d1f0f1d13fb5a284404e4eaea4e805a89
Author: Vlad Gorlov <volodymyr.gorlov@gmail.com>
Date:   Fri Jun 18 00:58:50 2021 +0200

    [yonaskolb#1092] Dependency version update.

commit 0040c46fd4ce9f42102faeb744104027b6c2c757
Author: Bruce Evans <bruce.evans.dev@gmail.com>
Date:   Wed Jun 16 09:12:01 2021 +0900

    Add Support for DocC in Xcode 13 (yonaskolb#1091)

    * Add support for DocC

    DocC "files" are actually folders `.docc` appended to the name, but Xcode 13 treats them differently. Therefore, we need to exclude them from the normal BuildPhase.

    Resolves yonaskolb#1089

    * Add tests for DocC

    Expanded an existing test to include .docc support.

    Also added a .docc catalog to the Test Project.

    * Update changelog.md

    * Update changelog.md to get the correct PR Link

commit 5bb7ef4e1c632f80f63c49ee280d64b8dab1603f
Author: Vlad Gorlov <volodymyr.gorlov@gmail.com>
Date:   Wed Jun 16 01:03:42 2021 +0200

    Added support for missed product types.

commit 3f8bfdf749d0d15da8490550b95a31cf961d8649
Author: Vlad Gorlov <volodymyr.gorlov@gmail.com>
Date:   Wed Jun 16 00:01:47 2021 +0200

    Added support for missed product types.

commit 235ebe4fe906716a6a37421346318fc6515836ce
Author: Vlad Gorlov <volodymyr.gorlov@gmail.com>
Date:   Tue Jun 15 23:53:52 2021 +0200

    Added support for missed product types.
@vgorloff
Copy link
Copy Markdown
Contributor Author

vgorloff commented Jun 17, 2021

Here is a project spec file which i am currently using for Network Filter..

include:
  - ../../../../mc/mcUIReusable/project.yml
  - ../../../../mc/mcAppScaffold/project.yml
name: NetFilter
configFiles:
  Debug: Configuration/project.xcconfig
  Release: Configuration/project.xcconfig
settings:
  MACOSX_DEPLOYMENT_TARGET: 10.15
fileGroups:
  - Readme.md
  - project.yml
targets:
  NetFilterApp:
    platform: macOS
    type: application
    transitivelyLinkDependencies: true
    sources:
      - path: App
      - path: Common
    settings:
      PRODUCT_BUNDLE_IDENTIFIER: abc.xyz.Testability
      PRODUCT_NAME: NetFilter
      ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
      COMBINE_HIDPI_IMAGES: YES
      DEPLOYMENT_LOCATION: YES
      DSTROOT: /
      INSTALL_PATH: $(LOCAL_APPS_DIR)/My
      LD_RUNPATH_SEARCH_PATHS: $(inherited) @executable_path/../Frameworks
      CODE_SIGN_ENTITLEMENTS: App/App.entitlements
      CODE_SIGN_IDENTITY: Mac Developer
      CODE_SIGN_STYLE: Manual
      DEVELOPMENT_TEAM: H0M62US4J0
      PROVISIONING_PROFILE_SPECIFIER: Testability Sandbox macOS
    scheme:
      environmentVariables:
         app.runtime.loggerType: console
    dependencies:
      - target: mcUIReusable_macOS
      - target: mcAppScaffold_macOS
      - target: NetFilterExtension
        embed: true

  NetFilterExtension:
    platform: macOS
    type: system-extension
    transitivelyLinkDependencies: true
    sources:
      - path: Extension
      - path: Common
    settings:
      PRODUCT_BUNDLE_IDENTIFIER: abc.xyz.Testability.Extension
      PRODUCT_NAME: ${PRODUCT_BUNDLE_IDENTIFIER}
      CODE_SIGN_ENTITLEMENTS: Extension/Extension.entitlements
      CODE_SIGN_IDENTITY: Mac Developer
      CODE_SIGN_STYLE: Manual
      DEVELOPMENT_TEAM: H0M62US4J0
      ENABLE_HARDENED_RUNTIME: YES
      PROVISIONING_PROFILE_SPECIFIER: Testability Sandbox Extension macOS
      SKIP_INSTALL: YES
      LD_RUNPATH_SEARCH_PATHS: $(inherited) @executable_path/../Frameworks @executable_path/../../../../Frameworks
    scheme: {}
    dependencies:
      - target: mcRuntime_macOS
      - target: mcFoundationLogging_macOS

Copy link
Copy Markdown
Owner

@yonaskolb yonaskolb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great PR, thanks @vgorloff.
Could you please add a building example of these extensions to Tests/Fixtures/TestProject/project.yml, and then commit the diff.

@vgorloff
Copy link
Copy Markdown
Contributor Author

Ok. I saw that folder with sample project. Will update it with system extension and driver extension.

@vgorloff vgorloff requested a review from yonaskolb June 18, 2021 19:47
Copy link
Copy Markdown
Owner

@yonaskolb yonaskolb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, thanks @vgorloff

@yonaskolb yonaskolb merged commit 4455919 into yonaskolb:master Jun 20, 2021
@vgorloff vgorloff deleted the feature/system-extension-support-02 branch June 20, 2021 19:41
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