buildar 1.3.0.7 → 1.4.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/buildar.rb +1 -24
- data/lib/buildar/tasks.rb +25 -31
- data/rakefile.rb +1 -13
- metadata +1 -1
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.4.0.1
|
data/lib/buildar.rb
CHANGED
@@ -64,8 +64,7 @@ class Buildar
|
|
64
64
|
attr_accessor :root, :name,
|
65
65
|
:use_git, :publish,
|
66
66
|
:use_gemspec_file, :gemspec_filename,
|
67
|
-
:use_version_file, :version_filename
|
68
|
-
:use_manifest_file, :manifest_filename
|
67
|
+
:use_version_file, :version_filename
|
69
68
|
|
70
69
|
attr_writer :gemspec_filename
|
71
70
|
|
@@ -77,8 +76,6 @@ class Buildar
|
|
77
76
|
@use_gemspec_file = true
|
78
77
|
@use_version_file = false
|
79
78
|
@version_filename = 'VERSION'
|
80
|
-
@use_manifest_file = false
|
81
|
-
@manifest_filename = 'MANIFEST.txt'
|
82
79
|
end
|
83
80
|
|
84
81
|
def gemspec
|
@@ -89,7 +86,6 @@ class Buildar
|
|
89
86
|
@soft_gemspec ||= Gem::Specification.new
|
90
87
|
@soft_gemspec.name = @name
|
91
88
|
@soft_gemspec.version = self.version if @use_version_file
|
92
|
-
@soft_gemspec.files = self.manifest if @use_manifest_file
|
93
89
|
@soft_gemspec
|
94
90
|
end
|
95
91
|
|
@@ -146,23 +142,4 @@ class Buildar
|
|
146
142
|
raise "gemfile #{path} does not exist" unless File.exists?(path)
|
147
143
|
path
|
148
144
|
end
|
149
|
-
|
150
|
-
def available_manifest
|
151
|
-
return self.manifest if @use_manifest_file
|
152
|
-
manifest = self.gemspec.files
|
153
|
-
raise "gemspec.files is missing" if !manifest or manifest.to_s.empty?
|
154
|
-
manifest
|
155
|
-
end
|
156
|
-
|
157
|
-
def manifest
|
158
|
-
File.readlines(self.manifest_file).map { |line| line.chomp }
|
159
|
-
end
|
160
|
-
|
161
|
-
def manifest_file
|
162
|
-
File.join(@root, @manifest_filename)
|
163
|
-
end
|
164
|
-
|
165
|
-
def manifest_location
|
166
|
-
@use_manifest_file ? self.manifest_filename : self.gemspec_filename
|
167
|
-
end
|
168
145
|
end
|
data/lib/buildar/tasks.rb
CHANGED
@@ -7,28 +7,6 @@ def proj
|
|
7
7
|
Buildar.instance
|
8
8
|
end
|
9
9
|
|
10
|
-
# dump environment stuff, smoketest
|
11
|
-
#
|
12
|
-
task :buildar do
|
13
|
-
puts
|
14
|
-
puts <<EOF
|
15
|
-
Project: #{proj.name} #{proj.version}
|
16
|
-
Root: #{proj.root}
|
17
|
-
Use gemspec file: #{proj.use_gemspec_file}
|
18
|
-
Use version file: #{proj.use_version_file}
|
19
|
-
Use manifest file: #{proj.use_manifest_file}
|
20
|
-
Use git: #{proj.use_git}
|
21
|
-
Publish: #{proj.publish.keys}
|
22
|
-
Gemspec location: #{proj.gemspec_location}
|
23
|
-
Version location: #{proj.version_location}
|
24
|
-
Manifest location: #{proj.manifest_location}
|
25
|
-
----
|
26
|
-
using Buildar #{Buildar.version}
|
27
|
-
EOF
|
28
|
-
puts
|
29
|
-
end
|
30
|
-
|
31
|
-
|
32
10
|
# the reason you're here
|
33
11
|
#
|
34
12
|
task :release => [:message, :build, :tag, :publish]
|
@@ -48,16 +26,20 @@ task :message do
|
|
48
26
|
end
|
49
27
|
end
|
50
28
|
|
29
|
+
# uses Gem::PackageTask to build via Gem API
|
51
30
|
# roughly equivalent to `gem build foo.gemspec`
|
52
|
-
#
|
31
|
+
# operates with a hard or soft gemspec
|
53
32
|
#
|
54
|
-
task :
|
33
|
+
task :gem_package => [:test, :bump_build] do
|
55
34
|
# definine the task at runtime, rather than requiretime
|
56
35
|
# so that the gemspec will reflect any version bumping since requiretime
|
57
36
|
Gem::PackageTask.new(proj.gemspec).define
|
58
37
|
Rake::Task["package"].invoke
|
59
38
|
end
|
60
39
|
|
40
|
+
# if proj.use_gemspec_file
|
41
|
+
# exactly equiavlent to `gem build #{proj.gemspec_filename}`
|
42
|
+
#
|
61
43
|
task :build => [:test, :bump_build] do
|
62
44
|
if proj.use_gemspec_file
|
63
45
|
sh "gem build #{proj.gemspec_filename}"
|
@@ -68,7 +50,7 @@ task :build => [:test, :bump_build] do
|
|
68
50
|
puts "warning: expected #{target_file} but didn't find it"
|
69
51
|
end
|
70
52
|
else
|
71
|
-
|
53
|
+
Rake::Task[:gem_package].invoke
|
72
54
|
end
|
73
55
|
end
|
74
56
|
|
@@ -134,12 +116,24 @@ task :version do
|
|
134
116
|
puts "#{proj.name} #{proj.available_version}"
|
135
117
|
end
|
136
118
|
|
137
|
-
#
|
119
|
+
# if the user wants a bump, make it a patch; not used internally
|
138
120
|
#
|
139
|
-
task :
|
140
|
-
puts proj.available_manifest.join("\n")
|
141
|
-
end
|
121
|
+
task :bump => [:bump_patch]
|
142
122
|
|
143
|
-
#
|
123
|
+
# config check
|
144
124
|
#
|
145
|
-
task :
|
125
|
+
task :buildar do
|
126
|
+
puts
|
127
|
+
puts <<EOF
|
128
|
+
Project: #{proj.name} #{proj.version}
|
129
|
+
Root: #{proj.root}
|
130
|
+
Use gemspec file: #{proj.use_gemspec_file}
|
131
|
+
Use version file: #{proj.use_version_file}
|
132
|
+
Use git: #{proj.use_git}
|
133
|
+
Publish: #{proj.publish.keys}
|
134
|
+
Gemspec source: #{proj.gemspec_location}
|
135
|
+
Version source: #{proj.version_location}
|
136
|
+
# using Buildar #{Buildar.version}
|
137
|
+
EOF
|
138
|
+
puts
|
139
|
+
end
|
data/rakefile.rb
CHANGED
@@ -5,20 +5,8 @@ Buildar.conf(__FILE__) do |b|
|
|
5
5
|
b.name = 'buildar'
|
6
6
|
b.use_version_file = true
|
7
7
|
b.version_filename = 'VERSION'
|
8
|
-
b.use_manifest_file = true
|
9
|
-
b.manifest_filename = 'MANIFEST.txt'
|
10
8
|
b.use_git = true
|
11
|
-
b.publish[:rubygems] =
|
12
|
-
|
13
|
-
# b.gemspec.summary = 'Buildar crept inside your rakefile and scratched upon the tasking post'
|
14
|
-
# b.gemspec.author = 'Rick Hull'
|
15
|
-
# b.gemspec.homepage = 'https://github.com/rickhull/buildar'
|
16
|
-
# b.gemspec.license = 'MIT'
|
17
|
-
# b.gemspec.has_rdoc = true
|
18
|
-
# b.gemspec.description = 'Buildar helps automate the release process with versioning, building, packaging, and publishing. Optional git integration.'
|
19
|
-
|
20
|
-
# b.gemspec.add_runtime_dependency "rake", ">= 8" # guess?
|
21
|
-
# b.gemspec.add_development_dependency "buildar", "~> 1.0"
|
9
|
+
b.publish[:rubygems] = true
|
22
10
|
end
|
23
11
|
|
24
12
|
Rake::TestTask.new :test do |t|
|