binstubs de rails
This commit is contained in:
parent
45568bbb12
commit
957eb3cc31
7 changed files with 50 additions and 154 deletions
110
bin/bundle
110
bin/bundle
|
@ -1,109 +1,3 @@
|
||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
# frozen_string_literal: true
|
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
|
||||||
|
load Gem.bin_path('bundler', 'bundle')
|
||||||
#
|
|
||||||
# This file was generated by Bundler.
|
|
||||||
#
|
|
||||||
# The application 'bundle' is installed as part of a gem, and
|
|
||||||
# this file is here to facilitate running it.
|
|
||||||
#
|
|
||||||
|
|
||||||
require 'rubygems'
|
|
||||||
|
|
||||||
m = Module.new do
|
|
||||||
module_function
|
|
||||||
|
|
||||||
def invoked_as_script?
|
|
||||||
File.expand_path($PROGRAM_NAME) == File.expand_path(__FILE__)
|
|
||||||
end
|
|
||||||
|
|
||||||
def env_var_version
|
|
||||||
ENV['BUNDLER_VERSION']
|
|
||||||
end
|
|
||||||
|
|
||||||
def cli_arg_version
|
|
||||||
return unless invoked_as_script? # don't want to hijack other binstubs
|
|
||||||
return unless 'update'.start_with?(ARGV.first || ' ') # must be running `bundle update`
|
|
||||||
|
|
||||||
bundler_version = nil
|
|
||||||
update_index = nil
|
|
||||||
ARGV.each_with_index do |a, i|
|
|
||||||
if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN
|
|
||||||
bundler_version = a
|
|
||||||
end
|
|
||||||
next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/
|
|
||||||
|
|
||||||
bundler_version = Regexp.last_match(1) || '>= 0.a'
|
|
||||||
update_index = i
|
|
||||||
end
|
|
||||||
bundler_version
|
|
||||||
end
|
|
||||||
|
|
||||||
def gemfile
|
|
||||||
gemfile = ENV['BUNDLE_GEMFILE']
|
|
||||||
return gemfile if gemfile && !gemfile.empty?
|
|
||||||
|
|
||||||
File.expand_path('../Gemfile', __dir__)
|
|
||||||
end
|
|
||||||
|
|
||||||
def lockfile
|
|
||||||
lockfile =
|
|
||||||
case File.basename(gemfile)
|
|
||||||
when 'gems.rb' then gemfile.sub(/\.rb$/, gemfile)
|
|
||||||
else "#{gemfile}.lock"
|
|
||||||
end
|
|
||||||
File.expand_path(lockfile)
|
|
||||||
end
|
|
||||||
|
|
||||||
def lockfile_version
|
|
||||||
return unless File.file?(lockfile)
|
|
||||||
|
|
||||||
lockfile_contents = File.read(lockfile)
|
|
||||||
return unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/
|
|
||||||
|
|
||||||
Regexp.last_match(1)
|
|
||||||
end
|
|
||||||
|
|
||||||
def bundler_version
|
|
||||||
@bundler_version ||= begin
|
|
||||||
env_var_version || cli_arg_version ||
|
|
||||||
lockfile_version || "#{Gem::Requirement.default}.a"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def load_bundler!
|
|
||||||
ENV['BUNDLE_GEMFILE'] ||= gemfile
|
|
||||||
|
|
||||||
# must dup string for RG < 1.8 compatibility
|
|
||||||
activate_bundler(bundler_version.dup)
|
|
||||||
end
|
|
||||||
|
|
||||||
def activate_bundler(bundler_version)
|
|
||||||
if Gem::Version.correct?(bundler_version) && Gem::Version.new(bundler_version).release < Gem::Version.new('2.0')
|
|
||||||
bundler_version = '< 2'
|
|
||||||
end
|
|
||||||
gem_error = activation_error_handling do
|
|
||||||
gem 'bundler', bundler_version
|
|
||||||
end
|
|
||||||
return if gem_error.nil?
|
|
||||||
|
|
||||||
require_error = activation_error_handling do
|
|
||||||
require 'bundler/version'
|
|
||||||
end
|
|
||||||
return if require_error.nil? && Gem::Requirement.new(bundler_version).satisfied_by?(Gem::Version.new(Bundler::VERSION))
|
|
||||||
|
|
||||||
warn "Activating bundler (#{bundler_version}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_version}'`"
|
|
||||||
exit 42
|
|
||||||
end
|
|
||||||
|
|
||||||
def activation_error_handling
|
|
||||||
yield
|
|
||||||
nil
|
|
||||||
rescue StandardError, LoadError => e
|
|
||||||
e
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
m.load_bundler!
|
|
||||||
|
|
||||||
load Gem.bin_path('bundler', 'bundle') if m.invoked_as_script?
|
|
||||||
|
|
29
bin/haml-lint
Executable file
29
bin/haml-lint
Executable file
|
@ -0,0 +1,29 @@
|
||||||
|
#!/usr/bin/env ruby
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
#
|
||||||
|
# This file was generated by Bundler.
|
||||||
|
#
|
||||||
|
# The application 'haml-lint' is installed as part of a gem, and
|
||||||
|
# this file is here to facilitate running it.
|
||||||
|
#
|
||||||
|
|
||||||
|
require "pathname"
|
||||||
|
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
||||||
|
Pathname.new(__FILE__).realpath)
|
||||||
|
|
||||||
|
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
||||||
|
|
||||||
|
if File.file?(bundle_binstub)
|
||||||
|
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
||||||
|
load(bundle_binstub)
|
||||||
|
else
|
||||||
|
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
||||||
|
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
require "rubygems"
|
||||||
|
require "bundler/setup"
|
||||||
|
|
||||||
|
load Gem.bin_path("haml_lint", "haml-lint")
|
34
bin/rails
34
bin/rails
|
@ -1,32 +1,4 @@
|
||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
# frozen_string_literal: true
|
APP_PATH = File.expand_path('../config/application', __dir__)
|
||||||
|
require_relative '../config/boot'
|
||||||
#
|
require 'rails/commands'
|
||||||
# This file was generated by Bundler.
|
|
||||||
#
|
|
||||||
# The application 'rails' is installed as part of a gem, and
|
|
||||||
# this file is here to facilitate running it.
|
|
||||||
#
|
|
||||||
|
|
||||||
require 'pathname'
|
|
||||||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
|
|
||||||
Pathname.new(__FILE__).realpath)
|
|
||||||
|
|
||||||
bundle_binstub = File.expand_path('bundle', __dir__)
|
|
||||||
|
|
||||||
if File.file?(bundle_binstub)
|
|
||||||
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
|
||||||
load(bundle_binstub)
|
|
||||||
else
|
|
||||||
abort(
|
|
||||||
'Your `bin/bundle` was not generated by Bundler, so this binstub
|
|
||||||
cannot run. Replace `bin/bundle` by running `bundle binstubs
|
|
||||||
bundler --force`, then run this command again.'
|
|
||||||
)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
require 'rubygems'
|
|
||||||
require 'bundler/setup'
|
|
||||||
|
|
||||||
load Gem.bin_path('railties', 'rails')
|
|
||||||
|
|
7
bin/rake
7
bin/rake
|
@ -1,11 +1,4 @@
|
||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
begin
|
|
||||||
load File.expand_path('spring', __dir__)
|
|
||||||
rescue LoadError => e
|
|
||||||
raise unless e.message.include?('spring')
|
|
||||||
end
|
|
||||||
require_relative '../config/boot'
|
require_relative '../config/boot'
|
||||||
require 'rake'
|
require 'rake'
|
||||||
Rake.application.run
|
Rake.application.run
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'pathname'
|
|
||||||
require 'fileutils'
|
require 'fileutils'
|
||||||
include FileUtils
|
include FileUtils
|
||||||
|
|
||||||
# path to your application root.
|
# path to your application root.
|
||||||
APP_ROOT = Pathname.new File.expand_path('..', __dir__)
|
APP_ROOT = File.expand_path('..', __dir__)
|
||||||
|
|
||||||
def system!(*args)
|
def system!(*args)
|
||||||
system(*args) || abort("\n== Command #{args} failed ==")
|
system(*args) || abort("\n== Command #{args} failed ==")
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'pathname'
|
|
||||||
require 'fileutils'
|
require 'fileutils'
|
||||||
include FileUtils
|
include FileUtils
|
||||||
|
|
||||||
# path to your application root.
|
# path to your application root.
|
||||||
APP_ROOT = Pathname.new File.expand_path('..', __dir__)
|
APP_ROOT = File.expand_path('..', __dir__)
|
||||||
|
|
||||||
def system!(*args)
|
def system!(*args)
|
||||||
system(*args) || abort("\n== Command #{args} failed ==")
|
system(*args) || abort("\n== Command #{args} failed ==")
|
||||||
|
@ -20,6 +17,9 @@ chdir APP_ROOT do
|
||||||
system! 'gem install bundler --conservative'
|
system! 'gem install bundler --conservative'
|
||||||
system('bundle check') || system!('bundle install')
|
system('bundle check') || system!('bundle install')
|
||||||
|
|
||||||
|
# Install JavaScript dependencies if using Yarn
|
||||||
|
# system('bin/yarn')
|
||||||
|
|
||||||
puts "\n== Updating database =="
|
puts "\n== Updating database =="
|
||||||
system! 'bin/rails db:migrate'
|
system! 'bin/rails db:migrate'
|
||||||
|
|
||||||
|
|
11
bin/yarn
Executable file
11
bin/yarn
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
#!/usr/bin/env ruby
|
||||||
|
APP_ROOT = File.expand_path('..', __dir__)
|
||||||
|
Dir.chdir(APP_ROOT) do
|
||||||
|
begin
|
||||||
|
exec "yarnpkg", *ARGV
|
||||||
|
rescue Errno::ENOENT
|
||||||
|
$stderr.puts "Yarn executable was not detected in the system."
|
||||||
|
$stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
|
||||||
|
exit 1
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue