From 2955d64703beca7677fc93e5b1d36118ebaceeaf Mon Sep 17 00:00:00 2001 From: David Taylor Date: Mon, 5 Jul 2021 15:43:10 +0100 Subject: [PATCH] DEV: Allow annotations to work in symlinked plugins, add binstub (#13635) --- bin/annotate | 29 +++++++++++++++++++++++++++++ lib/tasks/auto_annotate_models.rake | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100755 bin/annotate diff --git a/bin/annotate b/bin/annotate new file mode 100755 index 00000000000..bfae06c94be --- /dev/null +++ b/bin/annotate @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'annotate' 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("annotate", "annotate") diff --git a/lib/tasks/auto_annotate_models.rake b/lib/tasks/auto_annotate_models.rake index dd7d4992cae..c73a0d91d4d 100644 --- a/lib/tasks/auto_annotate_models.rake +++ b/lib/tasks/auto_annotate_models.rake @@ -15,7 +15,7 @@ if (Rails.env.development? || Rails.env.test?) 'position_in_factory' => "before", 'show_indexes' => "true", 'simple_indexes' => "false", - 'model_dir' => ["app/models"] + Dir.glob("plugins/**/app/models"), + 'model_dir' => ["app/models"] + Dir.glob("plugins/*/app/models"), 'include_version' => "false", 'require' => "", 'exclude_tests' => "true",