gjp 0.23.0 → 0.24.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.
- data/README.md +6 -6
- data/integration-tests/commons.sh +8 -9
- data/lib/gjp/cli.rb +17 -12
- data/lib/gjp/git.rb +12 -4
- data/lib/gjp/kit_runner.rb +8 -3
- data/lib/gjp/project.rb +32 -2
- data/lib/gjp/spec_generator.rb +26 -10
- data/lib/gjp/version.rb +1 -1
- data/lib/template/{output/.gitignore → gitignore} +1 -1
- data/spec/lib/git_spec.rb +1 -1
- data/spec/lib/kit_runner_spec.rb +4 -4
- data/spec/lib/project_spec.rb +48 -1
- data/spec/lib/spec_generator_spec.rb +1 -1
- metadata +3 -3
data/README.md
CHANGED
@@ -101,7 +101,7 @@ Note that, if the build was unsusccesful, the following command can be used to c
|
|
101
101
|
|
102
102
|
`gjp` expects that all commands needed to build a package are in a `build.sh` script in `src/<package name>`. If you are a Bash user you are lucky - `gjp` can create one for you by looking at your command history! Just type:
|
103
103
|
|
104
|
-
gjp generate-package-script
|
104
|
+
gjp generate-package-script
|
105
105
|
|
106
106
|
Note that `gjp` will substitute the `gjp mvn` calls with equivalent lines that are actually runnable on a build host without `gjp` itself.
|
107
107
|
|
@@ -123,14 +123,14 @@ You can inspect the generated "galaxy-kit.spec" file, but in general you should
|
|
123
123
|
|
124
124
|
You can then generate the project spec and archive files provided you have a pom file (more formats will be supported in future). In this case:
|
125
125
|
|
126
|
-
gjp generate-package-archive
|
127
|
-
gjp generate-package-spec
|
128
|
-
less
|
126
|
+
gjp generate-package-archive
|
127
|
+
gjp generate-package-spec
|
128
|
+
less ../commons-collections.spec
|
129
129
|
|
130
130
|
commons-collection BuldRequires galaxy-kit, its archive contains only source files and it will install any produced .jar file in `/usr/lib/java`.
|
131
131
|
You can also edit the specs file manually if you want. When you later regenerate it, `gjp` will automatically try to reconcile changes with a [three-way merge](http://en.wikipedia.org/wiki/Three-way_merge#Three-way_merge).
|
132
132
|
|
133
|
-
|
133
|
+
OBS users: note that the output/ directory created by gjp can be submitted or used as OBS project. Feel free to replace it with a symlink pointing at your home OBS project, or use symlinks from your OBS project to its contents.
|
134
134
|
|
135
135
|
#### Ant packages
|
136
136
|
|
@@ -179,7 +179,7 @@ You are advised to use [Maven Central](http://search.maven.org/) to search for s
|
|
179
179
|
|
180
180
|
### Troubleshooting
|
181
181
|
|
182
|
-
`gjp` internally uses `git` to keep track of files, any gjp project is actually also a `git` repo. Feel free to navigate it, you can commit, push and pull freely as long as the `gjp` tags are preserved. You can also delete commits and tags, effectively
|
182
|
+
`gjp` internally uses `git` to keep track of files, any gjp project is actually also a `git` repo. Feel free to navigate it, you can commit, push and pull freely as long as the `gjp` tags are preserved. You can also delete commits and tags, effectively rewinding gjp history (just make sure to delete all tags pointing to a certain commit when you discard it).
|
183
183
|
|
184
184
|
## Motivation
|
185
185
|
|
@@ -23,15 +23,14 @@ cd ..
|
|
23
23
|
gjp dry-run
|
24
24
|
cd src/commons-collections/commons-collections-3.2.1-src/
|
25
25
|
gjp mvn package -DskipTests
|
26
|
-
cd ../../..
|
27
26
|
gjp finish
|
28
27
|
|
29
28
|
gjp generate-kit-archive
|
30
29
|
gjp generate-kit-spec
|
31
|
-
|
32
|
-
gjp generate-package-archive
|
33
|
-
gjp generate-package-spec
|
34
|
-
|
30
|
+
gjp generate-package-script
|
31
|
+
gjp generate-package-archive
|
32
|
+
gjp generate-package-spec
|
33
|
+
cd ../../..
|
35
34
|
|
36
35
|
cd src
|
37
36
|
mkdir commons-fileupload
|
@@ -43,14 +42,14 @@ rm commons-fileupload-1.3-src.zip
|
|
43
42
|
gjp dry-run
|
44
43
|
cd commons-fileupload-1.3-src/
|
45
44
|
gjp mvn package -DskipTests
|
46
|
-
cd ../../..
|
47
45
|
gjp finish
|
48
46
|
|
49
47
|
gjp generate-kit-archive -i
|
50
48
|
gjp generate-kit-spec
|
51
|
-
|
52
|
-
gjp generate-package-archive
|
53
|
-
gjp generate-package-spec
|
49
|
+
gjp generate-package-script
|
50
|
+
gjp generate-package-archive
|
51
|
+
gjp generate-package-spec
|
52
|
+
cd ../../..
|
54
53
|
|
55
54
|
|
56
55
|
echo "**************** All Done ****************"
|
data/lib/gjp/cli.rb
CHANGED
@@ -134,12 +134,13 @@ module Gjp
|
|
134
134
|
end
|
135
135
|
|
136
136
|
subcommand "generate-package-script", "Create or refresh a build.sh file for a package" do
|
137
|
-
parameter "
|
137
|
+
parameter "[DIRECTORY]", "path to a package directory (src/<package name>)", :default => "."
|
138
138
|
def execute
|
139
139
|
checking_exceptions do
|
140
140
|
project = Gjp::Project.new(".")
|
141
|
+
package_name = project.get_package_name(directory)
|
141
142
|
history_file = File.join(Dir.home, ".bash_history")
|
142
|
-
result_path, conflict_count = Gjp::ScriptGenerator.new(project, history_file).generate_build_script(
|
143
|
+
result_path, conflict_count = Gjp::ScriptGenerator.new(project, history_file).generate_build_script(package_name)
|
143
144
|
puts "#{format_path(result_path, project)} generated"
|
144
145
|
if conflict_count > 0
|
145
146
|
puts "Warning: #{conflict_count} unresolved conflicts"
|
@@ -150,12 +151,13 @@ module Gjp
|
|
150
151
|
|
151
152
|
subcommand "generate-package-spec", "Create or refresh a spec file for a package" do
|
152
153
|
option ["-f", "--filter"], "FILTER", "filter files to be installed by this spec", :default => "*.jar"
|
153
|
-
parameter "
|
154
|
-
parameter "POM", "a pom file path
|
154
|
+
parameter "[DIRECTORY]", "path to a package directory (src/<package name>)", :default => "."
|
155
|
+
parameter "[POM]", "a pom file path", :default => "pom.xml"
|
155
156
|
def execute
|
156
157
|
checking_exceptions do
|
157
158
|
project = Gjp::Project.new(".")
|
158
|
-
|
159
|
+
package_name = project.get_package_name(directory)
|
160
|
+
result_path, conflict_count = Gjp::SpecGenerator.new(project).generate_package_spec package_name, pom, filter
|
159
161
|
puts "#{format_path(result_path, project)} generated"
|
160
162
|
if conflict_count > 0
|
161
163
|
puts "Warning: #{conflict_count} unresolved conflicts"
|
@@ -165,11 +167,12 @@ module Gjp
|
|
165
167
|
end
|
166
168
|
|
167
169
|
subcommand "generate-package-archive", "Create or refresh a package tarball" do
|
168
|
-
parameter "
|
170
|
+
parameter "[DIRECTORY]", "path to a package directory (src/<package name>)", :default => "."
|
169
171
|
def execute
|
170
172
|
checking_exceptions do
|
171
173
|
project = Gjp::Project.new(".")
|
172
|
-
|
174
|
+
package_name = project.get_package_name(directory)
|
175
|
+
result_path = Gjp::Archiver.new(project).archive_package package_name
|
173
176
|
puts "#{format_path(result_path, project)} generated"
|
174
177
|
end
|
175
178
|
end
|
@@ -271,12 +274,14 @@ module Gjp
|
|
271
274
|
$stderr.puts e
|
272
275
|
rescue Errno::EEXIST => e
|
273
276
|
$stderr.puts e
|
274
|
-
rescue
|
275
|
-
$stderr.puts "
|
276
|
-
rescue
|
277
|
+
rescue NoProjectDirectoryError => e
|
278
|
+
$stderr.puts "#{e.directory} not a gjp project directory, see gjp init"
|
279
|
+
rescue NoPackageDirectoryException => e
|
280
|
+
$stderr.puts "#{e.directory} is not a gjp package directory, see README"
|
281
|
+
rescue GitAlreadyInitedError => e
|
277
282
|
$stderr.puts "This directory is already a gjp project"
|
278
|
-
rescue
|
279
|
-
$stderr.puts "Executable not found in kit/ or any of its subdirectories"
|
283
|
+
rescue ExecutableNotFoundError => e
|
284
|
+
$stderr.puts "Executable #{e.executable} not found in kit/ or any of its subdirectories"
|
280
285
|
end
|
281
286
|
end
|
282
287
|
end
|
data/lib/gjp/git.rb
CHANGED
@@ -18,7 +18,7 @@ module Gjp
|
|
18
18
|
if Dir.exists?(".git") == false
|
19
19
|
`git init`
|
20
20
|
else
|
21
|
-
raise
|
21
|
+
raise GitAlreadyInitedError
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
@@ -80,10 +80,18 @@ module Gjp
|
|
80
80
|
# reverts path contents as per specified tag
|
81
81
|
def revert_whole_directory(path, tag)
|
82
82
|
Dir.chdir(@directory) do
|
83
|
-
|
83
|
+
# reverts added and modified files, both in index and working tree
|
84
84
|
`git checkout -f gjp_#{tag} -- #{path}`
|
85
85
|
|
86
|
-
|
86
|
+
# compute the list of deleted files
|
87
|
+
files_in_tag = `git ls-tree --name-only -r gjp_#{tag} -- #{path}`.split("\n")
|
88
|
+
files_in_head = `git ls-tree --name-only -r HEAD -- #{path}`.split("\n")
|
89
|
+
files_added_after_head = `git ls-files -o -- #{path}`.split("\n")
|
90
|
+
files_to_delete = files_in_head - files_in_tag + files_added_after_head
|
91
|
+
|
92
|
+
files_to_delete.each do |file|
|
93
|
+
File.delete(file)
|
94
|
+
end
|
87
95
|
end
|
88
96
|
end
|
89
97
|
|
@@ -115,6 +123,6 @@ module Gjp
|
|
115
123
|
end
|
116
124
|
end
|
117
125
|
|
118
|
-
class
|
126
|
+
class GitAlreadyInitedError < StandardError
|
119
127
|
end
|
120
128
|
end
|
data/lib/gjp/kit_runner.rb
CHANGED
@@ -50,7 +50,7 @@ module Gjp
|
|
50
50
|
|
51
51
|
"#{mvn_path} -Dmaven.repo.local=#{repo_path} -s#{config_path}"
|
52
52
|
else
|
53
|
-
raise
|
53
|
+
raise ExecutableNotFoundError.new("mvn")
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
@@ -69,11 +69,16 @@ module Gjp
|
|
69
69
|
|
70
70
|
"#{ant_path}"
|
71
71
|
else
|
72
|
-
raise
|
72
|
+
raise ExecutableNotFoundError.new("ant")
|
73
73
|
end
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
77
|
-
class
|
77
|
+
class ExecutableNotFoundError < Exception
|
78
|
+
attr_reader :executable
|
79
|
+
|
80
|
+
def initialize(executable)
|
81
|
+
@executable = executable
|
82
|
+
end
|
78
83
|
end
|
79
84
|
end
|
data/lib/gjp/project.rb
CHANGED
@@ -30,7 +30,7 @@ module Gjp
|
|
30
30
|
result = File.expand_path("..", result)
|
31
31
|
end
|
32
32
|
|
33
|
-
raise
|
33
|
+
raise NoProjectDirectoryError.new(starting_dir) if result == "/"
|
34
34
|
|
35
35
|
result
|
36
36
|
end
|
@@ -42,6 +42,23 @@ module Gjp
|
|
42
42
|
File.directory?(File.join(dir, ".git"))
|
43
43
|
end
|
44
44
|
|
45
|
+
# returns the package name corresponding to the specified dir, if any
|
46
|
+
# raises NoPackageDirectoryError if dir is not a (sub)directory of a package
|
47
|
+
def get_package_name(dir)
|
48
|
+
begin
|
49
|
+
dir_path = Pathname.new(File.expand_path(dir)).relative_path_from(Pathname.new(@full_path))
|
50
|
+
components = dir_path.to_s.split(File::SEPARATOR)
|
51
|
+
|
52
|
+
if components.count >= 2 and components.first == "src" and Dir.exist?(File.join(@full_path, components[0], components[1]))
|
53
|
+
components[1]
|
54
|
+
else
|
55
|
+
raise NoPackageDirectoryError
|
56
|
+
end
|
57
|
+
rescue ArgumentError, NoProjectDirectoryError
|
58
|
+
raise NoPackageDirectoryError.new(dir)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
45
62
|
# inits a new project directory structure
|
46
63
|
def self.init(dir)
|
47
64
|
Dir.chdir(dir) do
|
@@ -57,6 +74,7 @@ module Gjp
|
|
57
74
|
template_manager.copy "output", "."
|
58
75
|
template_manager.copy "kit", "."
|
59
76
|
template_manager.copy "src", "."
|
77
|
+
template_manager.copy "gitignore", ".gitignore"
|
60
78
|
|
61
79
|
project.take_snapshot "Template files added", :init
|
62
80
|
end
|
@@ -210,6 +228,18 @@ module Gjp
|
|
210
228
|
end
|
211
229
|
end
|
212
230
|
|
213
|
-
class
|
231
|
+
class NoProjectDirectoryError < StandardError
|
232
|
+
attr_reader :directory
|
233
|
+
|
234
|
+
def initialize(directory)
|
235
|
+
@directory = directory
|
236
|
+
end
|
237
|
+
end
|
238
|
+
class NoPackageDirectoryError < StandardError
|
239
|
+
attr_reader :directory
|
240
|
+
|
241
|
+
def initialize(directory)
|
242
|
+
@directory = directory
|
243
|
+
end
|
214
244
|
end
|
215
245
|
end
|
data/lib/gjp/spec_generator.rb
CHANGED
@@ -11,34 +11,50 @@ module Gjp
|
|
11
11
|
|
12
12
|
def generate_kit_spec
|
13
13
|
@project.from_directory do
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
spec_name = "#{@project.name}-kit.spec"
|
15
|
+
spec_path = File.join("kit", spec_name)
|
16
|
+
output_dir = File.join("output", "#{@project.name}-kit")
|
17
|
+
FileUtils.mkdir_p(output_dir)
|
17
18
|
|
18
19
|
adapter = Gjp::KitSpecAdapter.new(@project)
|
19
|
-
|
20
20
|
conflict_count = generate_merging("kit.spec", adapter.get_binding, spec_path, :generate_kit_spec)
|
21
|
+
|
22
|
+
symlink_to_output(spec_path, output_dir)
|
23
|
+
|
21
24
|
[spec_path, conflict_count]
|
22
25
|
end
|
23
26
|
end
|
24
27
|
|
25
|
-
def generate_package_spec(name,
|
28
|
+
def generate_package_spec(name, pom_path, filter)
|
29
|
+
pom = Gjp::Pom.new(pom_path)
|
26
30
|
@project.from_directory do
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
adapter = Gjp::PackageSpecAdapter.new(@project, name, Gjp::Pom.new(pom), filter)
|
31
|
+
spec_name = "#{name}.spec"
|
32
|
+
spec_path = File.join("src", name, spec_name)
|
33
|
+
output_dir = File.join("output", name)
|
34
|
+
FileUtils.mkdir_p(output_dir)
|
32
35
|
|
36
|
+
adapter = Gjp::PackageSpecAdapter.new(@project, name, pom, filter)
|
33
37
|
conflict_count = generate_merging("package.spec", adapter.get_binding, spec_path, "generate_#{name}_spec")
|
38
|
+
|
39
|
+
symlink_to_output(spec_path, output_dir)
|
40
|
+
|
34
41
|
[spec_path, conflict_count]
|
35
42
|
end
|
36
43
|
end
|
37
44
|
|
45
|
+
private
|
46
|
+
|
38
47
|
# generates a spec file from a template and 3-way merges it
|
39
48
|
def generate_merging(template, binding, path, tag_prefix)
|
40
49
|
new_content = TemplateManager.new.generate(template, binding)
|
41
50
|
@project.merge_new_content(new_content, path, "Spec generated", tag_prefix)
|
42
51
|
end
|
52
|
+
|
53
|
+
# links a spec file in a subdirectory of output/
|
54
|
+
def symlink_to_output(spec_path, destination_dir)
|
55
|
+
spec_name = Pathname.new(spec_path).basename.to_s
|
56
|
+
destination_spec_path = File.join(destination_dir, spec_name)
|
57
|
+
FileUtils.symlink(File.expand_path(spec_path), destination_spec_path, :force => true)
|
58
|
+
end
|
43
59
|
end
|
44
60
|
end
|
data/lib/gjp/version.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
*.gjp_user_edited
|
2
|
-
|
2
|
+
output/
|
data/spec/lib/git_spec.rb
CHANGED
data/spec/lib/kit_runner_spec.rb
CHANGED
@@ -37,7 +37,7 @@ describe Gjp::KitRunner do
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
it "doesn't return commandline options if Maven is not available" do
|
40
|
-
expect { @kit_runner.get_maven_commandline(".") }.to raise_error(Gjp::
|
40
|
+
expect { @kit_runner.get_maven_commandline(".") }.to raise_error(Gjp::ExecutableNotFoundError)
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
@@ -51,7 +51,7 @@ describe Gjp::KitRunner do
|
|
51
51
|
end
|
52
52
|
it "doesn't run Maven if it is not available" do
|
53
53
|
@project.from_directory do
|
54
|
-
expect { @kit_runner.mvn([]) }.to raise_error(Gjp::
|
54
|
+
expect { @kit_runner.mvn([]) }.to raise_error(Gjp::ExecutableNotFoundError)
|
55
55
|
end
|
56
56
|
end
|
57
57
|
end
|
@@ -67,7 +67,7 @@ describe Gjp::KitRunner do
|
|
67
67
|
end
|
68
68
|
end
|
69
69
|
it "doesn't return commandline options if Ant is not available" do
|
70
|
-
expect { @kit_runner.get_ant_commandline(".") }.to raise_error(Gjp::
|
70
|
+
expect { @kit_runner.get_ant_commandline(".") }.to raise_error(Gjp::ExecutableNotFoundError)
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
@@ -81,7 +81,7 @@ describe Gjp::KitRunner do
|
|
81
81
|
end
|
82
82
|
it "doesn't run Ant if it is not available" do
|
83
83
|
@project.from_directory do
|
84
|
-
expect { @kit_runner.ant([]) }.to raise_error(Gjp::
|
84
|
+
expect { @kit_runner.ant([]) }.to raise_error(Gjp::ExecutableNotFoundError)
|
85
85
|
end
|
86
86
|
end
|
87
87
|
end
|
data/spec/lib/project_spec.rb
CHANGED
@@ -31,7 +31,54 @@ describe Gjp::Project do
|
|
31
31
|
|
32
32
|
expect {
|
33
33
|
Gjp::Project.find_project_dir(File.expand_path("..", @project_path)).should raise_error
|
34
|
-
}.to raise_error(Gjp::
|
34
|
+
}.to raise_error(Gjp::NoProjectDirectoryError)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe ".get_package_name" do
|
39
|
+
it "raises an error with a directory outside a gjp project" do
|
40
|
+
expect {
|
41
|
+
@project.get_package_name("/")
|
42
|
+
}.to raise_error(Gjp::NoPackageDirectoryError)
|
43
|
+
end
|
44
|
+
|
45
|
+
it "raises an error with a gjp project directory" do
|
46
|
+
expect {
|
47
|
+
@project.get_package_name(@project_path)
|
48
|
+
}.to raise_error(Gjp::NoPackageDirectoryError)
|
49
|
+
end
|
50
|
+
|
51
|
+
it "raises an error with a gjp kit directory" do
|
52
|
+
expect {
|
53
|
+
@project.get_package_name(File.join(@project_path, "kit"))
|
54
|
+
}.to raise_error(Gjp::NoPackageDirectoryError)
|
55
|
+
end
|
56
|
+
|
57
|
+
it "raises an error with a gjp src directory" do
|
58
|
+
expect {
|
59
|
+
@project.get_package_name(File.join(@project_path, "src"))
|
60
|
+
}.to raise_error(Gjp::NoPackageDirectoryError)
|
61
|
+
end
|
62
|
+
|
63
|
+
it "raises an error with a nonexisting package directory" do
|
64
|
+
expect {
|
65
|
+
@project.get_package_name(File.join(@project_path, "src", "test_package"))
|
66
|
+
}.to raise_error(Gjp::NoPackageDirectoryError)
|
67
|
+
end
|
68
|
+
|
69
|
+
it "returns the package on an existing package directory" do
|
70
|
+
FileUtils.mkdir_p(File.join(@project_path, "src", "test_package"))
|
71
|
+
@project.get_package_name(File.join(@project_path, "src", "test_package")).should eq "test_package"
|
72
|
+
end
|
73
|
+
|
74
|
+
it "returns the package on an existing package subdirectory" do
|
75
|
+
FileUtils.mkdir_p(File.join(@project_path, "src", "test_package", "subdir1"))
|
76
|
+
@project.get_package_name(File.join(@project_path, "src", "test_package", "subdir1")).should eq "test_package"
|
77
|
+
end
|
78
|
+
|
79
|
+
it "returns the package on an existing package subsubdirectory" do
|
80
|
+
FileUtils.mkdir_p(File.join(@project_path, "src", "test_package", "subdir1", "subdir2"))
|
81
|
+
@project.get_package_name(File.join(@project_path, "src", "test_package", "subdir1", "subdir2")).should eq "test_package"
|
35
82
|
end
|
36
83
|
end
|
37
84
|
|
@@ -114,7 +114,7 @@ describe Gjp::SpecGenerator do
|
|
114
114
|
end
|
115
115
|
|
116
116
|
FileUtils.copy(File.join("spec", "data", "nailgun", "pom.xml"), @project_path)
|
117
|
-
@spec_generator.generate_package_spec "test", "pom.xml", "*.jar"
|
117
|
+
@spec_generator.generate_package_spec "test", File.join(@project_path, "pom.xml"), "*.jar"
|
118
118
|
|
119
119
|
@project.from_directory do
|
120
120
|
spec_lines = File.readlines(File.join("output", "test", "test.spec"))
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gjp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.24.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-11-
|
12
|
+
date: 2013-11-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -177,11 +177,11 @@ files:
|
|
177
177
|
- lib/gjp/template_manager.rb
|
178
178
|
- lib/gjp/version.rb
|
179
179
|
- lib/gjp/version_matcher.rb
|
180
|
+
- lib/template/gitignore
|
180
181
|
- lib/template/kit.spec
|
181
182
|
- lib/template/kit/CONTENTS
|
182
183
|
- lib/template/kit/jars/CONTENTS
|
183
184
|
- lib/template/kit/m2/settings.xml
|
184
|
-
- lib/template/output/.gitignore
|
185
185
|
- lib/template/output/CONTENTS
|
186
186
|
- lib/template/package.spec
|
187
187
|
- lib/template/src/CONTENTS
|