jenkinsutil 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2fedec19ce325b18a50ed0df7bb39cf2cb7d9208
4
+ data.tar.gz: df7e72785348afe76af60b24843bdf93bf20ae18
5
+ SHA512:
6
+ metadata.gz: e18a92ae3ed80bac2026e95e95bd232451b929d6cb247b756f7ed74955498237ddd833bba94864adc3decacbff55e076a1dd49d8547c4969ffd55a997253374b
7
+ data.tar.gz: d9762384a47dfdee38b54e7b786d42593a55b8c248c7a938134872751e56188bb5bd7ab60c3d09e7bfe883dbf4bc0358e88f524612ce1591513fffaf96b0bdea
data/.gitignore ADDED
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ /coverage/
11
+ /test/reports/
12
+ /test/raw/
13
+ .idea/.rakeTasks
14
+ .idea/workspace.xml
data/.idea/.name ADDED
@@ -0,0 +1 @@
1
+ JenkinsUtil
@@ -0,0 +1,120 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="RUBY_MODULE" version="4">
3
+ <component name="FacetManager">
4
+ <facet type="gem" name="Ruby Gem">
5
+ <configuration>
6
+ <option name="GEM_APP_ROOT_PATH" value="$MODULE_DIR$" />
7
+ <option name="GEM_APP_TEST_PATH" value="" />
8
+ <option name="GEM_APP_LIB_PATH" value="$MODULE_DIR$/lib" />
9
+ </configuration>
10
+ </facet>
11
+ </component>
12
+ <component name="ModuleRunConfigurationManager">
13
+ <configuration default="false" name="test" type="RakeRunConfigurationType" factoryName="Rake">
14
+ <module name="JenkinsUtil" />
15
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
16
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$" />
17
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
18
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
19
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
20
+ <envs />
21
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
22
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
23
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
24
+ <COVERAGE_PATTERN ENABLED="true">
25
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
26
+ </COVERAGE_PATTERN>
27
+ </EXTENSION>
28
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_NAME" VALUE="test" />
29
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ARGS" VALUE="" />
30
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ATTACHED_TEST_FRAMEWORKS" VALUE="" />
31
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_TRACE" VALUE="false" />
32
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_DRYRUN" VALUE="false" />
33
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_PREREQS" VALUE="false" />
34
+ <method />
35
+ </configuration>
36
+ <configuration default="false" name="JenkinsUtil" type="RubyRunConfigurationType" factoryName="Ruby">
37
+ <module name="JenkinsUtil" />
38
+ <RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
39
+ <RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$/lib" />
40
+ <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
41
+ <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
42
+ <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
43
+ <envs />
44
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
45
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
46
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
47
+ <COVERAGE_PATTERN ENABLED="true">
48
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
49
+ </COVERAGE_PATTERN>
50
+ </EXTENSION>
51
+ <RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/lib/JenkinsUtil.rb" />
52
+ <RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="-k $USER_HOME$/Downloads/Sony_Crackle_Ad_Hoc.mobileprovision -v -p asdf -c &quot;iPhone Developer: Brett McGinnis (2QK9D9UL8S)&quot;" />
53
+ <method />
54
+ </configuration>
55
+ <configuration default="false" name="Run test 'DropboxUtilTest': JenkinsUtil" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest">
56
+ <predefined_log_file id="RUBY_TESTUNIT" enabled="true" />
57
+ <module name="JenkinsUtil" />
58
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
59
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/test" />
60
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
61
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
62
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
63
+ <envs>
64
+ <env name="JRUBY_OPTS" value="-X+O" />
65
+ <env name="DROPBOX_ACCESS_TOKEN" value="H6uD6w9Am7AAAAAAAAAAYQBHY9UoaCqpnDwldLvRvJ_BtnMbFSNMxocsJg0i3D7m" />
66
+ </envs>
67
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
68
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
69
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
70
+ <COVERAGE_PATTERN ENABLED="true">
71
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
72
+ </COVERAGE_PATTERN>
73
+ </EXTENSION>
74
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
75
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/test/dropbox_test.rb" />
76
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
77
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
78
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
79
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
80
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
81
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
82
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
83
+ <method />
84
+ </configuration>
85
+ </component>
86
+ <component name="NewModuleRootManager">
87
+ <content url="file://$MODULE_DIR$">
88
+ <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
89
+ <excludeFolder url="file://$MODULE_DIR$/.bundle" />
90
+ <excludeFolder url="file://$MODULE_DIR$/pkg" />
91
+ <excludeFolder url="file://$MODULE_DIR$/vendor/bundle" />
92
+ </content>
93
+ <orderEntry type="jdk" jdkName="ruby-2.3.0-p0" jdkType="RUBY_SDK" />
94
+ <orderEntry type="sourceFolder" forTests="false" />
95
+ <orderEntry type="library" scope="PROVIDED" name="ast (v2.2.0, ruby-2.3.0-p0) [gem]" level="application" />
96
+ <orderEntry type="library" scope="PROVIDED" name="builder (v3.2.2, ruby-2.3.0-p0) [gem]" level="application" />
97
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v1.11.2, ruby-2.3.0-p0) [gem]" level="application" />
98
+ <orderEntry type="library" scope="PROVIDED" name="ci_reporter (v2.0.0, ruby-2.3.0-p0) [gem]" level="application" />
99
+ <orderEntry type="library" scope="PROVIDED" name="ci_reporter_test_unit (v1.0.1, ruby-2.3.0-p0) [gem]" level="application" />
100
+ <orderEntry type="library" scope="PROVIDED" name="docile (v1.1.5, ruby-2.3.0-p0) [gem]" level="application" />
101
+ <orderEntry type="library" scope="PROVIDED" name="dropbox-sdk (v1.6.5, ruby-2.3.0-p0) [gem]" level="application" />
102
+ <orderEntry type="library" scope="PROVIDED" name="open4 (v1.3.4, ruby-2.3.0-p0) [gem]" level="application" />
103
+ <orderEntry type="library" scope="PROVIDED" name="parser (v2.3.0.7, ruby-2.3.0-p0) [gem]" level="application" />
104
+ <orderEntry type="library" scope="PROVIDED" name="power_assert (v0.2.7, ruby-2.3.0-p0) [gem]" level="application" />
105
+ <orderEntry type="library" scope="PROVIDED" name="powerpack (v0.1.1, ruby-2.3.0-p0) [gem]" level="application" />
106
+ <orderEntry type="library" scope="PROVIDED" name="rainbow (v2.1.0, ruby-2.3.0-p0) [gem]" level="application" />
107
+ <orderEntry type="library" scope="PROVIDED" name="rake (v11.1.2, ruby-2.3.0-p0) [gem]" level="application" />
108
+ <orderEntry type="library" scope="PROVIDED" name="rubocop (v0.39.0, ruby-2.3.0-p0) [gem]" level="application" />
109
+ <orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.7.5, ruby-2.3.0-p0) [gem]" level="application" />
110
+ <orderEntry type="library" scope="PROVIDED" name="simplecov (v0.11.2, ruby-2.3.0-p0) [gem]" level="application" />
111
+ <orderEntry type="library" scope="PROVIDED" name="simplecov-html (v0.10.0, ruby-2.3.0-p0) [gem]" level="application" />
112
+ <orderEntry type="library" scope="PROVIDED" name="sys-proctable (v1.0.0, ruby-2.3.0-p0) [gem]" level="application" />
113
+ <orderEntry type="library" scope="PROVIDED" name="test-unit (v3.1.8, ruby-2.3.0-p0) [gem]" level="application" />
114
+ <orderEntry type="library" scope="PROVIDED" name="unicode-display_width (v1.0.3, ruby-2.3.0-p0) [gem]" level="application" />
115
+ </component>
116
+ <component name="RModuleSettingsStorage">
117
+ <LOAD_PATH number="1" string0="$USER_HOME$/.rbenv/shims" />
118
+ <I18N_FOLDERS number="0" />
119
+ </component>
120
+ </module>
@@ -0,0 +1,8 @@
1
+ <component name="ProjectDictionaryState">
2
+ <dictionary name="brettmcginnis">
3
+ <words>
4
+ <w>dropbox</w>
5
+ <w>xcodebuild</w>
6
+ </words>
7
+ </dictionary>
8
+ </component>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="Encoding">
4
+ <file url="PROJECT" charset="UTF-8" />
5
+ </component>
6
+ </project>
data/.idea/misc.xml ADDED
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectLevelVcsManager" settingsEditedManually="false">
4
+ <OptionsSetting value="true" id="Add" />
5
+ <OptionsSetting value="true" id="Remove" />
6
+ <OptionsSetting value="true" id="Checkout" />
7
+ <OptionsSetting value="true" id="Update" />
8
+ <OptionsSetting value="true" id="Status" />
9
+ <OptionsSetting value="true" id="Edit" />
10
+ <ConfirmationsSetting value="0" id="Add" />
11
+ <ConfirmationsSetting value="0" id="Remove" />
12
+ </component>
13
+ <component name="ProjectRootManager" version="2" project-jdk-name="rbenv: 2.2.3" project-jdk-type="RUBY_SDK" />
14
+ </project>
data/.idea/modules.xml ADDED
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/JenkinsUtil.iml" filepath="$PROJECT_DIR$/.idea/JenkinsUtil.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,21 @@
1
+ <component name="ProjectRunConfigurationManager">
2
+ <configuration default="false" name="JenkinsUtil" type="RubyRunConfigurationType" factoryName="Ruby">
3
+ <module name="JenkinsUtil" />
4
+ <RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
5
+ <RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$/lib" />
6
+ <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
7
+ <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
8
+ <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
9
+ <envs />
10
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
11
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
12
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
13
+ <COVERAGE_PATTERN ENABLED="true">
14
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
15
+ </COVERAGE_PATTERN>
16
+ </EXTENSION>
17
+ <RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/lib/JenkinsUtil.rb" />
18
+ <RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="-k $USER_HOME$/Downloads/Sony_Crackle_Ad_Hoc.mobileprovision -v -p asdf -c &quot;iPhone Developer: Brett McGinnis (2QK9D9UL8S)&quot;" />
19
+ <method />
20
+ </configuration>
21
+ </component>
@@ -0,0 +1,32 @@
1
+ <component name="ProjectRunConfigurationManager">
2
+ <configuration default="false" name="Run test 'DropboxUtilTest': JenkinsUtil" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest">
3
+ <predefined_log_file id="RUBY_TESTUNIT" enabled="true" />
4
+ <module name="JenkinsUtil" />
5
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
6
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/test" />
7
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
8
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
9
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
10
+ <envs>
11
+ <env name="JRUBY_OPTS" value="-X+O" />
12
+ <env name="DROPBOX_ACCESS_TOKEN" value="H6uD6w9Am7AAAAAAAAAAYQBHY9UoaCqpnDwldLvRvJ_BtnMbFSNMxocsJg0i3D7m" />
13
+ </envs>
14
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
15
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
16
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
17
+ <COVERAGE_PATTERN ENABLED="true">
18
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
19
+ </COVERAGE_PATTERN>
20
+ </EXTENSION>
21
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
22
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/test/dropbox_test.rb" />
23
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
24
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
25
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
26
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
27
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
28
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
29
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
30
+ <method />
31
+ </configuration>
32
+ </component>
@@ -0,0 +1,25 @@
1
+ <component name="ProjectRunConfigurationManager">
2
+ <configuration default="false" name="test" type="RakeRunConfigurationType" factoryName="Rake">
3
+ <module name="JenkinsUtil" />
4
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
5
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$" />
6
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
7
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
8
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
9
+ <envs />
10
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
11
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
12
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
13
+ <COVERAGE_PATTERN ENABLED="true">
14
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
15
+ </COVERAGE_PATTERN>
16
+ </EXTENSION>
17
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_NAME" VALUE="test" />
18
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ARGS" VALUE="" />
19
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ATTACHED_TEST_FRAMEWORKS" VALUE="" />
20
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_TRACE" VALUE="false" />
21
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_DRYRUN" VALUE="false" />
22
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_PREREQS" VALUE="false" />
23
+ <method />
24
+ </configuration>
25
+ </component>
data/.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+ </component>
6
+ </project>
data/.rbenv-gemsets ADDED
@@ -0,0 +1 @@
1
+ -global
data/.rubocop.yml ADDED
@@ -0,0 +1 @@
1
+ inherit_from: .rubocop_todo.yml
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,21 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2015-12-27 12:27:13 -0800 using RuboCop version 0.35.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ Metrics/LineLength:
10
+ Max: 140
11
+
12
+ AllCops:
13
+ Exclude:
14
+ - '/**/JenkinsUtil.rb'
15
+ - '/**/xcode_util.rb'
16
+ - '/**/command_line_script.rb'
17
+ - '**/bin/**/*'
18
+ - '**/exe/**/*'
19
+
20
+ Documentation:
21
+ Enabled: false
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2.3
4
+ before_install: gem install bundler -v 1.10.6
data/Dockerfile ADDED
@@ -0,0 +1,23 @@
1
+ FROM ruby:latest
2
+
3
+ MAINTAINER Brett McGinnis brett@l4digital.com
4
+
5
+ ARG BUILD_DIR="/build"
6
+ ARG ARTIFACTS_DIR="/artifacts"
7
+ ARG BUILD_NUMBER="-1"
8
+
9
+ WORKDIR $BUILD_DIR
10
+
11
+ RUN apt-get update
12
+
13
+ RUN gem install bundler
14
+
15
+ ADD . ${BUILD_DIR}
16
+
17
+ WORKDIR ${BUILD_DIR}
18
+
19
+ RUN bundle install
20
+ RUN rake ci:setup:testunit test:default build
21
+
22
+ RUN mv test/reports ${ARTIFACTS_DIR}/
23
+ RUN mv pkg/* ${ARTIFACTS_DIR}
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in JenkinsUtil.gemspec
4
+ gemspec
@@ -0,0 +1,32 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'JenkinsUtil/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'jenkinsutil'
8
+ spec.version = JenkinsUtil::VERSION
9
+ spec.authors = ['Brett McGinnis']
10
+ spec.email = ['Brett@L4Digital.com']
11
+ spec.summary = 'A gem to help with basic tasks in jenkins'
12
+
13
+ spec.summary = 'Gem for managing tasks in CI'
14
+ spec.homepage = 'http://www.l4digital.com/'
15
+ spec.license = 'MIT'
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.bindir = 'exe'
19
+ spec.executables = ['jenkinsutil']
20
+ spec.require_paths = ['lib']
21
+
22
+ spec.add_dependency 'open4', '~> 1.3'
23
+ spec.add_dependency 'sys-proctable', '~> 1.0'
24
+ spec.add_dependency 'dropbox-sdk', '~> 1.6'
25
+
26
+ spec.add_development_dependency 'bundler', '~> 1.11'
27
+ spec.add_development_dependency 'rake', '~> 11.1'
28
+ spec.add_development_dependency 'test-unit', '~> 3.1'
29
+ spec.add_development_dependency 'ci_reporter_test_unit', '~> 1.0'
30
+ spec.add_development_dependency 'simplecov', '~> 0.11'
31
+ spec.add_development_dependency 'rubocop', '~> 0.39'
32
+ end
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 Brett McGinnis
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
13
+ all 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
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,13 @@
1
+ # JenkinsUtil
2
+
3
+ ## Development
4
+
5
+ bundle install
6
+ gem install JenkinsUtil
7
+
8
+ ## Test
9
+ rake test
10
+
11
+ ## Test with results for ci
12
+ rake ci:setup:testunit test
13
+
data/Rakefile ADDED
@@ -0,0 +1,16 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
+ require 'simplecov'
4
+ require 'ci/reporter/rake/test_unit'
5
+
6
+ Rake::TestTask.new('test:all') do |t|
7
+ t.libs = ['lib']
8
+ t.test_files = FileList['test/*test.rb']
9
+ t.verbose = true
10
+ end
11
+
12
+ Rake::TestTask.new('test:default') do |t|
13
+ t.libs = ['lib']
14
+ t.test_files = FileList['test/*test.rb'].exclude('test/*keychain*rb', 'test/*xcode*rb')
15
+ t.verbose = true
16
+ end
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "JenkinsUtil"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install
6
+
7
+ # Do any other automated setup that you need to do here
data/exe/jenkinsutil ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'JenkinsUtil'
4
+
5
+ JenkinsUtil
@@ -0,0 +1,85 @@
1
+ require 'optparse'
2
+
3
+ class ArgumentHandler
4
+ attr_reader :keychain,
5
+ :keychain_password,
6
+ :code_signing_identities,
7
+ :provisioning_profiles,
8
+ :dropbox_sources,
9
+ :dropbox_destination,
10
+ :dropbox_flatten,
11
+ :dropbox_root,
12
+ :verbose
13
+
14
+ def initialize
15
+ @keychain = nil
16
+ @keychain_password = nil
17
+ @code_signing_identities = []
18
+ @provisioning_profiles = []
19
+ @dropbox_sources = []
20
+ @dropbox_destination = nil
21
+ @dropbox_flatten = true
22
+ @dropbox_root = Dir.pwd
23
+ @verbose = false
24
+
25
+ if ARGV.length == 0
26
+ ARGV.push('-h')
27
+ end
28
+
29
+ parser = OptionParser.new do |opts|
30
+ opts.banner = 'Usage: JenkinsUtil'
31
+
32
+ # keychain_util
33
+ opts.on('-k', '--keychain [KEYCHAIN_PATH]', 'Path to Keychain to be unlocked') do |keychain|
34
+ @keychain = keychain
35
+ end
36
+
37
+ # keychain_util
38
+ opts.on('-p', '--keychain-password [KEYCHAIN_PASSWORD]', 'Password for Keychain to be unlocked') do |password|
39
+ @keychain_password = password
40
+ end
41
+
42
+ # keychain_util
43
+ opts.on('-c', '--code-signing-identities c1,c2', Array, 'Provisioning Profiles to check after keychain is unlocked') do |identities|
44
+ @code_signing_identities = identities
45
+ end
46
+
47
+ # keychain_util
48
+ opts.on('-P', '--provisioning-profiles p1,p2', Array, 'Provisioning Profiles to check after keychain is unlocked') do |profiles|
49
+ @provisioning_profiles = profiles
50
+ end
51
+
52
+ # dropbox_util
53
+ opts.on('-s', '--dropbox-sources s1,s2', Array, 'A set of paths/matchers for uploading to dropbox') do |sources|
54
+ @dropbox_sources = sources
55
+ end
56
+
57
+ # dropbox_util
58
+ opts.on('-d', '--dropbox-destination x', 'The dropbox destination usually /L4Builds/Path') do |destination|
59
+ @dropbox_destination = destination
60
+ end
61
+
62
+ # dropbox_util
63
+ opts.on('-f', '--dropbox-keep-folders', 'If passed file folders will be preserved') do
64
+ @dropbox_flatten = false
65
+ end
66
+
67
+ # dropbox_util
68
+ opts.on('-r', '--dropbox-root x', 'The path to remove when uploading defaults to pwd') do |root|
69
+ @dropbox_root = root
70
+ end
71
+
72
+ # logger_util
73
+ opts.on('-v', '--verbose', 'Output more information') do
74
+ @verbose = true
75
+ end
76
+
77
+ opts.on_tail('-h', '--help', 'Show this message') do
78
+ puts opts
79
+ abort
80
+ end
81
+ end
82
+
83
+ parser.parse!
84
+ end
85
+ end
@@ -0,0 +1,22 @@
1
+ require 'open4'
2
+ require 'JenkinsUtil/logger_util'
3
+
4
+ class CommandLineScript
5
+ include LoggerUtil
6
+
7
+ attr_reader :command, :pid, :stdin, :stdout, :sterr, :exit_status
8
+
9
+ def initialize(command)
10
+ @command = command
11
+
12
+ LoggerUtil.log.debug("Executing: \"#{@command}\"")
13
+ status = Open4::popen4(@command) do |pid, stdin, stdout, stderr|
14
+ @pid = pid
15
+ @stdin = stdin
16
+ @stdout = stdout.readlines
17
+ @error = stderr.readlines
18
+ end
19
+
20
+ @exit_status = status.exitstatus
21
+ end
22
+ end
@@ -0,0 +1,69 @@
1
+ require 'dropbox_sdk'
2
+ require 'JenkinsUtil/logger_util'
3
+ require 'JenkinsUtil/version'
4
+ require 'pathname'
5
+
6
+ module DropboxUtil
7
+ include LoggerUtil
8
+
9
+ attr_reader :uploaded_files
10
+
11
+ def self.upload(sources, destination, flatten = true, root = nil)
12
+ LoggerUtil.fatal('Sources passed is nil') if sources.nil?
13
+ LoggerUtil.fatal('Destination passed is nil') if destination.nil?
14
+ LoggerUtil.fatal('Root must be passed if flatten is false') if !flatten && root.nil?
15
+ LoggerUtil.fatal('Please set environment variable DROPBOX_ACCESS_TOKEN') if ENV['DROPBOX_ACCESS_TOKEN'].nil?
16
+
17
+ @dropbox_client ||= DropboxClient.new(ENV['DROPBOX_ACCESS_TOKEN'])
18
+ @sources = sources
19
+ @destination = destination
20
+ @flatten = flatten
21
+ @root_path = Pathname.new(root) unless root.nil?
22
+
23
+ upload_files
24
+ end
25
+
26
+ def self.delete(dropbox_location)
27
+ @dropbox_client ||= DropboxClient.new(JenkinsUtil::DROPBOX_ACCESS_TOKEN)
28
+
29
+ LoggerUtil.fatal('Location passed is nil') if dropbox_location.nil?
30
+ end
31
+
32
+ def self.upload_files
33
+ LoggerUtil.log.debug(@dropbox_client.account_info.inspect) # Check auth
34
+
35
+ @sources.each do |source|
36
+ source = File.join(source, '**', '*') if File.directory?(source)
37
+
38
+ Dir.glob(source).each do|file|
39
+ upload_and_share(file)
40
+ end
41
+ end
42
+ rescue DropboxAuthError
43
+ LoggerUtil.fatal('User is not authenticated, please verify access token')
44
+ end
45
+
46
+ def self.dropbox_file_destination(file)
47
+ if @flatten
48
+ name_and_extension = File.basename(file)
49
+ dropbox_destination = File.join(@destination, name_and_extension)
50
+ else
51
+ file_path = Pathname.new(file)
52
+ dropbox_destination = File.join(@destination, file_path.relative_path_from(@root_path))
53
+ end
54
+
55
+ dropbox_destination
56
+ end
57
+
58
+ def self.upload_and_share(file)
59
+ @uploaded_files ||= []
60
+
61
+ dropbox_file = @dropbox_client.put_file(dropbox_file_destination(file), open(file), false)
62
+ share = @dropbox_client.shares(dropbox_file['path'])
63
+
64
+ LoggerUtil.log.info("path: #{dropbox_file['path']}")
65
+ LoggerUtil.log.info("url: #{share['url']}")
66
+ end
67
+
68
+ private_class_method :upload_files, :dropbox_file_destination, :upload_and_share
69
+ end
@@ -0,0 +1,104 @@
1
+ require 'JenkinsUtil/command_line_script'
2
+ require 'JenkinsUtil/logger_util'
3
+
4
+ module KeychainUtil
5
+ include LoggerUtil
6
+
7
+ @security_executable = '/usr/bin/security'
8
+ @identity_regex = /\d+\)\s+.*? "(.*)"/
9
+ @provisioning_profile_regex = /SHA-1.*: (.*)/
10
+
11
+ def self.unlock_keychain(keychain, password, code_signing_identities)
12
+ unless File.exist?(@security_executable) && File.exist?(keychain)
13
+ LoggerUtil.log.fatal('security executable or keychain is not found')
14
+ abort
15
+ end
16
+
17
+ if password.nil? || password.to_s.empty?
18
+ LoggerUtil.log.fatal('Password is empty')
19
+ abort
20
+ end
21
+
22
+ exec_unlock_keychain(keychain, password)
23
+ exec_code_sign_identities(code_signing_identities)
24
+ end
25
+
26
+ def self.exec_unlock_keychain(keychain, password)
27
+ # This command registers keychain in keychain tool
28
+ CommandLineScript.new("#{@security_executable} list-keychain -s #{keychain}")
29
+
30
+ # Unlock key-chain
31
+ CommandLineScript.new("#{@security_executable} unlock-keychain -p #{password} #{keychain}")
32
+
33
+ # Change default timeout
34
+ CommandLineScript.new("#{@security_executable} set-keychain-settings -lut 7200 #{keychain}")
35
+ end
36
+
37
+ def self.exec_code_sign_identities(desired_identities)
38
+ code_sign_command = CommandLineScript.new("#{@security_executable} find-identity -p codesigning -v")
39
+
40
+ validate_identities(code_sign_command.stdout, desired_identities)
41
+ end
42
+
43
+ # TODO: implment and pass desired_profiles
44
+ def self.exec_provisioning_profiles
45
+ CommandLineScript.new("#{@security_executable} find-certificate -a -Z")
46
+ # check_provisioning_profiles
47
+ end
48
+
49
+ def self.validate_identities(output, code_signing_identities)
50
+ found_code_signing_identities = []
51
+ code_signing_identities = Array(code_signing_identities)
52
+
53
+ output.each do |identity_string|
54
+ match = identity_string.to_s.match(@identity_regex)
55
+ found_code_signing_identities.push(match[1]) unless match.nil?
56
+ end
57
+
58
+ log_identities(code_signing_identities, found_code_signing_identities)
59
+ end
60
+
61
+ def self.log_identities(desired_identities, found_identities)
62
+ log_message = "Identities passed: #{desired_identities}\nIdentities found: #{found_identities}"
63
+ if (desired_identities.uniq - found_identities.uniq).empty?
64
+ LoggerUtil.log.info('All passed identities were found')
65
+ LoggerUtil.log.debug(log_message)
66
+ else
67
+ LoggerUtil.log.fatal('Not all code signing identities were found')
68
+ LoggerUtil.fatal(log_message)
69
+ end
70
+ end
71
+
72
+ # TODO: implement and use in unlockKeychain
73
+ def self.check_provisioning_profiles # (find_certificate_output, provisioning_profiles)
74
+ LoggerUtil.log.debug('Checking Provisioning profiles is not yet implemented')
75
+ # provisioning_profiles = Array(provisioning_profiles)
76
+ # cleaned_provisioning_profiles = Array.new
77
+ # found_provisioning_profiles = Array.new
78
+ #
79
+ # # Remove '-' from passed profiles
80
+ # provisioning_profiles.uniq.each do |provisioning_profile|
81
+ # cleaned_provisioning_profiles.push(provisioning_profile.to_s.gsub('-', ''))
82
+ # end
83
+ #
84
+ # find_certificate_output.each do |line|
85
+ # match = line.to_s.match(@provisioning_profile_regex)
86
+ # unless match.nil?
87
+ # found_provisioning_profiles.push(match[1])
88
+ # end
89
+ # end
90
+ #
91
+ # unless (cleaned_provisioning_profiles.uniq - found_provisioning_profiles.uniq).empty?
92
+ # LoggerUtil.logger.fatal('Not all provisioning profiles were found')
93
+ # LoggerUtil.logger.fatal("Profiles passed: #{provisioning_profiles}")
94
+ # LoggerUtil.logger.fatal("Profiles found: #{found_provisioning_profiles}")
95
+ # abort
96
+ # else
97
+ # LoggerUtil.logger.info('All passed provisioning profiles were found')
98
+ # LoggerUtil.logger.debug("Profiles passed: #{provisioning_profiles}")
99
+ # LoggerUtil.logger.debug("Profiles found: #{found_provisioning_profiles}")
100
+ # end
101
+ end
102
+
103
+ private_class_method :validate_identities, :check_provisioning_profiles, :log_identities
104
+ end
@@ -0,0 +1,22 @@
1
+ require 'logger'
2
+
3
+ module LoggerUtil
4
+ @logger ||= Logger.new(STDOUT)
5
+
6
+ def self.log
7
+ @logger
8
+ end
9
+
10
+ def self.fatal(message)
11
+ @logger.fatal(message)
12
+ abort
13
+ end
14
+
15
+ def self.verbose?(should_be_verbose)
16
+ if should_be_verbose
17
+ @logger.level = Logger::DEBUG
18
+ else
19
+ @logger.level = Logger::INFO
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,18 @@
1
+ require 'sys/proctable'
2
+ require 'JenkinsUtil/logger_util'
3
+
4
+ module ProcessUtil
5
+ include Sys
6
+
7
+ def self.kill_all_processes(name)
8
+ ProcTable.ps do |process|
9
+ if process.comm.to_s == name.to_s
10
+ begin
11
+ Process.kill('HUP', process.pid)
12
+ rescue Errno::ESRCH
13
+ LoggerUtil.log.debug("Killed process #{process.comm}")
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,3 @@
1
+ module JenkinsUtil
2
+ VERSION = '0.1.0'
3
+ end
@@ -0,0 +1,32 @@
1
+ require 'JenkinsUtil/process_util'
2
+ require 'JenkinsUtil/command_line_script'
3
+ require 'JenkinsUtil/logger_util'
4
+
5
+ class XcodeUtil
6
+ def initialize
7
+ @xcodebuild_version_major = nil
8
+
9
+ @default_xcodebuild_path = '/usr/bin/xcodebuild'
10
+ @ios_simulator_process_name = 'Simulator'
11
+
12
+ #xcodebuild flags
13
+ @xcodebuild_version_flag = '-version'
14
+
15
+ unless File.exist?(@default_xcodebuild_path)
16
+ LoggerUtil.log.fatal("xcodebuild not found: #{@default_xcodebuild_path}")
17
+ abort
18
+ end
19
+
20
+ get_version
21
+ end
22
+
23
+ def kill_ios_simulator
24
+ ProcessUtil.kill_all_processes(@ios_simulator_process_name)
25
+ end
26
+
27
+ def get_version
28
+ xcode_process = CommandLineScript.new("#{@default_xcodebuild_path} #{@xcodebuild_version_flag}")
29
+ @xcodebuild_version_major
30
+ puts xcode_process.get_output
31
+ end
32
+ end
@@ -0,0 +1,26 @@
1
+ require 'JenkinsUtil/version'
2
+ require 'JenkinsUtil/command_line_script'
3
+ require 'JenkinsUtil/keychain_util'
4
+ require 'JenkinsUtil/xcode_util'
5
+ require 'JenkinsUtil/argument_handler'
6
+ require 'JenkinsUtil/logger_util'
7
+ require 'JenkinsUtil/process_util'
8
+ require 'JenkinsUtil/dropbox_util'
9
+
10
+ module JenkinsUtil
11
+ include LoggerUtil
12
+
13
+ args = ArgumentHandler.new
14
+
15
+ LoggerUtil.verbose?(args.verbose)
16
+
17
+ # KeychainUtil
18
+ unless args.keychain.nil? && args.keychain_password.nil?
19
+ KeychainUtil.unlock_keychain(args.keychain,args.keychain_password, args.code_signing_identities)
20
+ end
21
+
22
+ # DropboxUtil
23
+ unless args.dropbox_sources.nil? || args.dropbox_sources.empty? || args.dropbox_destination.nil?
24
+ DropboxUtil.upload(args.dropbox_sources, args.dropbox_destination, args.dropbox_flatten, args.dropbox_root)
25
+ end
26
+ end
metadata ADDED
@@ -0,0 +1,204 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jenkinsutil
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Brett McGinnis
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-04-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: open4
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sys-proctable
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: dropbox-sdk
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.6'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.6'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.11'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.11'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '11.1'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '11.1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: test-unit
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '3.1'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: ci_reporter_test_unit
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.11'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.11'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0.39'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0.39'
139
+ description:
140
+ email:
141
+ - Brett@L4Digital.com
142
+ executables:
143
+ - jenkinsutil
144
+ extensions: []
145
+ extra_rdoc_files: []
146
+ files:
147
+ - ".gitignore"
148
+ - ".idea/.name"
149
+ - ".idea/JenkinsUtil.iml"
150
+ - ".idea/dictionaries/brettmcginnis.xml"
151
+ - ".idea/encodings.xml"
152
+ - ".idea/misc.xml"
153
+ - ".idea/modules.xml"
154
+ - ".idea/runConfigurations/JenkinsUtil.xml"
155
+ - ".idea/runConfigurations/Run_test__DropboxUtilTest___JenkinsUtil.xml"
156
+ - ".idea/runConfigurations/test.xml"
157
+ - ".idea/vcs.xml"
158
+ - ".rbenv-gemsets"
159
+ - ".rubocop.yml"
160
+ - ".rubocop_todo.yml"
161
+ - ".travis.yml"
162
+ - Dockerfile
163
+ - Gemfile
164
+ - JenkinsUtil.gemspec
165
+ - LICENSE.txt
166
+ - README.md
167
+ - Rakefile
168
+ - bin/console
169
+ - bin/setup
170
+ - exe/jenkinsutil
171
+ - lib/JenkinsUtil.rb
172
+ - lib/JenkinsUtil/argument_handler.rb
173
+ - lib/JenkinsUtil/command_line_script.rb
174
+ - lib/JenkinsUtil/dropbox_util.rb
175
+ - lib/JenkinsUtil/keychain_util.rb
176
+ - lib/JenkinsUtil/logger_util.rb
177
+ - lib/JenkinsUtil/process_util.rb
178
+ - lib/JenkinsUtil/version.rb
179
+ - lib/JenkinsUtil/xcode_util.rb
180
+ homepage: http://www.l4digital.com/
181
+ licenses:
182
+ - MIT
183
+ metadata: {}
184
+ post_install_message:
185
+ rdoc_options: []
186
+ require_paths:
187
+ - lib
188
+ required_ruby_version: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ required_rubygems_version: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ requirements: []
199
+ rubyforge_project:
200
+ rubygems_version: 2.6.3
201
+ signing_key:
202
+ specification_version: 4
203
+ summary: Gem for managing tasks in CI
204
+ test_files: []