helix_runtime 0.6.1 → 0.6.2

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 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