-
Notifications
You must be signed in to change notification settings - Fork 0
/
Rakefile
77 lines (62 loc) · 1.57 KB
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
require "rubygems"
require "hoe"
Hoe.plugin :bundler
def platform
ENV.key?("MRI") ? "mri" : "jruby"
end
def java_driver?
platform == "jruby"
end
def ffi?
!java_driver?
end
def other_platform(platform)
platform == 'jruby' ? 'mri' : 'jruby'
end
### Custom files and adding them to Manifest
File.open("Manifest.txt", "r+") do |manifest|
File.open("Manifest_temp.txt", "w") do |temp|
[
manifest.readlines(chomp: true),
Dir[
File.join("#{platform}_code", "**", "*.rb"),
"lib/**/*.rb",
"seabolt_install/mkrf_conf"
]
].flatten.uniq.reject{ |path| path.match?(other_platform(platform)) }.each { |path|
temp.puts(path) }
end
end
FileUtils.mv("Manifest_temp.txt", "Manifest.txt", force: true)
####
Hoe.spec "using_sow" do |s|
s.developer("Leszek Kalwa", "[email protected]")
s.name = "#{platform}_gem"
s.urls = "http://example.com/lkalwa"
s.testlib = :rspec
s.extra_dev_deps += [
['ffaker'],
['neo4j-rake_tasks', '>= 0.3.0'],
['parallel'],
['rspec-its']
]
s.extra_deps += [
['activesupport'],
['zeitwerk']
]
if ffi?
s.extra_dev_deps += [
['ffi'],
['recursive-open-struct']
]
else
s.extra_dev_deps += [['ruby-maven']]
s.extra_deps += [['jar-dependencies']]
s.spec_extras = {
requirements: -> (requirements) { requirements << 'jar org.neo4j.driver, neo4j-java-driver, 1.7.5' },
extensions: ["seabolt_install/mkrf_conf"]
}
end
s.spec_extras.merge(platform: 'java') if java_driver?
end
# vim: syntax=ruby