maestro-plugin-rake-tasks 1.0.8 → 1.0.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 23f7567d2fdf5068054fdb21d50ba58955108c27
4
- data.tar.gz: 7224f6c1c19eaa11c4ffc196f52072ca607b8478
3
+ metadata.gz: c0af21277c071e1a8a262b1872ba817a9252a27d
4
+ data.tar.gz: a09c3a12397fb0a5604f20af8d40aa4d341ea93b
5
5
  SHA512:
6
- metadata.gz: cc0490dff1b12e892e4e9ce9d1be16452900b3571c0a1b9121f80f9d79783ca7566eae46c5bab4a7f5bfe7f7efe649a9314a519cb4b8dc0ccf48b0b074064231
7
- data.tar.gz: 019feb0e9f5c3405bf7da4762f945500b967f5212a6af0ff39279fe13418f0104155b205f5690733105d60d31274f6d1507f3a157bedf11645f1b884ad3a465a
6
+ metadata.gz: e6e9933bd901323e6618fffa51813f841870db2c1d087d2a9153684493e1397fa748cafc078aa127fc9d51485210326ce254711fd58434bf888dc30c0e171863
7
+ data.tar.gz: 8d8eb2a4979ce98a3b49253cc9d871250e904aca0c4d2f5b7501c9933083069bc94825caafa9b3e0cb9eb91a498850c1d150b343fbf868c4f05660407ffbde4b
data/Rakefile CHANGED
@@ -1,12 +1,12 @@
1
1
  require "bundler/gem_tasks"
2
2
  require 'rspec/core/rake_task'
3
+ require 'cucumber/rake/task'
3
4
  require 'rake/clean'
4
5
 
5
6
  CLEAN.include('pkg', 'manifest.json', '*.zip')
6
7
  CLOBBER.include('.bundle', '.config', 'coverage', 'InstalledFiles', 'spec/reports', 'rdoc', 'test', 'tmp')
7
8
 
8
- task :default => [:clean, :spec, :build]
9
+ task :default => [:clean, :spec, :cucumber, :build]
9
10
 
10
11
  RSpec::Core::RakeTask.new
