File tree Expand file tree Collapse file tree 11 files changed +31
-23
lines changed Expand file tree Collapse file tree 11 files changed +31
-23
lines changed Original file line number Diff line number Diff line change
1
+ # frozen_string_literal: true
2
+
3
+ module GoGem
4
+ # Common utility methods for {GoGem::Mkmf} and {GoGem::RakeTask}
5
+ module Util
6
+ # Return ruby version build tag for `go build` and `go test`
7
+ #
8
+ # @param ruby_version [String]
9
+ # @return [String]
10
+ #
11
+ # @example
12
+ # GoGem::Util.ruby_minor_version_build_tag("3.4.1")
13
+ # #=> "ruby_3_4"
14
+ def self . ruby_minor_version_build_tag ( ruby_version = RUBY_VERSION )
15
+ "ruby_#{ ruby_version . to_f . to_s . gsub ( "." , "_" ) } "
16
+ end
17
+ end
18
+ end
Original file line number Diff line number Diff line change
1
+ module GoGem
2
+ module Util
3
+ def self.ruby_minor_version_build_tag : (?String ruby_version) -> String
4
+ end
5
+ end
Original file line number Diff line number Diff line change 3
3
require "go_gem"
4
4
require "go_gem/mkmf"
5
5
require "go_gem/rake_task"
6
+ require "go_gem/util"
6
7
7
8
require "tmpdir"
8
9
require "serverspec"
Original file line number Diff line number Diff line change 2
2
3
3
require "forwardable"
4
4
require "ruby_header_parser"
5
+ require "go_gem/util"
5
6
6
7
require_relative "ruby_h_to_go/type_helper"
7
8
Original file line number Diff line number Diff line change @@ -102,7 +102,7 @@ def write_enum_definitions_to_go_file
102
102
103
103
# Clean all generated files in dist/
104
104
def clean_generated_files
105
- FileUtils . rm_f ( Dir . glob ( File . join ( dist_dir , "*_#{ GoUtil . ruby_minor_version_build_tag } _generated.go" ) ) )
105
+ FileUtils . rm_f ( Dir . glob ( File . join ( dist_dir , "*_#{ GoGem :: Util . ruby_minor_version_build_tag } _generated.go" ) ) )
106
106
end
107
107
108
108
def copy_go_files
Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ def initialize(definition:)
15
15
# Write definition as go file
16
16
# @param [String] dist_dir
17
17
def write_go_file ( dist_dir )
18
- go_file_path = File . join ( dist_dir , "enum_#{ GoUtil . ruby_minor_version_build_tag } _generated.go" )
18
+ go_file_path = File . join ( dist_dir , "enum_#{ GoGem :: Util . ruby_minor_version_build_tag } _generated.go" )
19
19
20
20
GoUtil . generate_initial_go_file ( go_file_path )
21
21
Original file line number Diff line number Diff line change @@ -25,7 +25,7 @@ def args
25
25
# Write definition as go file
26
26
# @param [String] dist_dir
27
27
def write_go_file ( dist_dir )
28
- go_file_path = File . join ( dist_dir , "function_#{ GoUtil . ruby_minor_version_build_tag } _generated.go" )
28
+ go_file_path = File . join ( dist_dir , "function_#{ GoGem :: Util . ruby_minor_version_build_tag } _generated.go" )
29
29
30
30
GoUtil . generate_initial_go_file ( go_file_path )
31
31
Original file line number Diff line number Diff line change @@ -16,7 +16,7 @@ def self.snake_to_camel(str)
16
16
def self . generate_initial_go_file ( go_file_path )
17
17
return if File . exist? ( go_file_path )
18
18
19
- ruby_build_tag = ruby_minor_version_build_tag ( RUBY_VERSION )
19
+ ruby_build_tag = GoGem :: Util . ruby_minor_version_build_tag
20
20
21
21
File . binwrite ( go_file_path , <<~GO )
22
22
// THE AUTOGENERATED LICENSE. ALL THE RIGHTS ARE RESERVED BY ROBOTS.
@@ -40,12 +40,6 @@ def self.generate_initial_go_file(go_file_path)
40
40
GO
41
41
end
42
42
43
- # @param ruby_version [String]
44
- # @return [String]
45
- def self . ruby_minor_version_build_tag ( ruby_version = RUBY_VERSION )
46
- "ruby_#{ ruby_version . to_f . to_s . gsub ( "." , "_" ) } "
47
- end
48
-
49
43
C_TYPE_TO_GO_TYPE = {
50
44
"RUBY_DATA_FUNC" => "unsafe.Pointer" ,
51
45
"long long" => "Longlong" ,
Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ def initialize(definition:)
15
15
# Write definition as go file
16
16
# @param [String] dist_dir
17
17
def write_go_file ( dist_dir )
18
- go_file_path = File . join ( dist_dir , "struct_#{ GoUtil . ruby_minor_version_build_tag } _generated.go" )
18
+ go_file_path = File . join ( dist_dir , "struct_#{ GoGem :: Util . ruby_minor_version_build_tag } _generated.go" )
19
19
20
20
GoUtil . generate_initial_go_file ( go_file_path )
21
21
Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ def initialize(definition:)
15
15
# Write definition as go file
16
16
# @param [String] dist_dir
17
17
def write_go_file ( dist_dir )
18
- go_file_path = File . join ( dist_dir , "type_#{ GoUtil . ruby_minor_version_build_tag } _generated.go" )
18
+ go_file_path = File . join ( dist_dir , "type_#{ GoGem :: Util . ruby_minor_version_build_tag } _generated.go" )
19
19
20
20
GoUtil . generate_initial_go_file ( go_file_path )
21
21
You can’t perform that action at this time.
0 commit comments