pantograph 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +1 -0
  3. data/LICENSE +21 -0
  4. data/README.md +197 -0
  5. data/bin/bin-proxy +19 -0
  6. data/bin/pantograph +23 -0
  7. data/pantograph/README.md +11 -0
  8. data/pantograph/lib/assets/ActionDetails.md.erb +106 -0
  9. data/pantograph/lib/assets/Actions.md.erb +43 -0
  10. data/pantograph/lib/assets/DefaultPantfileTemplate +20 -0
  11. data/pantograph/lib/assets/completions/completion.bash +23 -0
  12. data/pantograph/lib/assets/completions/completion.fish +39 -0
  13. data/pantograph/lib/assets/completions/completion.sh +12 -0
  14. data/pantograph/lib/assets/completions/completion.zsh +23 -0
  15. data/pantograph/lib/assets/custom_action_template.rb +80 -0
  16. data/pantograph/lib/assets/report_template.xml.erb +15 -0
  17. data/pantograph/lib/pantograph/action.rb +194 -0
  18. data/pantograph/lib/pantograph/action_collector.rb +35 -0
  19. data/pantograph/lib/pantograph/actions/README.md +3 -0
  20. data/pantograph/lib/pantograph/actions/actions_helper.rb +166 -0
  21. data/pantograph/lib/pantograph/actions/add_extra_platforms.rb +45 -0
  22. data/pantograph/lib/pantograph/actions/artifactory.rb +157 -0
  23. data/pantograph/lib/pantograph/actions/bundle_install.rb +156 -0
  24. data/pantograph/lib/pantograph/actions/changelog_from_git_commits.rb +197 -0
  25. data/pantograph/lib/pantograph/actions/clipboard.rb +52 -0
  26. data/pantograph/lib/pantograph/actions/cloc.rb +89 -0
  27. data/pantograph/lib/pantograph/actions/create_pull_request.rb +190 -0
  28. data/pantograph/lib/pantograph/actions/danger.rb +131 -0
  29. data/pantograph/lib/pantograph/actions/debug.rb +32 -0
  30. data/pantograph/lib/pantograph/actions/default_platform.rb +47 -0
  31. data/pantograph/lib/pantograph/actions/download.rb +76 -0
  32. data/pantograph/lib/pantograph/actions/echo.rb +14 -0
  33. data/pantograph/lib/pantograph/actions/ensure_bundle_exec.rb +59 -0
  34. data/pantograph/lib/pantograph/actions/ensure_env_vars.rb +58 -0
  35. data/pantograph/lib/pantograph/actions/ensure_git_branch.rb +69 -0
  36. data/pantograph/lib/pantograph/actions/ensure_git_status_clean.rb +81 -0
  37. data/pantograph/lib/pantograph/actions/erb.rb +88 -0
  38. data/pantograph/lib/pantograph/actions/get_build_number_repository.rb +120 -0
  39. data/pantograph/lib/pantograph/actions/get_github_release.rb +163 -0
  40. data/pantograph/lib/pantograph/actions/git_add.rb +93 -0
  41. data/pantograph/lib/pantograph/actions/git_branch.rb +58 -0
  42. data/pantograph/lib/pantograph/actions/git_commit.rb +80 -0
  43. data/pantograph/lib/pantograph/actions/git_pull.rb +53 -0
  44. data/pantograph/lib/pantograph/actions/git_submodule_update.rb +52 -0
  45. data/pantograph/lib/pantograph/actions/git_tag_exists.rb +74 -0
  46. data/pantograph/lib/pantograph/actions/github_api.rb +262 -0
  47. data/pantograph/lib/pantograph/actions/gradle.rb +278 -0
  48. data/pantograph/lib/pantograph/actions/import.rb +49 -0
  49. data/pantograph/lib/pantograph/actions/import_from_git.rb +71 -0
  50. data/pantograph/lib/pantograph/actions/is_ci.rb +51 -0
  51. data/pantograph/lib/pantograph/actions/jira.rb +115 -0
  52. data/pantograph/lib/pantograph/actions/lane_context.rb +60 -0
  53. data/pantograph/lib/pantograph/actions/last_git_commit.rb +58 -0
  54. data/pantograph/lib/pantograph/actions/last_git_tag.rb +51 -0
  55. data/pantograph/lib/pantograph/actions/make_changelog_from_jenkins.rb +81 -0
  56. data/pantograph/lib/pantograph/actions/min_pantograph_version.rb +57 -0
  57. data/pantograph/lib/pantograph/actions/nexus_upload.rb +230 -0
  58. data/pantograph/lib/pantograph/actions/notification.rb +75 -0
  59. data/pantograph/lib/pantograph/actions/number_of_commits.rb +75 -0
  60. data/pantograph/lib/pantograph/actions/opt_out_usage.rb +40 -0
  61. data/pantograph/lib/pantograph/actions/pantograph_version.rb +15 -0
  62. data/pantograph/lib/pantograph/actions/println.rb +14 -0
  63. data/pantograph/lib/pantograph/actions/prompt.rb +119 -0
  64. data/pantograph/lib/pantograph/actions/push_git_tags.rb +76 -0
  65. data/pantograph/lib/pantograph/actions/push_to_git_remote.rb +127 -0
  66. data/pantograph/lib/pantograph/actions/puts.rb +68 -0
  67. data/pantograph/lib/pantograph/actions/reset_git_repo.rb +121 -0
  68. data/pantograph/lib/pantograph/actions/rocket.rb +83 -0
  69. data/pantograph/lib/pantograph/actions/rsync.rb +74 -0
  70. data/pantograph/lib/pantograph/actions/ruby_version.rb +56 -0
  71. data/pantograph/lib/pantograph/actions/say.rb +56 -0
  72. data/pantograph/lib/pantograph/actions/scp.rb +114 -0
  73. data/pantograph/lib/pantograph/actions/set_github_release.rb +274 -0
  74. data/pantograph/lib/pantograph/actions/sh.rb +71 -0
  75. data/pantograph/lib/pantograph/actions/skip_docs.rb +52 -0
  76. data/pantograph/lib/pantograph/actions/slack.rb +288 -0
  77. data/pantograph/lib/pantograph/actions/sonar.rb +156 -0
  78. data/pantograph/lib/pantograph/actions/ssh.rb +162 -0
  79. data/pantograph/lib/pantograph/actions/twitter.rb +89 -0
  80. data/pantograph/lib/pantograph/actions/update_pantograph.rb +177 -0
  81. data/pantograph/lib/pantograph/actions/zip.rb +120 -0
  82. data/pantograph/lib/pantograph/auto_complete.rb +82 -0
  83. data/pantograph/lib/pantograph/boolean.rb +5 -0
  84. data/pantograph/lib/pantograph/cli_tools_distributor.rb +183 -0
  85. data/pantograph/lib/pantograph/command_line_handler.rb +43 -0
  86. data/pantograph/lib/pantograph/commands_generator.rb +344 -0
  87. data/pantograph/lib/pantograph/configuration_helper.rb +26 -0
  88. data/pantograph/lib/pantograph/core_ext/bundler_monkey_patch.rb +14 -0
  89. data/pantograph/lib/pantograph/documentation/actions_list.rb +214 -0
  90. data/pantograph/lib/pantograph/documentation/docs_generator.rb +95 -0
  91. data/pantograph/lib/pantograph/documentation/markdown_docs_generator.rb +221 -0
  92. data/pantograph/lib/pantograph/environment_printer.rb +282 -0
  93. data/pantograph/lib/pantograph/erb_template_helper.rb +30 -0
  94. data/pantograph/lib/pantograph/features.rb +4 -0
  95. data/pantograph/lib/pantograph/helper/README.md +29 -0
  96. data/pantograph/lib/pantograph/helper/dotenv_helper.rb +50 -0
  97. data/pantograph/lib/pantograph/helper/gem_helper.rb +26 -0
  98. data/pantograph/lib/pantograph/helper/git_helper.rb +135 -0
  99. data/pantograph/lib/pantograph/helper/gradle_helper.rb +62 -0
  100. data/pantograph/lib/pantograph/helper/sh_helper.rb +134 -0
  101. data/pantograph/lib/pantograph/junit_generator.rb +27 -0
  102. data/pantograph/lib/pantograph/lane.rb +97 -0
  103. data/pantograph/lib/pantograph/lane_list.rb +77 -0
  104. data/pantograph/lib/pantograph/lane_manager.rb +140 -0
  105. data/pantograph/lib/pantograph/lane_manager_base.rb +92 -0
  106. data/pantograph/lib/pantograph/markdown_table_formatter.rb +62 -0
  107. data/pantograph/lib/pantograph/new_action.rb +47 -0
  108. data/pantograph/lib/pantograph/one_off.rb +45 -0
  109. data/pantograph/lib/pantograph/other_action.rb +29 -0
  110. data/pantograph/lib/pantograph/pant_file.rb +377 -0
  111. data/pantograph/lib/pantograph/pantograph_require.rb +75 -0
  112. data/pantograph/lib/pantograph/plugins/plugin_fetcher.rb +55 -0
  113. data/pantograph/lib/pantograph/plugins/plugin_generator.rb +86 -0
  114. data/pantograph/lib/pantograph/plugins/plugin_generator_ui.rb +19 -0
  115. data/pantograph/lib/pantograph/plugins/plugin_info.rb +49 -0
  116. data/pantograph/lib/pantograph/plugins/plugin_info_collector.rb +159 -0
  117. data/pantograph/lib/pantograph/plugins/plugin_manager.rb +387 -0
  118. data/pantograph/lib/pantograph/plugins/plugin_search.rb +46 -0
  119. data/pantograph/lib/pantograph/plugins/plugin_update_manager.rb +70 -0
  120. data/pantograph/lib/pantograph/plugins/plugins.rb +12 -0
  121. data/pantograph/lib/pantograph/plugins/template/%gem_name%.gemspec.erb +35 -0
  122. data/pantograph/lib/pantograph/plugins/template/.circleci/config.yml +43 -0
  123. data/pantograph/lib/pantograph/plugins/template/.gitignore +12 -0
  124. data/pantograph/lib/pantograph/plugins/template/.rspec +5 -0
  125. data/pantograph/lib/pantograph/plugins/template/.rubocop.yml +179 -0
  126. data/pantograph/lib/pantograph/plugins/template/.travis.yml +4 -0
  127. data/pantograph/lib/pantograph/plugins/template/Gemfile +6 -0
  128. data/pantograph/lib/pantograph/plugins/template/LICENSE.erb +21 -0
  129. data/pantograph/lib/pantograph/plugins/template/README.md.erb +52 -0
  130. data/pantograph/lib/pantograph/plugins/template/Rakefile +9 -0
  131. data/pantograph/lib/pantograph/plugins/template/lib/pantograph/plugin/%plugin_name%/actions/%plugin_name%_action.rb.erb +47 -0
  132. data/pantograph/lib/pantograph/plugins/template/lib/pantograph/plugin/%plugin_name%/helper/%plugin_name%_helper.rb.erb +16 -0
  133. data/pantograph/lib/pantograph/plugins/template/lib/pantograph/plugin/%plugin_name%/version.rb.erb +5 -0
  134. data/pantograph/lib/pantograph/plugins/template/lib/pantograph/plugin/%plugin_name%.rb.erb +16 -0
  135. data/pantograph/lib/pantograph/plugins/template/pantograph/Pantfile.erb +3 -0
  136. data/pantograph/lib/pantograph/plugins/template/pantograph/Pluginfile.erb +1 -0
  137. data/pantograph/lib/pantograph/plugins/template/spec/%plugin_name%_action_spec.rb.erb +9 -0
  138. data/pantograph/lib/pantograph/plugins/template/spec/spec_helper.rb.erb +15 -0
  139. data/pantograph/lib/pantograph/runner.rb +371 -0
  140. data/pantograph/lib/pantograph/server/action_command.rb +61 -0
  141. data/pantograph/lib/pantograph/server/action_command_return.rb +14 -0
  142. data/pantograph/lib/pantograph/server/command_executor.rb +7 -0
  143. data/pantograph/lib/pantograph/server/command_parser.rb +36 -0
  144. data/pantograph/lib/pantograph/server/control_command.rb +23 -0
  145. data/pantograph/lib/pantograph/server/json_return_value_processor.rb +72 -0
  146. data/pantograph/lib/pantograph/server/socket_server.rb +232 -0
  147. data/pantograph/lib/pantograph/server/socket_server_action_command_executor.rb +101 -0
  148. data/pantograph/lib/pantograph/setup/setup.rb +290 -0
  149. data/pantograph/lib/pantograph/setup/setup_android.rb +64 -0
  150. data/pantograph/lib/pantograph/setup/setup_ios.rb +412 -0
  151. data/pantograph/lib/pantograph/shells.rb +6 -0
  152. data/pantograph/lib/pantograph/supported_platforms.rb +28 -0
  153. data/pantograph/lib/pantograph/tools.rb +10 -0
  154. data/pantograph/lib/pantograph/version.rb +5 -0
  155. data/pantograph/lib/pantograph.rb +51 -0
  156. data/pantograph_core/README.md +79 -0
  157. data/pantograph_core/lib/assets/XMLTemplate.xml.erb +12 -0
  158. data/pantograph_core/lib/pantograph_core/analytics/action_completion_context.rb +34 -0
  159. data/pantograph_core/lib/pantograph_core/analytics/action_launch_context.rb +38 -0
  160. data/pantograph_core/lib/pantograph_core/analytics/analytics_event_builder.rb +23 -0
  161. data/pantograph_core/lib/pantograph_core/analytics/analytics_ingester_client.rb +54 -0
  162. data/pantograph_core/lib/pantograph_core/analytics/analytics_session.rb +71 -0
  163. data/pantograph_core/lib/pantograph_core/cert_checker.rb +116 -0
  164. data/pantograph_core/lib/pantograph_core/command_executor.rb +99 -0
  165. data/pantograph_core/lib/pantograph_core/configuration/commander_generator.rb +103 -0
  166. data/pantograph_core/lib/pantograph_core/configuration/config_item.rb +314 -0
  167. data/pantograph_core/lib/pantograph_core/configuration/configuration.rb +332 -0
  168. data/pantograph_core/lib/pantograph_core/configuration/configuration_file.rb +182 -0
  169. data/pantograph_core/lib/pantograph_core/core_ext/shellwords.rb +63 -0
  170. data/pantograph_core/lib/pantograph_core/core_ext/string.rb +17 -0
  171. data/pantograph_core/lib/pantograph_core/env.rb +9 -0
  172. data/pantograph_core/lib/pantograph_core/feature/feature.rb +51 -0
  173. data/pantograph_core/lib/pantograph_core/features.rb +4 -0
  174. data/pantograph_core/lib/pantograph_core/globals.rb +27 -0
  175. data/pantograph_core/lib/pantograph_core/helper.rb +409 -0
  176. data/pantograph_core/lib/pantograph_core/keychain_importer.rb +74 -0
  177. data/pantograph_core/lib/pantograph_core/languages.rb +14 -0
  178. data/pantograph_core/lib/pantograph_core/module.rb +29 -0
  179. data/pantograph_core/lib/pantograph_core/pantograph_folder.rb +39 -0
  180. data/pantograph_core/lib/pantograph_core/pantograph_pty.rb +57 -0
  181. data/pantograph_core/lib/pantograph_core/pkg_file_analyser.rb +44 -0
  182. data/pantograph_core/lib/pantograph_core/print_table.rb +131 -0
  183. data/pantograph_core/lib/pantograph_core/string_filters.rb +51 -0
  184. data/pantograph_core/lib/pantograph_core/swag.rb +85 -0
  185. data/pantograph_core/lib/pantograph_core/tag_version.rb +31 -0
  186. data/pantograph_core/lib/pantograph_core/test_parser.rb +107 -0
  187. data/pantograph_core/lib/pantograph_core/ui/disable_colors.rb +17 -0
  188. data/pantograph_core/lib/pantograph_core/ui/errors/pantograph_common_error.rb +19 -0
  189. data/pantograph_core/lib/pantograph_core/ui/errors/pantograph_crash.rb +11 -0
  190. data/pantograph_core/lib/pantograph_core/ui/errors/pantograph_error.rb +25 -0
  191. data/pantograph_core/lib/pantograph_core/ui/errors/pantograph_exception.rb +19 -0
  192. data/pantograph_core/lib/pantograph_core/ui/errors/pantograph_shell_error.rb +11 -0
  193. data/pantograph_core/lib/pantograph_core/ui/errors.rb +1 -0
  194. data/pantograph_core/lib/pantograph_core/ui/github_issue_inspector_reporter.rb +62 -0
  195. data/pantograph_core/lib/pantograph_core/ui/implementations/shell.rb +159 -0
  196. data/pantograph_core/lib/pantograph_core/ui/interface.rb +205 -0
  197. data/pantograph_core/lib/pantograph_core/ui/pantograph_runner.rb +276 -0
  198. data/pantograph_core/lib/pantograph_core/ui/ui.rb +26 -0
  199. data/pantograph_core/lib/pantograph_core/update_checker/changelog.rb +37 -0
  200. data/pantograph_core/lib/pantograph_core/update_checker/update_checker.rb +107 -0
  201. data/pantograph_core/lib/pantograph_core.rb +45 -0
  202. metadata +987 -0
