DEV: removes plugin generator (#14101)

DEV: removes plugin generator (#14101)

I don’t have the time to maintain this and GitHub - discourse/discourse-plugin-skeleton: Template for Discourse plugins is doing 80% of the job very easily.

diff --git a/lib/generators/plugin/plugin_generator.rb b/lib/generators/plugin/plugin_generator.rb
deleted file mode 100644
index 6f7a2b2..0000000
--- a/lib/generators/plugin/plugin_generator.rb
+++ /dev/null
@@ -1,125 +0,0 @@
-# frozen_string_literal: true
-
-require 'rails/generators/named_base'
-
-class PluginGenerator < Rails::Generators::NamedBase
-  attr_writer :about
-  attr_writer :github_username
-
-  desc 'This generator creates a Discourse plugin skeleton'
-
-  source_root File.expand_path('templates', __dir__)
-
-  class_option :no_license, type: :boolean, desc: "No license", default: false
-
-  def create_plugin
-    @about ||= ask("What is the purpose of your plugin?")
-    @github_username ||= ask("Github username?")
-
-    readme_file
-    routes_file
-    engine_file
-    plugin_file
-    controller_file
-    license_file
-    stylesheet_file
-    javascript_file
-    settings_file
-    locales_file
-  end
-
-  def controller_file
-    template 'plugin_controller.rb.erb', File.join('plugins', dasherized_name, "app/controllers/#{underscored_name}/#{underscored_name}_controller.rb")
-    template 'controller.rb.erb', File.join('plugins', dasherized_name, "app/controllers/#{underscored_name}/actions_controller.rb")
-    template 'controller_spec.rb.erb', File.join('plugins', dasherized_name, "spec/requests/actions_controller_spec.rb")
-  end
-
-  def readme_file
-    template 'README.md.erb', File.join('plugins', dasherized_name, "README.md")
-  end
-
-  def license_file
-    return if @options['no_license']
-
-    template 'LICENSE.erb', File.join('plugins', dasherized_name, "LICENSE")
-  end
-
-  def engine_file
-    template 'engine.rb.erb', File.join('plugins', dasherized_name, "lib", dasherized_name, "engine.rb")
-  end
-
-  def routes_file
-    template 'routes.rb.erb', File.join('plugins', dasherized_name, "config", "routes.rb")
-    template 'route_constraint.rb.erb', File.join('plugins', dasherized_name, "lib", "#{underscored_name}_constraint.rb")
-  end
-
-  def plugin_file
-    template 'plugin.rb.erb', File.join('plugins', dasherized_name, "plugin.rb")
-  end
-
-  def stylesheet_file
-    template 'stylesheet.scss.erb', File.join('plugins', dasherized_name, 'assets/stylesheets/common', "#{dasherized_name}.scss")
-    template 'stylesheet.scss.erb', File.join('plugins', dasherized_name, 'assets/stylesheets/desktop', "#{dasherized_name}.scss")
-    template 'stylesheet.scss.erb', File.join('plugins', dasherized_name, 'assets/stylesheets/mobile', "#{dasherized_name}.scss")
-  end
-
-  def javascript_file
-    template 'acceptance-test.js.es6.erb', File.join('plugins', dasherized_name, "test/javascripts/acceptance", "#{dasherized_name}-test.js.es6")
-    template 'javascript.js.es6.erb', File.join('plugins', dasherized_name, 'assets/javascripts/initializers', "#{dasherized_name}.js.es6")
-    template 'route-map.js.es6.erb', File.join('plugins', dasherized_name, 'assets/javascripts/discourse', "#{dasherized_name}-route-map.js.es6")
-
-    folder = 'assets/javascripts/discourse/templates'
-    template "#{folder}/template.hbs.erb", path(folder, "actions.hbs")
-    template "#{folder}/template-show.hbs.erb", path(folder, "actions-show.hbs")
-    template "#{folder}/template-index.hbs.erb", path(folder, "actions-index.hbs")
-
-    folder = 'assets/javascripts/discourse/routes'
-    template "#{folder}/route.js.es6.erb", path(folder, "#{dasherized_name}-actions.js.es6")
-    template "#{folder}/route-show.js.es6.erb", path(folder, "#{dasherized_name}-actions-show.js.es6")
-    template "#{folder}/route-index.js.es6.erb", path(folder, "#{dasherized_name}-actions-index.js.es6")
-
-    folder = 'assets/javascripts/discourse/controllers'
-    template "#{folder}/controller.js.es6.erb", path(folder, "actions.js.es6")
-    template "#{folder}/controller-show.js.es6.erb", path(folder, "actions-show.js.es6")
-    template "#{folder}/controller-index.js.es6.erb", path(folder, "actions-index.js.es6")
-
-    folder = 'assets/javascripts/discourse/models'
-    template "#{folder}/model.js.es6.erb", path(folder, "action.js.es6")
-
-    folder = 'assets/javascripts/discourse/adapters'
-    template "#{folder}/adapter.js.es6.erb", path(folder, "action.js.es6")
-  end
-
-  def settings_file
-    template 'settings.yml.erb', File.join('plugins', dasherized_name, 'config', 'settings.yml')
-  end
-
-  def locales_file
-    template 'client.en.yml.erb', path('config/locales/client.en.yml')
-    template 'server.en.yml.erb', File.join('plugins', dasherized_name, 'config/locales', 'server.en.yml')
-  end
-
-  def create_gitignore_entry
-    plugin_entry = "!/plugins/#{dasherized_name}"
-
-    unless File.readlines(".gitignore").grep(/#{plugin_entry}/).size > 0
-      open('.gitignore', 'a') { |f| f.puts "\n#{plugin_entry}" }
-    end
-  end
-
-  def underscored_name
-    name.underscore
-  end
-
-  def dasherized_name
-    underscored_name.dasherize
-  end
-
-  def classified_name
-    name.tableize.classify
-  end
-
-  def path(*args)
-    File.join('plugins', dasherized_name, args)
-  end
-end
diff --git a/lib/generators/plugin/templates/LICENSE.erb b/lib/generators/plugin/templates/LICENSE.erb
deleted file mode 100644
index bc12283..0000000
--- a/lib/generators/plugin/templates/LICENSE.erb
+++ /dev/null
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2018 <%= @github_username %>.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/lib/generators/plugin/templates/README.md.erb b/lib/generators/plugin/templates/README.md.erb
deleted file mode 100644
index 6db29ed..0000000
--- a/lib/generators/plugin/templates/README.md.erb
+++ /dev/null
@@ -1,16 +0,0 @@
-# <%= name %>
-
-<%= name %> is a plugin for ...
-
-## Installation
-
-Follow [Install a Plugin](https://meta.discourse.org/t/install-a-plugin/19157)
-how-to from the official Discourse Meta, using `git clone https://github.com/<%= @github_username %>/<%= dasherized_name %>.git`
-as the plugin command.
-
-## Usage
-
-## Feedback
-
-If you have issues or suggestions for the plugin, please bring them up on
-[Discourse Meta](https://meta.discourse.org).
diff --git a/lib/generators/plugin/templates/acceptance-test.js.es6.erb b/lib/generators/plugin/templates/acceptance-test.js.es6.erb
deleted file mode 100644
index 472650a..0000000
--- a/lib/generators/plugin/templates/acceptance-test.js.es6.erb
+++ /dev/null
@@ -1,9 +0,0 @@
-import { acceptance } from "discourse/tests/helpers/qunit-helpers";
-
-acceptance("<%= name %>", { loggedIn: true });
-
-test("<%= name %> works", async assert => {
-  await visit("/admin/plugins/<%= dasherized_name %>");
-
-  assert.ok(false, "it shows the <%= name %> button");
-});
diff --git a/lib/generators/plugin/templates/assets/javascripts/discourse/adapters/adapter.js.es6.erb b/lib/generators/plugin/templates/assets/javascripts/discourse/adapters/adapter.js.es6.erb
deleted file mode 100644
index f952121..0000000

[... diff too long, it was truncated ...]

GitHub sha: efbc2481d8d46aeba0c74df3aa223fb1be922e8b

This commit appears in #14101 which was approved by CvX. It was merged by jjaffeux.