1
1
# frozen_string_literal: true
2
2
3
- # @return [Hash<String, String>]
4
- def env_vars
5
- ldflags = "-L#{ RbConfig ::CONFIG [ "libdir" ] } -l#{ RbConfig ::CONFIG [ "RUBY_SO_NAME" ] } "
6
-
7
- case `#{ RbConfig ::CONFIG [ "CC" ] } --version` # rubocop:disable Lint/LiteralAsCondition
8
- when /Free Software Foundation/
9
- ldflags << " -Wl,--unresolved-symbols=ignore-all"
10
- when /clang/
11
- ldflags << " -undefined dynamic_lookup"
12
- end
13
-
14
- cflags = "#{ RbConfig ::CONFIG [ "CFLAGS" ] } -I#{ RbConfig ::CONFIG [ "rubyarchhdrdir" ] } -I#{ RbConfig ::CONFIG [ "rubyhdrdir" ] } "
15
-
16
- # FIXME: Workaround for GitHub Actions
17
- if ENV [ "GITHUB_ACTIONS" ]
18
- cflags . gsub! ( "-Wno-self-assign" , "" )
19
- cflags . gsub! ( "-Wno-parentheses-equality" , "" )
20
- cflags . gsub! ( "-Wno-constant-logical-operand" , "" )
21
- cflags . gsub! ( "-Wsuggest-attribute=format" , "" )
22
- cflags . gsub! ( "-Wold-style-definition" , "" )
23
- cflags . gsub! ( "-Wsuggest-attribute=noreturn" , "" )
24
- ldflags . gsub! ( "-Wl,--unresolved-symbols=ignore-all" , "" )
25
- end
26
-
27
- ld_library_path = RbConfig ::CONFIG [ "libdir" ]
28
-
29
- {
30
- "CGO_CFLAGS" => cflags ,
31
- "CGO_LDFLAGS" => ldflags ,
32
- "LD_LIBRARY_PATH" => ld_library_path ,
33
- }
34
- end
35
-
36
3
namespace :go do
37
4
desc "Run go test"
38
5
task :test do
39
- sh env_vars , "go test -mod=readonly -count=1 #{ ENV [ "GO_TEST_ARGS" ] } ./..."
6
+ sh GoGem :: RakeTask . build_env_vars , "go test -mod=readonly -count=1 #{ ENV [ "GO_TEST_ARGS" ] } ./..."
40
7
end
41
8
42
9
desc "Run go test -race"
43
10
task :testrace do
44
- sh env_vars , "go test -mod=readonly -count=1 #{ ENV [ "GO_TEST_ARGS" ] } -race ./..."
11
+ sh GoGem :: RakeTask . build_env_vars , "go test -mod=readonly -count=1 #{ ENV [ "GO_TEST_ARGS" ] } -race ./..."
45
12
end
46
13
47
14
desc "Run go fmt"
@@ -54,7 +21,7 @@ namespace :go do
54
21
sh "which golangci-lint" do |ok , _ |
55
22
raise "golangci-lint isn't installed. See. https://golangci-lint.run/welcome/install/" unless ok
56
23
end
57
- sh env_vars , "golangci-lint run"
24
+ sh GoGem :: RakeTask . build_env_vars , "golangci-lint run"
58
25
end
59
26
60
27
desc "Run all build tasks in go"
0 commit comments