bee_java 0.0.3 → 0.0.4

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/test/build.yml DELETED
@@ -1,125 +0,0 @@
1
- # Copyright 2008-2009 Michel Casabianca <michel.casabianca@gmail.com>
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- - build: test_java
16
- default: all
17
- description: Build file to test Java package
18
-
19
- - properties:
20
- - name: "test"
21
- - src: "src"
22
- - build: "build"
23
- - classes: "#{build}/classes"
24
- - javadoc: "#{build}/api"
25
- - jar: "#{build}/#{name}.jar"
26
- - erb: "manifest.erb"
27
- - manifest: "#{build}/manifest"
28
- - main: "test.Test"
29
- - classpath: :jar
30
- - junit: "/opt/java/junit-4.4"
31
- - test: "test"
32
- - test_classes: "#{build}/test-classes"
33
- - lib: "#{build}/lib"
34
-
35
- - target: javac
36
- description: Test javac task
37
- script:
38
- - java.javac:
39
- src: :src
40
- dest: :classes
41
-
42
- - target: jar
43
- depends: javac
44
- description: Test jar task
45
- script:
46
- - erb:
47
- src: :erb
48
- dest: :manifest
49
- - java.jar:
50
- src: :classes
51
- manifest: :manifest
52
- dest: :jar
53
-
54
- - target: junit
55
- depends: javac
56
- description: Run unit tests
57
- script:
58
- - find:
59
- includes: "#{junit}/junit*.jar"
60
- excludes: "#{junit}/junit*-src.jar"
61
- property: junit_cp
62
- - java.javac:
63
- src: :test
64
- dest: :test_classes
65
- classpath: [:junit_cp, :classes]
66
- - java.junit:
67
- classpath: [:classes, :test_classes, :junit_cp]
68
- src: :test
69
-
70
- - target: javadoc
71
- description: Document Java source files
72
- script:
73
- - java.javadoc:
74
- src: :src
75
- dest: :javadoc
76
-
77
- - target: java
78
- depends: jar
79
- description: Run java program
80
- script:
81
- - java.java:
82
- main: :main
83
- classpath: :classpath
84
- properties: { who: World }
85
- - java.java:
86
- main: :main
87
- classpath: :classes
88
- properties: { who: World }
89
- - java.java:
90
- jar: :jar
91
- properties: { who: World }
92
-
93
- - target: deps
94
- description: Fetch dependencies
95
- script:
96
- # maven 1 repository
97
- - rmdir: :build
98
- - java.deps:
99
- src: dependencies.yml
100
- dest: :lib
101
- repos: http://www.ibiblio.org/maven
102
- # maven 2 repository
103
- - rmdir: :build
104
- - java.deps:
105
- src: dependencies.xml
106
- dest: :lib
107
- repos: http://repo1.maven.org/maven2
108
- repotype: maven2
109
-
110
- - target: classpath
111
- description: Compute a classpath
112
- script:
113
- #- java.clean:
114
- - java.classpath:
115
- file: pom.xml
116
- property: classpath
117
- - print: :classpath
118
-
119
- - target: clean
120
- description: Clean generated files
121
- script:
122
- - rmdir: :build
123
-
124
- - target: all
125
- depends: [clean, javac, jar, junit, javadoc, java, deps]
@@ -1,11 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
-
3
- <project>
4
- <dependencies>
5
- <dependency>
6
- <groupId>junit</groupId>
7
- <artifactId>junit</artifactId>
8
- <version>4.3</version>
9
- </dependency>
10
- </dependencies>
11
- </project>
@@ -1,3 +0,0 @@
1
- - group: junit
2
- artifact: junit
3
- version: 4.3
data/test/manifest.erb DELETED
@@ -1 +0,0 @@
1
- Main-Class: <%= main %>
data/test/pom.xml DELETED
@@ -1,31 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
-
3
- <project>
4
-
5
- <modelVersion>4.0.0</modelVersion>
6
- <groupId>test</groupId>
7
- <artifactId>test</artifactId>
8
- <name>Test</name>
9
- <version>1.0.0</version>
10
-
11
- <repositories>
12
- <repository>
13
- <id>central</id>
14
- <name>Maven Repository Switchboard</name>
15
- <layout>default</layout>
16
- <url>http://repo1.maven.org/maven2</url>
17
- <snapshots>
18
- <enabled>false</enabled>
19
- </snapshots>
20
- </repository>
21
- </repositories>
22
-
23
- <dependencies>
24
- <dependency>
25
- <groupId>ehcache</groupId>
26
- <artifactId>ehcache</artifactId>
27
- <version>1.2beta4</version>
28
- </dependency>
29
- </dependencies>
30
-
31
- </project>
@@ -1,28 +0,0 @@
1
- // Copyright 2008-2009 Michel Casabianca <michel.casabianca@gmail.com>
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- package test;
16
-
17
- public class Test {
18
-
19
- public static void main(String[] args) {
20
- String who = System.getProperty("who");
21
- System.out.println(hello(who));
22
- }
23
-
24
- public static String hello(String who) {
25
- return "Hello "+who+"!";
26
- }
27
-
28
- }
@@ -1,194 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- # Copyright 2008-2009 Michel Casabianca <michel.casabianca@gmail.com>
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
-
17
- require 'bee_context'
18
- require 'test/unit'
19
- $:.unshift(File.expand_path(File.dirname(__FILE__)))
20
- require 'test_build'
21
- require 'test_build_listener'
22
- $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
23
- require 'bee_task_java'
24
-
25
- # Test case for bee task.
26
- class TestBeeTaskJava < Test::Unit::TestCase
27
-
28
- # Create a context object and load tasks in it.
29
- def setup
30
- super
31
- @context = Bee::Context.new()
32
- @listener = TestBuildListener.new
33
- @build = TestBuild.new(@context, @listener)
34
- @package = Bee::Task::Java.new(@build)
35
- end
36
-
37
- def test_javac
38
- # change directory to test dir
39
- previous_dir = Dir.pwd
40
- Dir.chdir(File.expand_path(File.dirname(__FILE__)))
41
- begin
42
- # run nominal case
43
- @package.javac({'src' => 'src', 'dest' => 'build/classes'})
44
- assert_equal("Compiling 1 Java source file(s)\n", @listener.output)
45
- assert(File.exists?('build/classes/test/Test.class'))
46
- # run error case: missing src parameter
47
- begin
48
- @package.javac({'dest' => 'build/classes'})
49
- rescue
50
- assert_equal("javac 'src' parameter is mandatory", $!.message)
51
- end
52
- # run error case: missing dest parameter
53
- begin
54
- @package.javac({'src' => 'src'})
55
- rescue
56
- assert_equal("javac 'dest' parameter is mandatory", $!.message)
57
- end
58
- ensure
59
- if File.exists?('build')
60
- FileUtils.rm_rf('build')
61
- end
62
- Dir.chdir(previous_dir)
63
- end
64
- end
65
-
66
- def test_jar
67
- # change directory to test dir
68
- previous_dir = Dir.pwd
69
- Dir.chdir(File.expand_path(File.dirname(__FILE__)))
70
- begin
71
- # run nominal case
72
- @package.javac({'src' => 'src', 'dest' => 'build/classes'})
73
- @listener.clear()
74
- @package.jar({'src' => 'build/classes', 'dest' => 'build/test.jar'})
75
- assert_equal("Processing Jar archive 'build/test.jar'\n",
76
- @listener.output)
77
- assert(File.exists?('build/test.jar'))
78
- ensure
79
- if File.exists?('build')
80
- FileUtils.rm_rf('build')
81
- end
82
- Dir.chdir(previous_dir)
83
- end
84
- end
85
-
86
- def test_java
87
- # change directory to test dir
88
- previous_dir = Dir.pwd
89
- Dir.chdir(File.expand_path(File.dirname(__FILE__)))
90
- begin
91
- # run nominal case
92
- @package.javac({'src' => 'src', 'dest' => 'build/classes'})
93
- @listener.clear()
94
- @package.java({'classpath' => 'build/classes', 'main' => 'test.Test'})
95
- assert_equal("Running java class 'test.Test'\n",
96
- @listener.output)
97
- ensure
98
- if File.exists?('build')
99
- FileUtils.rm_rf('build')
100
- end
101
- Dir.chdir(previous_dir)
102
- end
103
- 1 end
104
-
105
- def test_javadoc
106
- # change directory to test dir
107
- previous_dir = Dir.pwd
108
- Dir.chdir(File.expand_path(File.dirname(__FILE__)))
109
- begin
110
- # run nominal case
111
- @package.javadoc({'src' => 'src', 'dest' => 'build/api'})
112
- assert_equal("Running javadoc on 1 Java source file(s)\n",
113
- @listener.output)
114
- assert(File.exists?('build/api/index.html'))
115
- ensure
116
- if File.exists?('build')
117
- FileUtils.rm_rf('build')
118
- end
119
- Dir.chdir(previous_dir)
120
- end
121
- end
122
-
123
- def test_junit
124
- if ENV['NET_TEST'] == 'true'
125
- # change directory to test dir
126
- previous_dir = Dir.pwd
127
- Dir.chdir(File.expand_path(File.dirname(__FILE__)))
128
- begin
129
- # run nominal case
130
- @package.javac({'src' => 'src', 'dest' => 'build/classes'})
131
- @package.deps({ 'src' => 'dependencies.yml', 'dest' => 'build/lib',
132
- 'repos' => 'http://www.ibiblio.org/maven'})
133
- @package.javac({ 'src' => 'test',
134
- 'dest' => 'build/classes',
135
- 'classpath' => ['build/classes', 'build/lib/*.jar']})
136
- @listener.clear()
137
- @package.junit({ 'src' => 'test',
138
- 'classpath' => ['build/classes', 'build/lib/*.jar']})
139
- assert_equal("Running JUnit on 1 test file(s)\n",
140
- @listener.output)
141
- ensure
142
- if File.exists?('build')
143
- FileUtils.rm_rf('build')
144
- end
145
- Dir.chdir(previous_dir)
146
- end
147
- end
148
- end
149
-
150
- def test_deps
151
- if ENV['NET_TEST'] == 'true'
152
- # change directory to test dir
153
- previous_dir = Dir.pwd
154
- Dir.chdir(File.expand_path(File.dirname(__FILE__)))
155
- begin
156
- # run nominal case
157
- @package.deps({ 'src' => 'dependencies.yml',
158
- 'dest' => 'build/lib',
159
- 'repos' => 'http://www.ibiblio.org/maven'})
160
- assert_equal("Fetching 1 dependency(ies) to directory 'build/lib'\n",
161
- @listener.output)
162
- assert(File.exists?('build/lib/junit-4.3.jar'))
163
- ensure
164
- if File.exists?('build')
165
- FileUtils.rm_rf('build')
166
- end
167
- Dir.chdir(previous_dir)
168
- end
169
- end
170
- end
171
-
172
- def test_classpath
173
- if ENV['NET_TEST'] == 'true'
174
- # change directory to test dir
175
- previous_dir = Dir.pwd
176
- Dir.chdir(File.expand_path(File.dirname(__FILE__)))
177
- begin
178
- @package.classpath( { 'file' => 'pom.xml',
179
- 'property' => 'classpath' } )
180
- dependencies = ['ehcache:ehcache:1.2beta4:jar',
181
- 'commons-logging-api:commons-logging:1.0.4:jar',
182
- 'commons-collections:commons-collections:2.1.1:jar']
183
- message = dependencies.map { |dep| "Downloading dependency '#{dep}'...\n" }.join
184
- assert_equal(messages, @listener.output)
185
- root = File.expand('~/.m2/repository')
186
- puts 'TEST'
187
- puts @package.build.get_property('classpath')
188
- ensure
189
- Dir.chdir(previous_dir)
190
- end
191
- end
192
- end
193
-
194
- end
@@ -1,36 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- # Copyright 2008-2009 Michel Casabianca <michel.casabianca@gmail.com>
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
-
17
- require 'bee_context'
18
- require 'test/unit'
19
- $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
20
- require 'dependency_resolver'
21
-
22
- # Test case for dependency resolver.
23
- class TestDependencyResolver < Test::Unit::TestCase
24
-
25
- # Create a context object and load tasks in it.
26
- def setup
27
- super
28
- @resolver = Bee::Task::Maven2DependencyResolver.new('test/pom.xml', false)
29
- end
30
-
31
- def test_classpath
32
- classpath = @resolver.classpath
33
- # TODO
34
- end
35
-
36
- end
@@ -1,28 +0,0 @@
1
- // Copyright 2008-2009 Michel Casabianca <michel.casabianca@gmail.com>
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- package test;
16
-
17
- import junit.framework.TestCase;
18
-
19
- public class TestTest
20
- extends TestCase {
21
-
22
- public void testHello() {
23
- String expected = "Hello World!";
24
- String actual = Test.hello("World");
25
- assertEquals(expected, actual);
26
- }
27
-
28
- }
data/test/test_build.rb DELETED
@@ -1,26 +0,0 @@
1
- # Copyright 2006-2010 Michel Casabianca <michel.casabianca@gmail.com>
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- # Empty build for testing purpose. Contains a single context.
16
- class TestBuild
17
-
18
- attr_reader :context
19
- attr_reader :listener
20
-
21
- def initialize(context, listener)
22
- @context = context
23
- @listener = listener
24
- end
25
-
26
- end
@@ -1,110 +0,0 @@
1
- # Copyright 2006-2010 Michel Casabianca <michel.casabianca@gmail.com>
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- require 'rubygems'
16
-
17
- class TestBuildListener
18
-
19
- attr_reader :formatter
20
- attr_reader :started
21
- attr_reader :finished
22
- attr_reader :targets
23
- attr_reader :tasks
24
- attr_reader :success
25
- attr_reader :errors
26
- attr_accessor :throw_error
27
- attr_accessor :prompt
28
-
29
- def initialize()
30
- reset
31
- end
32
-
33
- def build_started(build, dry=false)
34
- @started = true
35
- end
36
-
37
- def build_finished()
38
- @finished = true
39
- end
40
-
41
- def target(target)
42
- @targets << target
43
- end
44
-
45
- def task(task)
46
- @tasks << task
47
- end
48
-
49
- def error(exception)
50
- if throw_error
51
- raise exception
52
- else
53
- @errors << exception
54
- end
55
- end
56
-
57
- def recover
58
- @success = true
59
- end
60
-
61
- def reset
62
- @formatter = TestBuildFormatter.new(self)
63
- @started = false
64
- @finished = false
65
- @targets = []
66
- @tasks = []
67
- @success = false
68
- @errors = []
69
- @throw_error = false
70
- @prompt = ''
71
- end
72
-
73
- def output()
74
- return @formatter.output
75
- end
76
-
77
- def clear()
78
- @formatter.clear()
79
- end
80
-
81
- def error?
82
- return @errors.length > 0
83
- end
84
-
85
- end
86
-
87
- class TestBuildFormatter
88
-
89
- attr_reader :verbose
90
- attr_reader :output
91
-
92
- def initialize(listener)
93
- @listener = listener
94
- @verbose = false
95
- @output = ''
96
- end
97
-
98
- def print(text)
99
- @output << text
100
- end
101
-
102
- def puts(text)
103
- @output << text + "\n"
104
- end
105
-
106
- def clear()
107
- @output = ''
108
- end
109
-
110
- end