-
Notifications
You must be signed in to change notification settings - Fork 822
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
Support Artifact Bundle #1388
Support Artifact Bundle #1388
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @freddi-kit.
What is the story around the SettingPresets
assets? I don't think these are being bundled with the artifact. I assume we need to move these to package resources first.
As an aside, would love the github release process to be automated at some point.
Makefile
Outdated
@@ -48,3 +48,7 @@ brew: | |||
|
|||
archive: build | |||
./scripts/archive.sh "$(EXECUTABLE_PATH)" | |||
swift package plugin --allow-writing-to-package-directory generate-artifact-bundle \ | |||
--package-version $(VERSION) \ | |||
--executable-name xcodegen \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
--executable-name xcodegen \ | |
--executable-name $(EXECUTABLE_NAME) \ |
I support it in this commit, could you help checking it? 🙇
I have idea to do it, let me do it in other PR 👍 |
i noticed i need to sereval things for support resource please wait a moment |
@yonaskolb |
Package.swift
Outdated
@@ -2,6 +2,13 @@ | |||
|
|||
import PackageDescription | |||
|
|||
let macOSOnlyDependency: [Package.Dependency] | |||
#if !os(Linux) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason not to do a mac check here instead to be more explicit?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In CI machine, we cannot build my tools, I'm checking the reason
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
@@ -0,0 +1 @@ | |||
../../SettingPresets/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does this file do?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is symbolic link for SeetingPresets in root to detect it as bundle file for XcodeGenKit. Package.swift cannot find it if we don't have it in root of target source file here https://github.com/yonaskolb/XcodeGen/pull/1388/files#diff-f913940c58e8744a2af1c68b909bb6383e49007e6c5a12fb03104a9006ae677eR46
We also cannot set it as .copy("../../SettingPresets")
@yonaskolb Linux issue is solved, please check again |
@yonaskolb @freddi-kit We have recently solved the same task. See mac-cain13/R.swift#838 . May be this will help you. |
@yonaskolb do you have any concern? I also agree with @roman-aliyev 's way |
if let moduleResourcePath = Bundle.module.path(forResource: "SettingPresets", ofType: nil) { | ||
possibleSettingsPaths.append(Path(moduleResourcePath) + "\(path).yml") | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@roman-aliyev If @yonaskolb agree with your way, please open PR and do not forget to add this code and copy script SettingPresets to bundle.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, please add https://github.com/yonaskolb/XcodeGen/pull/1388/files#diff-f913940c58e8744a2af1c68b909bb6383e49007e6c5a12fb03104a9006ae677eR45-R46 and make symbolic link as https://github.com/yonaskolb/XcodeGen/pull/1388/files#diff-9f320f241fc06216ac0b9fed9a549298a11c8f203c299350159cab6946344b14
Is there any update on this PR? I would like to use |
@yonaskolb could you help checking it again? 🙇 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, thanks @freddi-kit 🙏
I created a sample project. I hope this will be helpful for someone. https://github.com/kkk669/xcodegen-artifactbundle-demo/ |
This reverts commit 2c15007. # Conflicts: # CHANGELOG.md
Motivation
SE-0305 is introduced and it is now important for build tools.
Artifact Bundle helps to support Artifact bundle to not take time to making build binary.
I developed new OSS tool named ArtifactBundleGen to create it easily.
Changes
Test
Run
make archive