gaudi 0.3.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|