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 +4 -4
- data/Rakefile +3 -3
- data/features/package.feature +74 -0
- data/features/support/env.rb +15 -0
- data/lib/maestro/plugin/rake_tasks/package_task.rb +6 -11
- data/lib/maestro/plugin/rake_tasks/version.rb +1 -1
- data/maestro-plugin-rake-tasks.gemspec +3 -2
- metadata +34 -17
- data/.ruby-version +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0af21277c071e1a8a262b1872ba817a9252a27d
|
4
|
+
data.tar.gz: a09c3a12397fb0a5604f20af8d40aa4d341ea93b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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 '
|
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
|
-
|
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(
|
151
|
+
def add_file( zipfile, f )
|
152
152
|
if File.exists?(f)
|
153
153
|
puts "Writing #{f} at #{@dest_dir}" if verbose
|
154
|
-
|
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(
|
162
|
-
|
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
|
@@ -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 '
|
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.
|
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:
|
56
|
+
name: rubyzip
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
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:
|
66
|
+
version: 1.0.0
|
67
67
|
prerelease: false
|
68
68
|
type: :runtime
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
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.
|
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.
|
80
|
+
version: 1.4.6
|
81
81
|
prerelease: false
|
82
82
|
type: :runtime
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: rspec
|
85
85
|
version_requirements: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - '>='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
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:
|
94
|
+
version: 2.13.0
|
95
95
|
prerelease: false
|
96
|
-
type: :
|
96
|
+
type: :development
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: cucumber
|
99
99
|
version_requirements: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - '>='
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: '0'
|
104
104
|
requirement: !ruby/object:Gem::Requirement
|
105
105
|
requirements:
|
106
106
|
- - '>='
|
107
107
|
- !ruby/object:Gem::Version
|
108
|
-
version:
|
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
|
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
jruby-1.7.4
|