11
-
12
-
12
+ Cucumber::Rake::Task.new
@@ -0,0 +1,74 @@
1
+ Feature: package
2
+ Rake package task should create a zip file
3
+
4
+ Scenario: Packaging a plugin
5
+ Given a file named "Rakefile" with:
6
+ """
7
+ require 'maestro/plugin/rake_tasks'
8
+ Maestro::Plugin::RakeTasks::PackageTask.new
9
+ """
10
+ And a file named "pom.xml" with:
11
+ """
12
+ <?xml version="1.0"?>
13
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
14
+ <modelVersion>4.0.0</modelVersion>
15
+ <groupId>com.maestrodev.maestro.plugins</groupId>
16
+ <artifactId>maestro-jenkins-plugin</artifactId>
17
+ <version>2.3-SNAPSHOT</version>
18
+ </project>
19
+ """
20
+ And a file named "manifest.template.json" with:
21
+ """
22
+ {
23
+ "tasks": [
24
+ {
25
+ "name": "jenkins plugin",
26
+ "description": "Run A Set Of Work Steps In Jenkins",
27
+ "license": "Apache 2.0",
28
+ "author": "Kelly Plummer",
29
+ "version": "updated at build time",
30
+ "class": "MaestroDev::Plugin::JenkinsWorker",
31
+ "type": "ruby",
32
+ "dependencies": [],
33
+ "task": {
34
+ "command": "/jenkinsplugin/build",
35
+ "inputs": {},
36
+ "outputs": {},
37
+ "icon": "jenkins.png",
38
+ "tool_name": "Build"
39
+ }
40
+ },
41
+ {
42
+ "name": "jenkins sync",
43
+ "description": "Get the data from the latest build for a particular job",
44
+ "license": "Apache 2.0",
45
+ "author": "Etienne Pelletier",
46
+ "version": "updated at build time",
47
+ "class": "MaestroDev::Plugin::JenkinsWorker",
48
+ "type": "ruby",
49
+ "dependencies": [],
50
+ "task": {
51
+ "command": "/jenkinsplugin/get_build_data",
52
+ "inputs": {},
53
+ "outputs": {},
54
+ "icon": "jenkins.png",
55
+ "tool_name": "Build"
56
+ }
57
+ }
58
+ ]
59
+ }
60
+ """
61
+ And an empty file named "src/test.rb"
62
+ And an empty file named "vendor/cache/andand-1.3.3.gem"
63
+ And an empty file named "README.md"
64
+ And an empty file named "LICENSE"
65
+ When I run `rake package`
66
+ Then the exit status should be 0
67
+ And a file named "maestro-jenkins-plugin-2.3-SNAPSHOT.zip" should exist
68
+ And I run `unzip -t maestro-jenkins-plugin-2.3-SNAPSHOT.zip`
69
+ Then the zip file "maestro-jenkins-plugin-2.3-SNAPSHOT.zip" should contain the following files:
70
+ | manifest.json |
71
+ | LICENSE |
72
+ | README.md |
73
+ | src/test.rb |
74
+ | vendor/cache/andand-1.3.3.gem |
@@ -0,0 +1,15 @@
1
+ require 'aruba/cucumber'
2
+ require 'zip'
3
+
4
+ Before do
5
+ @aruba_timeout_seconds = 20
6
+ end
7
+
8
+ Then /^the zip file "([^"]*)" should contain the following files:$/ do |zipFile, files|
9
+ entries = []
10
+ prep_for_fs_check do
11
+ Zip::File.foreach(zipFile) { |zipEntry| entries << zipEntry.to_s }
12
+ end
13
+ expected_entries = files.raw.select{|file_row| file_row[0]}.flatten
14
+ entries.to_set.should eq(expected_entries.to_set)
15
+ end
@@ -1,7 +1,7 @@
1
1
  require 'maestro/plugin/rake_tasks/version'
2
2
  require 'rake'
3
3
  require 'rake/tasklib'
4
- require 'zippy'
4
+ require 'zip'
5
5
  require 'git'
6
6
  require 'nokogiri'
7
7
  require 'json'
@@ -141,30 +141,25 @@ module Maestro
141
141
  end
142
142
 
143
143
  def create_zip_file(zip_file)
144
- Zippy.create zip_file do |z|
144
+ Zip::File.open(zip_file, Zip::File::CREATE) do |z|
145
145
  @directories.each { |dir| add_dir z, dir }
146
146
  @files.each { |file| add_file z, file }
147
147
  end
148
148
  end
149
149
 
150
150
  # add a file to the zip file
151
- def add_file( zippyfile, f )
151
+ def add_file( zipfile, f )
152
152
  if File.exists?(f)
153
153
  puts "Writing #{f} at #{@dest_dir}" if verbose
154
- zippyfile["#{@dest_dir}/#{f}"] = File.open(f)
154
+ zipfile.add(f, "#{@dest_dir}/#{f}")
155
155
  else
156
156
  puts "Ignoring missing file #{f} at #{@dest_dir}"
157
157
  end
158
158
  end
159
159
 
160
160
  # add a directory to the zip file
161
- def add_dir( zippyfile, d )
162
- glob = "#{d}/**/*"
163
- FileList.new( glob ).each { |f|
164
- if (File.file?(f))
165
- add_file zippyfile, f
166
- end
167
- }
161
+ def add_dir( zipfile, d )
162
+ FileList.new("#{d}/**/*").each { |f| add_file(zipfile, f) if File.file?(f) }
168
163
  end
169
164
 
170
165
  end
@@ -1,7 +1,7 @@
1
1
  module Maestro
2
2
  module Plugin
3
3
  module RakeTasks
4
- VERSION = '1.0.8'
4
+ VERSION = '1.0.9'
5
5
  end
6
6
  end
7
7
  end
@@ -21,10 +21,11 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency 'rake', '>=0.9.2'
22
22
  spec.add_dependency 'nokogiri'
