Skip to content

Commit b6c7acc

Browse files
Refactor production config to frozen and install_development
1 parent 3c3b016 commit b6c7acc

File tree

8 files changed

+19
-15
lines changed

8 files changed

+19
-15
lines changed

src/cli.cr

+4-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@ module Shards
3030

3131
opts.on("--no-color", "Disable colored output.") { self.colors = false }
3232
opts.on("--version", "Print the `shards` version.") { puts self.version_string; exit }
33-
opts.on("--production", "Run in release mode. No development dependencies and strict sync between shard.yml and shard.lock.") { self.production = true }
33+
opts.on("--production", "Run in release mode. No development dependencies and strict sync between shard.yml and shard.lock.") do
34+
self.frozen = true
35+
self.with_development = false
36+
end
3437
opts.on("--local", "Don't update remote repositories, use the local cache only.") { self.local = true }
3538
opts.on("--ignore-crystal-version", "Do not enforce crystal version restrictions on shards.") { self.ignore_crystal_version = true }
3639
opts.on("-v", "--verbose", "Increase the log verbosity, printing all debug statements.") { self.set_debug_log_level }

src/commands/check.cr

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ module Shards
88
if has_dependencies?
99
locks # ensures that lockfile exists
1010
verify(spec.dependencies)
11-
verify(spec.development_dependencies) unless Shards.production?
11+
verify(spec.development_dependencies) if Shards.with_development?
1212
end
1313

1414
Log.info { "Dependencies are satisfied" }
1515
end
1616

1717
private def has_dependencies?
18-
spec.dependencies.any? || (!Shards.production? && spec.development_dependencies.any?)
18+
spec.dependencies.any? || (Shards.with_development? && spec.development_dependencies.any?)
1919
end
2020

2121
private def verify(dependencies)

src/commands/install.cr

+4-4
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@ module Shards
1414
solver.locks = locks.shards
1515
end
1616

17-
solver.prepare(development: !Shards.production?)
17+
solver.prepare(development: Shards.with_development?)
1818

1919
packages = handle_resolver_errors { solver.solve }
2020

21-
if lockfile? && Shards.production?
21+
if lockfile? && Shards.frozen?
2222
validate(packages)
2323
end
2424

2525
install(packages)
2626

2727
if generate_lockfile?(packages)
2828
write_lockfile(packages)
29-
elsif !Shards.production?
29+
elsif !Shards.frozen?
3030
# Touch lockfile so its mtime is bigger than that of shard.yml
3131
File.touch(lockfile_path)
3232
end
@@ -87,7 +87,7 @@ module Shards
8787
end
8888

8989
private def generate_lockfile?(packages)
90-
!Shards.production? && (!lockfile? || outdated_lockfile?(packages))
90+
!Shards.frozen? && (!lockfile? || outdated_lockfile?(packages))
9191
end
9292

9393
private def outdated_lockfile?(packages)

src/commands/list.cr

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module Shards
99
return unless has_dependencies?
1010
puts "Shards installed:"
1111
list(spec.dependencies)
12-
list(spec.development_dependencies) unless Shards.production?
12+
list(spec.development_dependencies) if Shards.with_development?
1313
end
1414

1515
private def list(dependencies, level = 1)
@@ -30,7 +30,7 @@ module Shards
3030

3131
# FIXME: duplicates Check#has_dependencies?
3232
private def has_dependencies?
33-
spec.dependencies.any? || (!Shards.production? && spec.development_dependencies.any?)
33+
spec.dependencies.any? || (Shards.with_development? && spec.development_dependencies.any?)
3434
end
3535
end
3636
end

src/commands/lock.cr

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ module Shards
2222
end
2323
end
2424

25-
solver.prepare(development: !Shards.production?)
25+
solver.prepare(development: Shards.with_development?)
2626

2727
packages = handle_resolver_errors { solver.solve }
2828
return if packages.empty?

src/commands/outdated.cr

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ module Shards
1414
Log.info { "Resolving dependencies" }
1515

1616
solver = MolinilloSolver.new(spec, override, prereleases: @prereleases, ignore_crystal_version: ignore_crystal_version)
17-
solver.prepare(development: !Shards.production?)
17+
solver.prepare(development: Shards.with_development?)
1818

1919
packages = handle_resolver_errors { solver.solve }
2020
packages.each { |package| analyze(package) }
@@ -110,7 +110,7 @@ module Shards
110110

111111
# FIXME: duplicates Check#has_dependencies?
112112
private def has_dependencies?
113-
spec.dependencies.any? || (!Shards.production? && spec.development_dependencies.any?)
113+
spec.dependencies.any? || (Shards.with_development? && spec.development_dependencies.any?)
114114
end
115115

116116
private def dependency_by_name(name : String)

src/commands/update.cr

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ module Shards
1515
solver.locks = locks.shards.reject { |d| shards.includes?(d.name) }
1616
end
1717

18-
solver.prepare(development: !Shards.production?)
18+
solver.prepare(development: Shards.with_development?)
1919

2020
packages = handle_resolver_errors { solver.solve }
2121
install(packages)
@@ -60,7 +60,7 @@ module Shards
6060
end
6161

6262
private def generate_lockfile?(packages)
63-
!Shards.production?
63+
!Shards.frozen?
6464
end
6565
end
6666
end

src/config.cr

+2-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ module Shards
9494
end
9595
end
9696

97-
class_property? production = false
97+
class_property? frozen = false
98+
class_property? with_development = true
9899
class_property? local = false
99100
class_property? ignore_crystal_version = false
100101
end

0 commit comments

Comments
 (0)