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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 38a1380b0073119d6100e2f7e0b2f1e042d3e5e5
4
- data.tar.gz: a44c1f182dfa2140c0a58e7c87f0e442de1beefb
3
+ metadata.gz: 7b8bfa2da804358eb9f64dfd86f4f278a4e7d069
4
+ data.tar.gz: 5b95996cc3d59e486dde2ac03b8c109eeb4eceac
5
5
  SHA512:
6
- metadata.gz: debe46adb3a1fad083a6d0bd778f0ca0bf7f3b12d64b090336b6a537521fca0422d6c03ab09004d2116d9c151140ac10c289218dd6a79ee02831382abcf35cc6
7
- data.tar.gz: 746c817b44cc980b0204164544df8b90099825b25a829cab4b91c480dea667b23f72b967d80a3e88e43781faae788ec660ea19408b3763ac1133f9cca4a15723
6
+ metadata.gz: d2bc284b1e12d153ee1b158299038954de7745be2cf9dabd7dcd826d51c948671f925ba1f7a27c7f77e67edbc2f316fdd6627467942d402ce428324f0c64c199
7
+ data.tar.gz: 4bf74ccbec86d913291755c36d6d4acbcf09042c86099b6221ece4b323c6fa2802165984c986f39cfea3b81672bd2f4645a201c6ecc2e2c87ce5330242c0d303
@@ -6,7 +6,7 @@
6
6
  #include <helix_runtime.h>
7
7
 
8
8
  // Update with version.rb
9
- const char* HELIX_RUNTIME_VERSION = "0.6.1";
9
+ const char* HELIX_RUNTIME_VERSION = "0.6.2";
10
10
 
11
11
  const char* HELIX_PRIsVALUE = PRIsVALUE;
12
12
  const char* HELIX_SPRINTF_TO_S = "%" PRIsVALUE;
@@ -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(name = nil, gem_spec = nil)
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
- def init(name = nil, gem_spec = nil)
31
- @name = name
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
 
@@ -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
- bootstrap("crates/#{name}", name)
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,5 +1,5 @@
1
1
  require 'helix_runtime/build_task'
2
2
 
3
- HelixRuntime::BuildTask.new("<%= app_name %>")
3
+ HelixRuntime::BuildTask.new
4
4
 
5
5
  task :default => :build
@@ -37,4 +37,4 @@ module HelixRuntime
37
37
  end
38
38
 
39
39
  end
40
- end
40
+ 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
@@ -1,5 +1,5 @@
1
1
  module HelixRuntime
2
2
  # Also update helix_runtime.c
3
- VERSION = "0.6.1"
3
+ VERSION = "0.6.2"
4
4
  GEM_VERSION = VERSION.gsub("-", ".")
5
5
  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.1
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-05-18 00:00:00.000000000 Z
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