sinicum-runner 0.5.0.pre3 → 0.5.0.pre4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 632962e202c55c3795c441042d651d89aa1870b5
4
- data.tar.gz: 63a0d755885dbc57655bf2a99e73c73a75508118
3
+ metadata.gz: a05c2535dfe8ca1e64b49c453c294f09936e896e
4
+ data.tar.gz: 03d1ce4591bf7202bbff103b5fe6194317810f3d
5
5
  SHA512:
6
- metadata.gz: 4bb5c52e6f3459a65fa78b657fdab5d05bf2610c6aca029a0b44e087e7740c29b697550c6668ec82e72aaa1452a44387ab1edfab6ba1d56106f5179a4ae8b6ca
7
- data.tar.gz: 07ddafcacf41a2cefcf5a23029f885328bb7b1f2cabb7586e315fb0ab94bacb703037a468f5d6c1e1f7a438abb7563d7e7f2c62c3c763ae71bb3730c44fa1905
6
+ metadata.gz: 4164b3e4ffbae6705f86d3bba69a24a7d19c6ddf357285a6c1e13084ce3ed4741ecf7afbc95f42e69378ecd190ece75d7b8917ed835894ab5bf896d799dd15ea
7
+ data.tar.gz: db60d95b9cfb04404763d486248a69535cac7bdd31220ff271644e7a2771d363d81941c46f753043e897cd66d6c31de7b663cce910df7f9efbdaed43f3320fb8
data/.gitignore CHANGED
@@ -19,3 +19,4 @@ tmp
19
19
  # Maven
20
20
  /target
21
21
  /dependency-reduced-pom.xml
