gaudi 0.3.1 → 0.6.0
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 +5 -5
- data/History.txt +41 -10
- data/Manifest.txt +5 -4
- data/{README.txt → README.md} +16 -7
- data/bin/gaudi +2 -2
- data/lib/gaudi/scaffolding.rb +106 -119
- data/lib/gaudi/templates/doc.md.template +57 -0
- data/lib/gaudi/templates/main.cfg.template +3 -9
- data/lib/gaudi/templates/rakefile.rb.template +3 -0
- data/lib/gaudi/version.rb +9 -9
- metadata +30 -24
- data/lib/gaudi/templates/platform.cfg.template +0 -42
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 54ee50618544fa80d9edcc2bf32a730a6c3f551656d08ba73339a24218bb4649
|
4
|
+
data.tar.gz: cee8a55f8f84381fa1e63c8af2f189499c327f0ae567e20798cd34d1d0bf4377
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be7d986ff41897aa4a15f9b001d5e56c257b4f92ff401dfd6498267420ba96e3918ca9dc4b49bdf8ebb8e85f8fe19b20a1662796602b6be9763ae61581dbdbea
|
7
|
+
data.tar.gz: c7c8c80828f100eeee72ddfc73759049af2f25f6283c81bba56188c02d53e307aa3dfb9175b03bb4082ef12a9208bf510045a1d59109818d3fba38e7f430bfbb
|
data/History.txt
CHANGED
@@ -1,25 +1,56 @@
|
|
1
|
-
#
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## 0.6.0
|
4
|
+
|
5
|
+
* Scaffolding now generates only the files necessary for the core gaudi functionality
|
6
|
+
* Updated documentation landing page template
|
7
|
+
* Update gem dependencies
|
8
|
+
|
9
|
+
## 0.5.1
|
10
|
+
|
11
|
+
* Fixed core() invocation when doing an update
|
12
|
+
|
13
|
+
## 0.5.0
|
14
|
+
|
15
|
+
* The scaffolding now only pulls gaudi core
|
16
|
+
* Directory structure now reduced to the directories absolutely necessary for gaudi core
|
17
|
+
* Templates and examples generated adjusted to the reduced gaudi-core functionality.
|
18
|
+
* C/C++ functionality in config files now completely commented out
|
19
|
+
* Doc main page for the API reference documentation added
|
20
|
+
|
21
|
+
## 0.3.1
|
22
|
+
|
2
23
|
* Fixed bug that would delete my gaudi repo for being stupid
|
3
|
-
|
24
|
+
|
25
|
+
## 0.3.0
|
26
|
+
|
4
27
|
* Added *deployments* and *common* subdirectories when scaffolding src
|
5
28
|
* Added an empty library configuration file and the platform config reference
|
6
29
|
* Added the *auto_rules* option in the system configuration
|
7
30
|
* Pull Gaudi "libraries" with -l
|
8
31
|
|
9
|
-
|
32
|
+
## 0.2.4
|
33
|
+
|
10
34
|
* Fix bug when project root contains spaces
|
11
35
|
* DRYed the code
|
12
|
-
|
36
|
+
|
37
|
+
## 0.2.3
|
38
|
+
|
13
39
|
* Check for git presence before removing old install when updating
|
14
40
|
* Check for git presence before attempting to create a new project
|
15
41
|
* Help message now indicates that https access and git are required
|
16
|
-
|
42
|
+
|
43
|
+
## 0.2.2
|
44
|
+
|
17
45
|
* Added update functionality
|
18
|
-
|
46
|
+
|
47
|
+
## 0.2.0
|
48
|
+
|
19
49
|
* Pulls HEAD of gaudi from GitHub in the scaffold
|
20
50
|
|
21
|
-
|
51
|
+
## 0.1.0
|
52
|
+
|
22
53
|
* Scaffolding code for new projects
|
23
|
-
|
24
|
-
|
25
|
-
|
54
|
+
* Directory structure
|
55
|
+
* Example system configuration
|
56
|
+
* Example platform configuration
|
data/Manifest.txt
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
History.txt
|
2
2
|
Manifest.txt
|
3
|
-
README.
|
3
|
+
README.md
|
4
4
|
bin/gaudi
|
5
|
-
lib/gaudi
|
6
|
-
lib/gaudi/templates/platform.cfg.template
|
5
|
+
lib/gaudi.rb
|
7
6
|
lib/gaudi/scaffolding.rb
|
7
|
+
lib/gaudi/templates/doc.md.template
|
8
|
+
lib/gaudi/templates/main.cfg.template
|
9
|
+
lib/gaudi/templates/rakefile.rb.template
|
8
10
|
lib/gaudi/version.rb
|
9
|
-
lib/gaudi.rb
|
data/{README.txt → README.md}
RENAMED
@@ -1,23 +1,32 @@
|
|
1
1
|
# Gaudi - A Builder [http://github.com/damphyr/gaudi](http://github.com/damphyr/gaudi)
|
2
2
|
|
3
|
-
## DESCRIPTION
|
3
|
+
## DESCRIPTION
|
4
4
|
|
5
5
|
This gem provides setup, scaffolding and maintenance functions for [gaudi](http://github.com/damphyr/gaudi) installations.
|
6
6
|
|
7
7
|
## USAGE
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
To create a directory structure for a Gaudi based project:
|
10
|
+
|
11
|
+
```bash
|
12
|
+
gaudi -s project/root
|
13
|
+
```
|
14
|
+
|
15
|
+
To update an existing Gaudi installation
|
16
|
+
|
17
|
+
```bash
|
18
|
+
gaudi -u project/root
|
19
|
+
```
|
20
|
+
|
21
|
+
## INSTALL
|
13
22
|
|
14
23
|
* (sudo) gem install gaudi
|
15
24
|
|
16
|
-
## LICENSE
|
25
|
+
## LICENSE
|
17
26
|
|
18
27
|
(The MIT License)
|
19
28
|
|
20
|
-
Copyright (c) 2014
|
29
|
+
Copyright (c) 2014-2021 Vassilis Rizopoulos
|
21
30
|
|
22
31
|
Permission is hereby granted, free of charge, to any person obtaining
|
23
32
|
a copy of this software and associated documentation files (the
|
data/bin/gaudi
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
require
|
3
|
-
Gaudi::Gem.run(ARGV)
|
2
|
+
require "gaudi"
|
3
|
+
Gaudi::Gem.run(ARGV)
|
data/lib/gaudi/scaffolding.rb
CHANGED
@@ -1,28 +1,29 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
1
|
+
require "ostruct"
|
2
|
+
require "optparse"
|
3
|
+
require "fileutils"
|
4
|
+
require "tmpdir"
|
5
|
+
require "rubygems"
|
6
|
+
require "minitar"
|
7
7
|
|
8
8
|
module Gaudi
|
9
|
-
class GemError <RuntimeError
|
9
|
+
class GemError < RuntimeError
|
10
10
|
end
|
11
|
+
|
11
12
|
class Gem
|
12
|
-
MAIN_CONFIG="system.cfg"
|
13
|
-
|
14
|
-
|
13
|
+
MAIN_CONFIG = "system.cfg".freeze
|
14
|
+
REPO = "https://github.com/damphyr/gaudi".freeze
|
15
|
+
|
16
|
+
attr_reader :project_root, :gaudi_home
|
15
17
|
|
16
|
-
|
17
|
-
|
18
|
-
def self.options arguments
|
18
|
+
# :nodoc:
|
19
|
+
def self.options(arguments)
|
19
20
|
options = OpenStruct.new
|
20
|
-
options.project_root= Dir.pwd
|
21
|
-
options.verbose= false
|
22
|
-
options.scaffold= false
|
23
|
-
options.update= false
|
24
|
-
options.library= false
|
25
|
-
options.version= "HEAD"
|
21
|
+
options.project_root = Dir.pwd
|
22
|
+
options.verbose = false
|
23
|
+
options.scaffold = false
|
24
|
+
options.update = false
|
25
|
+
options.library = false
|
26
|
+
options.version = "HEAD"
|
26
27
|
|
27
28
|
opt_parser = OptionParser.new do |opts|
|
28
29
|
opts.banner = "Usage: gaudi [options]"
|
@@ -30,28 +31,28 @@ module Gaudi
|
|
30
31
|
opts.separator ""
|
31
32
|
opts.separator "Commands:"
|
32
33
|
|
33
|
-
opts.on("-s", "--scaffold PROJECT_PATH","Create a Gaudi scaffold in PROJECT_PATH") do |proot|
|
34
|
-
options.project_root=File.expand_path(proot)
|
35
|
-
options.scaffold=true
|
36
|
-
options.update=false
|
34
|
+
opts.on("-s", "--scaffold PROJECT_PATH", "Create a Gaudi scaffold in PROJECT_PATH") do |proot|
|
35
|
+
options.project_root = File.expand_path(proot)
|
36
|
+
options.scaffold = true
|
37
|
+
options.update = false
|
37
38
|
end
|
38
|
-
opts.on("-u", "--update PROJECT_PATH","Update Gaudi core from GitHub on project at PROJECT_PATH") do |proot|
|
39
|
-
options.project_root=File.expand_path(proot)
|
40
|
-
options.update=true
|
41
|
-
options.scaffold=false
|
39
|
+
opts.on("-u", "--update PROJECT_PATH", "Update Gaudi core from GitHub on project at PROJECT_PATH") do |proot|
|
40
|
+
options.project_root = File.expand_path(proot)
|
41
|
+
options.update = true
|
42
|
+
options.scaffold = false
|
42
43
|
end
|
43
|
-
opts.on("-l", "--lib NAME URL PROJECT_PATH","Pull/Update Gaudi library from URL on project at PROJECT_PATH") do |name|
|
44
|
-
options.library=true
|
45
|
-
options.update=false
|
46
|
-
options.scaffold=false
|
47
|
-
options.lib=name
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
url=ARGV.shift
|
52
|
-
proot=ARGV.shift
|
53
|
-
options.url=url
|
54
|
-
options.project_root=File.expand_path(proot)
|
44
|
+
opts.on("-l", "--lib NAME URL PROJECT_PATH", "Pull/Update Gaudi library from URL on project at PROJECT_PATH") do |name|
|
45
|
+
options.library = true
|
46
|
+
options.update = false
|
47
|
+
options.scaffold = false
|
48
|
+
options.lib = name
|
49
|
+
|
50
|
+
raise GemError, "Missing parameters!" if ARGV.size < 2
|
51
|
+
|
52
|
+
url = ARGV.shift
|
53
|
+
proot = ARGV.shift
|
54
|
+
options.url = url
|
55
|
+
options.project_root = File.expand_path(proot)
|
55
56
|
end
|
56
57
|
opts.separator ""
|
57
58
|
opts.separator "Common options:"
|
@@ -76,16 +77,16 @@ module Gaudi
|
|
76
77
|
end
|
77
78
|
return options
|
78
79
|
end
|
79
|
-
|
80
|
-
def self.run
|
81
|
-
opts=options(args)
|
80
|
+
# :nodoc:
|
81
|
+
def self.run(args)
|
82
|
+
opts = options(args)
|
82
83
|
begin
|
83
84
|
if opts.scaffold
|
84
85
|
Gaudi::Gem.new(opts.project_root).project(opts.version)
|
85
86
|
elsif opts.update
|
86
87
|
Gaudi::Gem.new(opts.project_root).update(opts.version)
|
87
88
|
elsif opts.library
|
88
|
-
Gaudi::Gem.new(opts.project_root).library(opts.lib,opts.url,opts.version)
|
89
|
+
Gaudi::Gem.new(opts.project_root).library(opts.lib, opts.url, opts.version)
|
89
90
|
end
|
90
91
|
rescue Gaudi::GemError
|
91
92
|
puts $!.message
|
@@ -93,134 +94,120 @@ module Gaudi
|
|
93
94
|
end
|
94
95
|
end
|
95
96
|
|
96
|
-
def initialize
|
97
|
-
@project_root=project_root
|
98
|
-
@gaudi_home=File.join(project_root,"tools","build")
|
97
|
+
def initialize(project_root)
|
98
|
+
@project_root = project_root
|
99
|
+
@gaudi_home = File.join(project_root, "tools", "build")
|
99
100
|
end
|
100
|
-
|
101
|
-
def project
|
102
|
-
raise GemError, "#{project_root} already exists!" if File.
|
101
|
+
|
102
|
+
def project(version)
|
103
|
+
raise GemError, "#{project_root} already exists!" if File.exist?(project_root) && project_root != Dir.pwd
|
104
|
+
|
103
105
|
check_for_git
|
104
106
|
directory_structure
|
105
107
|
rakefile
|
106
108
|
main_config
|
107
|
-
|
108
|
-
|
109
|
-
core("gaudi",REPO,version,"lib")
|
109
|
+
api_doc
|
110
|
+
core(REPO, version, "lib/gaudi.rb lib/gaudi")
|
110
111
|
end
|
111
112
|
|
112
|
-
def update
|
113
|
-
raise GemError, "#{gaudi_home} is missing! Try creating a new Gaudi project first." unless File.
|
113
|
+
def update(version)
|
114
|
+
raise GemError, "#{gaudi_home} is missing! Try creating a new Gaudi project first." unless File.exist?(gaudi_home)
|
115
|
+
|
114
116
|
check_for_git
|
115
117
|
puts "Removing old gaudi installation"
|
116
|
-
FileUtils.rm_rf(File.join(gaudi_home,"lib/gaudi"))
|
117
|
-
core(version,
|
118
|
+
FileUtils.rm_rf(File.join(gaudi_home, "lib/gaudi"))
|
119
|
+
core(REPO, version, "lib/gaudi lib/gaudi.rb")
|
118
120
|
end
|
119
121
|
|
120
|
-
def library
|
121
|
-
raise GemError, "#{gaudi_home} is missing! Try creating a new Gaudi project first." unless File.
|
122
|
-
|
122
|
+
def library(lib, source_url, version)
|
123
|
+
raise GemError, "#{gaudi_home} is missing! Try creating a new Gaudi project first." unless File.exist?(gaudi_home)
|
124
|
+
|
123
125
|
puts "Removing old #{lib} installation"
|
124
|
-
FileUtils.rm_rf(File.join(gaudi_home,"lib/#{lib}"))
|
126
|
+
FileUtils.rm_rf(File.join(gaudi_home, "lib/#{lib}"))
|
125
127
|
puts "Pulling #{version} from #{source_url}"
|
126
|
-
core(
|
128
|
+
core(source_url, version, "lib/#{lib}")
|
127
129
|
end
|
128
|
-
|
130
|
+
|
131
|
+
# :stopdoc:
|
129
132
|
def check_for_git
|
130
133
|
raise GemError, "Could not find git. Make sure it is in the PATH" unless system("git --version")
|
131
134
|
end
|
132
|
-
|
135
|
+
|
133
136
|
def directory_structure
|
134
137
|
puts "Creating Gaudi filesystem structure at #{project_root}"
|
135
|
-
structure=["doc","
|
138
|
+
structure = ["doc", "tools/build/config", "tools/templates"]
|
136
139
|
structure.each do |dir|
|
137
|
-
FileUtils.mkdir_p File.join(project_root,dir)
|
140
|
+
FileUtils.mkdir_p File.join(project_root, dir), :verbose => false
|
138
141
|
end
|
139
142
|
end
|
140
|
-
|
143
|
+
|
141
144
|
def rakefile
|
142
145
|
puts "Generating main Rakefile"
|
143
|
-
rakefile=File.join(project_root,"Rakefile")
|
144
|
-
if File.
|
146
|
+
rakefile = File.join(project_root, "Rakefile")
|
147
|
+
if File.exist?(rakefile)
|
145
148
|
puts "Rakefile exists, skipping generation"
|
146
149
|
else
|
147
|
-
rakefile_content
|
148
|
-
|
149
|
-
env_setup(File.dirname(__FILE__))
|
150
|
-
require_relative 'tools/build/lib/gaudi/tasks'
|
151
|
-
EOT
|
152
|
-
File.open(rakefile, 'wb') {|f| f.write(rakefile_content) }
|
150
|
+
rakefile_content = File.read(File.join(File.dirname(__FILE__), "templates/rakefile.rb.template"))
|
151
|
+
File.open(rakefile, "wb") { |f| f.write(rakefile_content) }
|
153
152
|
end
|
154
153
|
end
|
155
|
-
|
154
|
+
|
156
155
|
def main_config
|
157
156
|
puts "Generating initial configuration file"
|
158
|
-
config_file=File.join(project_root,"tools/build/#{MAIN_CONFIG}")
|
159
|
-
if File.
|
157
|
+
config_file = File.join(project_root, "tools/build/#{MAIN_CONFIG}")
|
158
|
+
if File.exist?(config_file)
|
160
159
|
puts "#{MAIN_CONFIG} exists, skipping generation"
|
161
160
|
else
|
162
|
-
configuration_content=File.read(File.join(File.dirname(__FILE__),
|
163
|
-
File.open(config_file,
|
161
|
+
configuration_content = File.read(File.join(File.dirname(__FILE__), "templates/main.cfg.template"))
|
162
|
+
File.open(config_file, "wb") { |f| f.write(configuration_content) }
|
164
163
|
end
|
165
164
|
end
|
166
|
-
|
167
|
-
def
|
168
|
-
puts "Generating
|
169
|
-
config_file=File.join(project_root,"
|
170
|
-
if File.
|
171
|
-
puts "
|
172
|
-
else
|
173
|
-
configuration_content=File.read(File.join(File.dirname(__FILE__),'templates/platform.cfg.template'))
|
174
|
-
File.open(config_file, 'wb') {|f| f.write(configuration_content) }
|
175
|
-
end
|
176
|
-
end
|
177
|
-
|
178
|
-
def lib_config
|
179
|
-
puts "Generating example library configuration file"
|
180
|
-
config_file=File.join(project_root,"tools/build/libs.yaml")
|
181
|
-
if File.exists?(config_file)
|
182
|
-
puts "libs.yaml exists, skipping generation"
|
165
|
+
|
166
|
+
def api_doc
|
167
|
+
puts "Generating build system API doc"
|
168
|
+
config_file = File.join(project_root, "doc/BUILDSYSTEM.md")
|
169
|
+
if File.exist?(config_file)
|
170
|
+
puts "BUILDSYSTEM.md exists, skipping generation"
|
183
171
|
else
|
184
|
-
configuration_content="
|
185
|
-
File.open(config_file,
|
172
|
+
configuration_content = File.read(File.join(File.dirname(__FILE__), "templates/doc.md.template"))
|
173
|
+
File.open(config_file, "wb") { |f| f.write(configuration_content) }
|
186
174
|
end
|
187
175
|
end
|
188
176
|
|
189
|
-
def core(
|
177
|
+
def core(url, version, lib_items)
|
190
178
|
Dir.mktmpdir do |tmp|
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
raise GemError, "Cloning the Gaudi repo failed. Check that git is on the PATH and that #{REPO} is accessible"
|
196
|
-
end
|
179
|
+
raise GemError, "Cloning the Gaudi repo failed. Check that git is on the PATH and that #{REPO} is accessible" unless pull_from_repo(url, tmp)
|
180
|
+
|
181
|
+
pkg = archive(version, File.join(tmp, "gaudi"), project_root, lib_items)
|
182
|
+
unpack(pkg, gaudi_home)
|
197
183
|
end
|
198
184
|
end
|
199
185
|
|
200
|
-
def pull_from_repo
|
201
|
-
tmp_dir=File.join(tmp,
|
202
|
-
FileUtils.rm_rf(tmp_dir) if File.
|
186
|
+
def pull_from_repo(repository, tmp)
|
187
|
+
tmp_dir = File.join(tmp, "gaudi")
|
188
|
+
FileUtils.rm_rf(tmp_dir) if File.exist?(tmp_dir)
|
203
189
|
system "git clone #{repository} \"#{tmp_dir}\""
|
204
190
|
end
|
205
|
-
|
206
|
-
def archive
|
207
|
-
pkg=File.expand_path(File.join(prj_root,"gaudipkg.tar"))
|
191
|
+
|
192
|
+
def archive(version, clone_path, prj_root, lib_items)
|
193
|
+
pkg = File.expand_path(File.join(prj_root, "gaudipkg.tar"))
|
208
194
|
Dir.chdir(clone_path) do |d|
|
209
195
|
puts "Packing #{version} gaudi version in #{pkg}"
|
210
|
-
cmdline="git archive --format=tar -o \"#{pkg}\" #{version} #{lib_items}"
|
211
|
-
system(cmdline)
|
196
|
+
cmdline = "git archive --format=tar -o \"#{pkg}\" #{version} #{lib_items}"
|
197
|
+
raise GemError, "Failed to extract library from git" unless system(cmdline)
|
212
198
|
end
|
213
199
|
return pkg
|
214
200
|
end
|
215
|
-
|
216
|
-
def unpack
|
201
|
+
|
202
|
+
def unpack(pkg, home)
|
217
203
|
puts "Unpacking in #{home}"
|
218
204
|
Dir.chdir(home) do |d|
|
219
|
-
|
205
|
+
Minitar.unpack(pkg, home)
|
220
206
|
end
|
221
207
|
FileUtils.rm_rf(pkg)
|
222
|
-
FileUtils.rm_rf(File.join(home,
|
208
|
+
FileUtils.rm_rf(File.join(home, "pax_global_header"))
|
223
209
|
end
|
224
|
-
|
210
|
+
|
211
|
+
# :startdoc:
|
225
212
|
end
|
226
|
-
end
|
213
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# Build System
|
2
|
+
|
3
|
+
> Note: The build system is based on [Rake](https://github.com/ruby/rake/blob/master/README.rdoc), using [Gaudi](https://github.com/damphyr/gaudi/blob/master/README.md) to organise tasks and helpers.
|
4
|
+
|
5
|
+
## Purpose
|
6
|
+
|
7
|
+
The purpose of the build system is to provide a consistent UI across all the different tools and technologies used to build and test and to provide a single place to define and maintain configuration parameters for the development environment.
|
8
|
+
|
9
|
+
## Assumptions
|
10
|
+
|
11
|
+
The build system is tested with and assumes an environment where all the necessary tools are installed and correctly configured - something that is handled by the development environment provisioning scripts.
|
12
|
+
|
13
|
+
## Usage and important sections
|
14
|
+
|
15
|
+
The code in the build system is namespaced in Ruby modules.
|
16
|
+
|
17
|
+
The Gaudi module contains the core of the build system which handles loading the configuration, the build system modules and provides only a limited number of helper functions and built-in tasks. These are documented in the [Gaudi](https://github.com/damphyr/gaudi) repository.
|
18
|
+
|
19
|
+
### Environment variables
|
20
|
+
|
21
|
+
By convention, Gaudi uses environment variables to pass parameters to its tasks and control functionality. This is described in more detail in the [Gaudi core documentation](https://github.com/damphyr/gaudi/blob/master/doc/CONFIGURATION.md).
|
22
|
+
|
23
|
+
Environment variables that influence/parameterise the build system behaviour are defined in [Gaudi::Configuration::EnvironmentOptions](../tools/build/lib/gaudi/helpers/environment.rb).
|
24
|
+
|
25
|
+
### System Configuration
|
26
|
+
|
27
|
+
The top-level [Rakefile](../Rakefile) sets up Gaudi, which then loads the [system configuration](../tools/build/system.cfg) and modules.
|
28
|
+
|
29
|
+
### Find out what tasks are available
|
30
|
+
|
31
|
+
From the [root](..) of the repository
|
32
|
+
|
33
|
+
List all tasks, with comments
|
34
|
+
|
35
|
+
```bash
|
36
|
+
rake -T
|
37
|
+
```
|
38
|
+
|
39
|
+
List all tasks, with comments, that match a regular expression pattern
|
40
|
+
|
41
|
+
```bash
|
42
|
+
rake -T <pattern>
|
43
|
+
```
|
44
|
+
|
45
|
+
### Generate the reference documentation
|
46
|
+
|
47
|
+
Generate the documentation under `out/doc/gaudi`
|
48
|
+
|
49
|
+
```bash
|
50
|
+
rake doc:gaudi
|
51
|
+
```
|
52
|
+
|
53
|
+
Generate a graphical overview (graphviz) of the tasks and their dependencies
|
54
|
+
|
55
|
+
```bash
|
56
|
+
rake doc:graph:gaudi
|
57
|
+
```
|
@@ -4,12 +4,6 @@
|
|
4
4
|
base=../../
|
5
5
|
#the build output directory
|
6
6
|
out=../../out
|
7
|
-
|
8
|
-
|
9
|
-
#
|
10
|
-
#platforms= foo
|
11
|
-
#add a platform=platform.cfg for each platform pointing to the platform configuration
|
12
|
-
#foo=./foo.cfg
|
13
|
-
#Instead of specifying build rules manually, uncomment this line
|
14
|
-
#and gaudi will create rake rules for objects and executables for each target platform
|
15
|
-
#auto_rules=true
|
7
|
+
|
8
|
+
## gaudi-c extended options
|
9
|
+
#gaudi_modules=
|
data/lib/gaudi/version.rb
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
module Gaudi
|
2
|
-
#Gaudi follows SemVer and so does it's gem, but they're two separate things
|
2
|
+
# Gaudi follows SemVer and so does it's gem, but they're two separate things
|
3
3
|
class Gem
|
4
4
|
module Version
|
5
|
-
#Major version
|
6
|
-
MAJOR=0
|
7
|
-
#Minor version
|
8
|
-
MINOR=
|
9
|
-
#Tiny version
|
10
|
-
TINY=
|
11
|
-
#All-in-one
|
12
|
-
STRING=[MAJOR,MINOR,TINY].join(
|
5
|
+
# Major version
|
6
|
+
MAJOR = 0
|
7
|
+
# Minor version
|
8
|
+
MINOR = 6
|
9
|
+
# Tiny version
|
10
|
+
TINY = 0
|
11
|
+
# All-in-one
|
12
|
+
STRING = [MAJOR, MINOR, TINY].join(".")
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
metadata
CHANGED
@@ -1,62 +1,67 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gaudi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vassilis Rizopoulos
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: minitar
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: '0.9'
|
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
|
-
version: 0.
|
26
|
+
version: '0.9'
|
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
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '7'
|
34
37
|
type: :development
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
|
-
- - "
|
41
|
+
- - ">="
|
39
42
|
- !ruby/object:Gem::Version
|
40
43
|
version: '4.0'
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '7'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: hoe
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
51
|
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: '3.
|
53
|
+
version: '3.23'
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
58
|
- - "~>"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: '3.
|
55
|
-
description: "## DESCRIPTION
|
56
|
-
functions for [gaudi](http://github.com/damphyr/gaudi) installations.\n\n## USAGE\n\
|
57
|
-
|
58
|
-
|
59
|
-
(sudo) gem install gaudi"
|
60
|
+
version: '3.23'
|
61
|
+
description: "## DESCRIPTION\n\nThis gem provides setup, scaffolding and maintenance
|
62
|
+
functions for [gaudi](http://github.com/damphyr/gaudi) installations.\n\n## USAGE\n\nTo
|
63
|
+
create a directory structure for a Gaudi based project:\n\n```bash\ngaudi -s project/root
|
64
|
+
\ \n```"
|
60
65
|
email:
|
61
66
|
- vassilisrizopoulos@gmail.com
|
62
67
|
executables:
|
@@ -65,25 +70,27 @@ extensions: []
|
|
65
70
|
extra_rdoc_files:
|
66
71
|
- History.txt
|
67
72
|
- Manifest.txt
|
68
|
-
- README.
|
73
|
+
- README.md
|
69
74
|
files:
|
70
75
|
- History.txt
|
71
76
|
- Manifest.txt
|
72
|
-
- README.
|
77
|
+
- README.md
|
73
78
|
- bin/gaudi
|
74
79
|
- lib/gaudi.rb
|
75
80
|
- lib/gaudi/scaffolding.rb
|
81
|
+
- lib/gaudi/templates/doc.md.template
|
76
82
|
- lib/gaudi/templates/main.cfg.template
|
77
|
-
- lib/gaudi/templates/
|
83
|
+
- lib/gaudi/templates/rakefile.rb.template
|
78
84
|
- lib/gaudi/version.rb
|
79
85
|
homepage: http://github.com/damphyr/gaudi
|
80
86
|
licenses:
|
81
87
|
- MIT
|
82
|
-
metadata:
|
83
|
-
|
88
|
+
metadata:
|
89
|
+
homepage_uri: http://github.com/damphyr/gaudi
|
90
|
+
post_install_message:
|
84
91
|
rdoc_options:
|
85
92
|
- "--main"
|
86
|
-
- README.
|
93
|
+
- README.md
|
87
94
|
require_paths:
|
88
95
|
- lib
|
89
96
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -97,9 +104,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
104
|
- !ruby/object:Gem::Version
|
98
105
|
version: '0'
|
99
106
|
requirements: []
|
100
|
-
|
101
|
-
|
102
|
-
signing_key:
|
107
|
+
rubygems_version: 3.1.6
|
108
|
+
signing_key:
|
103
109
|
specification_version: 4
|
104
110
|
summary: Scaffolding and version management for Gaudi
|
105
111
|
test_files: []
|
@@ -1,42 +0,0 @@
|
|
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
|
-
linker_commandfile_prefix=
|
41
|
-
#The library configuration file
|
42
|
-
lib_cfg=libs.yaml
|