pray-cli 1.16.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/lib/pray/apply_report.rb +49 -0
- data/lib/pray/cli/commands/init.rb +1 -20
- data/lib/pray/cli/commands/init_prayer.rb +76 -0
- data/lib/pray/cli/commands/init_prayer_manifest.rb +102 -0
- data/lib/pray/cli/commands/packages.rb +13 -2
- data/lib/pray/cli/commands/trust.rb +3 -3
- data/lib/pray/cli/commands/update_latest.rb +14 -16
- data/lib/pray/cli/commands/workflow.rb +5 -0
- data/lib/pray/cli/help.rb +52 -15
- data/lib/pray/cli/helpers.rb +13 -5
- data/lib/pray/cli/parse.rb +21 -1
- data/lib/pray/cli.rb +3 -1
- data/lib/pray/destination.rb +32 -2
- data/lib/pray/distribution.rb +94 -0
- data/lib/pray/format_serialize.rb +1 -4
- data/lib/pray/git_cache.rb +192 -0
- data/lib/pray/git_clone.rb +32 -0
- data/lib/pray/git_materialize.rb +76 -0
- data/lib/pray/git_run.rb +41 -0
- data/lib/pray/git_sources.rb +60 -145
- data/lib/pray/local_prayer.rb +38 -0
- data/lib/pray/lockfile.rb +8 -2
- data/lib/pray/manifest.rb +6 -3
- data/lib/pray/manifest_json.rb +1 -0
- data/lib/pray/manifest_parser_blocks.rb +15 -15
- data/lib/pray/materialize.rb +7 -1
- data/lib/pray/package_spec.rb +25 -13
- data/lib/pray/package_spec_render.rb +4 -3
- data/lib/pray/package_spec_version.rb +33 -0
- data/lib/pray/plan.rb +2 -1
- data/lib/pray/publish.rb +27 -2
- data/lib/pray/registry.rb +4 -15
- data/lib/pray/registry_http_cache.rb +17 -0
- data/lib/pray/render.rb +6 -36
- data/lib/pray/render_managed.rb +64 -0
- data/lib/pray/render_patch.rb +63 -12
- data/lib/pray/resolve.rb +6 -37
- data/lib/pray/resolve_local.rb +39 -0
- data/lib/pray/resolve_source.rb +5 -0
- data/lib/pray/serve.rb +15 -4
- data/lib/pray/serve_range.rb +36 -0
- data/lib/pray/torrent_manifest.rb +78 -0
- data/lib/pray/upstream_drift.rb +42 -0
- data/lib/pray/upstream_merge.rb +25 -0
- data/lib/pray/upstream_refresh.rb +28 -2
- data/lib/pray/verify.rb +2 -2
- data/lib/pray/version.rb +2 -2
- data/lib/pray.rb +10 -0
- metadata +17 -1
|
@@ -27,6 +27,11 @@ module Pray
|
|
|
27
27
|
new_upstream = package.upstream
|
|
28
28
|
return false unless new_upstream && package.declaration.path
|
|
29
29
|
|
|
30
|
+
local_content = local_content_for_refresh(package.root, package.spec)
|
|
31
|
+
if local_content.empty?
|
|
32
|
+
return materialize_empty_path_fork(project, package, previous, sources, git_sources, user_config, options, new_upstream)
|
|
33
|
+
end
|
|
34
|
+
|
|
30
35
|
old_upstream = previous&.package&.find { |entry| entry.name == package.declaration.name }&.upstream
|
|
31
36
|
return false unless old_upstream
|
|
32
37
|
return false if old_upstream.version == new_upstream.version && old_upstream.tree_hash == new_upstream.tree_hash
|
|
@@ -40,6 +45,27 @@ module Pray
|
|
|
40
45
|
true
|
|
41
46
|
end
|
|
42
47
|
|
|
48
|
+
def materialize_empty_path_fork(project, package, previous, sources, git_sources, user_config, options, new_upstream)
|
|
49
|
+
new_package = resolve_named(
|
|
50
|
+
project.project_root, sources, git_sources, user_config, previous, options,
|
|
51
|
+
new_upstream.name, "= #{new_upstream.version}", new_upstream.source
|
|
52
|
+
)
|
|
53
|
+
new_content = content_file_bytes(new_package.root, new_package.spec)
|
|
54
|
+
write_content_files(package.root, {}, new_content)
|
|
55
|
+
write_refreshed_spec(package, new_package, {}, {}, new_content)
|
|
56
|
+
true
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def local_content_for_refresh(root, spec)
|
|
60
|
+
paths = content_paths(spec.files)
|
|
61
|
+
return {} if paths.empty?
|
|
62
|
+
|
|
63
|
+
missing = paths.count { |relative| !File.file?(File.join(root, relative)) }
|
|
64
|
+
return {} if missing == paths.length
|
|
65
|
+
|
|
66
|
+
content_file_bytes(root, spec)
|
|
67
|
+
end
|
|
68
|
+
|
|
43
69
|
def resolve_upstream_pair(project, previous, sources, git_sources, user_config, options, old_upstream, new_upstream)
|
|
44
70
|
old_package = resolve_named(
|
|
45
71
|
project.project_root, sources, git_sources, user_config, previous, options,
|
|
@@ -80,7 +106,6 @@ module Pray
|
|
|
80
106
|
updated = PackageSpecRender.fork_spec_after_refresh(
|
|
81
107
|
package.spec,
|
|
82
108
|
new_package.spec,
|
|
83
|
-
File.basename(spec_path),
|
|
84
109
|
clean_replica?(old_content, local_content),
|
|
85
110
|
merged.keys
|
|
86
111
|
)
|
|
@@ -138,7 +163,8 @@ module Pray
|
|
|
138
163
|
Transaction.write_file(File.join(root, relative), bytes)
|
|
139
164
|
end
|
|
140
165
|
end
|
|
141
|
-
private_class_method :apply_one_path_upstream, :
|
|
166
|
+
private_class_method :apply_one_path_upstream, :materialize_empty_path_fork, :local_content_for_refresh,
|
|
167
|
+
:resolve_upstream_pair, :merge_fork_content,
|
|
142
168
|
:write_refreshed_spec, :resolve_named
|
|
143
169
|
end
|
|
144
170
|
end
|
data/lib/pray/verify.rb
CHANGED
|
@@ -83,10 +83,10 @@ module Pray
|
|
|
83
83
|
message: "Package `#{package.declaration.name}` no longer matches the locked tree hash. Run `pray install` to re-resolve packages."
|
|
84
84
|
)
|
|
85
85
|
end
|
|
86
|
-
if locked.version != package.spec.
|
|
86
|
+
if locked.version != package.spec.recorded_version
|
|
87
87
|
report.findings << VerificationFinding.new(
|
|
88
88
|
kind: "verify_error",
|
|
89
|
-
message: "Package `#{package.declaration.name}` resolved to version #{package.spec.
|
|
89
|
+
message: "Package `#{package.declaration.name}` resolved to version #{package.spec.recorded_version} but `Prayfile.lock` has #{locked.version}. Run `pray install` to refresh the lockfile."
|
|
90
90
|
)
|
|
91
91
|
end
|
|
92
92
|
else
|
data/lib/pray/version.rb
CHANGED
data/lib/pray.rb
CHANGED
|
@@ -13,7 +13,13 @@ require_relative "pray/manifest"
|
|
|
13
13
|
require_relative "pray/format_serialize"
|
|
14
14
|
require_relative "pray/format_manifest"
|
|
15
15
|
require_relative "pray/package_spec"
|
|
16
|
+
require_relative "pray/package_spec_version"
|
|
17
|
+
require_relative "pray/local_prayer"
|
|
16
18
|
require_relative "pray/lockfile"
|
|
19
|
+
require_relative "pray/distribution"
|
|
20
|
+
require_relative "pray/torrent_manifest"
|
|
21
|
+
require_relative "pray/serve_range"
|
|
22
|
+
require_relative "pray/apply_report"
|
|
17
23
|
require_relative "pray/config"
|
|
18
24
|
require_relative "pray/dotenv"
|
|
19
25
|
require_relative "pray/project_context"
|
|
@@ -27,13 +33,17 @@ require_relative "pray/resolve_tarball"
|
|
|
27
33
|
require_relative "pray/invocation"
|
|
28
34
|
require_relative "pray/git_refresh"
|
|
29
35
|
require_relative "pray/resolve"
|
|
36
|
+
require_relative "pray/resolve_local"
|
|
30
37
|
require_relative "pray/upstream"
|
|
31
38
|
require_relative "pray/upstream_merge"
|
|
32
39
|
require_relative "pray/package_spec_render"
|
|
33
40
|
require_relative "pray/upstream_refresh"
|
|
41
|
+
require_relative "pray/upstream_drift"
|
|
34
42
|
require_relative "pray/upstream_latest"
|
|
35
43
|
require_relative "pray/compose_dest"
|
|
36
44
|
require_relative "pray/render_patch"
|
|
45
|
+
require_relative "pray/render_content"
|
|
46
|
+
require_relative "pray/render_managed"
|
|
37
47
|
require_relative "pray/render"
|
|
38
48
|
require_relative "pray/render_dest"
|
|
39
49
|
require_relative "pray/transaction"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pray-cli
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.18.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrei Makarov
|
|
@@ -102,6 +102,7 @@ files:
|
|
|
102
102
|
- bin/pray
|
|
103
103
|
- lib/pray-cli.rb
|
|
104
104
|
- lib/pray.rb
|
|
105
|
+
- lib/pray/apply_report.rb
|
|
105
106
|
- lib/pray/archive.rb
|
|
106
107
|
- lib/pray/archive_unpack.rb
|
|
107
108
|
- lib/pray/auth_client.rb
|
|
@@ -110,6 +111,8 @@ files:
|
|
|
110
111
|
- lib/pray/cli/commands/auth.rb
|
|
111
112
|
- lib/pray/cli/commands/distribution.rb
|
|
112
113
|
- lib/pray/cli/commands/init.rb
|
|
114
|
+
- lib/pray/cli/commands/init_prayer.rb
|
|
115
|
+
- lib/pray/cli/commands/init_prayer_manifest.rb
|
|
113
116
|
- lib/pray/cli/commands/meta.rb
|
|
114
117
|
- lib/pray/cli/commands/packages.rb
|
|
115
118
|
- lib/pray/cli/commands/trust.rb
|
|
@@ -127,17 +130,23 @@ files:
|
|
|
127
130
|
- lib/pray/constraint.rb
|
|
128
131
|
- lib/pray/dependency_graph.rb
|
|
129
132
|
- lib/pray/destination.rb
|
|
133
|
+
- lib/pray/distribution.rb
|
|
130
134
|
- lib/pray/dotenv.rb
|
|
131
135
|
- lib/pray/environment.rb
|
|
132
136
|
- lib/pray/error.rb
|
|
133
137
|
- lib/pray/format_manifest.rb
|
|
134
138
|
- lib/pray/format_serialize.rb
|
|
139
|
+
- lib/pray/git_cache.rb
|
|
140
|
+
- lib/pray/git_clone.rb
|
|
141
|
+
- lib/pray/git_materialize.rb
|
|
135
142
|
- lib/pray/git_refresh.rb
|
|
143
|
+
- lib/pray/git_run.rb
|
|
136
144
|
- lib/pray/git_sources.rb
|
|
137
145
|
- lib/pray/hashing.rb
|
|
138
146
|
- lib/pray/http_body.rb
|
|
139
147
|
- lib/pray/invocation.rb
|
|
140
148
|
- lib/pray/literal.rb
|
|
149
|
+
- lib/pray/local_prayer.rb
|
|
141
150
|
- lib/pray/lockfile.rb
|
|
142
151
|
- lib/pray/lockfile_serialize.rb
|
|
143
152
|
- lib/pray/manifest.rb
|
|
@@ -150,11 +159,13 @@ files:
|
|
|
150
159
|
- lib/pray/materialize.rb
|
|
151
160
|
- lib/pray/package_spec.rb
|
|
152
161
|
- lib/pray/package_spec_render.rb
|
|
162
|
+
- lib/pray/package_spec_version.rb
|
|
153
163
|
- lib/pray/path_safety.rb
|
|
154
164
|
- lib/pray/plan.rb
|
|
155
165
|
- lib/pray/project_context.rb
|
|
156
166
|
- lib/pray/publish.rb
|
|
157
167
|
- lib/pray/registry.rb
|
|
168
|
+
- lib/pray/registry_http_cache.rb
|
|
158
169
|
- lib/pray/registry_install.rb
|
|
159
170
|
- lib/pray/registry_integrity.rb
|
|
160
171
|
- lib/pray/registry_paths.rb
|
|
@@ -162,16 +173,19 @@ files:
|
|
|
162
173
|
- lib/pray/render_content.rb
|
|
163
174
|
- lib/pray/render_dest.rb
|
|
164
175
|
- lib/pray/render_layout.rb
|
|
176
|
+
- lib/pray/render_managed.rb
|
|
165
177
|
- lib/pray/render_patch.rb
|
|
166
178
|
- lib/pray/resolve.rb
|
|
167
179
|
- lib/pray/resolve_context.rb
|
|
168
180
|
- lib/pray/resolve_deps.rb
|
|
169
181
|
- lib/pray/resolve_exports.rb
|
|
182
|
+
- lib/pray/resolve_local.rb
|
|
170
183
|
- lib/pray/resolve_source.rb
|
|
171
184
|
- lib/pray/resolve_tarball.rb
|
|
172
185
|
- lib/pray/resource_limits.rb
|
|
173
186
|
- lib/pray/serve.rb
|
|
174
187
|
- lib/pray/serve_federation.rb
|
|
188
|
+
- lib/pray/serve_range.rb
|
|
175
189
|
- lib/pray/session.rb
|
|
176
190
|
- lib/pray/ssh_agent.rb
|
|
177
191
|
- lib/pray/statement_surface.rb
|
|
@@ -179,6 +193,7 @@ files:
|
|
|
179
193
|
- lib/pray/sync.rb
|
|
180
194
|
- lib/pray/tar_validation.rb
|
|
181
195
|
- lib/pray/terminal.rb
|
|
196
|
+
- lib/pray/torrent_manifest.rb
|
|
182
197
|
- lib/pray/transaction.rb
|
|
183
198
|
- lib/pray/transaction/journal.rb
|
|
184
199
|
- lib/pray/transaction/owner.rb
|
|
@@ -187,6 +202,7 @@ files:
|
|
|
187
202
|
- lib/pray/trust_feed.rb
|
|
188
203
|
- lib/pray/trust_ops.rb
|
|
189
204
|
- lib/pray/upstream.rb
|
|
205
|
+
- lib/pray/upstream_drift.rb
|
|
190
206
|
- lib/pray/upstream_latest.rb
|
|
191
207
|
- lib/pray/upstream_merge.rb
|
|
192
208
|
- lib/pray/upstream_refresh.rb
|