helix_runtime 0.6.1 → 0.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/helix_runtime/native/helix_runtime.c +1 -1
- data/helix_runtime.gemspec +1 -0
- data/lib/helix_runtime/build_task.rb +12 -13
- data/lib/helix_runtime/cli.rb +5 -1
- data/lib/helix_runtime/cli/templates/helix_runtime.rake +1 -1
- data/lib/helix_runtime/parent_project.rb +1 -1
- data/lib/helix_runtime/project.rb +10 -2
- data/lib/helix_runtime/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b8bfa2da804358eb9f64dfd86f4f278a4e7d069
|
4
|
+
data.tar.gz: 5b95996cc3d59e486dde2ac03b8c109eeb4eceac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2bc284b1e12d153ee1b158299038954de7745be2cf9dabd7dcd826d51c948671f925ba1f7a27c7f77e67edbc2f316fdd6627467942d402ce428324f0c64c199
|
7
|
+
data.tar.gz: 4bf74ccbec86d913291755c36d6d4acbcf09042c86099b6221ece4b323c6fa2802165984c986f39cfea3b81672bd2f4645a201c6ecc2e2c87ce5330242c0d303
|
data/helix_runtime.gemspec
CHANGED
@@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
|
|
26
26
|
|
27
27
|
spec.add_dependency "rake", ">= 10.0"
|
28
28
|
spec.add_dependency "thor", "~> 0.19.4"
|
29
|
+
spec.add_dependency "toml", "~> 0.1.2"
|
29
30
|
|
30
31
|
spec.add_development_dependency "bundler", "~> 1.10"
|
31
32
|
spec.add_development_dependency "rspec", "~> 3.4"
|
@@ -14,27 +14,26 @@ module HelixRuntime
|
|
14
14
|
@project ||= Project.new(Dir.pwd)
|
15
15
|
end
|
16
16
|
|
17
|
-
delegate_attr :name, to: :project
|
18
17
|
delegate_attr :helix_lib_dir, to: :project
|
19
18
|
delegate_attr :debug_rust, to: :project
|
20
19
|
delegate_attr :build_root, to: :project
|
21
20
|
|
22
21
|
attr_accessor :pre_build
|
23
22
|
|
24
|
-
def initialize(
|
25
|
-
init(name, gem_spec)
|
23
|
+
def initialize(deprecated_name = nil)
|
26
24
|
yield self if block_given?
|
27
|
-
define
|
28
|
-
end
|
29
25
|
|
30
|
-
|
31
|
-
|
26
|
+
if deprecated_name
|
27
|
+
warn "DEPRECATION WARNING: Passing a project name to the Helix build " \
|
28
|
+
"task (`HelixRuntime::BuildTask.new(#{deprecated_name.inspect})`) " \
|
29
|
+
"is unnecessary, as we now automatically detect the project name " \
|
30
|
+
"from your `Cargo.toml`.\n\n"
|
31
|
+
end
|
32
|
+
|
33
|
+
define
|
32
34
|
end
|
33
35
|
|
34
36
|
def define
|
35
|
-
fail "Extension name must be provided." if @name.nil?
|
36
|
-
@name = @name.to_s
|
37
|
-
|
38
37
|
task "helix:pre_build" do
|
39
38
|
pre_build.call if pre_build
|
40
39
|
end
|
@@ -60,7 +59,7 @@ module HelixRuntime
|
|
60
59
|
project.cargo_clean
|
61
60
|
end
|
62
61
|
|
63
|
-
desc "Build #{name}"
|
62
|
+
desc "Build #{project.name}"
|
64
63
|
task :build => ["helix:pre_build", "helix:check_path"] do
|
65
64
|
project.build
|
66
65
|
end
|
@@ -70,9 +69,9 @@ module HelixRuntime
|
|
70
69
|
project.clobber
|
71
70
|
end
|
72
71
|
|
73
|
-
desc "Launch an IRB console for #{name}"
|
72
|
+
desc "Launch an IRB console for #{project.name}"
|
74
73
|
task :irb => :build do
|
75
|
-
exec "bundle exec irb -r#{name} -Ilib"
|
74
|
+
exec "bundle exec irb -r#{project.name} -Ilib"
|
76
75
|
end
|
77
76
|
end
|
78
77
|
|
data/lib/helix_runtime/cli.rb
CHANGED
@@ -8,9 +8,13 @@ module HelixRuntime
|
|
8
8
|
register CLI::Bootstrap, "bootstrap", "bootstrap PATH [NAME]", "Bootstrap Helix"
|
9
9
|
|
10
10
|
desc "crate NAME", "Generate a Helix crate"
|
11
|
+
option :skip_bundle, type: :boolean, default: false
|
11
12
|
def crate(name)
|
12
|
-
|
13
|
+
invoke CLI::Bootstrap, ["crates/#{name}", name], skip_bundle: true
|
14
|
+
|
13
15
|
append_to_file "Gemfile", "gem '#{name}', path: 'crates/#{name}'\n"
|
16
|
+
|
17
|
+
run "bundle" unless options.skip_bundle
|
14
18
|
end
|
15
19
|
end
|
16
20
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'toml'
|
2
|
+
|
1
3
|
module HelixRuntime
|
2
4
|
class Project
|
3
5
|
|
@@ -8,14 +10,12 @@ module HelixRuntime
|
|
8
10
|
end
|
9
11
|
|
10
12
|
attr_accessor :root
|
11
|
-
attr_accessor :name
|
12
13
|
attr_accessor :helix_lib_dir
|
13
14
|
attr_accessor :debug_rust
|
14
15
|
attr_accessor :build_root
|
15
16
|
|
16
17
|
def initialize(root)
|
17
18
|
@root = find_root(root)
|
18
|
-
@name = File.basename(@root)
|
19
19
|
@debug_rust = ENV['DEBUG_RUST']
|
20
20
|
@build_root = @root
|
21
21
|
end
|
@@ -24,6 +24,14 @@ module HelixRuntime
|
|
24
24
|
!!debug_rust
|
25
25
|
end
|
26
26
|
|
27
|
+
def name
|
28
|
+
@name ||= TOML.load_file(cargo_toml_path)["package"]["name"]
|
29
|
+
end
|
30
|
+
|
31
|
+
def cargo_toml_path
|
32
|
+
"#{root}/Cargo.toml"
|
33
|
+
end
|
34
|
+
|
27
35
|
def build_path
|
28
36
|
File.expand_path(debug_rust? ? 'target/debug' : 'target/release', build_root)
|
29
37
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: helix_runtime
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yehuda Katz
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-08-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -39,6 +39,20 @@ dependencies:
|
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: 0.19.4
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: toml
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 0.1.2
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 0.1.2
|
42
56
|
- !ruby/object:Gem::Dependency
|
43
57
|
name: bundler
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|