javajake 0.1.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/Rakefile +10 -0
- data/lib/jake/jar.rb +22 -0
- data/lib/jake/java_task.rb +30 -0
- data/lib/jake/javac.rb +22 -0
- data/lib/jake/manifest.rb +20 -0
- data/lib/jake/unjar.rb +7 -0
- data/lib/jake/version.rb +3 -0
- data/lib/jake.rb +5 -0
- metadata +71 -0
data/Rakefile
ADDED
data/lib/jake/jar.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
class Jar < JavaTask
|
2
|
+
attr_accessor :bin, :name, :with_manifest
|
3
|
+
|
4
|
+
def initialize(path)
|
5
|
+
@bin = []
|
6
|
+
@with_manifest = false
|
7
|
+
super(path)
|
8
|
+
end
|
9
|
+
|
10
|
+
def command
|
11
|
+
inputs = []
|
12
|
+
@bin.each do |c|
|
13
|
+
inputs << "-C #{c} ."
|
14
|
+
end
|
15
|
+
|
16
|
+
if @with_manifest then
|
17
|
+
"jar cvmf META-INF/MANIFEST.MF #{@name} #{inputs.join(' ')}"
|
18
|
+
else
|
19
|
+
"jar cvf #{@name} #{inputs.join(' ')}"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
class JavaTask
|
2
|
+
attr_accessor :base_dir
|
3
|
+
|
4
|
+
def self.in(base_dir = '.')
|
5
|
+
self.new(base_dir)
|
6
|
+
end
|
7
|
+
|
8
|
+
def execute &block
|
9
|
+
yield self
|
10
|
+
|
11
|
+
in_path @base_dir do
|
12
|
+
command
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def initialize(path)
|
19
|
+
@base_dir = path
|
20
|
+
end
|
21
|
+
|
22
|
+
def in_path(path, &block)
|
23
|
+
original_path = Dir.getwd
|
24
|
+
|
25
|
+
Dir.chdir(path)
|
26
|
+
command = yield
|
27
|
+
sh command unless command.nil?
|
28
|
+
Dir.chdir(original_path)
|
29
|
+
end
|
30
|
+
end
|
data/lib/jake/javac.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
class Javac < JavaTask
|
2
|
+
attr_accessor :src, :cp, :output
|
3
|
+
|
4
|
+
def initialize(path)
|
5
|
+
super(path)
|
6
|
+
@cp = []
|
7
|
+
end
|
8
|
+
|
9
|
+
def command
|
10
|
+
classpath = []
|
11
|
+
|
12
|
+
@src = Dir.glob(@src)
|
13
|
+
@cp.each do |p|
|
14
|
+
puts "Globbing #{p}"
|
15
|
+
classpath << Dir.glob(p)
|
16
|
+
puts "CP = #{classpath}"
|
17
|
+
end
|
18
|
+
|
19
|
+
FileUtils.mkdir_p(@output) unless File.exist? @output
|
20
|
+
"javac " + @src.join(' ').to_s + " -cp " + classpath.join(':').to_s + " -d " + @output
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
class Manifest < JavaTask
|
2
|
+
attr_accessor :cp, :main_class
|
3
|
+
|
4
|
+
def execute &block
|
5
|
+
yield self
|
6
|
+
|
7
|
+
in_path @base_dir do
|
8
|
+
FileUtils.mkdir 'META-INF' unless File.exists? 'META-INF'
|
9
|
+
@cp = Dir.glob(@cp)
|
10
|
+
|
11
|
+
File.open(File.join('META-INF', 'MANIFEST.MF'), 'w') do |f|
|
12
|
+
f.puts 'Manifest-Version: 1.0'
|
13
|
+
f.puts 'Class-Path: ' + @cp.join(" \n ").to_s
|
14
|
+
f.puts 'Main-Class: ' + @main_class
|
15
|
+
end
|
16
|
+
|
17
|
+
nil
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/jake/unjar.rb
ADDED
data/lib/jake/version.rb
ADDED
data/lib/jake.rb
ADDED
metadata
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: javajake
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
version: 0.1.0
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Tomas Kramar
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-10-27 00:00:00 +02:00
|
18
|
+
default_executable:
|
19
|
+
dependencies: []
|
20
|
+
|
21
|
+
description: Build java code with ease.
|
22
|
+
email: kramar@fiit.stuba.sk
|
23
|
+
executables: []
|
24
|
+
|
25
|
+
extensions: []
|
26
|
+
|
27
|
+
extra_rdoc_files: []
|
28
|
+
|
29
|
+
files:
|
30
|
+
- lib/jake/jar.rb
|
31
|
+
- lib/jake/java_task.rb
|
32
|
+
- lib/jake/javac.rb
|
33
|
+
- lib/jake/manifest.rb
|
34
|
+
- lib/jake/unjar.rb
|
35
|
+
- lib/jake/version.rb
|
36
|
+
- lib/jake.rb
|
37
|
+
- Rakefile
|
38
|
+
has_rdoc: true
|
39
|
+
homepage:
|
40
|
+
licenses: []
|
41
|
+
|
42
|
+
post_install_message:
|
43
|
+
rdoc_options: []
|
44
|
+
|
45
|
+
require_paths:
|
46
|
+
- lib
|
47
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
48
|
+
none: false
|
49
|
+
requirements:
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
segments:
|
53
|
+
- 0
|
54
|
+
version: "0"
|
55
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
segments:
|
61
|
+
- 0
|
62
|
+
version: "0"
|
63
|
+
requirements: []
|
64
|
+
|
65
|
+
rubyforge_project:
|
66
|
+
rubygems_version: 1.3.7
|
67
|
+
signing_key:
|
68
|
+
specification_version: 3
|
69
|
+
summary: Build java code with ease
|
70
|
+
test_files: []
|
71
|
+
|