fedux_org-stdlib 0.10.9 → 0.11.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.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/Gemfile.lock +3 -0
- data/lib/fedux_org_stdlib/locale_configurator.rb +2 -1
- data/lib/fedux_org_stdlib/rake/webserver_task.rb +81 -0
- data/lib/fedux_org_stdlib/remote_repository.rb +21 -0
- data/lib/fedux_org_stdlib/version.rb +1 -1
- data/spec/core_ext/string/characterize_spec.rb +1 -1
- data/spec/remote_repository_spec.rb +35 -0
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 31db18c4ed616bb7c477b7669fb4a884a5951ad9
|
4
|
+
data.tar.gz: a6e28c08271d0c328e5465dccc9035fc779e5ad6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0776e830115fd6e002abd29ebe3f4a545481a50d9bb938459062c040d9359c640ac6e2c5bc63c872b6d5d1fec5834c88b2ef0845e1553e946889214c302a88c6
|
7
|
+
data.tar.gz: 1317c081ebb2d9efccfa74d4ac2bb4a9a458ed46f50e9189eaeb6d043d786ef04fbbd20885fdd319f9dc30539dc98aee667edf62b0858721e1467930e76863fa
|
data/Gemfile
CHANGED
@@ -42,6 +42,9 @@ group :development, :test do
|
|
42
42
|
gem 'facter'
|
43
43
|
gem 'hirb'
|
44
44
|
# gem 'tty'
|
45
|
+
#
|
46
|
+
gem 'rugged'
|
47
|
+
gem 'addressable'
|
45
48
|
|
46
49
|
gem 'fedux_org_stdlib-fixtures-plugin_manager-load', require: false, path: File.expand_path('../fixtures/plugin-load-app', __FILE__)
|
47
50
|
# gem 'fedux_org_stdlib-fixtures-plugin_manager-no_load', require: false, path: File.expand_path('../fixtures/plugin-no_load-app', __FILE__)
|
data/Gemfile.lock
CHANGED
@@ -126,6 +126,7 @@ GEM
|
|
126
126
|
rainbow (>= 1.99.1, < 3.0)
|
127
127
|
ruby-progressbar (~> 1.4)
|
128
128
|
ruby-progressbar (1.7.0)
|
129
|
+
rugged (0.21.2)
|
129
130
|
simplecov (0.9.1)
|
130
131
|
docile (~> 1.1.0)
|
131
132
|
multi_json (~> 1.0)
|
@@ -156,6 +157,7 @@ PLATFORMS
|
|
156
157
|
ruby
|
157
158
|
|
158
159
|
DEPENDENCIES
|
160
|
+
addressable
|
159
161
|
aruba (>= 0.6.1)
|
160
162
|
awesome_print
|
161
163
|
bundler (>= 1.3)
|
@@ -180,6 +182,7 @@ DEPENDENCIES
|
|
180
182
|
rspec
|
181
183
|
rspec-legacy_formatters
|
182
184
|
rubocop
|
185
|
+
rugged
|
183
186
|
simplecov
|
184
187
|
taskjuggler
|
185
188
|
tmrb
|
@@ -1,8 +1,9 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'fedux_org_stdlib/require_files'
|
1
3
|
require 'fedux_org_stdlib/shell_language_detector'
|
2
4
|
require 'fedux_org_stdlib/logging/logger'
|
3
5
|
require_library %w(i18n)
|
4
6
|
|
5
|
-
# encoding: utf-8
|
6
7
|
module FeduxOrgStdlib
|
7
8
|
# Configuration for language on cli
|
8
9
|
#
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'fedux_org_stdlib/require_files'
|
3
|
+
require 'fedux_org_stdlib/rake/task'
|
4
|
+
require_library %w(i18n)
|
5
|
+
require 'tmpdir'
|
6
|
+
require 'fileutils'
|
7
|
+
require 'digest/sha2'
|
8
|
+
|
9
|
+
module FeduxOrgStdlib
|
10
|
+
module Rake
|
11
|
+
# Webserver Task
|
12
|
+
#
|
13
|
+
# @see Rakefile
|
14
|
+
class WebserverTask < Task
|
15
|
+
# @!attribute [r] report
|
16
|
+
# The report to be generated
|
17
|
+
attr_reader :repository, :build_directory, :directory
|
18
|
+
|
19
|
+
# Create a new webserver task
|
20
|
+
#
|
21
|
+
# @param [String] directory
|
22
|
+
# The directory where the generated server should be stored
|
23
|
+
# @param [String] repository_url
|
24
|
+
# The url which should be used to fetch the remote repository
|
25
|
+
# @param [Array] build_directory (/tmp/webserver.xxx)
|
26
|
+
# The directory where the executables should be build
|
27
|
+
# @param [Array] build_script (build.sh)
|
28
|
+
# The script which should be used to build the executables
|
29
|
+
#
|
30
|
+
# @example Create new task
|
31
|
+
# FeduxOrgStdlib::Rake::WebserverTask.new
|
32
|
+
def initialize(
|
33
|
+
directory: File.expand_path('utils/server'),
|
34
|
+
repository_url: 'https://github.com/dg-ratiodata/local_webserver',
|
35
|
+
build_directory: Dir.mktmpdir('webserver'),
|
36
|
+
build_script: 'build.sh',
|
37
|
+
**args
|
38
|
+
)
|
39
|
+
super(**args)
|
40
|
+
|
41
|
+
@repository = FeduxOrgStdlib::RemoteRepository.new(repository_url)
|
42
|
+
@directory = File.expand_path(directory)
|
43
|
+
@build_directory = File.expand_path(build_directory)
|
44
|
+
@build_script = build_script
|
45
|
+
end
|
46
|
+
|
47
|
+
# @private
|
48
|
+
def run_task(_verbose)
|
49
|
+
create_build_directory
|
50
|
+
fetch_repository
|
51
|
+
build_server
|
52
|
+
copy_files_to_destination_directory
|
53
|
+
end
|
54
|
+
|
55
|
+
private
|
56
|
+
|
57
|
+
def create_build_directory
|
58
|
+
FileUtils.mkdir_p build_directory
|
59
|
+
end
|
60
|
+
|
61
|
+
def fetch_repository
|
62
|
+
repository.clone_to build_directory
|
63
|
+
end
|
64
|
+
|
65
|
+
def build_server
|
66
|
+
Dir.chdir build_directory do
|
67
|
+
system File.join('.', build_script)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def copy_files_to_destination_directory
|
72
|
+
FileUtils.mkdir_p directory
|
73
|
+
FileUtils.cp new_executable_files, directory
|
74
|
+
end
|
75
|
+
|
76
|
+
def new_executable_files
|
77
|
+
Dir.glob(File.join(build_directory, '**', '*')).select { |f| File.executable? f }
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'fedux_org_stdlib/require_files'
|
3
|
+
require_library %w(rugged addressable/uri)
|
4
|
+
|
5
|
+
module FeduxOrgStdlib
|
6
|
+
class RemoteRepository
|
7
|
+
private
|
8
|
+
|
9
|
+
attr_reader :url
|
10
|
+
|
11
|
+
public
|
12
|
+
|
13
|
+
def initialize(url)
|
14
|
+
@url = Addressable::URI.heuristic_parse(url)
|
15
|
+
end
|
16
|
+
|
17
|
+
def clone_to(directory)
|
18
|
+
Rugged::Repository.clone_at(url.to_s, directory)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'fedux_org_stdlib/remote_repository'
|
5
|
+
|
6
|
+
RSpec.describe FeduxOrgStdlib::RemoteRepository do
|
7
|
+
before :each do
|
8
|
+
in_current_dir do
|
9
|
+
repo = Rugged::Repository.init_at('remote_repo')
|
10
|
+
|
11
|
+
oid = repo.write("This is a blob.", :blob)
|
12
|
+
index = repo.index
|
13
|
+
index.add(:path => "README.md", :oid => oid, :mode => 0100644)
|
14
|
+
|
15
|
+
options = {}
|
16
|
+
options[:tree] = index.write_tree(repo)
|
17
|
+
|
18
|
+
options[:author] = { :email => "testuser@github.com", :name => 'Test Author', :time => Time.now }
|
19
|
+
options[:committer] = { :email => "testuser@github.com", :name => 'Test Author', :time => Time.now }
|
20
|
+
options[:message] ||= "Making a commit via Rugged!"
|
21
|
+
options[:parents] = repo.empty? ? [] : [ repo.head.target ].compact
|
22
|
+
options[:update_ref] = 'HEAD'
|
23
|
+
|
24
|
+
Rugged::Commit.create(repo, options)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
context '#clone_to' do
|
29
|
+
it 'clones remote repository' do
|
30
|
+
repository = FeduxOrgStdlib::RemoteRepository.new("file://#{absolute_path('remote_repo')}")
|
31
|
+
repository.clone_to absolute_path('dir')
|
32
|
+
expect(Pathname.new(absolute_path('dir'))).to be_exist
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fedux_org-stdlib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Max Meyer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -125,6 +125,7 @@ files:
|
|
125
125
|
- lib/fedux_org_stdlib/rake/sub_task.rb
|
126
126
|
- lib/fedux_org_stdlib/rake/task.rb
|
127
127
|
- lib/fedux_org_stdlib/rake/version_bump_task.rb
|
128
|
+
- lib/fedux_org_stdlib/rake/webserver_task.rb
|
128
129
|
- lib/fedux_org_stdlib/rake_tasks.rb
|
129
130
|
- lib/fedux_org_stdlib/rake_tasks/console.rb
|
130
131
|
- lib/fedux_org_stdlib/rake_tasks/documentation.rb
|
@@ -151,6 +152,7 @@ files:
|
|
151
152
|
- lib/fedux_org_stdlib/rake_tasks/tests/rspec.rb
|
152
153
|
- lib/fedux_org_stdlib/rake_tasks/tests/travis.rb
|
153
154
|
- lib/fedux_org_stdlib/recursive_file_finder.rb
|
155
|
+
- lib/fedux_org_stdlib/remote_repository.rb
|
154
156
|
- lib/fedux_org_stdlib/require_files.rb
|
155
157
|
- lib/fedux_org_stdlib/roles/comparable_by_name.rb
|
156
158
|
- lib/fedux_org_stdlib/roles/typable.rb
|
@@ -216,6 +218,7 @@ files:
|
|
216
218
|
- spec/project/report_spec.rb
|
217
219
|
- spec/project/taskjuggler_spec.rb
|
218
220
|
- spec/recursive_file_finder_spec.rb
|
221
|
+
- spec/remote_repository_spec.rb
|
219
222
|
- spec/roles/typable_spec.rb
|
220
223
|
- spec/shell_language_detector_spec.rb
|
221
224
|
- spec/spec_helper.rb
|
@@ -253,7 +256,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
253
256
|
version: '0'
|
254
257
|
requirements: []
|
255
258
|
rubyforge_project:
|
256
|
-
rubygems_version: 2.
|
259
|
+
rubygems_version: 2.4.1
|
257
260
|
signing_key:
|
258
261
|
specification_version: 4
|
259
262
|
summary: Collection of useful libraries. It maybe depend on external libraries.
|
@@ -302,6 +305,7 @@ test_files:
|
|
302
305
|
- spec/project/report_spec.rb
|
303
306
|
- spec/project/taskjuggler_spec.rb
|
304
307
|
- spec/recursive_file_finder_spec.rb
|
308
|
+
- spec/remote_repository_spec.rb
|
305
309
|
- spec/roles/typable_spec.rb
|
306
310
|
- spec/shell_language_detector_spec.rb
|
307
311
|
- spec/spec_helper.rb
|