3f3820d8f8
- A golden-file test that ensures protoc produces known-valid output. - A Ruby test that loads that golden file and ensures it actually works with the extension. This split strategy allows us to test end-to-end without needing to integrate the Ruby gem build system and the protoc build system. This is desirable because we do not want a gem build/install to depend on building protoc, and we do not want building protoc to depend on building and testing the gem.
25 lines
808 B
Ruby
25 lines
808 B
Ruby
class << Gem::Specification
|
|
def find_c_source(dir)
|
|
`cd #{dir}; git ls-files "*.c" "*.h" extconf.rb Makefile`.split
|
|
.map{|f| "#{dir}/#{f}"}
|
|
end
|
|
end
|
|
|
|
Gem::Specification.new do |s|
|
|
s.name = "google-protobuf"
|
|
s.version = "3.0.0.alpha.2"
|
|
s.licenses = ["BSD"]
|
|
s.summary = "Protocol Buffers"
|
|
s.description = "Protocol Buffers are Google's data interchange format."
|
|
s.authors = ["Protobuf Authors"]
|
|
s.email = "protobuf@googlegroups.com"
|
|
s.require_paths = ["lib"]
|
|
s.extensions = ["ext/google/protobuf_c/extconf.rb"]
|
|
s.files = ["lib/google/protobuf.rb"] +
|
|
# extension C source
|
|
find_c_source("ext/google/protobuf_c")
|
|
s.test_files = ["tests/basic.rb",
|
|
"tests/stress.rb",
|
|
"tests/generated_code_test.rb"]
|
|
end
|