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 33require "go_gem"
44require "go_gem/mkmf"
55require "go_gem/rake_task"
6+ require "go_gem/util"
67
78require "tmpdir"
89require "serverspec"
Original file line number Diff line number Diff line change 22
33require "forwardable"
44require "ruby_header_parser"
5+ require "go_gem/util"
56
67require_relative "ruby_h_to_go/type_helper"
78
Original file line number Diff line number Diff line change @@ -102,7 +102,7 @@ def write_enum_definitions_to_go_file
102102
103103 # Clean all generated files in dist/
104104 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" ) ) )
106106 end
107107
108108 def copy_go_files
Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ def initialize(definition:)
1515 # Write definition as go file
1616 # @param [String] dist_dir
1717 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" )
1919
2020 GoUtil . generate_initial_go_file ( go_file_path )
2121
Original file line number Diff line number Diff line change @@ -25,7 +25,7 @@ def args
2525 # Write definition as go file
2626 # @param [String] dist_dir
2727 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" )
2929
3030 GoUtil . generate_initial_go_file ( go_file_path )
3131
Original file line number Diff line number Diff line change @@ -16,7 +16,7 @@ def self.snake_to_camel(str)
1616 def self . generate_initial_go_file ( go_file_path )
1717 return if File . exist? ( go_file_path )
1818
19- ruby_build_tag = ruby_minor_version_build_tag ( RUBY_VERSION )
19+ ruby_build_tag = GoGem :: Util . ruby_minor_version_build_tag
2020
2121 File . binwrite ( go_file_path , <<~GO )
2222 // THE AUTOGENERATED LICENSE. ALL THE RIGHTS ARE RESERVED BY ROBOTS.
@@ -40,12 +40,6 @@ def self.generate_initial_go_file(go_file_path)
4040 GO
4141 end
4242
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-
4943 C_TYPE_TO_GO_TYPE = {
5044 "RUBY_DATA_FUNC" => "unsafe.Pointer" ,
5145 "long long" => "Longlong" ,
Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ def initialize(definition:)
1515 # Write definition as go file
1616 # @param [String] dist_dir
1717 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" )
1919
2020 GoUtil . generate_initial_go_file ( go_file_path )
2121
Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ def initialize(definition:)
1515 # Write definition as go file
1616 # @param [String] dist_dir
1717 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" )
1919
2020 GoUtil . generate_initial_go_file ( go_file_path )
2121
You can’t perform that action at this time.
0 commit comments