jenkinsutil 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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: []