|
44 | 44 | raise "Could not insert PRE in #{file}" unless $1
|
45 | 45 |
|
46 | 46 | File.open(file, 'w') { |f| f.write ruby }
|
| 47 | + end |
| 48 | + |
| 49 | + task gem => %w(update_versions pkg) do |
| 50 | + cmd = "" |
| 51 | + cmd << "cd #{framework} && " unless framework == "rails" |
| 52 | + cmd << "bundle exec rake package && " unless framework == "rails" |
| 53 | + cmd << "gem build #{gemspec} && mv #{framework}-#{version}.gem #{root}/pkg/" |
| 54 | + sh cmd |
| 55 | + end |
| 56 | + |
| 57 | + task :build => [:clean, gem] |
| 58 | + task :install => :build do |
| 59 | + sh "gem install --pre #{gem}" |
| 60 | + end |
| 61 | + |
| 62 | + task :push => :build do |
| 63 | + sh "gem push #{gem}" |
47 | 64 |
|
| 65 | + # When running the release task we usually run build first to check that the gem works properly. |
| 66 | + # NPM will refuse to publish or rebuild the gem if the version is changed when the Rails gem |
| 67 | + # versions are changed. This then causes the gem push to fail. Because of this we need to update |
| 68 | + # the version and publish at the same time. |
48 | 69 | if File.exist?("#{framework}/package.json")
|
49 | 70 | Dir.chdir("#{framework}") do
|
50 | 71 | # This "npm-ifies" the current version
|
|
69 | 90 | # Check if npm is installed, and raise an error if not
|
70 | 91 | if sh 'which npm'
|
71 | 92 | sh "npm version #{version} --no-git-tag-version"
|
| 93 | + sh "npm publish" |
72 | 94 | else
|
73 | 95 | raise 'You must have npm installed to release Rails.'
|
74 | 96 | end
|
75 | 97 | end
|
76 | 98 | end
|
77 | 99 | end
|
78 |
| - |
79 |
| - task gem => %w(update_versions pkg) do |
80 |
| - cmd = "" |
81 |
| - cmd << "cd #{framework} && " unless framework == "rails" |
82 |
| - cmd << "bundle exec rake package && " unless framework == "rails" |
83 |
| - cmd << "gem build #{gemspec} && mv #{framework}-#{version}.gem #{root}/pkg/" |
84 |
| - sh cmd |
85 |
| - end |
86 |
| - |
87 |
| - task :build => [:clean, gem] |
88 |
| - task :install => :build do |
89 |
| - sh "gem install --pre #{gem}" |
90 |
| - end |
91 |
| - |
92 |
| - task :push => :build do |
93 |
| - sh "gem push #{gem}" |
94 |
| - sh "npm publish" if File.exist?("#{framework}/package.json") |
95 |
| - end |
96 | 100 | end
|
97 | 101 | end
|
98 | 102 |
|
|
0 commit comments