asciidoctor-jenkins-extensions 0.5.1 → 0.6.0

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
  SHA256:
3
- metadata.gz: 70e7c7a38724a7df258c5cc39dbf677ce8e406f09dc57e306dea62189f6d8a50
4
- data.tar.gz: f61bfea245012ffd3745fe57746136ebd81a2aa57d9b1484b49908e651e162c7
3
+ metadata.gz: ec8a17619c5b65ec7ed332a59bf905de294e5b7cd1d950422072eccdd7b4092e
4
+ data.tar.gz: 6009a6ccd33eea49ba3f85e078d1fbe9c902632923c46c11af607d9537fa9df0
5
5
  SHA512:
6
- metadata.gz: c6c27234b41610333750e834e2a8bb9cb85c5741cd358db962a3a31f13cc00397e6b338d55598c50b8dc4c0c0042f47120c67c1ac0e4d41f11545bf1a20b86fc
7
- data.tar.gz: a5a24f20aa2b22c6cdff1cb526f3cad92b84d0e9f21679b9cd57cb0e45832d17617a6c195df7ede6bb1f3cb60baa35bfe3205140867003c06cb6886df05e26ea
6
+ metadata.gz: db7430bcc95d49d7354d81b3bdc107c66c98891b4e8b93acb59db32245735cc5a24fc812569b51c477e9bfa55c853259295a90679da07a37b4c92940d9ba0e91
7
+ data.tar.gz: c271f1b1ff2ef9793a30ba6503057aa245634b90d9c83eaa60b9a97ea0bdc007822b18fae11acf6908b47f5c9d682dd26ddf0427cdd23d0d9165d734fe918a98
@@ -30,7 +30,7 @@ formatting in Jenkins-related content.
30
30
  spec.add_dependency 'coderay', '~> 1.1.1'
31
31
  spec.add_dependency 'colorize', '~> 0.8.1'
32
32
 
33
- spec.add_development_dependency "bundler", "~> 1.11"
33
+ spec.add_development_dependency "bundler", "~> 2.0"
34
34
  spec.add_development_dependency "rake", "~> 10.0"
35
35
  spec.add_development_dependency "rspec"
36
36
  spec.add_development_dependency "rspec-its"
@@ -20,6 +20,14 @@ require 'asciidoctor/extensions'
20
20
  # jenkinsdoc:git:hudson.plugins.git.GitSCM[some label]
21
21
  # jenkinsdoc:git:hudson.plugins.git.GitSCM#anchor[]
22
22
  # jenkinsdoc:git:hudson.plugins.git.GitSCM#anchor[some label]
23
+ #
24
+ #
25
+ # For component Javadoc:
26
+ #
27
+ # jenkinsdoc:component:remoting:hudson.remoting.Channel[]
28
+ # jenkinsdoc:component:remoting:hudson.remoting.Channel[some label]
29
+ # jenkinsdoc:component:remoting:hudson.remoting.Channel#anchor[]
30
+ # jenkinsdoc:component:remoting:hudson.remoting.Channel#anchor[some label]
23
31
 
24
32
  Asciidoctor::Extensions.register do
25
33
  inline_macro do
@@ -29,8 +37,13 @@ Asciidoctor::Extensions.register do
29
37
  process do |parent, target, attrs|
30
38
 
31
39
  if target.include? ":"
32
- parts = target.split(':', 2)
33
- plugin = parts.first
40
+ parts = target.split(':', 3)
41
+
42
+ if parts.first == "component"
43
+ component = parts[1]
44
+ else
45
+ plugin = parts.first
46
+ end
34
47
  target = parts.last
35
48
  end
36
49
  classname = label = title = target
@@ -43,6 +56,13 @@ Asciidoctor::Extensions.register do
43
56
  classname.split('.').each do |part|
44
57
  if is_package && /[[:lower:]]/.match(part[0])
45
58
  package_parts.push(part)
59
+ elsif match = /(.*)#/.match(part)
60
+ class_part = match.captures
61
+ simpleclass_parts.push(class_part)
62
+ is_package = false
63
+
64
+ # escape once fragment has been found, required for complex fragments that contain a '.'
65
+ break
46
66
  else
47
67
  is_package = false
48
68
  simpleclass_parts.push(part)
@@ -52,22 +72,25 @@ Asciidoctor::Extensions.register do
52
72
  package = package_parts.join('.')
53
73
  simpleclass = simpleclass_parts.join('.')
54
74
 
