-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
(PUP-12031) Consolidate gem depenendencies & metadata into puppet.gem… #9325
Conversation
Not sure if enhancement or maintenance label is better? |
Successfully built gem using 'gem build puppet.gemspec'
|
b995285
to
212d41d
Compare
Somehow I'm guessing it's due to the Line 49 in fb44fd9
Line 67 in fb44fd9
To resolve this, I think we want to guard the puppet/spec/unit/util/plist_spec.rb Line 7 in fb44fd9
Also add the Line 22 in fb44fd9
You might also need to append |
Thanks for the advice, quick q: what does adding CFPropertyList gem to the features group do specifically? Are those gems only installed on specific platforms? |
|
|
Diffs to verify that the gems are being built correctly:
The difference in the universal-darwin gem is because in this PR, the puppet.gemspec was updated to use a newer version of CFPropertyList for universal-darwin:
|
We generally add gems to the features group for optional dependencies. For example, puppet has an optional dependency on the Usually the need for features occurs because the gem we want to add contains native extensions (or one of its transitive dependencies does). If a gem contains native extensions and is added as a (hard) runtime dependency, but the author doesn't ship precompiled binaries, then FFI is an example of a gem that does provide precompiled binaries, which we rely on for Windows platforms. But many other gems aren't as thorough. |
b6548a2
to
fe5265c
Compare
…spec This commit moves the puppet gem metadata from ext/project_yaml.data and .gemspec into puppet.gemspec. This change allows the puppet gem to be built using `gem build puppet.gemspec`. Additionally, for platform specific gems (e.g. puppet-universal-darwin.gem and puppet-x64-mingw32.gem), there is conditional logic in puppet.gemspec so platform specific dependecies such as ffi are appended when building those platform-specific gems.
3c18d2a
to
5d66a5b
Compare
When rake command fails:
|
This commit adds a Rake task, gem:build, that will build all puppet gems which includes the three platform specific puppet gems: x86-mingw32, x64-mingw32, and universal-darwin
Backport failed for Please cherry-pick the changes locally. git fetch origin 7.x
git worktree add -d .worktree/backport-9325-to-7.x origin/7.x
cd .worktree/backport-9325-to-7.x
git checkout -b backport-9325-to-7.x
ancref=$(git merge-base fb44fd90c64ee11f0a29fb8924adbab5b0695555 e58bc11b60c6781deb5b172e674cac405d4b4d6d)
git cherry-pick -x $ancref..e58bc11b60c6781deb5b172e674cac405d4b4d6d |
…spec
This PR:
gem build puppet.gemspec