DEV: Allow annotations to work in symlinked plugins, add binstub (#13635)

DEV: Allow annotations to work in symlinked plugins, add binstub (#13635)

diff --git a/bin/annotate b/bin/annotate
new file mode 100755
index 0000000..bfae06c
--- /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 dd7d499..c73a0d9 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",

GitHub sha: 2955d64703beca7677fc93e5b1d36118ebaceeaf

This commit appears in #13635 which was approved by CvX. It was merged by davidtaylorhq.