rakepp 0.1.5 → 0.1.6.1

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.
Files changed (3) hide show
  1. data/Rakefile +1 -1
  2. data/lib/rakepp/gcccompiler.rb +12 -8
  3. metadata +21 -9
data/Rakefile CHANGED
@@ -4,7 +4,7 @@ require 'rake/gempackagetask'
4
4
  desc "Default Task"
5
5
  task :default => :package
6
6
 
7
- PKG_VERSION = '0.1.5'
7
+ PKG_VERSION = '0.1.6.1'
8
8
  PKG_FILES = FileList[
9
9
  'lib/**/*.rb',
10
10
  '*.xml',
@@ -13,26 +13,31 @@ class GccCompiler < Compiler
13
13
  end
14
14
 
15
15
  recreateDepFileTask = task "#{depFile}.recreate" do | task |
16
- puts "wird immer gemacht"
17
16
  if (!File.exists?(depFile))
18
17
  calcDependencies(artifact, depFile)
19
18
  end
20
19
  deps = YAML.load_file(depFile)
21
- if (deps)
22
- depFileTask.enhance(deps)
20
+ missing = deps.inject(false) do |memo, d|
21
+ memo || !File.exists?(d)
22
+ end
23
+ if (missing)
24
+ calcDependencies(artifact, depFile)
25
+ deps = YAML.load_file(depFile)
23
26
  end
27
+ depFileTask.enhance(deps)
24
28
  end
25
29
 
26
- outFile = file outName => ["#{depFile}.recreate", depFile] do | task |
30
+ outFile = file outName => ["#{outName}.apply"] do | task |
27
31
  command = "#{compiler(artifact)} -c #{defines(artifact)} #{includes(artifact)} -o #{outName} #{artifact.source.fullPath}"
28
32
  sh command
29
33
  end
30
-
34
+
31
35
  applyTask = task "#{outFile}.apply" => recreateDepFileTask do |task|
32
36
  deps = YAML.load_file(depFile)
33
37
  if (deps)
34
38
  outFile.enhance(deps)
35
39
  end
40
+ outFile.enhance([depFile])
36
41
  end
37
42
 
38
43
  outFile.enhance([applyTask])
@@ -77,8 +82,7 @@ class GccCompiler < Compiler
77
82
 
78
83
  def calcDependencies(artifact, taskToEnhance)
79
84
  source = artifact.source
80
- command = "#{compiler(artifact)} -MM #{defines(artifact)} #{includes(artifact)} #{source.fullPath}"
81
- puts command
85
+ command = "#{compiler(artifact)} -M #{defines(artifact)} #{includes(artifact)} #{source.fullPath}"
82
86
  deps = `#{command}`
83
87
  if deps.length == 0
84
88
  raise 'cannot calc dependencies'
@@ -88,7 +92,7 @@ class GccCompiler < Compiler
88
92
  f.write(deps.to_yaml)
89
93
  end
90
94
  end
91
-
95
+
92
96
  def startOfSourceLibCommand(outName, artifact)
93
97
  return "ar -r #{outName}"
94
98
  end
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rakepp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 6
9
+ - 1
10
+ version: 0.1.6.1
5
11
  platform: ruby
6
12
  authors:
7
13
  - Christian Koestlin
@@ -9,19 +15,23 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-03-30 00:00:00 +02:00
18
+ date: 2010-04-07 00:00:00 +02:00
13
19
  default_executable:
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
22
  name: progressbar
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
20
25
  requirements:
21
26
  - - ">="
22
27
  - !ruby/object:Gem::Version
28
+ segments:
29
+ - 0
30
+ - 0
31
+ - 3
23
32
  version: 0.0.3
24
- version:
33
+ type: :runtime
34
+ version_requirements: *id001
25
35
  description: " Some more high level building blocks for cpp projects.\n"
26
36
  email: gizmoATflopcodeDOTcom
27
37
  executables: []
@@ -64,18 +74,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
64
74
  requirements:
65
75
  - - ">="
66
76
  - !ruby/object:Gem::Version
77
+ segments:
78
+ - 0
67
79
  version: "0"
68
- version:
69
80
  required_rubygems_version: !ruby/object:Gem::Requirement
70
81
  requirements:
71
82
  - - ">="
72
83
  - !ruby/object:Gem::Version
84
+ segments:
85
+ - 0
73
86
  version: "0"
74
- version:
75
87
  requirements: []
76
88
 
77
89
  rubyforge_project: rakepp
78
- rubygems_version: 1.3.5
90
+ rubygems_version: 1.3.6
79
91
  signing_key:
80
92
  specification_version: 3
81
93
  summary: Cpp Support for Rake.