jdt 0.0.2 → 0.0.3
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/.gitignore +1 -0
- data/Gemfile.lock +11 -5
- data/bin/jdt +3 -16
- data/cucumber.yml +0 -0
- data/features/clean.feature +2 -0
- data/features/find.feature +19 -0
- data/features/manifest.feature +17 -19
- data/features/new.feature +9 -94
- data/features/release.feature +0 -7
- data/features/status.feature +47 -10
- data/jdt.gemspec +2 -1
- data/lib/jdt/cli.rb +2 -1
- data/lib/jdt/commands/build.rb +10 -0
- data/lib/jdt/commands/new.rb +38 -16
- data/lib/jdt/config.rb +77 -0
- data/lib/jdt/generator/component_generator.rb +92 -0
- data/lib/jdt/generator/generator.rb +23 -232
- data/lib/jdt/generator/language_generator.rb +21 -0
- data/lib/jdt/generator/library_generator.rb +29 -0
- data/lib/jdt/generator/module_generator.rb +29 -0
- data/lib/jdt/generator/plugin_generator.rb +24 -0
- data/lib/jdt/generator/template_generator.rb +25 -0
- data/lib/jdt/generator/templates/{access.xml.erb → component/access.xml.erb} +0 -0
- data/lib/jdt/generator/templates/{config.xml.erb → component/config.xml.erb} +0 -0
- data/lib/jdt/generator/templates/{controller.php.erb → component/controller.php.erb} +0 -0
- data/lib/jdt/generator/templates/{dummy_html.erb → component/dummy_html.erb} +0 -0
- data/lib/jdt/generator/templates/{entry.erb → component/entry.erb} +0 -0
- data/lib/jdt/generator/templates/library/CHANGELOG.erb +0 -0
- data/lib/jdt/generator/templates/library/README.erb +7 -0
- data/lib/jdt/generator/templates/library/entry.php.erb +4 -0
- data/lib/jdt/generator/templates/library/manifest.xml.erb +32 -0
- data/lib/jdt/generator.rb +7 -1
- data/lib/jdt/manifest/build.rb +57 -15
- data/lib/jdt/manifest/find.rb +23 -4
- data/lib/jdt/manifest/secure.rb +3 -27
- data/lib/jdt/manifest/xslts/pretty_print.xsl +7 -43
- data/lib/jdt/util.rb +4 -0
- data/lib/jdt/version.rb +1 -1
- data/lib/jdt/xampp.rb +109 -0
- metadata +47 -23
- data/lib/jdt/generator/templates/manifest.xml.erb +0 -59
- data/lib/jdt/generator/templates/script.php.erb +0 -66
- data/lib/not_yet_added/xampp.rb +0 -82
@@ -1,261 +1,52 @@
|
|
1
1
|
require 'thor'
|
2
|
+
require 'thor/actions'
|
2
3
|
require 'date'
|
3
4
|
require 'nokogiri'
|
4
5
|
|
5
6
|
module Jdt
|
6
7
|
|
7
|
-
class ExtensionTypeNotFoundError < RuntimeError;
|
8
|
-
end
|
9
|
-
|
10
8
|
class Generator < Thor
|
11
9
|
include Thor::Actions
|
12
10
|
|
13
|
-
# include templates directory
|
14
|
-
def self.source_root
|
15
|
-
File.dirname(__FILE__)
|
16
|
-
end
|
17
|
-
|
18
11
|
attr_accessor :name, :author, :description, :creation_date, :location
|
19
12
|
|
20
|
-
|
13
|
+
desc "generate NAME", "generate using name"
|
14
|
+
|
15
|
+
def generate(name)
|
16
|
+
|
17
|
+
# set up variables with default values
|
21
18
|
@name = name
|
22
19
|
@version = "0.0.1"
|
23
20
|
@author = "AUTHOR"
|
24
21
|
@description = "DESCRIPTION"
|
25
22
|
@creation_date = "#{Date::MONTHNAMES[Time.now.month]} #{Time.now.year}"
|
26
23
|
@location = "."
|
27
|
-
end
|
28
24
|
|
29
|
-
|
30
|
-
def generate
|
31
|
-
# create directory
|
25
|
+
# create directory and files which every extension needs
|
32
26
|
empty_directory(prefixed_name)
|
33
|
-
|
34
|
-
#
|
35
|
-
|
36
|
-
|
37
|
-
def type
|
38
|
-
throw NoMethodError
|
39
|
-
end
|
40
|
-
|
41
|
-
def type_short
|
42
|
-
throw NoMethodError
|
27
|
+
template("README.erb", "#{prefixed_name}/README")
|
28
|
+
#template("LICENSE.erb", "#{prefixed_name}/LICENSE")
|
29
|
+
template("CHANGELOG.erb", "#{prefixed_name}/CHANGELOG")
|
30
|
+
template("manifest.xml.erb", "#{prefixed_name}/manifest.xml")
|
43
31
|
end
|
44
32
|
|
45
|
-
def self.find(type, name)
|
46
33
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
ModuleGenerator.new(name)
|
51
|
-
elsif(type == :plugin)
|
52
|
-
PluginGenerator.new(name)
|
53
|
-
elsif(type == :library)
|
54
|
-
LibraryGenerator.new(name)
|
55
|
-
elsif(type == :template)
|
56
|
-
TemplateGenerator.new(name)
|
57
|
-
elsif(type == :language)
|
58
|
-
LanguageGenerator.new(name)
|
59
|
-
else
|
60
|
-
raise ExtensionTypeNotFoundError
|
34
|
+
no_tasks {
|
35
|
+
def type
|
36
|
+
throw NoMethodError
|
61
37
|
end
|
62
38
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
"#{type_short}_#{name}"
|
67
|
-
end
|
68
|
-
|
69
|
-
def folder
|
70
|
-
"#{location}/#{prefixed_name}"
|
71
|
-
end
|
72
|
-
}
|
73
|
-
end
|
74
|
-
|
75
|
-
class LanguageGenerator < Generator
|
76
|
-
no_tasks{
|
77
|
-
def generate
|
78
|
-
super
|
79
|
-
|
80
|
-
end
|
81
|
-
|
82
|
-
def type
|
83
|
-
"language"
|
84
|
-
end
|
85
|
-
|
86
|
-
def type_short
|
87
|
-
"lang"
|
88
|
-
end
|
89
|
-
}
|
90
|
-
end
|
91
|
-
|
92
|
-
class TemplateGenerator < Generator
|
93
|
-
no_tasks{
|
94
|
-
def generate
|
95
|
-
super
|
96
|
-
|
97
|
-
#create empty directory
|
98
|
-
empty_directory("#{folder}/css")
|
99
|
-
empty_directory("#{folder}/html")
|
100
|
-
empty_directory("#{folder}/images")
|
101
|
-
end
|
102
|
-
|
103
|
-
def type
|
104
|
-
"template"
|
105
|
-
end
|
106
|
-
|
107
|
-
def type_short
|
108
|
-
"tpl"
|
109
|
-
end
|
110
|
-
}
|
111
|
-
end
|
112
|
-
|
113
|
-
class LibraryGenerator < Generator
|
114
|
-
no_tasks{
|
115
|
-
def generate
|
116
|
-
super
|
117
|
-
end
|
118
|
-
|
119
|
-
def type
|
120
|
-
"library"
|
121
|
-
end
|
122
|
-
|
123
|
-
def type_short
|
124
|
-
"lib"
|
125
|
-
end
|
126
|
-
}
|
127
|
-
end
|
128
|
-
|
129
|
-
class PluginGenerator < Generator
|
130
|
-
no_tasks{
|
131
|
-
def generate
|
132
|
-
super
|
133
|
-
|
134
|
-
# create files
|
135
|
-
template("templates/plugin/manifest.xml.erb", "#{folder}/#{prefixed_name}.xml")
|
136
|
-
template("templates/plugin/main.php.erb", "#{folder}/#{prefixed_name}.php")
|
137
|
-
end
|
138
|
-
|
139
|
-
def type
|
140
|
-
"plugin"
|
141
|
-
end
|
142
|
-
|
143
|
-
def type_short
|
144
|
-
"plg"
|
145
|
-
end
|
146
|
-
}
|
147
|
-
end
|
148
|
-
|
149
|
-
class ModuleGenerator < Generator
|
150
|
-
no_tasks{
|
151
|
-
def generate
|
152
|
-
super
|
153
|
-
|
154
|
-
# create sub directories
|
155
|
-
empty_directory("#{folder}/tmpl")
|
156
|
-
|
157
|
-
# create files
|
158
|
-
template("templates/module/manifest.xml.erb", "#{folder}/#{prefixed_name}.xml")
|
159
|
-
template("templates/module/mod_name.php.erb", "#{folder}/#{prefixed_name}.php")
|
160
|
-
template("templates/module/helper.php.erb", "#{folder}/helper.php")
|
161
|
-
template("templates/module/tmpl/default.php.erb", "#{folder}/tmpl/default.php")
|
162
|
-
end
|
163
|
-
|
164
|
-
def type
|
165
|
-
"module"
|
166
|
-
end
|
167
|
-
|
168
|
-
def type_short
|
169
|
-
"mod"
|
170
|
-
end
|
171
|
-
}
|
172
|
-
end
|
173
|
-
|
174
|
-
class ComponentGenerator < Generator
|
175
|
-
no_tasks{
|
176
|
-
def generate
|
177
|
-
super
|
178
|
-
|
179
|
-
view_name = "#{name}"
|
180
|
-
|
181
|
-
empty_directory("#{folder}")
|
182
|
-
template('templates/component/manifest.xml.erb', "#{folder}/manifest.xml")
|
183
|
-
template('templates/component/script.php.erb', "#{folder}/script.php")
|
184
|
-
|
185
|
-
# site
|
186
|
-
site_dir = "#{folder}/site"
|
187
|
-
empty_directory("#{site_dir}")
|
188
|
-
template('templates/component/site/com_name.php.erb', "#{site_dir}/#{prefixed_name}.php")
|
189
|
-
template('templates/component/site/controller.php.erb', "#{site_dir}/controller.php")
|
190
|
-
|
191
|
-
#site view
|
192
|
-
empty_directory("#{site_dir}/views/")
|
193
|
-
empty_directory("#{site_dir}/views/#{view_name}")
|
194
|
-
template('templates/component/site/views/view_name/view.html.erb', "#{site_dir}/views/#{view_name}/view.html.php")
|
195
|
-
empty_directory("#{site_dir}/views/#{view_name}/tmpl")
|
196
|
-
template('templates/component/site/views/view_name/tmpl/default.php.erb', "#{site_dir}/views/#{view_name}/tmpl/default.php")
|
197
|
-
template('templates/component/site/views/view_name/tmpl/default.xml.erb', "#{site_dir}/views/#{view_name}/tmpl/default.xml")
|
198
|
-
|
199
|
-
#site models
|
200
|
-
empty_directory("#{site_dir}/models/")
|
201
|
-
template('templates/component/site/models/com_model_name.erb', "#{site_dir}/models/com_#{name}.php")
|
202
|
-
|
203
|
-
#site controllers
|
204
|
-
empty_directory("#{site_dir}/controllers/")
|
205
|
-
|
206
|
-
#site language
|
207
|
-
empty_directory("#{site_dir}/language/")
|
208
|
-
empty_directory("#{site_dir}/language/en-GB/")
|
209
|
-
empty_directory("#{site_dir}/language/de-DE/")
|
210
|
-
|
211
|
-
# admin
|
212
|
-
admin_dir = "#{folder}/admin"
|
213
|
-
empty_directory("#{admin_dir}")
|
214
|
-
template('templates/component/admin/access.xml.erb', "#{admin_dir}/access.xml")
|
215
|
-
template('templates/component/admin/config.xml.erb', "#{admin_dir}/config.xml")
|
216
|
-
template('templates/component/admin/com_name.php.erb', "#{admin_dir}/com_#{name}.php")
|
217
|
-
template('templates/component/admin/controller.php.erb', "#{admin_dir}/controller.php")
|
218
|
-
|
219
|
-
#admin views
|
220
|
-
empty_directory("#{admin_dir}/views/")
|
221
|
-
empty_directory("#{admin_dir}/views/#{view_name}")
|
222
|
-
template('templates/component/admin/views/view_name/view.html.erb', "#{admin_dir}/views/#{view_name}/view.html.php")
|
223
|
-
empty_directory("#{admin_dir}/views/#{view_name}/tmpl")
|
224
|
-
template('templates/component/admin/views/view_name/tmpl/default.php.erb', "#{admin_dir}/views/#{view_name}/tmpl/default.php")
|
225
|
-
|
226
|
-
#admin models
|
227
|
-
empty_directory("#{admin_dir}/models/")
|
228
|
-
empty_directory("#{admin_dir}/models/forms/")
|
229
|
-
empty_directory("#{admin_dir}/models/rules/")
|
230
|
-
empty_directory("#{admin_dir}/models/fields/")
|
231
|
-
|
232
|
-
#admin controllers
|
233
|
-
empty_directory("#{admin_dir}/controllers/")
|
234
|
-
|
235
|
-
#admin helpers
|
236
|
-
empty_directory("#{admin_dir}/helpers/")
|
237
|
-
|
238
|
-
#admin tables
|
239
|
-
empty_directory("#{admin_dir}/tables/")
|
240
|
-
|
241
|
-
#admin language
|
242
|
-
empty_directory("#{admin_dir}/language/")
|
243
|
-
empty_directory("#{admin_dir}/language/en-GB/")
|
244
|
-
empty_directory("#{admin_dir}/language/de-DE/")
|
245
|
-
|
246
|
-
#admin sql
|
247
|
-
empty_directory("#{admin_dir}/sql/")
|
248
|
-
empty_directory("#{admin_dir}/sql/updates/")
|
249
|
-
|
250
|
-
end
|
39
|
+
def type_short
|
40
|
+
throw NoMethodError
|
41
|
+
end
|
251
42
|
|
252
|
-
|
253
|
-
|
254
|
-
|
43
|
+
def prefixed_name
|
44
|
+
"#{type_short}_#{name}"
|
45
|
+
end
|
255
46
|
|
256
|
-
|
257
|
-
|
258
|
-
|
47
|
+
def folder
|
48
|
+
"#{location}/#{prefixed_name}"
|
49
|
+
end
|
259
50
|
}
|
260
51
|
end
|
261
52
|
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Jdt
|
2
|
+
|
3
|
+
|
4
|
+
class LibraryGenerator < Generator
|
5
|
+
|
6
|
+
# include templates directory
|
7
|
+
def self.source_root
|
8
|
+
"#{File.dirname(__FILE__)}/templates/library"
|
9
|
+
end
|
10
|
+
|
11
|
+
def generate(name)
|
12
|
+
super
|
13
|
+
|
14
|
+
empty_directory("#{prefixed_name}/lib")
|
15
|
+
template("entry.php","#{prefixed_name}/#{prefixed_name}.php")
|
16
|
+
end
|
17
|
+
|
18
|
+
no_tasks {
|
19
|
+
def type
|
20
|
+
"library"
|
21
|
+
end
|
22
|
+
|
23
|
+
def type_short
|
24
|
+
"lib"
|
25
|
+
end
|
26
|
+
}
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Jdt
|
2
|
+
|
3
|
+
class ModuleGenerator < Generator
|
4
|
+
|
5
|
+
def generate(name)
|
6
|
+
super
|
7
|
+
|
8
|
+
# create sub directories
|
9
|
+
empty_directory("#{folder}/tmpl")
|
10
|
+
|
11
|
+
# create files
|
12
|
+
template("templates/module/manifest.xml.erb", "#{folder}/#{prefixed_name}.xml")
|
13
|
+
template("templates/module/mod_name.php.erb", "#{folder}/#{prefixed_name}.php")
|
14
|
+
template("templates/module/helper.php.erb", "#{folder}/helper.php")
|
15
|
+
template("templates/module/tmpl/default.php.erb", "#{folder}/tmpl/default.php")
|
16
|
+
end
|
17
|
+
|
18
|
+
no_tasks {
|
19
|
+
def type
|
20
|
+
"module"
|
21
|
+
end
|
22
|
+
|
23
|
+
def type_short
|
24
|
+
"mod"
|
25
|
+
end
|
26
|
+
}
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Jdt
|
2
|
+
|
3
|
+
class PluginGenerator < Generator
|
4
|
+
|
5
|
+
def generate(name)
|
6
|
+
super
|
7
|
+
|
8
|
+
# create files
|
9
|
+
template("templates/plugin/manifest.xml.erb", "#{folder}/#{prefixed_name}.xml")
|
10
|
+
template("templates/plugin/main.php.erb", "#{folder}/#{prefixed_name}.php")
|
11
|
+
end
|
12
|
+
|
13
|
+
no_tasks {
|
14
|
+
def type
|
15
|
+
"plugin"
|
16
|
+
end
|
17
|
+
|
18
|
+
def type_short
|
19
|
+
"plg"
|
20
|
+
end
|
21
|
+
}
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Jdt
|
2
|
+
|
3
|
+
class TemplateGenerator < Generator
|
4
|
+
|
5
|
+
def generate(name)
|
6
|
+
super
|
7
|
+
|
8
|
+
#create empty directory
|
9
|
+
empty_directory("#{folder}/css")
|
10
|
+
empty_directory("#{folder}/html")
|
11
|
+
empty_directory("#{folder}/images")
|
12
|
+
end
|
13
|
+
|
14
|
+
no_tasks {
|
15
|
+
def type
|
16
|
+
"template"
|
17
|
+
end
|
18
|
+
|
19
|
+
def type_short
|
20
|
+
"tpl"
|
21
|
+
end
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<extension type="library" version="1.7.0" method="upgrade">
|
3
|
+
|
4
|
+
<name><%= @name %></name>
|
5
|
+
<version><%= @version %></version>
|
6
|
+
|
7
|
+
<creationDate><%= @creation_date %></creationDate>
|
8
|
+
<homepage>https://www.github.com/simonharrer/activerecord</homepage>
|
9
|
+
<description><%= @description %></description>
|
10
|
+
|
11
|
+
<!-- optional attributes
|
12
|
+
<author><%= @author %></author>
|
13
|
+
<authorEmail>email.to@author.com</authorEmail>
|
14
|
+
<authorUrl>http://www.url.to/author</authorUrl>
|
15
|
+
|
16
|
+
<license>LICENSE</license>
|
17
|
+
<copyright>COPYRIGHT</copyright>
|
18
|
+
-->
|
19
|
+
|
20
|
+
<!-- Library specific attributes -->
|
21
|
+
<libraryname><%= @libraryname %></libraryname>
|
22
|
+
|
23
|
+
<!-- Copy Section -->
|
24
|
+
<files>
|
25
|
+
<filename><%= @name %>.php</filename>
|
26
|
+
<filename>README</filename>
|
27
|
+
<filename>CHANGELOG</filename>
|
28
|
+
<folder>lib</folder>
|
29
|
+
</files>
|
30
|
+
|
31
|
+
|
32
|
+
</extension>
|
data/lib/jdt/generator.rb
CHANGED
@@ -1 +1,7 @@
|
|
1
|
-
require "jdt/generator/generator"
|
1
|
+
require "jdt/generator/generator"
|
2
|
+
require "jdt/generator/component_generator"
|
3
|
+
require "jdt/generator/language_generator"
|
4
|
+
require "jdt/generator/library_generator"
|
5
|
+
require "jdt/generator/module_generator"
|
6
|
+
require "jdt/generator/plugin_generator"
|
7
|
+
require "jdt/generator/template_generator"
|
data/lib/jdt/manifest/build.rb
CHANGED
@@ -22,28 +22,18 @@ module Jdt
|
|
22
22
|
|
23
23
|
def zip(type)
|
24
24
|
|
25
|
-
|
26
|
-
zip_file_name = zip_file
|
27
|
-
elsif (type == :build)
|
28
|
-
zip_file_name = zip_file_with_timestamp
|
29
|
-
else
|
30
|
-
raise ArgumentError("Type is not either :release or :build, but #{type}")
|
31
|
-
end
|
25
|
+
zip_file_name = zip_file_name(type)
|
32
26
|
|
33
27
|
# ensure that the file does not exist
|
34
|
-
|
35
|
-
File.delete(zip_file_name)
|
36
|
-
end
|
28
|
+
ensure_zip_file_does_not_exist(zip_file_name)
|
37
29
|
|
38
30
|
# ensure that directory exists
|
39
|
-
|
40
|
-
if(not File.directory?(dir))
|
41
|
-
Dir.mkdir(dir)
|
42
|
-
end
|
31
|
+
ensure_zip_dir_exists(zip_file_name)
|
43
32
|
|
44
33
|
# create zip file
|
45
34
|
Zip::ZipFile.open(zip_file_name, Zip::ZipFile::CREATE) do |zos|
|
46
35
|
add_files_to_zip(zos)
|
36
|
+
add_index_html_to_every_dir(zos)
|
47
37
|
end
|
48
38
|
|
49
39
|
# return zip file
|
@@ -52,6 +42,30 @@ module Jdt
|
|
52
42
|
|
53
43
|
private
|
54
44
|
|
45
|
+
def ensure_zip_dir_exists(zip_file_name)
|
46
|
+
dir = File.dirname(zip_file_name)
|
47
|
+
if (not File.directory?(dir))
|
48
|
+
Dir.mkdir(dir)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def ensure_zip_file_does_not_exist(zip_file_name)
|
53
|
+
if (File.exists?(zip_file_name))
|
54
|
+
File.delete(zip_file_name)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def zip_file_name(type)
|
59
|
+
if (type == :release)
|
60
|
+
zip_file_name = zip_file
|
61
|
+
elsif (type == :build)
|
62
|
+
zip_file_name = zip_file_with_timestamp
|
63
|
+
else
|
64
|
+
raise ArgumentError("Type is not either :release or :build, but #{type}")
|
65
|
+
end
|
66
|
+
zip_file_name
|
67
|
+
end
|
68
|
+
|
55
69
|
def zip_folder
|
56
70
|
"#{@manifest.folder}/zip"
|
57
71
|
end
|
@@ -68,7 +82,7 @@ module Jdt
|
|
68
82
|
Time.now.strftime("%Y%m%d%H%M%S%L")
|
69
83
|
end
|
70
84
|
|
71
|
-
|
85
|
+
def add_files_to_zip(zip)
|
72
86
|
|
73
87
|
# add manifest
|
74
88
|
add_manifest(zip)
|
@@ -99,7 +113,35 @@ module Jdt
|
|
99
113
|
end
|
100
114
|
end
|
101
115
|
|
116
|
+
def add_index_html_to_every_dir(zos)
|
117
|
+
# TODO add a index.html file containing only the line <html><body bgcolor="#FFFFFF"></body></html> at every directory within the zip file
|
118
|
+
end
|
119
|
+
|
120
|
+
end
|
102
121
|
|
122
|
+
class IndexCreater
|
123
|
+
include Thor::Actions
|
124
|
+
|
125
|
+
def initialize (path)
|
126
|
+
@path = path
|
127
|
+
end
|
128
|
+
|
129
|
+
def create_index
|
130
|
+
create_index_recursive(@path)
|
131
|
+
end
|
132
|
+
|
133
|
+
private
|
134
|
+
|
135
|
+
def create_index_recursive (path)
|
136
|
+
template('/templates/component/index.html.erb', "#{path}/index.html")
|
137
|
+
Dir.chdir("#{path}") do
|
138
|
+
Dir.glob("*").each do |dir|
|
139
|
+
if File.directory?(dir)
|
140
|
+
create_index_recursive("#{path}/#{dir}")
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
103
145
|
|
104
146
|
end
|
105
147
|
|
data/lib/jdt/manifest/find.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require "pathname"
|
2
|
+
|
1
3
|
module Jdt
|
2
4
|
|
3
5
|
class Manifest
|
@@ -7,7 +9,7 @@ module Jdt
|
|
7
9
|
end
|
8
10
|
|
9
11
|
def to_specific
|
10
|
-
if(ext_type == "library")
|
12
|
+
if (ext_type == "library")
|
11
13
|
LibraryManifest.new(file)
|
12
14
|
else
|
13
15
|
raise RuntimeError("the current type #{ext_type} is not supported")
|
@@ -36,9 +38,26 @@ module Jdt
|
|
36
38
|
|
37
39
|
def retrieve_manifest_path
|
38
40
|
|
39
|
-
|
40
|
-
|
41
|
-
|
41
|
+
manifest_files = []
|
42
|
+
|
43
|
+
Pathname.new(File.expand_path(path)).ascend do |current_path|
|
44
|
+
|
45
|
+
# create list of possible files for the manifest
|
46
|
+
current_folder = current_path
|
47
|
+
current_folder_name = File.basename(current_folder)
|
48
|
+
|
49
|
+
manifest_named_after_directory = "#{current_folder}/#{current_folder_name}.xml"
|
50
|
+
manifest_with_fixed_name = "#{current_folder}/manifest.xml"
|
51
|
+
manifest_files << manifest_with_fixed_name
|
52
|
+
manifest_files << manifest_named_after_directory
|
53
|
+
|
54
|
+
if (current_folder_name.include? "_")
|
55
|
+
folder_name_without_prefix = current_folder_name.split("_")[1..-1].join("_")
|
56
|
+
|
57
|
+
manifest_files << "#{current_folder}/#{folder_name_without_prefix}.xml"
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
42
61
|
|
43
62
|
# evaluate each possible manifest file
|
44
63
|
manifest_files.each do |file|
|
data/lib/jdt/manifest/secure.rb
CHANGED
@@ -5,33 +5,9 @@ module Jdt
|
|
5
5
|
class Manifest
|
6
6
|
|
7
7
|
def secure
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
end
|
12
|
-
|
13
|
-
class IndexCreater
|
14
|
-
include Thor::Actions
|
15
|
-
|
16
|
-
def initialize (path)
|
17
|
-
@path = path
|
18
|
-
end
|
19
|
-
|
20
|
-
def create_index
|
21
|
-
create_index_recursive(@path)
|
22
|
-
end
|
23
|
-
|
24
|
-
private
|
25
|
-
|
26
|
-
def create_index_recursive (path)
|
27
|
-
template('/templates/component/index.html.erb', "#{path}/index.html")
|
28
|
-
Dir.chdir("#{path}") do
|
29
|
-
Dir.glob("*").each do |dir|
|
30
|
-
if File.directory?(dir)
|
31
|
-
create_index_recursive("#{path}/#{dir}")
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
8
|
+
"do nothing"
|
9
|
+
# TODO check if every file with the ending .php contains the line::::: defined('_JEXEC') or die('Restricted access');
|
10
|
+
# TODO if not, insert this directly after the line containing <?php within the file, including the comment: //No direct access to this file and print which files have been changed.
|
35
11
|
end
|
36
12
|
|
37
13
|
end
|