55
- if package.length > 0 || plugin
75
+ if package.length > 0 || plugin || component
56
76
  classname = classname.gsub(/#.*/, '')
57
77
  classurl = package.gsub(/\./, '/') + '/' + simpleclass + ".html"
58
78
 
59
- classfrag = (target.include? "#") ? '#' + target.gsub(/.*#/, '') : ''
79
+ classfrag = (target.include? "#") ? '#' + target.gsub(/.*#/, '').gsub(/\(\)/, '--') : ''
60
80
 
61
81
  if plugin
62
82
  label = (attrs.has_key? 'label') ? attrs['label'] : %(#{classname} in #{plugin})
63
- target = %(http://javadoc.jenkins.io/plugin/#{plugin}/#{classurl}#{classfrag})
83
+ target = %(https://javadoc.jenkins.io/plugin/#{plugin}/#{classurl}#{classfrag})
84
+ elsif component
85
+ label = (attrs.has_key? 'label') ? attrs['label'] : %(#{classname} in #{component})
86
+ target = %(https://javadoc.jenkins.io/component/#{component}/#{classurl}#{classfrag})
64
87
  else
65
88
  label = (attrs.has_key? 'label') ? attrs['label'] : classname
66
- target = %(http://javadoc.jenkins.io/#{classurl}#{classfrag})
89
+ target = %(https://javadoc.jenkins.io/#{classurl}#{classfrag})
67
90
  end
68
91
  else
69
92
  label = (attrs.has_key? 'label') ? attrs['label'] : classname
70
- target = %(http://javadoc.jenkins.io/byShortName/#{classname})
93
+ target = %(https://javadoc.jenkins.io/byShortName/#{classname})
71
94
  end
72
95
 
73
96
  title = %(Javadoc for #{classname})
@@ -92,8 +115,16 @@ Asciidoctor::Extensions.register do
92
115
  is_package = true
93
116
 
94
117
  classname.split('.').each do |part|
118
+ match = /(.*)#/.match(part)
95
119
  if is_package && /[[:lower:]]/.match(part[0])
96
120
  package_parts.push(part)
121
+ elsif match = /(.*)#/.match(part)
122
+ class_part = match.captures
123
+ simpleclass_parts.push(class_part)
124
+ is_package = false
125
+
126
+ # escape once fragment has been found, required for complex fragments that contain a '.'
127
+ break
97
128
  else
98
129
  is_package = false
99
130
  simpleclass_parts.push(part)
@@ -106,9 +137,9 @@ Asciidoctor::Extensions.register do
106
137
  classname = target.gsub(/#.*/, '')
107
138
  classurl = package.gsub(/\./, '/') + '/' + simpleclass + ".html"
108
139
 
109
- classfrag = (target.include? "#") ? '#' + target.gsub(/.*#/, '') : ''
140
+ classfrag = (target.include? "#") ? '#' + target.gsub(/.*#/, '').gsub(/\(\)/, '--') : ''
110
141
  label = (attrs.has_key? 'label') ? attrs['label'] : classname
111
- target = %(http://stapler.kohsuke.org/apidocs/#{classurl}#{classfrag})
142
+ target = %(https://stapler.kohsuke.org/apidocs/#{classurl}#{classfrag})
112
143
 
113
144
  title = %(Javadoc for #{classname})
114
145
 
@@ -135,6 +166,13 @@ Asciidoctor::Extensions.register do
135
166
  classname.split('.').each do |part|
136
167
  if is_package && /[[:lower:]]/.match(part[0])
137
168
  package_parts.push(part)
169
+ elsif match = /(.*)#/.match(part)
170
+ class_part = match.captures
171
+ simpleclass_parts.push(class_part)
172
+ is_package = false
173
+
174
+ # escape once fragment has been found, required for complex fragments that contain a '.'
175
+ break
138
176
  else
139
177
  is_package = false
140
178
  simpleclass_parts.push(part)
@@ -147,9 +185,9 @@ Asciidoctor::Extensions.register do
147
185
  classname = target.gsub(/#.*/, '')
148
186
  classurl = package.gsub(/\./, '/') + '/' + simpleclass + ".html"
149
187
 
150
- classfrag = (target.include? "#") ? '#' + target.gsub(/.*#/, '') : ''
188
+ classfrag = (target.include? "#") ? '#' + target.gsub(/.*#/, '').gsub(/\(\)/, '--') : ''
151
189
  label = (attrs.has_key? 'label') ? attrs['label'] : classname
152
- target = %(http://docs.oracle.com/javase/7/docs/api/#{classurl}#{classfrag})
190
+ target = %(https://docs.oracle.com/javase/8/docs/api/#{classurl}#{classfrag})
153
191
 
154
192
  title = %(Javadoc for #{classname})
155
193
 
@@ -1,7 +1,7 @@
1
1
  module Asciidoctor
2
2
  module Jenkins
3
3
  module Extensions
4
- VERSION = "0.5.1"
4
+ VERSION = "0.6.0"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asciidoctor-jenkins-extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - R. Tyler Croy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-19 00:00:00.000000000 Z
11
+ date: 2019-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.11'
61
+ version: '2.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.11'
68
+ version: '2.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement