prick 0.20.26 → 0.21.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 +4 -4
- data/.ruby-version +1 -1
- data/TODO +34 -2
- data/exe/prick +1 -0
- data/lib/builder/node.rb +9 -4
- data/lib/builder/parser.rb +6 -4
- data/lib/prick/version.rb +1 -1
- data/prick.gemspec +3 -4
- metadata +12 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8713e1196f35cc6086d3bb32164b6c79fb5e2d73c4e5d8530b9977bf48c4415
|
4
|
+
data.tar.gz: 8dde0df50e768126b505bd45163546eeca635c715a4a278ce9b1b6f3ed84c721
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0341de3eb0bf6db60039aab1c4dd215a0e211bc468674281b6f9ab36ba3ddf35615d89a39029dc9cb06688d786797d929d78e6ceab56d3d2d0511b9ab30780f
|
7
|
+
data.tar.gz: 4096b8941033430de62e392620059b6b7d4a9638499f3fe5fb28ab5e59f08a8ef7b47d05b6a1d8ad77d1b02f3e8b66e22cc1d5923cb770cae06bda9c8a380408
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-
|
1
|
+
ruby-3.1.2
|
data/TODO
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
o Use mikras_root(1) to be able to run from any subdirectory
|
2
|
+
o Add 'prick build .' and 'prick make .'
|
3
|
+
|
1
4
|
o Fix that enum references are not created:
|
2
5
|
|
3
6
|
system_roles
|
@@ -8,8 +11,6 @@ o Fix that enum references are not created:
|
|
8
11
|
permissions:
|
9
12
|
- *app_registry_anon_permission
|
10
13
|
|
11
|
-
|
12
|
-
|
13
14
|
o Store fox.state, reflections, and reflections in the database so third-party
|
14
15
|
programs can use them when testing
|
15
16
|
o 'prick make <resource>' should build everything up the resource, then commit
|
@@ -21,6 +22,37 @@ o Build functions after schema so that there are no order dependencies on
|
|
21
22
|
functions. Problem is to detect function files
|
22
23
|
o Build views after schema so that there are no order dependencies on
|
23
24
|
views. Problem is to detect view files
|
25
|
+
o Detect file types dynamically by grepping for "create" statements
|
26
|
+
|
27
|
+
o Add dependencies to build files:
|
28
|
+
|
29
|
+
schema: app_registry
|
30
|
+
require:
|
31
|
+
- sys_registry
|
32
|
+
- websys
|
33
|
+
|
34
|
+
schema: websys
|
35
|
+
require:
|
36
|
+
- $prod, $online
|
37
|
+
- fdw_websys
|
38
|
+
- sys_registry
|
39
|
+
|
40
|
+
o Maybe extend build.yml syntax with conditionals. Eg.
|
41
|
+
|
42
|
+
- tables.sql
|
43
|
+
- $prod:
|
44
|
+
- prod_data.fox
|
45
|
+
- $dev:
|
46
|
+
- dev_debug.sql
|
47
|
+
- dev_data.fox
|
48
|
+
- $else:
|
49
|
+
- not_dev_data.fox
|
50
|
+
- $online:
|
51
|
+
- fdw_schema.sql
|
52
|
+
- not $online:
|
53
|
+
- fdw_schema_copy.sql
|
54
|
+
- $env in $proc, $online:
|
55
|
+
- fdw_operation.sql
|
24
56
|
|
25
57
|
+ prick release major|minor|patch
|
26
58
|
+ Check modification time of build.yml files too
|
data/exe/prick
CHANGED
data/lib/builder/node.rb
CHANGED
@@ -131,15 +131,20 @@ module Prick
|
|
131
131
|
@pipe = Command::Pipe.new(to_s, stderr: nil)
|
132
132
|
end
|
133
133
|
|
134
|
-
def inspect() "#{path}
|
134
|
+
def inspect() "#{path} #{(args || []).join(" ")}" end
|
135
135
|
|
136
136
|
protected
|
137
137
|
def read_source
|
138
|
-
|
139
|
-
|
138
|
+
begin
|
139
|
+
pipe.puts [conn.name, conn.user]
|
140
|
+
sql = pipe.wait
|
141
|
+
rescue Errno::EPIPE
|
142
|
+
raise Prick::Error, "Pipe fail in #{path} called from #{parent.path}\n" +
|
143
|
+
"Tip: Read username/database from standard input"
|
144
|
+
end
|
140
145
|
if pipe.status != 0
|
141
146
|
$stderr.puts pipe.error
|
142
|
-
raise Prick::Error, "Failed executing #{
|
147
|
+
raise Prick::Error, "Failed executing #{path} called from #{parent.path}"
|
143
148
|
end
|
144
149
|
@source_lines = 1 + 1 + sql.count("\n")
|
145
150
|
["set search_path to #{schema};\n", sql]
|
data/lib/builder/parser.rb
CHANGED
@@ -82,7 +82,7 @@ module Prick
|
|
82
82
|
name.sub!(/\/$/, "")
|
83
83
|
if name =~ /^(\S+)\s+(.*)$/ # exe
|
84
84
|
file = $1
|
85
|
-
args = $2
|
85
|
+
args = $2.split
|
86
86
|
else
|
87
87
|
file = name
|
88
88
|
end
|
@@ -111,8 +111,6 @@ module Prick
|
|
111
111
|
path, name, file, args = parse_file_entry(dir, entry)
|
112
112
|
if File.directory? path
|
113
113
|
parse_directory(unit, path)
|
114
|
-
elsif File.executable? path
|
115
|
-
ExeNode.new(unit, phase, path, args)
|
116
114
|
elsif File.file? path
|
117
115
|
case path
|
118
116
|
when /\.sql$/
|
@@ -120,7 +118,11 @@ module Prick
|
|
120
118
|
when /\.fox$/
|
121
119
|
FoxNode.new(unit, :seed, path)
|
122
120
|
else
|
123
|
-
|
121
|
+
if File.executable? path
|
122
|
+
ExeNode.new(unit, phase, path, args)
|
123
|
+
else
|
124
|
+
raise Error, "Unrecognized file type #{File.basename(path)} in #{dir}"
|
125
|
+
end
|
124
126
|
end
|
125
127
|
else
|
126
128
|
raise Error, "Can't find #{name} in #{dir} from #{unit}"
|
data/lib/prick/version.rb
CHANGED
data/prick.gemspec
CHANGED
@@ -34,13 +34,12 @@ Gem::Specification.new do |spec|
|
|
34
34
|
spec.add_dependency "constrain"
|
35
35
|
spec.add_dependency "forward_to"
|
36
36
|
spec.add_dependency "bootsnap"
|
37
|
-
spec.add_dependency "fixture_fox"
|
37
|
+
spec.add_dependency "fixture_fox"
|
38
38
|
spec.add_dependency "postspec"
|
39
|
-
spec.add_dependency "pg_graph"
|
40
|
-
spec.add_dependency "shellopts"
|
39
|
+
spec.add_dependency "pg_graph"
|
40
|
+
spec.add_dependency "shellopts"
|
41
41
|
|
42
42
|
spec.add_development_dependency "ruby-prof"
|
43
|
-
spec.add_development_dependency "dbutils"
|
44
43
|
|
45
44
|
# Also un-comment in spec/spec_helper to use simplecov
|
46
45
|
# spec.add_development_dependency "simplecov"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prick
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.21.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Claus Rasmussen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: semantic
|
@@ -84,16 +84,16 @@ dependencies:
|
|
84
84
|
name: fixture_fox
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0
|
89
|
+
version: '0'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0
|
96
|
+
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: postspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,38 +112,24 @@ dependencies:
|
|
112
112
|
name: pg_graph
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0
|
117
|
+
version: '0'
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 0
|
124
|
+
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: shellopts
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: 2.0.24
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: 2.0.24
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: ruby-prof
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
142
128
|
requirements:
|
143
129
|
- - ">="
|
144
130
|
- !ruby/object:Gem::Version
|
145
131
|
version: '0'
|
146
|
-
type: :
|
132
|
+
type: :runtime
|
147
133
|
prerelease: false
|
148
134
|
version_requirements: !ruby/object:Gem::Requirement
|
149
135
|
requirements:
|
@@ -151,7 +137,7 @@ dependencies:
|
|
151
137
|
- !ruby/object:Gem::Version
|
152
138
|
version: '0'
|
153
139
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
140
|
+
name: ruby-prof
|
155
141
|
requirement: !ruby/object:Gem::Requirement
|
156
142
|
requirements:
|
157
143
|
- - ">="
|