marmottawrapper 0.0.5 → 0.0.6

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: 48644a9a81da54e2dc29ab534bf662ea620bce38
4
- data.tar.gz: 8bd2be3debd7eee2165524231fec03812529524d
3
+ metadata.gz: ec0bb85d1d99a22c5d4d1dac464eb1c5a5e9c4ae
4
+ data.tar.gz: 649d3459d4aa182637bfd9ec6dcff97471ed91a2
5
5
  SHA512:
6
- metadata.gz: 4bc65cb8b5fe2795ab99679ff3f5504c60e1efe334fb406a9cc51dd3a0d2ae9ba545642a245ae4f41c0aac4acaa4102b3bd65ebf522376eee1a47fde47a8ba96
7
- data.tar.gz: e52d0def019dfc89c11610a738ae1a65511ddb2d2a5eed06eab6fd0354dfa4229d8fc9ab1a912cb9979d002a2ae61b39fddf2a0f2e17483e9874df747ce59f34
6
+ metadata.gz: 8efafa1b20fc70d9b5db3007760d23f218204404a0052d159d0ba8dcdd5efd1fa07d733050e166d1812c0fb00810a822ceb53785d2e6ca3cec06949c49fa76e6
7
+ data.tar.gz: 124b5971b75c31edfa1c01246e22f7ae61cc0b1000cd2bf582d70f213f039e0294d5a7d079c2a7d82811694846d165938dd0257c29bd646123e40f15c65ab62f
data/.gitignore CHANGED
@@ -1,6 +1,6 @@
1
1
  .extract/*
2
- marmotta/target/*
2
+ marmotta/*
3
3
  Gemfile.lock
4
4
  .vagrant
5
5
  *.gem
6
- tomcat/*
6
+ tomcat/*
data/README.md CHANGED
@@ -17,6 +17,17 @@ Download and install Marmotta:
17
17
  * To start a Marmotta app in Tomcat 7 on port `8080`: `rake marmotta:start`
18
18
  * To stop Tomcat: `rake marmotta:stop`
19
19
 
20
+
21
+ Configuration
22
+ -------------
23
+
24
+ By default, Marmotta will create all its necessary files in a `marmotta`
25
+ subdirectory of your application's root once you start it for the first time,
26
+ including sensible defaults for configuration. Configuration changes can be
27
+ made by altering `marmotta/system-config.properties` (see the
28
+ [Marmotta documentation](http://marmotta.apache.org/configuration.html)
29
+ for more details).
30
+
20
31
  Use in Rails Projects
21
32
  ----------------------
22
33
 
@@ -43,7 +54,7 @@ Marmotta should now be available on your host machine at port `8087`.
43
54
  TODO:
44
55
  -----
45
56
  * [ ] Make Tomcat port configurable.
46
- * [ ] Make Marmotta configurable.
47
57
  * [ ] Wait for Tomcat to start before quitting `start` task.
58
+ * [ ] Add support for Windows.
48
59
 
49
60
  License: Apache 2.0
@@ -1,8 +1,12 @@
1
1
  require 'fileutils'
2
+ require 'open-uri'
3
+ require 'zlib'
4
+ require 'archive/tar/minitar'
2
5
 
3
6
  class Marmottawrapper
4
7
 
5
8
  require 'marmottawrapper/railtie' if defined?(Rails)
9
+ Dir[File.expand_path(File.join(File.dirname(__FILE__),"marmottawrapper/tasks/*.rake"))].each { |ext| load ext } if defined?(Rake)
6
10
 
7
11
  class << self
8
12
  def app_root
@@ -12,7 +16,7 @@ class Marmottawrapper
12
16
  end
13
17
 
14
18
  def url
15
- @url ||= defined?(ZIP_URL) ? ZIP_URL : "https://github.com/dpla/marmotta-webapp/releases/download/v0.0.4/tomcat-marmotta.zip"
19
+ @url ||= defined?(ZIP_URL) ? ZIP_URL : "https://github.com/dpla/marmottawrapper/releases/download/v0.0.5/tomcat-marmotta.tgz"
16
20
  end
17
21
 
18
22
  def marmotta_dir
@@ -27,44 +31,43 @@ class Marmottawrapper
27
31
  File.join(app_root, 'tomcat')
28
32
  end
29
33
 
34
+ def tarball
35
+ File.join(tmp_dir, 'tomcat-marmotta.tgz')
36
+ end
37
+
30
38
  def clean
31
- system "rm -r #{tomcat_dir}" if File.directory?(tomcat_dir)
32
- system "rm -r #{tmp_dir}" if File.directory?(tmp_dir)
33
- system "rm -r #{marmotta_dir}" if File.directory?(marmotta_dir)
39
+ File.delete(tarball)
40
+ FileUtils.rm_rf(tomcat_dir) if File.directory?(tomcat_dir)
41
+ FileUtils.rm_rf(marmotta_dir) if File.directory?(marmotta_dir)
34
42
  end
35
43
 
36
44
  ##
37
45
  # Fetch the Tomcat/Marmotta distribution
38
46
  def fetch
47
+ File.delete(tarball)
39
48
  FileUtils.makedirs(tmp_dir) unless File.directory?(tmp_dir)
40
- FileUtils.makedirs(marmotta_dir) unless File.directory?(marmotta_dir)
41
- Dir.chdir(tmp_dir) {
42
- system "curl -L #{url} -o tomcat-marmotta.zip"
43
- }
49
+ open(tarball, 'wb') do |tm|
50
+ tm.write(open(url).read)
51
+ end
44
52
  end
45
53
 
46
54
  def install
47
- fetch unless File.exists?(File.join(tmp_dir, 'tomcat-marmotta.zip'))
48
- system "unzip #{tmp_dir}/tomcat-marmotta.zip"
49
- File.delete(File.join(tmp_dir, 'tomcat-marmotta.zip'))
55
+ fetch unless File.exists?(tarball)
56
+ FileUtils.makedirs(marmotta_dir) unless File.directory?(marmotta_dir)
57
+ tb = Zlib::GzipReader.new(File.open(tarball, 'rb'))
58
+ Archive::Tar::Minitar.unpack(tb, app_root.to_path)
50
59
  end
51
60
 
52
61
  ##
53
62
  # Start the Tomcat server with Marmotta
54
63
  def start
55
- system "#{tomcat_dir}/bin/startup.sh"
64
+ system "MARMOTTA_HOME=#{marmotta_dir} #{tomcat_dir}/bin/startup.sh"
56
65
  end
57
66
 
58
67
  ##
59
68
  # Stop Tomcat/Marmotta
60
69
  def stop
61
- system "#{tomcat_dir}/bin/shutdown.sh"
62
- end
63
-
64
- def restart
65
- stop
66
- sleep 2
67
- start
70
+ system "MARMOTTA_HOME=#{marmotta_dir} #{tomcat_dir}/bin/shutdown.sh"
68
71
  end
69
72
 
70
73
  end
@@ -17,19 +17,19 @@ namespace :marmotta do
17
17
 
18
18
  desc "Start Marmotta/Tomcat"
19
19
  task :start do
20
- pid = Marmottawrapper.start
21
- puts "Tomcat started with PID #{pid}"
20
+ Marmottawrapper.start
22
21
  end
23
22
 
24
23
  desc "Stop Marmotta/Tomcat"
25
24
  task :stop do
26
- pid = Marmottawrapper.stop
27
- puts "Tomcat/Marmotta stopped"
25
+ Marmottawrapper.stop
28
26
  end
29
27
 
30
28
  desc "Restart Marmotta/Tomcat"
31
29
  task :restart do
32
30
  Marmottawrapper.stop
31
+ sleep 2
33
32
  Marmottawrapper.start
34
33
  end
34
+
35
35
  end
@@ -1,3 +1,3 @@
1
1
  class Marmottawrapper
2
- VERSION = '0.0.5'
2
+ VERSION = '0.0.6'
3
3
  end
@@ -18,5 +18,6 @@ Gem::Specification.new do |s|
18
18
  s.license = 'APACHE 2'
19
19
 
20
20
  s.add_dependency 'rake'
21
+ s.add_dependency 'archive-tar-minitar'
21
22
  s.add_development_dependency 'pry'
22
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marmottawrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Matienzo
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-10-14 00:00:00.000000000 Z
12
+ date: 2014-10-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -25,6 +25,20 @@ dependencies:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: archive-tar-minitar
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
28
42
  - !ruby/object:Gem::Dependency
29
43
  name: pry
30
44
  requirement: !ruby/object:Gem::Requirement