gaudi 0.2.3 → 0.2.4

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: b9b197f80b0d158c7989932b7647260335aa6fa6
4
- data.tar.gz: 5de078ebdd30971d0f0aca3e39347425a3397960
3
+ metadata.gz: b9572100013a2fd71a8731d6a867551d32870517
4
+ data.tar.gz: 76f8b77cd00878adeb57286b25473c8a8ae8abd7
5
5
  SHA512:
6
- metadata.gz: 28d1f6c6b484da87410d5455a05cf807e272a51eb93f71605c06bf4ae02cce61da1f82ef7c0c7e1abc0b0bd2f0ef4537a6788a81000f871dfd4ad559a5c0f7a5
7
- data.tar.gz: b2a25fbb283bc3aa72539bc62cad0812d7f727c43c68f341b904f9840500a3d60e6cc2b2c39733e082bb6e2f00ee14b0d1a3162d77e254628937cb0a2f523893
6
+ metadata.gz: 883e81256e3fad544f558c17ce629f26aa5dbfa745883101a6a3065c067cc08e09014359604df846ae0775b24e53eb9a1ab8c6bb079fa6f67ec01c406d8c79c0
7
+ data.tar.gz: bed2868f0897ef1efa8716501a01e90e24eaa181e9e408fbf28dc37e9af6fc19c565daf57e484a7ffce911dc4c1d0a75e466da5b4276317ee3ebd6a4bbd67283
data/History.txt CHANGED
@@ -1,14 +1,17 @@
1
- #0.2.3
2
- * Check for git presence before removing old install when updating
3
- * Check for git presence before attempting to create a new project
4
- * Help message now indicates that https access and git are required
5
- #0.2.2
6
- * Added update functionality
7
- #0.2.0
8
- * Pulls HEAD of gaudi from GitHub in the scaffold
9
-
10
- #0.1.0
11
- * Scaffolding code for new projects
12
- ** Directory structure
13
- ** Example system configuration
1
+ #0.2.4
2
+ * Fix bug when project root contains spaces
3
+ * DRYed the code
4
+ #0.2.3
5
+ * Check for git presence before removing old install when updating
6
+ * Check for git presence before attempting to create a new project
7
+ * Help message now indicates that https access and git are required
8
+ #0.2.2
9
+ * Added update functionality
10
+ #0.2.0
11
+ * Pulls HEAD of gaudi from GitHub in the scaffold
12
+
13
+ #0.1.0
14
+ * Scaffolding code for new projects
15
+ ** Directory structure
16
+ ** Example system configuration
14
17
  ** Example platform configuration
data/Manifest.txt CHANGED
@@ -1,9 +1,9 @@
1
- History.txt
2
- Manifest.txt
3
- README.txt
4
- bin/gaudi
5
- lib/gaudi/templates/main.cfg.template
6
- lib/gaudi/templates/platform.cfg.template
7
- lib/gaudi/scaffolding.rb
8
- lib/gaudi/version.rb
1
+ History.txt
2
+ Manifest.txt
3
+ README.txt
4
+ bin/gaudi
5
+ lib/gaudi/templates/main.cfg.template
6
+ lib/gaudi/templates/platform.cfg.template
7
+ lib/gaudi/scaffolding.rb
8
+ lib/gaudi/version.rb
9
9
  lib/gaudi.rb
