buildar 1.3.0.7 → 1.4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. data/VERSION +1 -1
  2. data/lib/buildar.rb +1 -24
  3. data/lib/buildar/tasks.rb +25 -31
  4. data/rakefile.rb +1 -13
  5. metadata +1 -1
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.0.7
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
- # places .gem file in pkg/
31
+ # operates with a hard or soft gemspec
53
32
  #
54
- task :package => [:test, :bump_build] do
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
- puts "warning: cannot build without use_gemspec_file; try package"
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
- # display files tracked by the gem
119
+ # if the user wants a bump, make it a patch; not used internally
138
120
  #
139
- task :manifest do
140
- puts proj.available_manifest.join("\n")
141
- end
121
+ task :bump => [:bump_patch]
142
122
 
143
- # if the user wants a bump, make it a patch
123
+ # config check
144
124
  #
145
- task :bump => [:bump_patch]
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] = true
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|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: buildar
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0.7
4
+ version: 1.4.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: