daedalus-core 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NTZjNzQ4ODQ3NDM2MDY4NGY2NjdmMjljYTFlMGY5YmQ3OTA4NDUzYg==
5
- data.tar.gz: !binary |-
6
- Y2E3YzA2Y2ZjZDU0ZGUyYmM4MzQzNGVkZGI0MjZhOTkyYmUxODgxMQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- ZDI2OGRkNTIxZGI1ZmExOGNhOTVmYjY5NzRlZjM2ZDdmZTk0NjFkZTUyZWVi
10
- ZjgyNmE3YjAzOTc0YzUwNzRmYjgwNzkwYTZiZmI3ZTYxNGJjYjBjOWM5YmEx
11
- N2MxM2VlMTc1YTliMTViMTNkMGE2NzY1NDMzNjJlMTU2NTY1MjQ=
12
- data.tar.gz: !binary |-
13
- MjdkYzU2NGQxNWQ4NDcxYjQzMjZmMWY2NTU2ZjI5ZDc4NDZiZWI0OWE1MDkx
14
- NjNkZjgyMjkxNGIyY2FmNTcwYjk5NDA5MWM0ZGE4OTM2MmZjOTc5Mzk5MmZj
15
- N2Q4OTc2NmFhYWU5YjViNDRhNmRjMTk1YzA0ODViZThiZjc1MTg=
2
+ SHA1:
3
+ metadata.gz: 5ceab94baa6293fd163c39bf26ff28cf1bee5817
4
+ data.tar.gz: 1332e7d94769834b5cc82b6841f556edfa772761
5
+ SHA512:
6
+ metadata.gz: 1a53464f28c9e26fc046877e22c434f616dbbfbe69b93630c7c8791348624b5278bc148b2e7c9b90811b6a976754b6672310624f798e740a88a3aab77a4eb5e7
7
+ data.tar.gz: 45b3fc6462344aeb054dcb19923451bed5f0f1bcbf95dfee7c8bafa2894c84f4a49223e5eabdee6612dc4dbf6d086bcffdbeaf9a6b85cc511b26766cd5dc806c
@@ -0,0 +1 @@
1
+ *.gem
data/LICENSE CHANGED
@@ -1,22 +1,25 @@
1
- Copyright (c) 2013 Brian Shirai. All rights reserved.
1
+ Copyright (c) 2013, Brian Shirai
2
+ All rights reserved.
2
3
 
3
- Permission is hereby granted, free of charge, to any person
4
- obtaining a copy of this software and associated documentation
5
- files (the "Software"), to deal in the Software without
6
- restriction, including without limitation the rights to use,
7
- copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- copies of the Software, and to permit persons to whom the
9
- Software is furnished to do so, subject to the following
10
- conditions:
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
11
6
 
12
- The above copyright notice and this permission notice shall be
13
- included in all copies or substantial portions of the Software.
7
+ 1. Redistributions of source code must retain the above copyright notice, this
8
+ list of conditions and the following disclaimer.
9
+ 2. Redistributions in binary form must reproduce the above copyright notice,
10
+ this list of conditions and the following disclaimer in the documentation
11
+ and/or other materials provided with the distribution.
12
+ 3. Neither the name of the library nor the names of its contributors may be
13
+ used to endorse or promote products derived from this software without
14
+ specific prior written permission.
14
15
 
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
- OTHER DEALINGS IN THE SOFTWARE.
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT,
20
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21
+ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
23
+ OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
24
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
25
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
- require 'daedalus/version'
2
+ require './lib/daedalus/version'
3
3
 
4
4
  Gem::Specification.new do |gem|
5
5
  gem.name = "daedalus-core"
@@ -7,14 +7,20 @@ Gem::Specification.new do |gem|
7
7
  gem.authors = ["Brian Shirai"]
8
8
  gem.email = ["brixen@gmail.com"]
9
9
  gem.homepage = "https://github.com/rubinius/daedalus-core"
10
+ gem.license = "BSD"
10
11
 
11
12
  gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) unless File.extname(f) == ".bat" }.compact
12
13
  gem.files = `git ls-files`.split("\n")
13
14
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
15
  gem.require_paths = ["lib"]
15
16
  gem.summary = <<-EOS
16
- Daedalus is a build system extracted from Rubinius.
17
+ Daedalus is a build system extracted from Rubinius. Almost no functionality has been implemented. This is very alpha.
17
18
  EOS
19
+ gem.description = <<-EOD
20
+ Daedalus is a build system based on years of attempting to build Rubinus with a collection of Rake tasks. Rubinius is a complex system. It has dependencies on external C libraries (some of which are vendored), internal C/C++ libraries, Ruby C-extensions, and compiled Ruby code. The Rubinius bytecode compiler is written in Ruby, so we have to bootstrap compiling it.
21
+
22
+ Rake fails at this task because there is no way to manage multiple, independent dependency trees without subprocessing another Rake process. This results in unreasonable and unmanagable complexity.
23
+ EOD
18
24
  gem.has_rdoc = true
19
25
  gem.extra_rdoc_files = %w[ README.md LICENSE ]
20
26
  gem.rubygems_version = %q{1.3.5}
@@ -151,12 +151,12 @@ module Daedalus
151
151
  @blueprint = blueprint
152
152
 
153
153
  @mod_times = Hash.new do |h,k|
154
- h[k] = (File.exists?(k) ? File.mtime(k) : Time.at(0))
154
+ h[k] = (File.exist?(k) ? File.mtime(k) : Time.at(0))
155
155
  end
156
156
 
157
157
  @sha1_mtimes = {}
158
158
  @sha1s = Hash.new do |h,k|
159
- if File.exists?(k)
159
+ if File.exist?(k)
160
160
  @log.verbose "computing SHA1: #{k}"
161
161
  @sha1_mtimes[k] = File.mtime(k)
162
162
  h[k] = Digest::SHA1.file(k).hexdigest
@@ -274,7 +274,7 @@ module Daedalus
274
274
  def initialize(path)
275
275
  @path = path
276
276
 
277
- if File.exists?(data_path)
277
+ if File.exist?(data_path)
278
278
  begin
279
279
  File.open data_path, "rb" do |f|
280
280
  @data = Marshal.load(f.read)
@@ -383,12 +383,12 @@ module Daedalus
383
383
  end
384
384
 
385
385
  def out_of_date?(ctx)
386
- unless File.exists?(@path)
386
+ unless File.exist?(@path)
387
387
  return true if @autogen_builder
388
388
  raise Errno::ENOENT, "Missing #{@path}"
389
389
  end
390
390
 
391
- return true unless File.exists?(object_path)
391
+ return true unless File.exist?(object_path)
392
392
 
393
393
  return true if ctx.mtime_only and ctx.mtime(@path) > ctx.mtime(object_path)
394
394
 
@@ -414,14 +414,14 @@ module Daedalus
414
414
  end
415
415
 
416
416
  def clean
417
- File.unlink object_path if File.exists?(object_path)
418
- File.unlink data_path if File.exists?(data_path)
417
+ File.unlink object_path if File.exist?(object_path)
418
+ File.unlink data_path if File.exist?(data_path)
419
419
 
420
420
  Dir.rmdir artifacts_path if Dir.entries(artifacts_path).empty?
421
421
  end
422
422
 
423
423
  def describe(ctx)
424
- if !File.exists?(object_path)
424
+ if !File.exist?(object_path)
425
425
  puts "#{@path}: unbuilt"
426
426
  else
427
427
  if @data[:sha1] != sha1(ctx)
@@ -472,7 +472,7 @@ module Daedalus
472
472
 
473
473
  @data_file = "#{@build_dir}.data"
474
474
 
475
- if File.exists?(@data_file)
475
+ if File.exist?(@data_file)
476
476
  begin
477
477
  File.open @data_file, "rb" do |f|
478
478
  @data = Marshal.load(f.read)
@@ -508,7 +508,7 @@ module Daedalus
508
508
  def have_objects
509
509
  return true unless @objects
510
510
  @objects.each do |o|
511
- return false unless File.exists?(o)
511
+ return false unless File.exist?(o)
512
512
  end
513
513
 
514
514
  return true
@@ -587,9 +587,9 @@ module Daedalus
587
587
 
588
588
  def out_of_date?(compiler)
589
589
  Dir.chdir @base do
590
- return true unless File.exists? name
590
+ return true unless File.exist? name
591
591
  @sources.each do |s|
592
- return true unless File.exists? s.object_path
592
+ return true unless File.exist? s.object_path
593
593
  return true if File.mtime(s.object_path) > File.mtime(name)
594
594
  end
595
595
  @sources.any? { |s| s.out_of_date? compiler }
@@ -603,7 +603,7 @@ module Daedalus
603
603
  def clean
604
604
  Dir.chdir @base do
605
605
  @sources.each { |s| s.clean }
606
- File.delete name if File.exists? name
606
+ File.delete name if File.exist? name
607
607
  end
608
608
  end
609
609
  end
@@ -666,7 +666,7 @@ module Daedalus
666
666
 
667
667
  def depends_on(file, command)
668
668
  # TODO: HACK, the agony, this should be implicit
669
- unless File.exists? File.join(@base, file)
669
+ unless File.exist? File.join(@base, file)
670
670
  raise "library group #{@base} depends on #{file}, please run #{command}"
671
671
  end
672
672
  end
@@ -744,7 +744,7 @@ module Daedalus
744
744
 
745
745
  def consider(ctx, tasks)
746
746
  @files.each { |x| x.consider(ctx, tasks) }
747
- tasks.post << self unless tasks.empty? and File.exists?(@path)
747
+ tasks.post << self unless tasks.empty? and File.exist?(@path)
748
748
  end
749
749
 
750
750
  def build(ctx)
@@ -757,8 +757,8 @@ module Daedalus
757
757
  f.clean if f.respond_to? :clean
758
758
  end
759
759
 
760
- File.unlink @path if File.exists?(@path)
761
- File.unlink data_path if File.exists?(data_path)
760
+ File.unlink @path if File.exist?(@path)
761
+ File.unlink data_path if File.exist?(data_path)
762
762
  Dir.rmdir artifacts_path if Dir.entries(artifacts_path).empty?
763
763
  end
764
764
 
@@ -1,3 +1,3 @@
1
1
  module Daedalus
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,44 +1,47 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daedalus-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Shirai
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-20 00:00:00.000000000 Z
11
+ date: 2013-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- type: :development
15
14
  name: rake
16
- version_requirements: !ruby/object:Gem::Requirement
15
+ requirement: !ruby/object:Gem::Requirement
17
16
  requirements:
18
17
  - - ~>
19
18
  - !ruby/object:Gem::Version
20
19
  version: '0.9'
20
+ type: :development
21
21
  prerelease: false
22
- requirement: !ruby/object:Gem::Requirement
22
+ version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.9'
27
27
  - !ruby/object:Gem::Dependency
28
- type: :development
29
28
  name: rspec
30
- version_requirements: !ruby/object:Gem::Requirement
29
+ requirement: !ruby/object:Gem::Requirement
31
30
  requirements:
32
31
  - - ~>
33
32
  - !ruby/object:Gem::Version
34
33
  version: '2.8'
34
+ type: :development
35
35
  prerelease: false
36
- requirement: !ruby/object:Gem::Requirement
36
+ version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.8'
41
- description:
41
+ description: |
42
+ Daedalus is a build system based on years of attempting to build Rubinus with a collection of Rake tasks. Rubinius is a complex system. It has dependencies on external C libraries (some of which are vendored), internal C/C++ libraries, Ruby C-extensions, and compiled Ruby code. The Rubinius bytecode compiler is written in Ruby, so we have to bootstrap compiling it.
43
+
44
+ Rake fails at this task because there is no way to manage multiple, independent dependency trees without subprocessing another Rake process. This results in unreasonable and unmanagable complexity.
42
45
  email:
43
46
  - brixen@gmail.com
44
47
  executables: []
@@ -47,6 +50,7 @@ extra_rdoc_files:
47
50
  - README.md
48
51
  - LICENSE
49
52
  files:
53
+ - .gitignore
50
54
  - LICENSE
51
55
  - README.md
52
56
  - daedalus-core.gemspec
@@ -54,7 +58,8 @@ files:
54
58
  - lib/daedalus/dependency_grapher.rb
55
59
  - lib/daedalus/version.rb
56
60
  homepage: https://github.com/rubinius/daedalus-core
57
- licenses: []
61
+ licenses:
62
+ - BSD
58
63
  metadata: {}
59
64
  post_install_message:
60
65
  rdoc_options:
@@ -67,20 +72,19 @@ require_paths:
67
72
  - lib
68
73
  required_ruby_version: !ruby/object:Gem::Requirement
69
74
  requirements:
70
- - - ! '>='
75
+ - - '>='
71
76
  - !ruby/object:Gem::Version
72
- version: !binary |-
73
- MA==
77
+ version: '0'
74
78
  required_rubygems_version: !ruby/object:Gem::Requirement
75
79
  requirements:
76
- - - ! '>='
80
+ - - '>='
77
81
  - !ruby/object:Gem::Version
78
- version: !binary |-
79
- MA==
82
+ version: '0'
80
83
  requirements: []
81
84
  rubyforge_project:
82
- rubygems_version: 2.0.4
85
+ rubygems_version: 2.0.7
83
86
  signing_key:
84
87
  specification_version: 4
85
- summary: Daedalus is a build system extracted from Rubinius.
88
+ summary: Daedalus is a build system extracted from Rubinius. Almost no functionality
89
+ has been implemented. This is very alpha.
86
90
  test_files: []