data/README.txt CHANGED
@@ -1,38 +1,39 @@
1
- # Gaudi - A Builder [http://github.com/damphyr/gaudi](http://github.com/damphyr/gaudi)
2
-
3
- ## DESCRIPTION:
4
-
5
- This gem provides setup, scaffolding and maintenance functions for [gaudi](http://github.com/damphyr/gaudi) installations.
6
-
7
- ## USAGE
8
-
9
- gaudi -s project/root to create a directory structure for a Gaudi based project
10
-
11
- ## INSTALL:
12
-
13
- * (sudo) gem install gaudi
14
-
15
- ## LICENSE:
16
-
17
- (The MIT License)
18
-
19
- Copyright (c) 2014 FIX
20
-
21
- Permission is hereby granted, free of charge, to any person obtaining
22
- a copy of this software and associated documentation files (the
23
- 'Software'), to deal in the Software without restriction, including
24
- without limitation the rights to use, copy, modify, merge, publish,
25
- distribute, sublicense, and/or sell copies of the Software, and to
26
- permit persons to whom the Software is furnished to do so, subject to
27
- the following conditions:
28
-
29
- The above copyright notice and this permission notice shall be
30
- included in all copies or substantial portions of the Software.
31
-
32
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
33
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
34
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
35
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
36
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
37
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
38
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+ # Gaudi - A Builder [http://github.com/damphyr/gaudi](http://github.com/damphyr/gaudi)
2
+
3
+ ## DESCRIPTION:
4
+
5
+ This gem provides setup, scaffolding and maintenance functions for [gaudi](http://github.com/damphyr/gaudi) installations.
6
+
7
+ ## USAGE
8
+
9
+ gaudi -s project/root to create a directory structure for a Gaudi based project
10
+ gaudi -u project/root to update an existing Gaudi installation
11
+
12
+ ## INSTALL:
13
+
14
+ * (sudo) gem install gaudi
15
+
16
+ ## LICENSE:
17
+
18
+ (The MIT License)
19
+
20
+ Copyright (c) 2014 FIX
21
+
22
+ Permission is hereby granted, free of charge, to any person obtaining
23
+ a copy of this software and associated documentation files (the
24
+ 'Software'), to deal in the Software without restriction, including
25
+ without limitation the rights to use, copy, modify, merge, publish,
26
+ distribute, sublicense, and/or sell copies of the Software, and to
27
+ permit persons to whom the Software is furnished to do so, subject to
28
+ the following conditions:
29
+
30
+ The above copyright notice and this permission notice shall be
31
+ included in all copies or substantial portions of the Software.
32
+
33
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
34
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
35
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
36
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
37
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
38
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
39
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/bin/gaudi CHANGED
@@ -1,3 +1,3 @@
1
- #!/usr/bin/env ruby
2
- require 'gaudi'
1
+ #!/usr/bin/env ruby
2
+ require 'gaudi'
3
3
  Gaudi::Gem.run(ARGV)
@@ -1,188 +1,182 @@
1
- require 'ostruct'
2
- require 'optparse'
3
- require 'fileutils'
4
- require 'tmpdir'
5
- require 'rubygems'
6
- require 'archive/tar/minitar'
7
-
8
- module Gaudi
9
- class Error <RuntimeError
10
- end
11
- class Gem
12
- MAIN_CONFIG="system.cfg"
13
- PLATFORM_CONFIG="foo.cfg"
14
- attr_reader :project_root,:gaudi_home
15
- #:nodoc:
16
- def self.options arguments
17
- options = OpenStruct.new
18
- options.project_root= Dir.pwd
19
- options.verbose= false
20
- options.scaffold= false
21
- options.update= false
22
- options.version= "HEAD"
23
-
24
- opt_parser = OptionParser.new do |opts|
25
- opts.banner = "Usage: gaudi [options]"
26
- opts.separator "Make sure GitHub is accessible via https and git is on the PATH environment"
27
- opts.separator ""
28
- opts.separator "Commands:"
29
-
30
- opts.on("-s", "--scaffold PROJECT_PATH","Create a Gaudi scaffold in PROJECT_PATH") do |proot|
31
- options.project_root=File.expand_path(proot)
32
- options.scaffold=true
33
- options.update=false
34
- end
35
- opts.on("-u", "--update PROJECT_PATH","Update Gaudi core from GitHub on project at PROJECT_PATH") do |proot|
36
- options.project_root=File.expand_path(proot)
37
- options.update=true
38
- options.scaffold=false
39
- end
40
- opts.separator ""
41
- opts.separator "Common options:"
42
- # Boolean switch.
43
- opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
44
- options.verbose = v
45
- end
46
- opts.on_tail("-h", "--help", "Show this message") do
47
- puts opts
48
- exit
49
- end
50
- opts.on_tail("--version", "Show version") do
51
- puts "Gaudi Gem v#{Gaudi::Gem::Version::STRING}"
52
- exit
53
- end
54
- end
55
- opt_parser.parse!(arguments)
56
- return options
57
- end
58
- #:nodoc:
59
- def self.run args
60
- opts=options(args)
61
- begin
62
- if opts.scaffold
63
- Gaudi::Gem.new(opts.project_root).project(opts.version)
64
- elsif opts.update
65
- Gaudi::Gem.new(opts.project_root).update(opts.version)
66
- end
67
- rescue Gaudi::Error
68
- puts $!.message
69
- exit 1
70
- end
71
- end
72
-
73
- def initialize project_root
74
- @project_root=project_root
75
- @gaudi_home=File.join(project_root,"tools","build")
76
- end
77
-
78
- def project version
79
- raise Error, "#{project_root} already exists!" if File.exists?(project_root) && project_root != Dir.pwd
80
- check_for_git
81
- directory_structure
82
- rakefile
83
- main_config
84
- platform_config
85
- gaudi(version)
86
- end
87
-
88
- def update version
89
- raise Error, "#{gaudi_home} is missing! Try creating a new Gaudi project first." unless File.exists?(gaudi_home)
90
- check_for_git
91
- puts "Removing old gaudi installation"
92
- FileUtils.rm_rf(File.join(gaudi_home,"lib/gaudi"))
93
- core(version)
94
- end
95
- #:nodoc:
96
- def check_for_git
97
- raise Error, "Could not find git. Make sure it is in the PATH" unless system("git --version")
98
- end
99
- #:nodoc:
100
- def directory_structure
101
- puts "Creating Gaudi filesystem structure at #{project_root}"
102
- structure=["doc","lib","src","test","tools/build","tools/templates"]
103
- structure.each do |dir|
104
- FileUtils.mkdir_p File.join(project_root,dir),:verbose=>false
105
- end
106
- end
107
- #:nodoc:
108
- def rakefile
109
- puts "Generating main Rakefile"
110
- rakefile=File.join(project_root,"Rakefile")
111
- if File.exists?(rakefile)
112
- puts "Rakefile exists, skipping generation"
113
- else
114
- rakefile_content=<<-EOT
115
- require_relative 'tools/build/lib/gaudi'
116
- env_setup(File.dirname(__FILE__))
117
- require_relative 'tools/build/lib/gaudi/tasks'
118
- EOT
119
- File.open(rakefile, 'wb') {|f| f.write(rakefile_content) }
120
- end
121
- end
122
- #:nodoc:
123
- def main_config
124
- puts "Generating initial configuration file"
125
- config_file=File.join(project_root,"tools/build/#{MAIN_CONFIG}")
126
- if File.exists?(config_file)
127
- puts "#{MAIN_CONFIG} exists, skipping generation"
128
- else
129
- configuration_content=File.read(File.join(File.dirname(__FILE__),'templates/main.cfg.template'))
130
- File.open(config_file, 'wb') {|f| f.write(configuration_content) }
131
- end
132
- end
133
- #:nodoc:
134
- def platform_config
135
- puts "Generating example platform configuration file"
136
- config_file=File.join(project_root,"tools/build/#{PLATFORM_CONFIG}")
137
- if File.exists?(config_file)
138
- puts "#{PLATFORM_CONFIG} exists, skipping generation"
139
- else
140
- configuration_content=File.read(File.join(File.dirname(__FILE__),'templates/platform.cfg.template'))
141
- File.open(config_file, 'wb') {|f| f.write(configuration_content) }
142
- end
143
- end
144
- #:nodoc:
145
- def gaudi(version)
146
- Dir.mktmpdir do |tmp|
147
- if File.exists?('gaudi')
148
- FileUtils.rm_rf('gaudi')
149
- end
150
- if system "git clone https://github.com/damphyr/gaudi #{tmp}/gaudi"
151
- Dir.chdir("#{tmp}/gaudi") do |d|
152
- puts "Packing #{version} gaudi version"
153
- cmdline="git archive --format=tar -o #{project_root}/gaudilib.tar #{version} lib/"
154
- system(cmdline)
155
- end
156
- puts "Unpacking in #{gaudi_home}"
157
- Dir.chdir(project_root) do |d|
158
- Archive::Tar::Minitar.unpack(File.join(project_root,'gaudilib.tar'), 'tools/build')
159
- end
160
- FileUtils.rm_rf(File.join(project_root,'gaudilib.tar'))
161
- FileUtils.rm_rf(File.join(project_root,'tools/build/pax_global_header'))
162
- else
163
- raise Error, "Cloning the Gaudi repo failed. Check that git is on the PATH and that GitHub is accessible"
164
- end
165
- end
166
- end
167
- #:nodoc:
168
- def core(version)
169
- Dir.mktmpdir do |tmp|
170
- if File.exists?('gaudi')
171
- FileUtils.rm_rf('gaudi')
172
- end
173
- system "git clone https://github.com/damphyr/gaudi #{tmp}/gaudi"
174
- Dir.chdir("#{tmp}/gaudi") do |d|
175
- puts "Packing #{version} gaudi version"
176
- cmdline="git archive --format=tar -o #{project_root}/gaudicore.tar #{version} lib/gaudi"
177
- system(cmdline)
178
- end
179
- puts "Unpacking core in #{gaudi_home}/lib/gaudi"
180
- Dir.chdir(project_root) do |d|
181
- Archive::Tar::Minitar.unpack(File.join(project_root,'gaudicore.tar'), 'tools/build')
182
- end
183
- FileUtils.rm_rf(File.join(project_root,'gaudicore.tar'))
184
- FileUtils.rm_rf(File.join(project_root,'tools/build/pax_global_header'))
185
- end
186
- end
187
- end
1
+ require 'ostruct'
2
+ require 'optparse'
3
+ require 'fileutils'
4
+ require 'tmpdir'
5
+ require 'rubygems'
6
+ require 'archive/tar/minitar'
7
+
8
+ module Gaudi
9
+ class Error <RuntimeError
10
+ end
11
+ class Gem
12
+ MAIN_CONFIG="system.cfg"
13
+ PLATFORM_CONFIG="foo.cfg"
14
+ REPO="https://github.com/damphyr/gaudi"
15
+
16
+ attr_reader :project_root,:gaudi_home
17
+ #:nodoc:
18
+ def self.options arguments
19
+ options = OpenStruct.new
20
+ options.project_root= Dir.pwd
21
+ options.verbose= false
22
+ options.scaffold= false
23
+ options.update= false
24
+ options.version= "HEAD"
25
+
26
+ opt_parser = OptionParser.new do |opts|
27
+ opts.banner = "Usage: gaudi [options]"
28
+ opts.separator "Make sure GitHub is accessible via https and git is on the PATH environment"
29
+ opts.separator ""
30
+ opts.separator "Commands:"
31
+
32
+ opts.on("-s", "--scaffold PROJECT_PATH","Create a Gaudi scaffold in PROJECT_PATH") do |proot|
33
+ options.project_root=File.expand_path(proot)
34
+ options.scaffold=true
35
+ options.update=false
36
+ end
37
+ opts.on("-u", "--update PROJECT_PATH","Update Gaudi core from GitHub on project at PROJECT_PATH") do |proot|
38
+ options.project_root=File.expand_path(proot)
39
+ options.update=true
40
+ options.scaffold=false
41
+ end
42
+ opts.separator ""
43
+ opts.separator "Common options:"
44
+ # Boolean switch.
45
+ opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
46
+ options.verbose = v
47
+ end
48
+ opts.on_tail("-h", "--help", "Show this message") do
49
+ puts opts
50
+ exit
51
+ end
52
+ opts.on_tail("--version", "Show version") do
53
+ puts "Gaudi Gem v#{Gaudi::Gem::Version::STRING}"
54
+ exit
55
+ end
56
+ end
57
+ opt_parser.parse!(arguments)
58
+ return options
59
+ end
60
+ #:nodoc:
61
+ def self.run args
62
+ opts=options(args)
63
+ begin
64
+ if opts.scaffold
65
+ Gaudi::Gem.new(opts.project_root).project(opts.version)
66
+ elsif opts.update
67
+ Gaudi::Gem.new(opts.project_root).update(opts.version)
68
+ end
69
+ rescue Gaudi::Error
70
+ puts $!.message
71
+ exit 1
72
+ end
73
+ end
74
+
75
+ def initialize project_root
76
+ @project_root=project_root
77
+ @gaudi_home=File.join(project_root,"tools","build")
78
+ end
79
+
80
+ def project version
81
+ raise Error, "#{project_root} already exists!" if File.exists?(project_root) && project_root != Dir.pwd
82
+ check_for_git
83
+ directory_structure
84
+ rakefile
85
+ main_config
86
+ platform_config
87
+ core(version,"lib")
88
+ end
89
+
90
+ def update version
91
+ raise Error, "#{gaudi_home} is missing! Try creating a new Gaudi project first." unless File.exists?(gaudi_home)
92
+ check_for_git
93
+ puts "Removing old gaudi installation"
94
+ FileUtils.rm_rf(File.join(gaudi_home,"lib/gaudi"))
95
+ core(version,"lib/gaudi lib/gaudi.rb")
96
+ end
97
+ #:nodoc:
98
+ def check_for_git
99
+ raise Error, "Could not find git. Make sure it is in the PATH" unless system("git --version")
100
+ end
101
+ #:nodoc:
102
+ def directory_structure
103
+ puts "Creating Gaudi filesystem structure at #{project_root}"
104
+ structure=["doc","lib","src","test","tools/build","tools/templates"]
105
+ structure.each do |dir|
106
+ FileUtils.mkdir_p File.join(project_root,dir),:verbose=>false
107
+ end
108
+ end
109
+ #:nodoc:
110
+ def rakefile
111
+ puts "Generating main Rakefile"
112
+ rakefile=File.join(project_root,"Rakefile")
113
+ if File.exists?(rakefile)
114
+ puts "Rakefile exists, skipping generation"
115
+ else
116
+ rakefile_content=<<-EOT
117
+ require_relative 'tools/build/lib/gaudi'
118
+ env_setup(File.dirname(__FILE__))
119
+ require_relative 'tools/build/lib/gaudi/tasks'
120
+ EOT
121
+ File.open(rakefile, 'wb') {|f| f.write(rakefile_content) }
122
+ end
123
+ end
124
+ #:nodoc:
125
+ def main_config
126
+ puts "Generating initial configuration file"
127
+ config_file=File.join(project_root,"tools/build/#{MAIN_CONFIG}")
128
+ if File.exists?(config_file)
129
+ puts "#{MAIN_CONFIG} exists, skipping generation"
130
+ else
131
+ configuration_content=File.read(File.join(File.dirname(__FILE__),'templates/main.cfg.template'))
132
+ File.open(config_file, 'wb') {|f| f.write(configuration_content) }
133
+ end
134
+ end
135
+ #:nodoc:
136
+ def platform_config
137
+ puts "Generating example platform configuration file"
138
+ config_file=File.join(project_root,"tools/build/#{PLATFORM_CONFIG}")
139
+ if File.exists?(config_file)
140
+ puts "#{PLATFORM_CONFIG} exists, skipping generation"
141
+ else
142
+ configuration_content=File.read(File.join(File.dirname(__FILE__),'templates/platform.cfg.template'))
143
+ File.open(config_file, 'wb') {|f| f.write(configuration_content) }
144
+ end
145
+ end
146
+ #:nodoc:
147
+ def core(version,lib_items)
148
+ Dir.mktmpdir do |tmp|
149
+ if pull_from_repo(tmp)
150
+ pkg=archive(version,File.join(tmp,"gaudi"),project_root,lib_items)
151
+ unpack(pkg,gaudi_home)
152
+ else
153
+ raise Error, "Cloning the Gaudi repo failed. Check that git is on the PATH and that #{REPO} is accessible"
154
+ end
155
+ end
156
+ end
157
+ #:nodoc:
158
+ def pull_from_repo tmp
159
+ FileUtils.rm_rf('gaudi') if File.exists?('gaudi')
160
+ system "git clone #{REPO} \"#{tmp}/gaudi\""
161
+ end
162
+ #:nodoc:
163
+ def archive version,clone_path,prj_root,lib_items
164
+ pkg=File.expand_path(File.join(prj_root,"gaudipkg.tar"))
165
+ Dir.chdir(clone_path) do |d|
166
+ puts "Packing #{version} gaudi version in #{pkg}"
167
+ cmdline="git archive --format=tar -o \"#{pkg}\" #{version} #{lib_items}"
168
+ system(cmdline)
169
+ end
170
+ return pkg
171
+ end
172
+ #:nodoc:
173
+ def unpack pkg,home
174
+ puts "Unpacking in #{home}"
175
+ Dir.chdir(home) do |d|
176
+ Archive::Tar::Minitar.unpack(pkg, home)
177
+ end
178
+ FileUtils.rm_rf(pkg)
179
+ FileUtils.rm_rf(File.join(home,'pax_global_header'))
180
+ end
181
+ end
188
182
  end
@@ -1,12 +1,12 @@
1
- ##Relative paths are relative to the configuration file
2
-
3
- #the project root directory
4
- base=../../
5
- #the build output directory
6
- out=../../out
7
- #Comma separated list of directory to search for source files
8
- sources=../../src/
9
- #enumerate the platforms i.e. platforms=gcc,ms,arm
10
- #platforms= foo
11
- #add a platform=platform.cfg for each platform pointing to the platform configuration
1
+ ##Relative paths are relative to the configuration file
2
+
3
+ #the project root directory
4
+ base=../../
5
+ #the build output directory
6
+ out=../../out
7
+ #Comma separated list of directory to search for source files
8
+ sources=../../src/
9
+ #enumerate the platforms i.e. platforms=gcc,ms,arm
10
+ #platforms= foo
11
+ #add a platform=platform.cfg for each platform pointing to the platform configuration
12
12
  #foo=./foo.cfg
@@ -1,40 +1,40 @@
1
- ##### Source file settings
2
- #all extension parameters are mandatory
3
- source_extensions= .c,.asm #comma separated list of file extensions
4
- header_extensions= .h #comma separated list of file extensions
5
- object_extension= .o #single entry
6
- library_extension= .so #single entry
7
- executable_extension= .e #single entry
8
- ######Compiler settings
9
- #Compiler executable (gcc etc.)
10
- compiler=
11
- #command line options for the compiler (-o2 etc.)
12
- compiler_options=
13
- #Output flag
14
- compiler_out=
15
- #Command file flag (to make the compiler read the prameters from a file)
16
- compiler_commandfile_prefix=
17
- #Include path flag
18
- compiler_include=
19
- #### Basically the set above is repeated the for the linker (libraries and executables) and the assembler
20
- #####Assembler settings
21
- assembler=
22
- assembler_options=
23
- assembler_commandfile_prefix=
24
- assembler_out=
25
- assembler_include=
26
- #####Settings for linking libraries
27
- librarian=
28
- library_options=
29
- library_in=
30
- library_out=
31
- library_commandfile_prefix=
32
- #####Settings for linking executables
33
- linker=
34
- linker_options=
35
- #input files flag (some linkers do have it. You prefix every object file with it, yes you do)
36
- linker_in=
37
- linker_out=
38
- #Flag for linked libraries (shared or dynamic)
39
- linker_lib=
1
+ ##### Source file settings
2
+ #all extension parameters are mandatory
3
+ source_extensions= .c,.asm #comma separated list of file extensions
4
+ header_extensions= .h #comma separated list of file extensions
5
+ object_extension= .o #single entry
6
+ library_extension= .so #single entry
7
+ executable_extension= .e #single entry
8
+ ######Compiler settings
9
+ #Compiler executable (gcc etc.)
10
+ compiler=
11
+ #command line options for the compiler (-o2 etc.)
12
+ compiler_options=
13
+ #Output flag
14
+ compiler_out=
15
+ #Command file flag (to make the compiler read the prameters from a file)
16
+ compiler_commandfile_prefix=
17
+ #Include path flag
18
+ compiler_include=
19
+ #### Basically the set above is repeated the for the linker (libraries and executables) and the assembler
20
+ #####Assembler settings
21
+ assembler=
22
+ assembler_options=
23
+ assembler_commandfile_prefix=
24
+ assembler_out=
25
+ assembler_include=
26
+ #####Settings for linking libraries
27
+ librarian=
28
+ library_options=
29
+ library_in=
30
+ library_out=
31
+ library_commandfile_prefix=
32
+ #####Settings for linking executables
33
+ linker=
34
+ linker_options=
35
+ #input files flag (some linkers do have it. You prefix every object file with it, yes you do)
36
+ linker_in=
37
+ linker_out=
38
+ #Flag for linked libraries (shared or dynamic)
39
+ linker_lib=
40
40
  linker_commandfile_prefix=
data/lib/gaudi/version.rb CHANGED
@@ -1,15 +1,15 @@
1
- module Gaudi
2
- #Gaudi follows SemVer and so does it's gem, but they're two separate things
3
- class Gem
4
- module Version
5
- #Major version
6
- MAJOR=0
7
- #Minor version
8
- MINOR=2
9
- #Tiny version
10
- TINY=3
11
- #All-in-one
12
- STRING=[MAJOR,MINOR,TINY].join('.')
13
- end
14
- end
15
- end
1
+ module Gaudi
2
+ #Gaudi follows SemVer and so does it's gem, but they're two separate things
3
+ class Gem
4
+ module Version
5
+ #Major version
6
+ MAJOR=0
7
+ #Minor version
8
+ MINOR=2
9
+ #Tiny version
10
+ TINY=4
11
+ #All-in-one
12
+ STRING=[MAJOR,MINOR,TINY].join('.')
13
+ end
14
+ end
15
+ end
data/lib/gaudi.rb CHANGED
@@ -1,2 +1,2 @@
1
- require_relative "gaudi/version"
2
- require_relative "gaudi/scaffolding"
1
+ require_relative "gaudi/version"
2
+ require_relative "gaudi/scaffolding"
metadata CHANGED
@@ -1,61 +1,62 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gaudi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vassilis Rizopoulos
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-30 00:00:00.000000000 Z
11
+ date: 2015-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: archive-tar-minitar
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.5.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.5.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rdoc
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '4.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '4.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: hoe
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.7'
47
+ version: '3.14'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.7'
54
+ version: '3.14'
55
55
  description: "## DESCRIPTION:\n\nThis gem provides setup, scaffolding and maintenance
56
56
  functions for [gaudi](http://github.com/damphyr/gaudi) installations.\n\n## USAGE\n\ngaudi
57
- -s project/root to create a directory structure for a Gaudi based project \n\n##
58
- INSTALL:"
57
+ -s project/root to create a directory structure for a Gaudi based project \ngaudi
58
+ -u project/root to update an existing Gaudi installation\n \n## INSTALL:\n\n*
59
+ (sudo) gem install gaudi"
59
60
  email:
60
61
  - vassilisrizopoulos@gmail.com
61
62
  executables:
@@ -70,34 +71,34 @@ files:
70
71
  - Manifest.txt
71
72
  - README.txt
72
73
  - bin/gaudi
74
+ - lib/gaudi.rb
75
+ - lib/gaudi/scaffolding.rb
73
76
  - lib/gaudi/templates/main.cfg.template
74
77
  - lib/gaudi/templates/platform.cfg.template
75
- - lib/gaudi/scaffolding.rb
76
78
  - lib/gaudi/version.rb
77
- - lib/gaudi.rb
78
79
  homepage: http://github.com/damphyr/gaudi
79
80
  licenses:
80
81
  - MIT
81
82
  metadata: {}
82
83
  post_install_message:
83
84
  rdoc_options:
84
- - --main
85
+ - "--main"
85
86
  - README.txt
86
87
  require_paths:
87
88
  - lib
88
89
  required_ruby_version: !ruby/object:Gem::Requirement
89
90
  requirements:
90
- - - '>='
91
+ - - ">="
91
92
  - !ruby/object:Gem::Version
92
93
  version: '0'
93
94
  required_rubygems_version: !ruby/object:Gem::Requirement
94
95
  requirements:
95
- - - '>='
96
+ - - ">="
96
97
  - !ruby/object:Gem::Version
97
98
  version: '0'
98
99
  requirements: []
99
- rubyforge_project: gaudi
100
- rubygems_version: 2.0.14
100
+ rubyforge_project:
101
+ rubygems_version: 2.2.5
101
102
  signing_key:
102
103
  specification_version: 4
103
104
  summary: Scaffolding and version management for Gaudi