maestro-plugin-rake-tasks 1.0.8 → 1.0.9

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 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