@@ -0,0 +1,35 @@
1
+ # coding: utf-8
2
+
3
+ lib = File.expand_path("../lib", __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require '<%= require_path %>/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = '<%= gem_name %>'
9
+ spec.version = Pantograph::<%= plugin_name.pantograph_class %>::VERSION
10
+ spec.author = '<%= author %>'
11
+ spec.email = '<%= email %>'
12
+
13
+ spec.summary = '<%= summary %>'
14
+ # spec.homepage = "https://github.com/<GITHUB_USERNAME>/<%= gem_name %>"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = Dir["lib/**/*"] + %w(README.md LICENSE)
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ['lib']
20
+
21
+ # Don't add a dependency to pantograph or pantograph_re
22
+ # since this would cause a circular dependency
23
+
24
+ # spec.add_dependency 'your-dependency', '~> 1.0.0'
25
+
26
+ spec.add_development_dependency('pry')
27
+ spec.add_development_dependency('bundler')
28
+ spec.add_development_dependency('rspec')
29
+ spec.add_development_dependency('rspec_junit_formatter')
30
+ spec.add_development_dependency('rake')
31
+ spec.add_development_dependency('rubocop', '<%= Pantograph::RUBOCOP_REQUIREMENT %>')
32
+ spec.add_development_dependency('rubocop-require_tools')
33
+ spec.add_development_dependency('simplecov')
34
+ spec.add_development_dependency('pantograph', '>= <%= Pantograph::VERSION %>')
35
+ end
@@ -0,0 +1,43 @@
1
+ # Ruby CircleCI 2.0 configuration file
2
+ #
3
+ # Check https://circleci.com/docs/2.0/language-ruby/ for more details
4
+ #
5
+ version: 2
6
+ jobs:
7
+ build:
8
+ docker:
9
+ # specify the version you desire here
10
+ - image: circleci/ruby:2.4.2
11
+
12
+ working_directory: ~/repo
13
+
14
+ steps:
15
+ - checkout
16
+
17
+ # Download and cache dependencies
18
+ - restore_cache:
19
+ keys:
20
+ - v1-dependencies-{{ checksum "Gemfile" }}
21
+ # fallback to using the latest cache if no exact match is found
22
+ - v1-dependencies-
23
+
24
+ - run:
25
+ name: install dependencies
26
+ command: bundle check || bundle install --jobs=4 --retry=3 --path vendor/bundle
27
+
28
+ - save_cache:
29
+ paths:
30
+ - ./vendor
31
+ key: v1-dependencies-{{ checksum "Gemfile" }}
32
+
33
+ # run tests!
34
+ - run:
35
+ name: run tests
36
+ command: bundle exec rake
37
+
38
+ # collect reports
39
+ - store_test_results:
40
+ path: ~/repo/test-results
41
+ - store_artifacts:
42
+ path: ~/repo/test-results
43
+ destination: test-results
@@ -0,0 +1,12 @@
1
+ *.gem
2
+ Gemfile.lock
3
+
4
+ ## Documentation cache and generated files:
5
+ /.yardoc/
6
+ /_yardoc/
7
+ /doc/
8
+ /rdoc/
9
+ pantograph/README.md
10
+ pantograph/report.xml
11
+ coverage
12
+ test-results
@@ -0,0 +1,5 @@
1
+ --require spec_helper
2
+ --color
3
+ --format d
4
+ --format RspecJunitFormatter
5
+ --out test-results/rspec/rspec.xml
@@ -0,0 +1,179 @@
1
+ ---
2
+ Style/MultipleComparison:
3
+ Enabled: false
4
+ Style/PercentLiteralDelimiters:
5
+ Enabled: false
6
+ Style/ClassCheck:
7
+ EnforcedStyle: kind_of?
8
+ Style/FrozenStringLiteralComment:
9
+ Enabled: false
10
+ Style/SafeNavigation:
11
+ Enabled: false
12
+ Performance/RegexpMatch:
13
+ Enabled: false
14
+ Performance/StringReplacement:
15
+ Enabled: false
16
+ Style/NumericPredicate:
17
+ Enabled: false
18
+ Metrics/BlockLength:
19
+ Enabled: false
20
+ Metrics/ModuleLength:
21
+ Enabled: false
22
+ Style/VariableNumber:
23
+ Enabled: false
24
+ Style/MethodMissing:
25
+ Enabled: false
26
+ MultilineBlockChain:
27
+ Enabled: false
28
+ Style/NumericLiteralPrefix:
29
+ Enabled: false
30
+ Style/TernaryParentheses:
31
+ Enabled: false
32
+ Style/EmptyMethod:
33
+ Enabled: false
34
+ Style/BracesAroundHashParameters:
35
+ Enabled: false
36
+ Lint/UselessAssignment:
37
+ Exclude:
38
+ - "**/spec/**/*"
39
+ Require/MissingRequireStatement:
40
+ Exclude:
41
+ - "**/spec/**/*.rb"
42
+ - "**/spec_helper.rb"
43
+ - "**/Pantfile"
44
+ - "**/*.gemspec"
45
+ - rakelib/**/*
46
+ - "**/*.rake"
47
+ - "**/Rakefile"
48
+ - pantograph/**/*
49
+ Layout/IndentHash:
50
+ Enabled: false
51
+ Layout/AlignHash:
52
+ Enabled: false
53
+ Layout/DotPosition:
54
+ Enabled: false
55
+ Style/DoubleNegation:
56
+ Enabled: false
57
+ Style/SymbolArray:
58
+ Enabled: false
59
+ Layout/IndentHeredoc:
60
+ Enabled: false
61
+ Style/MixinGrouping:
62
+ Exclude:
63
+ - "**/spec/**/*"
64
+ Lint/HandleExceptions:
65
+ Enabled: false
66
+ Lint/UnusedBlockArgument:
67
+ Enabled: false
68
+ Lint/AmbiguousBlockAssociation:
69
+ Enabled: false
70
+ Style/GlobalVars:
71
+ Enabled: false
72
+ Style/ClassAndModuleChildren:
73
+ Enabled: false
74
+ Style/SpecialGlobalVars:
75
+ Enabled: false
76
+ Metrics/AbcSize:
77
+ Enabled: false
78
+ Metrics/MethodLength:
79
+ Enabled: false
80
+ Metrics/CyclomaticComplexity:
81
+ Enabled: false
82
+ Style/WordArray:
83
+ MinSize: 19
84
+ Style/SignalException:
85
+ Enabled: false
86
+ Style/RedundantReturn:
87
+ Enabled: false
88
+ Style/IfUnlessModifier:
89
+ Enabled: false
90
+ Style/AndOr:
91
+ Enabled: true
92
+ EnforcedStyle: conditionals
93
+ Metrics/ClassLength:
94
+ Max: 320
95
+ Metrics/LineLength:
96
+ Max: 370
97
+ Metrics/ParameterLists:
98
+ Max: 17
99
+ Metrics/PerceivedComplexity:
100
+ Max: 18
101
+ Style/GuardClause:
102
+ Enabled: false
103
+ Style/StringLiterals:
104
+ Enabled: false
105
+ Style/ConditionalAssignment:
106
+ Enabled: false
107
+ Style/RedundantSelf:
108
+ Enabled: false
109
+ Lint/UnusedMethodArgument:
110
+ Enabled: false
111
+ Lint/ParenthesesAsGroupedExpression:
112
+ Exclude:
113
+ - "**/spec/**/*"
114
+ Style/PredicateName:
115
+ Enabled: false
116
+ Style/PerlBackrefs:
117
+ Enabled: false
118
+ Layout/SpaceAroundOperators:
119
+ Exclude:
120
+ - "**/spec/actions_specs/xcodebuild_spec.rb"
121
+ AllCops:
122
+ TargetRubyVersion: 2.0
123
+ Include:
124
+ - "*/lib/assets/*Template"
125
+ - "*/lib/assets/*TemplateAndroid"
126
+ Exclude:
127
+ - "**/lib/assets/custom_action_template.rb"
128
+ - "./vendor/**/*"
129
+ - "**/lib/assets/DefaultPantfileTemplate"
130
+ - "**/spec/fixtures/broken_files/broken_file.rb"
131
+ Style/FileName:
132
+ Exclude:
133
+ - "**/Dangerfile"
134
+ - "**/Brewfile"
135
+ - "**/Gemfile"
136
+ - "**/Podfile"
137
+ - "**/Rakefile"
138
+ - "**/Pantfile"
139
+ - "**/Snapfile"
140
+ - "**/*.gemspec"
141
+ Style/Documentation:
142
+ Enabled: false
143
+ Style/MutableConstant:
144
+ Enabled: false
145
+ Style/ZeroLengthPredicate:
146
+ Enabled: false
147
+ Style/IfInsideElse:
148
+ Enabled: false
149
+ Style/CollectionMethods:
150
+ Enabled: false
151
+ CrossPlatform/ForkUsage:
152
+ Exclude:
153
+ - "**/plugins/template/**/*"
154
+ Lint/IsStringUsage:
155
+ Include:
156
+ - gym/**/*
157
+ Style/MethodCallWithArgsParentheses:
158
+ Enabled: true
159
+ IgnoredMethods:
160
+ - require
161
+ - require_relative
162
+ - pantograph_require
163
+ - gem
164
+ - program
165
+ - command
166
+ - raise
167
+ - attr_accessor
168
+ - attr_reader
169
+ - desc
170
+ - lane
171
+ - private_lane
172
+ - platform
173
+ - to
174
+ - describe
175
+ - it
176
+ - be
177
+ - context
178
+ - before
179
+ - after
@@ -0,0 +1,4 @@
1
+ # os: osx # enable this if you need macOS support
2
+ language: ruby
3
+ rvm:
4
+ - 2.2.4
@@ -0,0 +1,6 @@
1
+ source('https://rubygems.org')
2
+
3
+ gemspec
4
+
5
+ plugins_path = File.join(File.dirname(__FILE__), 'pantograph', 'Pluginfile')
6
+ eval_gemfile(plugins_path) if File.exist?(plugins_path)
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) <%= Time.now.year %> <%= author %> <<%= email %>>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,52 @@
1
+ # <%= plugin_name %> plugin
2
+
3
+ [![pantograph Plugin Badge](https://rawcdn.githack.com/pantograph/pantograph/master/pantograph/assets/plugin-badge.svg)](https://rubygems.org/gems/<%= gem_name %>)
4
+
5
+ ## Getting Started
6
+
7
+ This project is a [_pantograph_](https://github.com/pantograph/pantograph) plugin. To get started with `<%= gem_name %>`, add it to your project by running:
8
+
9
+ ```bash
10
+ pantograph add_plugin <%= plugin_name %>
11
+ ```
12
+
13
+ ## About <%= plugin_name %>
14
+
15
+ <%= summary %>
16
+
17
+ **Note to author:** Add a more detailed description about this plugin here. If your plugin contains multiple actions, make sure to mention them here.
18
+
19
+ ## Example
20
+
21
+ Check out the [example `Pantfile`](pantograph/Pantfile) to see how to use this plugin. Try it by cloning the repo, running `pantograph install_plugins` and `bundle exec pantograph test`.
22
+
23
+ **Note to author:** Please set up a sample project to make it easy for users to explore what your plugin does. Provide everything that is necessary to try out the plugin in this project (including a sample Xcode/Android project if necessary)
24
+
25
+ ## Run tests for this plugin
26
+
27
+ To run both the tests, and code style validation, run
28
+
29
+ ```
30
+ rake
31
+ ```
32
+
33
+ To automatically fix many of the styling issues, use
34
+ ```
35
+ rubocop -a
36
+ ```
37
+
38
+ ## Issues and Feedback
39
+
40
+ For any other issues and feedback about this plugin, please submit it to this repository.
41
+
42
+ ## Troubleshooting
43
+
44
+ If you have trouble using plugins, check out the [Plugins Troubleshooting](https://docs.pantograph.tools/plugins/plugins-troubleshooting/) guide.
45
+
46
+ ## Using _pantograph_ Plugins
47
+
48
+ For more information about how the `pantograph` plugin system works, check out the [Plugins documentation](https://docs.pantograph.tools/plugins/create-plugin/).
49
+
50
+ ## About _pantograph_
51
+
52
+ _pantograph_ is the easiest way to automate beta deployments and releases for your iOS and Android apps. To learn more, check out [pantograph.tools](https://pantograph.tools).
@@ -0,0 +1,9 @@
1
+ require 'bundler/gem_tasks'
2
+
3
+ require 'rspec/core/rake_task'
4
+ RSpec::Core::RakeTask.new
5
+
6
+ require 'rubocop/rake_task'
7
+ RuboCop::RakeTask.new(:rubocop)
8
+
9
+ task(default: [:spec, :rubocop])
@@ -0,0 +1,47 @@
1
+ require 'pantograph/action'
2
+ require_relative '../helper/<%= plugin_name %>_helper'
3
+
4
+ module Pantograph
5
+ module Actions
6
+ class <%= plugin_name.pantograph_class %>Action < Action
7
+ def self.run(params)
8
+ UI.message("The <%= plugin_name %> plugin is working!")
9
+ end
10
+
11
+ def self.description
12
+ "<%= summary.gsub('"', "'") %>"
13
+ end
14
+
15
+ def self.authors
16
+ ["<%= author.gsub('"', "'") %>"]
17
+ end
18
+
19
+ def self.return_value
20
+ # If your method provides a return value, you can describe here what it does
21
+ end
22
+
23
+ def self.details
24
+ # Optional:
25
+ "<%= details.gsub('"', "'") %>"
26
+ end
27
+
28
+ def self.available_options
29
+ [
30
+ # PantographCore::ConfigItem.new(key: :your_option,
31
+ # env_name: "<%= plugin_name.upcase %>_YOUR_OPTION",
32
+ # description: "A description of your option",
33
+ # optional: false,
34
+ # type: String)
35
+ ]
36
+ end
37
+
38
+ def self.is_supported?(platform)
39
+ # Adjust this if your plugin only works for a particular platform (iOS vs. Android, for example)
40
+ # See: https://docs.pantograph.tools/advanced/#control-configuration-by-lane-and-by-platform
41
+ #
42
+ # [:ios, :mac, :android].include?(platform)
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,16 @@
1
+ require 'pantograph_core/ui/ui'
2
+
3
+ module Pantograph
4
+ UI = PantographCore::UI unless Pantograph.const_defined?("UI")
5
+
6
+ module Helper
7
+ class <%= plugin_name.pantograph_class %>Helper
8
+ # class methods that you define here become available in your action
9
+ # as `Helper::<%= plugin_name.pantograph_class %>Helper.your_method`
10
+ #
11
+ def self.show_message
12
+ UI.message("Hello from the <%= plugin_name %> plugin helper!")
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,5 @@
1
+ module Pantograph
2
+ module <%= plugin_name.pantograph_class %>
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
@@ -0,0 +1,16 @@
1
+ require '<%= require_path %>/version'
2
+
3
+ module Pantograph
4
+ module <%= plugin_name.pantograph_class %>
5
+ # Return all .rb files inside the "actions" and "helper" directory
6
+ def self.all_classes
7
+ Dir[File.expand_path('**/{actions,helper}/*.rb', File.dirname(__FILE__))]
8
+ end
9
+ end
10
+ end
11
+
12
+ # By default we want to import all available actions and helpers
13
+ # A plugin can contain any number of actions and plugins
14
+ Pantograph::<%= plugin_name.pantograph_class %>.all_classes.each do |current|
15
+ require current
16
+ end
@@ -0,0 +1,3 @@
1
+ lane :test do
2
+ <%= plugin_name %>
3
+ end
@@ -0,0 +1 @@
1
+ # Autogenerated by pantograph
@@ -0,0 +1,9 @@
1
+ describe Pantograph::Actions::<%= plugin_name.pantograph_class %>Action do
2
+ describe '#run' do
3
+ it 'prints a message' do
4
+ expect(Pantograph::UI).to receive(:message).with("The <%= plugin_name %> plugin is working!")
5
+
6
+ Pantograph::Actions::<%= plugin_name.pantograph_class %>Action.run(nil)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,15 @@
1
+ $LOAD_PATH.unshift(File.expand_path('../../lib', __FILE__))
2
+
3
+ require 'simplecov'
4
+
5
+ # SimpleCov.minimum_coverage 95
6
+ SimpleCov.start
7
+
8
+ # This module is only used to check the environment is currently a testing env
9
+ module SpecHelper
10
+ end
11
+
12
+ require 'pantograph' # to import the Action super class
13
+ require '<%= require_path %>' # import the actual plugin
14
+
15
+ Pantograph.load_actions # load other actions (in case your plugin calls other actions or shared values)