jenkins-plugin 0.1.7 → 0.1.8
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.
- data/README.md +15 -4
- data/lib/jenkins/plugin/cli/formatting.rb +1 -1
- data/lib/jenkins/plugin/cli/new.rb +25 -0
- data/lib/jenkins/plugin/cli/templates/Gemfile.tt +4 -0
- data/lib/jenkins/plugin/cli/templates/pluginspec.tt +8 -0
- data/lib/jenkins/plugin/cli.rb +2 -4
- data/lib/jenkins/plugin/tools/manifest.rb +1 -1
- data/lib/jenkins/plugin/version.rb +1 -1
- metadata +4 -1
data/README.md
CHANGED
@@ -26,8 +26,16 @@ The gem provides the `jpi` executeable
|
|
26
26
|
jpi server # run a test server with plugin
|
27
27
|
jpi version # show jpi version information
|
28
28
|
|
29
|
-
|
29
|
+
The first thing you'll probably want to do is create a new ruby plugin.
|
30
30
|
|
31
|
+
$ jpi new one-great-plugin
|
32
|
+
create one-great-plugin/Gemfile
|
33
|
+
create one-great-plugin/one-great-plugin.pluginspec
|
34
|
+
|
35
|
+
This will create a minimal plugin project structure, to which you can add later.
|
36
|
+
Once you have your plugin created, you can run a server with it loaded
|
37
|
+
|
38
|
+
$ cd one-great-plugin
|
31
39
|
$ jpi server
|
32
40
|
|
33
41
|
Listening for transport dt_socket at address: 8000
|
@@ -43,9 +51,6 @@ Once you have a plugin project, you can run a Jenkins test server like so:
|
|
43
51
|
INFO: Listed all plugins
|
44
52
|
Sep 19, 2011 12:01:39 PM ruby.RubyRuntimePlugin start
|
45
53
|
INFO: Injecting JRuby into XStream
|
46
|
-
Loading models/builder.rb
|
47
|
-
Loading logging_wrapper.rb
|
48
|
-
Loading root_action.rb
|
49
54
|
Sep 19, 2011 12:01:49 PM jenkins.model.Jenkins$6 onAttained
|
50
55
|
INFO: Prepared all plugins
|
51
56
|
Sep 19, 2011 12:01:49 PM jenkins.model.Jenkins$6 onAttained
|
@@ -61,5 +66,11 @@ Once you have a plugin project, you can run a Jenkins test server like so:
|
|
61
66
|
Sep 19, 2011 12:02:01 PM hudson.WebAppMain$2 run
|
62
67
|
INFO: Jenkins is fully up and running
|
63
68
|
|
69
|
+
Of course, this plugin isn't actually doing anything because we haven't defined any extension
|
70
|
+
points. Let's go ahead and create one of the most common extension points: a `Builder`
|
71
|
+
|
72
|
+
$ jpi generate builder logging
|
73
|
+
TODO: implement generators
|
74
|
+
|
64
75
|
|
65
76
|
|
@@ -37,7 +37,7 @@ module Jenkins
|
|
37
37
|
list = printable_tasks
|
38
38
|
print shell.set_color("jpi", :black, true)
|
39
39
|
shell.say <<-USEAGE
|
40
|
-
- tools to create, build, develop and release Jenkins plugins
|
40
|
+
- tools to create, build, develop and release Jenkins plugins
|
41
41
|
|
42
42
|
Usage: jpi command [arguments] [options]
|
43
43
|
|
@@ -0,0 +1,25 @@
|
|
1
|
+
|
2
|
+
require 'thor/group'
|
3
|
+
|
4
|
+
module Jenkins
|
5
|
+
class Plugin
|
6
|
+
class CLI
|
7
|
+
class New < Thor::Group
|
8
|
+
include Thor::Actions
|
9
|
+
|
10
|
+
source_root File.dirname(__FILE__)
|
11
|
+
|
12
|
+
argument :name
|
13
|
+
|
14
|
+
def create_gemfile
|
15
|
+
template('templates/Gemfile.tt', "#{name}/Gemfile")
|
16
|
+
end
|
17
|
+
|
18
|
+
def create_pluginspec
|
19
|
+
template('templates/pluginspec.tt', "#{name}/#{name}.pluginspec")
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/jenkins/plugin/cli.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
require 'thor'
|
3
3
|
require 'jenkins/plugin/specification'
|
4
4
|
require 'jenkins/plugin/cli/formatting'
|
5
|
+
require 'jenkins/plugin/cli/new'
|
5
6
|
|
6
7
|
|
7
8
|
module Jenkins
|
@@ -9,10 +10,7 @@ module Jenkins
|
|
9
10
|
class CLI < Thor
|
10
11
|
extend Formatting
|
11
12
|
|
12
|
-
|
13
|
-
def new(name)
|
14
|
-
shell.say "TODO: new(#{name})"
|
15
|
-
end
|
13
|
+
register New, "new", "new NAME", "create a new plugin called NAME"
|
16
14
|
|
17
15
|
desc "generate", "generate code for extensions points"
|
18
16
|
def generate
|
@@ -35,7 +35,7 @@ module Jenkins
|
|
35
35
|
io.puts "Lib-Path: #{Dir.pwd}/lib/"
|
36
36
|
io.puts "Models-Path: #{Dir.pwd}/models"
|
37
37
|
# Stapler expects view erb/haml scripts to be in the JVM ClassPath
|
38
|
-
io.puts "Class-Path: #{Dir.pwd}/views"
|
38
|
+
io.puts "Class-Path: #{Dir.pwd}/views" if File.exists?("#{Dir.pwd}/views")
|
39
39
|
# Directory for static images, javascript, css, etc. of this plugin.
|
40
40
|
# The static resources are mapped under #CONTEXTPATH/plugin/SHORTNAME/
|
41
41
|
io.puts "Resource-Path: #{Dir.pwd}/static"
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: jenkins-plugin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.8
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Charles Lowell
|
@@ -109,6 +109,9 @@ files:
|
|
109
109
|
- jenkins-plugin.gemspec
|
110
110
|
- lib/jenkins/plugin/cli.rb
|
111
111
|
- lib/jenkins/plugin/cli/formatting.rb
|
112
|
+
- lib/jenkins/plugin/cli/new.rb
|
113
|
+
- lib/jenkins/plugin/cli/templates/Gemfile.tt
|
114
|
+
- lib/jenkins/plugin/cli/templates/pluginspec.tt
|
112
115
|
- lib/jenkins/plugin/tools/hpi.rb
|
113
116
|
- lib/jenkins/plugin/tools/loadpath.rb
|
114
117
|
- lib/jenkins/plugin/tools/manifest.rb
|