23
23
  spec.add_dependency 'git'
24
- spec.add_dependency 'zippy'
25
- spec.add_dependency 'rubyzip', '<1.0.0' # for zippy
24
+ spec.add_dependency 'rubyzip', '>=1.0.0'
26
25
  spec.add_dependency 'json', '>= 1.4.6'
27
26
 
28
27
  spec.add_development_dependency 'rspec', '>= 2.13.0'
28
+ spec.add_development_dependency 'cucumber'
29
+ spec.add_development_dependency 'aruba'
29
30
  spec.add_development_dependency 'jruby-openssl' if RUBY_PLATFORM == 'java'
30
31
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maestro-plugin-rake-tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Etienne Pelletier
@@ -53,59 +53,73 @@ dependencies:
53
53
  prerelease: false
54
54
  type: :runtime
55
55
  - !ruby/object:Gem::Dependency
56
- name: zippy
56
+ name: rubyzip
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '>='
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 1.0.0
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - '>='
65
65
  - !ruby/object:Gem::Version
66
- version: '0'
66
+ version: 1.0.0
67
67
  prerelease: false
68
68
  type: :runtime
69
69
  - !ruby/object:Gem::Dependency
70
- name: rubyzip
70
+ name: json
71
71
  version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - <
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
- version: 1.0.0
75
+ version: 1.4.6
76
76
  requirement: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - <
78
+ - - '>='
79
79
  - !ruby/object:Gem::Version
80
- version: 1.0.0
80
+ version: 1.4.6
81
81
  prerelease: false
82
82
  type: :runtime
83
83
  - !ruby/object:Gem::Dependency
84
- name: json
84
+ name: rspec
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '>='
88
88
  - !ruby/object:Gem::Version
89
- version: 1.4.6
89
+ version: 2.13.0
90
90
  requirement: !ruby/object:Gem::Requirement
91
91
  requirements:
92
92
  - - '>='
93
93
  - !ruby/object:Gem::Version
94
- version: 1.4.6
94
+ version: 2.13.0
95
95
  prerelease: false
96
- type: :runtime
96
+ type: :development
97
97
  - !ruby/object:Gem::Dependency
98
- name: rspec
98
+ name: cucumber
99
99
  version_requirements: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - '>='
102
102
  - !ruby/object:Gem::Version
103
- version: 2.13.0
103
+ version: '0'
104
104
  requirement: !ruby/object:Gem::Requirement
105
105
  requirements:
106
106
  - - '>='
107
107
  - !ruby/object:Gem::Version
108
- version: 2.13.0
108
+ version: '0'
109
+ prerelease: false
110
+ type: :development
111
+ - !ruby/object:Gem::Dependency
112
+ name: aruba
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ requirement: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - '>='
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
109
123
  prerelease: false
110
124
  type: :development
111
125
  - !ruby/object:Gem::Dependency
@@ -130,11 +144,12 @@ extensions: []
130
144
  extra_rdoc_files: []
131
145
  files:
132
146
  - .gitignore
133
- - .ruby-version
134
147
  - Gemfile
135
148
  - LICENSE.txt
136
149
  - README.md
137
150
  - Rakefile
151
+ - features/package.feature
152
+ - features/support/env.rb
138
153
  - lib/maestro/plugin/rake_tasks.rb
139
154
  - lib/maestro/plugin/rake_tasks/bundle_task.rb
140
155
  - lib/maestro/plugin/rake_tasks/package_task.rb
@@ -171,6 +186,8 @@ signing_key:
171
186
  specification_version: 4
172
187
  summary: A collection of Rake tasks used to package Maetro Ruby plugins
173
188
  test_files:
189
+ - features/package.feature
190
+ - features/support/env.rb
174
191
  - spec/maestro/plugin/rake_tasks/package_task_spec.rb
175
192
  - spec/manifest-multi-task.template.json
176
193
  - spec/manifest-single-task.template.json
@@ -1 +0,0 @@
1
- jruby-1.7.4