22
+ /lib/java
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.1
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![Build Status](https://travis-ci.org/dievision/sinicum-runner.svg?branch=pm-environments)](https://travis-ci.org/dievision/sinicum-runner)
2
+
1
3
  # Sinicum::Runner
2
4
 
3
5
  Sinicum-runner is a simple embedded Tomcat server, which runs Magnolia CMS from
 the app’s root directory.
data/Rakefile CHANGED
@@ -1 +1,13 @@
1
1
  require "bundler/gem_tasks"
2
+
3
+ require 'rspec/core/rake_task'
4
+
5
+ Dir[File.expand_path('../lib/tasks/**/*rake', __FILE__)].each do |file|
6
+ load file
7
+ end
8
+
9
+ desc "Runs the tests"
10
+ RSpec::Core::RakeTask.new(:spec)
11
+
12
+ task default: [:spec, :maven_test]
13
+ task :build => :maven_package
@@ -4,6 +4,8 @@ require 'optparse'
4
4
  module Sinicum
5
5
  module Runner
6
6
  class RunnerCli
7
+ SINICUM_ENV_NAME = "SINICUM_ENV"
8
+ WEBAPP_BASE_DIR = File.join(FileUtils.pwd, "tmp", "magnolia")
7
9
  RUNNER_TMP_DIR = ".sinicum-runner"
8
10
 
9
11
  def run(args)
@@ -37,7 +39,8 @@ module Sinicum
37
39
  def build_webapp
38
40
  current_dir = FileUtils.pwd
39
41
  FileUtils.cd(magnolia_module_dir)
40
- run_command("mvn -Dmaven.test.skip=true clean package war:exploded")
42
+ run_command("#{SINICUM_ENV_NAME}=#{@options.environment} " +
43
+ "mvn -Dmaven.test.skip=true clean package war:exploded")
41
44
  ensure
42
45
  FileUtils.cd(current_dir)
43
46
  end
@@ -48,7 +51,8 @@ module Sinicum
48
51
  options.concat(["-jar", jar_location, "--basedir", runner_dir,
49
52
  "--appbase", webapp_directory_path])
50
53
  options.concat(@options.to_option_args)
51
- ret_value = system("java", *options)
54
+ ret_value = system({ SINICUM_ENV_NAME => @options.environment }, "java", *options)
55
+ puts ""
52
56
  exit 1 unless ret_value
53
57
  ret_value
54
58
  end
@@ -81,7 +85,7 @@ module Sinicum
81
85
  end
82
86
 
83
87
  def webapp_directory_path
84
- "#{magnolia_module_dir}/target/#{magnolia_module_name}-#{magnolia_module_version}"
88
+ File.join(WEBAPP_BASE_DIR, @options.environment, @options.environment)
85
89
  end
86
90
 
87
91
  def magnolia_module_name
@@ -144,10 +148,11 @@ module Sinicum
144
148
  end
145
149
 
146
150
  class Options
147
- attr_reader :port, :ajp_port, :context, :skip_build, :only_build, :hostname
151
+ DEFAULT_ENVIRONMENT = "development"
152
+ attr_reader :port, :ajp_port, :context, :skip_build, :only_build, :hostname, :environment
148
153
 
149
154
  def initialize(args = [])
150
- opts = OptionParser.new do |opts|
155
+ options = OptionParser.new do |opts|
151
156
  opts.on("-p", "--port [PORT]", "HTTP port to bind to") do |port|
152
157
  @port = port
153
158
  end
@@ -168,11 +173,16 @@ module Sinicum
168
173
  opts.on("-b", "--only-build", "only builds the Maven project") do |skip|
169
174
  @only_build = true
170
175
  end
176
+ @environment = DEFAULT_ENVIRONMENT
177
+ opts.on("-e", "--environment [ENVIRONMENT]",
178
+ "name of the Magnolia environment") do |environment|
179
+ @environment = environment
180
+ end
171
181
  opts.on("-J[PARAM]", "JVM parameter") do |parameter|
172
182
  jvm_params << parameter
173
183
  end
174
184
  end
175
- opts.parse!(args)
185
+ options.parse!(args)
176
186
  end
177
187
 
178
188
  def jvm_params
@@ -1,5 +1,5 @@
1
1
  module Sinicum
2
2
  module Runner
3
- VERSION = "0.5.0.pre3"
3
+ VERSION = "0.5.0.pre4"
4
4
  end
5
5
  end
@@ -0,0 +1,19 @@
1
+ desc "Run the Maven tests"
2
+ task :maven_test do
3
+ run_or_exit("mvn verify")
4
+ end
5
+
6
+ desc "Create the Jars"
7
+ task :maven_package do
8
+ run_or_exit("mvn clean verify")
9
+ end
10
+
11
+ private
12
+
13
+ def run_or_exit(command)
14
+ result = system(command)
15
+ unless result
16
+ $stderr.puts "Error executing Maven test, exiting."
17
+ exit($?.exitstatus)
18
+ end
19
+ end
data/pom.xml CHANGED
@@ -4,14 +4,14 @@
4
4
 
5
5
  <groupId>com.dievision.sinicum</groupId>
6
6
  <artifactId>sinicum-runner</artifactId>
7
- <version>0.5.0.pre3</version>
7
+ <version>0.5.0.pre4</version>
8
8
  <packaging>jar</packaging>
9
9
 
10
10
  <name>sinicum-runner</name>
11
11
  <url>http://maven.apache.org</url>
12
12
 
13
13
  <properties>
14
- <tomcatVersion>7.0.53</tomcatVersion>
14
+ <tomcatVersion>7.0.54</tomcatVersion>
15
15
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
16
16
  </properties>
17
17
 
@@ -14,7 +14,11 @@ Gem::Specification.new do |gem|
14
14
  gem.license = "MIT/Apache-2.0"
15
15
 
16
16
  gem.files = `git ls-files`.split($/)
17
+ gem.files += Dir['lib/java/**/*.jar']
17
18
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
19
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
20
  gem.require_paths = ["lib"]
21
+
22
+ gem.add_development_dependency 'rake', '> 10.3'
23
+ gem.add_development_dependency 'rspec', '~> 3.0'
20
24
  end
@@ -5,57 +5,67 @@ module Sinicum
5
5
  describe Options do
6
6
  it "should work without options" do
7
7
  opts = Options.new([])
8
- opts.should_not be nil
8
+ expect(opts).not_to be nil
9
9
  end
10
10
 
11
11
  it "shoud parse the port" do
12
12
  opts = Options.new(["-p", "8090"])
13
- opts.port.should eq("8090")
13
+ expect(opts.port).to eq("8090")
14
14
  end
15
15
 
16
16
  it "should parse the AJP port" do
17
17
  opts = Options.new(["-a", "8009"])
18
- opts.ajp_port.should eq("8009")
18
+ expect(opts.ajp_port).to eq("8009")
19
19
  end
20
20
 
21
21
  it "should parse the context path" do
22
22
  opts = Options.new(["-c", "some_context"])
23
- opts.context.should eq("some_context")
23
+ expect(opts.context).to eq("some_context")
24
24
  end
25
25
 
26
26
  it "should allow for multiple JVM args" do
27
27
  opts = Options.new(["-JXmx256m", "-JXmn256m"])
28
- opts.jvm_params.should eq(["Xmx256m", "Xmn256m"])
28
+ expect(opts.jvm_params).to eq(["Xmx256m", "Xmn256m"])
29
29
  end
30
30
 
31
31
  it "should use Xmx512m as JVM option by default" do
32
32
  opts = Options.new
33
- opts.to_jvm_options.should eq(["-Xmx512m"])
33
+ expect(opts.to_jvm_options).to eq(["-Xmx512m"])
34
34
  end
35
35
 
36
36
  it "should use other JVM options if any JVM arguments are given" do
37
37
  opts = Options.new(["-J-Xmn256m", "-J-XX:MaxPermSize=256m"])
38
- opts.to_jvm_options.should eq(["-Xmn256m", "-XX:MaxPermSize=256m"])
38
+ expect(opts.to_jvm_options).to eq(["-Xmn256m", "-XX:MaxPermSize=256m"])
39
39
  end
40
40
 
41
41
  it "should not skip the build by default" do
42
42
  opts = Options.new
43
- opts.skip_build.should be false
43
+ expect(opts.skip_build).to be false
44
44
  end
45
45
 
46
46
  it "should skip the build if asked to do so" do
47
47
  opts = Options.new(["-s"])
48
- opts.skip_build.should be true
48
+ expect(opts.skip_build).to be true
49
49
  end
50
50
 
51
51
  it "should not skip the server by default" do
52
52
  opts = Options.new
53
- opts.only_build.should be false
53
+ expect(opts.only_build).to be false
54
54
  end
55
55
 
56
56
  it "should skip the server if asked to do so" do
57
57
  opts = Options.new(["-b"])
58
- opts.only_build.should be true
58
+ expect(opts.only_build).to be true
59
+ end
60
+
61
+ it "should have the 'development' environment per default" do
62
+ opts = Options.new
63
+ expect(opts.environment).to eq 'development'
64
+ end
65
+
66
+ it "should be possible to set different environments" do
67
+ opts = Options.new(['-e', 'author'])
68
+ expect(opts.environment).to eq 'author'
59
69
  end
60
70
  end
61
71
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinicum-runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0.pre3
4
+ version: 0.5.0.pre4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrik Metzmacher
@@ -9,8 +9,36 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-04-23 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2014-07-29 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">"
19
+ - !ruby/object:Gem::Version
20
+ version: '10.3'
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">"
26
+ - !ruby/object:Gem::Version
27
+ version: '10.3'
28
+ - !ruby/object:Gem::Dependency
29
+ name: rspec
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '3.0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '3.0'
14
42
  description: A gem to easily run Magnolia CMS in a Tomcat instance
15
43
  email:
16
44
  - sinicum@dievision.de
@@ -20,6 +48,8 @@ extensions: []
20
48
  extra_rdoc_files: []
21
49
  files:
22
50
  - ".gitignore"
51
+ - ".rspec"
52
+ - ".travis.yml"
23
53
  - Gemfile
24
54
  - LICENSE
25
55
  - README.md
@@ -28,21 +58,22 @@ files:
28
58
  - lib/java/lib/ecj-P20140317-1600.jar
29
59
  - lib/java/lib/hamcrest-core-1.3.jar
30
60
  - lib/java/lib/jcommander-1.30.jar
31
- - lib/java/lib/tomcat-annotations-api-7.0.53.jar
32
- - lib/java/lib/tomcat-api-7.0.53.jar
33
- - lib/java/lib/tomcat-catalina-7.0.53.jar
34
- - lib/java/lib/tomcat-el-api-7.0.53.jar
35
- - lib/java/lib/tomcat-embed-core-7.0.53.jar
36
- - lib/java/lib/tomcat-jasper-7.0.53.jar
37
- - lib/java/lib/tomcat-jasper-el-7.0.53.jar
38
- - lib/java/lib/tomcat-jsp-api-7.0.53.jar
39
- - lib/java/lib/tomcat-juli-7.0.53.jar
40
- - lib/java/lib/tomcat-servlet-api-7.0.53.jar
41
- - lib/java/lib/tomcat-util-7.0.53.jar
42
- - lib/java/sinicum-runner-0.5.0.pre3.jar
61
+ - lib/java/lib/tomcat-annotations-api-7.0.54.jar
62
+ - lib/java/lib/tomcat-api-7.0.54.jar
63
+ - lib/java/lib/tomcat-catalina-7.0.54.jar
64
+ - lib/java/lib/tomcat-el-api-7.0.54.jar
65
+ - lib/java/lib/tomcat-embed-core-7.0.54.jar
66
+ - lib/java/lib/tomcat-jasper-7.0.54.jar
67
+ - lib/java/lib/tomcat-jasper-el-7.0.54.jar
68
+ - lib/java/lib/tomcat-jsp-api-7.0.54.jar
69
+ - lib/java/lib/tomcat-juli-7.0.54.jar
70
+ - lib/java/lib/tomcat-servlet-api-7.0.54.jar
71
+ - lib/java/lib/tomcat-util-7.0.54.jar
72
+ - lib/java/sinicum-runner-0.5.0.pre4.jar
43
73
  - lib/sinicum-runner.rb
44
74
  - lib/sinicum-runner/runner_cli.rb
45
75
  - lib/sinicum-runner/version.rb
76
+ - lib/tasks/maven.rake
46
77
  - pom.xml
47
78
  - sinicum-runner.gemspec
48
79
  - spec/sinicum-runner/runner_cli_spec.rb
@@ -75,4 +106,3 @@ specification_version: 4
75
106
  summary: Simple embedded Tomcat server
76
107
  test_files:
77
108
  - spec/sinicum-runner/runner_cli_spec.rb
78
- has_rdoc:
Binary file