reflexion 0.5.0 → 0.5.2

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 (6) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog.md +10 -0
  3. data/Reflex.podspec +37 -34
  4. data/VERSION +1 -1
  5. data/pod.rake +22 -28
  6. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d01575dae53b6f2710df9796f20a629e11a8e697948ee53d0ca417a701d899f6
4
- data.tar.gz: 1c80c076ab0230750ec534efa777b2e1e892322bc44f8644911980c9170e825b
3
+ metadata.gz: b6222aa69aa05923ed1970d9bab4065e1c452bcbed101cfded2eb112c2ec224e
4
+ data.tar.gz: da09eb039834c9673114872cf9461b44c6141ea895ec403c80ffe438e103657d
5
5
  SHA512:
6
- metadata.gz: 4da373a98a205f155fb33c19b7f0ae13584ae86321bf0edf23b7ed1d0121b94f9b309cbf325c814a2fc7062ba2b3a86556655ab19da2540c6498873e367f8487
7
- data.tar.gz: 68c1cc63d9f6ed49a4146dc972f05cf64f0c3ca6bb575984a990e45fef256fbc2e1eb6fbd51d06df61b19b34bae0c58c024475213804c0700719b11abcdbe6e0
6
+ metadata.gz: ac0b559b2120b13f9434ea02d7ff305576c538eb40ea27059ab184277b5588526c54ba0996ec6605735bfe6d4f38870657145f2337d642b69ad168a84f992f89
7
+ data.tar.gz: 1a1692e6a5b0cccec1c4fddfab74187bfdcd3fa588501d8d54d528a6975c378f3825e9ce843e7c49513e475ada82a45df181fe28275eed5161dddc43e16e0ad8
data/ChangeLog.md CHANGED
@@ -1,6 +1,16 @@
1
1
  # reflex ChangeLog
2
2
 
3
3
 
4
+ ## [v0.5.2] - 2026-06-23
5
+
6
+ - Add include, ext, vendor to podspec preserve_paths
7
+
8
+
9
+ ## [v0.5.1] - 2026-06-23
10
+
11
+ - Replace monorepo-based pod.rake with per-repo clone approach
12
+
13
+
4
14
  ## [v0.5.0] - 2026-06-23
5
15
 
6
16
  - Upgrade Box2D from 2.4.1 to 3.1.1
data/Reflex.podspec CHANGED
@@ -14,25 +14,26 @@ Pod::Spec.new do |s|
14
14
  s.osx.deployment_target = "10.10"
15
15
  s.ios.deployment_target = "12.0"
16
16
 
17
- all = "${PODS_ROOT}/#{s.name}/all"
18
- deps = File.read(File.expand_path 'Rakefile', __dir__)
17
+ root = "${PODS_ROOT}/#{s.name}"
18
+ exts = File.read(File.expand_path 'Rakefile', __dir__)
19
19
  .lines(chomp: true)
20
20
  .map {_1[%r|require\s*['"](\w+)/extension['"]|, 1]}
21
- .compact
22
-
23
- incdirs = deps.map {"#{all}/#{_1}/include"}.concat %W[
24
- #{all}/rays/vendor/glm
25
- #{all}/rays/vendor/clipper/cpp
26
- #{all}/rays/vendor/earcut.hpp/include/mapbox
27
- #{all}/rays/vendor/splines-lib
28
- #{all}/reflex/vendor/box2d/include
29
- #{all}/reflex/vendor/box2d/src
30
- #{all}/reflex/vendor/rtmidi/rtmidi
21
+ .compact - [s.name.downcase]
22
+
23
+ incdirs = exts.map {"#{root}/#{_1}/include"}.concat %W[
24
+ #{root}/include
25
+ #{root}/rays/vendor/glm
26
+ #{root}/rays/vendor/clipper/cpp
27
+ #{root}/rays/vendor/earcut.hpp/include/mapbox
28
+ #{root}/rays/vendor/splines-lib
29
+ #{root}/vendor/box2d/include
30
+ #{root}/vendor/box2d/src
31
+ #{root}/vendor/rtmidi/rtmidi
31
32
  ${PODS_ROOT}/CRuby/CRuby/include
32
33
  ]
33
34
 
34
35
  s.prepare_command = 'rake -f pod.rake setup'
35
- s.preserve_paths = deps.product(%w[include src ext vendor]).map {"all/#{_1}/#{_2}"}
36
+ s.preserve_paths = exts + %w[include src ext vendor]
36
37
  s.requires_arc = false
37
38
  s.osx.compiler_flags = "-DOSX"
38
39
  s.ios.compiler_flags = "-DIOS"
@@ -43,63 +44,65 @@ Pod::Spec.new do |s|
43
44
  "HEADER_SEARCH_PATHS" => incdirs.join(' ')
44
45
  }
45
46
 
47
+ #s.dependency = 'CRuby', git: 'https://github.com/xord/cruby'
48
+
46
49
  s.resource_bundles =
47
- deps.each_with_object({}) do |dep, hash|
48
- hash[dep.capitalize] = %w[lib VERSION].map {"all/#{dep}/#{_1}"}
50
+ exts.each_with_object({'Reflex' => %w[lib VERSION]}) do |ext, hash|
51
+ hash[ext.capitalize] = %W[#{ext}/lib #{ext}/VERSION]
49
52
  end
50
53
 
51
54
  s.subspec "Xot" do |spec|
52
- spec.source_files = "all/xot/src/*.cpp"
55
+ spec.source_files = "xot/src/*.cpp"
53
56
  end
54
57
 
55
58
  s.subspec "Rucy" do |spec|
56
- spec.source_files = "all/rucy/src/*.cpp"
59
+ spec.source_files = "rucy/src/*.cpp"
57
60
 
58
61
  spec.subspec "Ext" do |ext|
59
- ext.source_files = "all/rucy/ext/rucy/*.cpp"
62
+ ext.source_files = "rucy/ext/rucy/*.cpp"
60
63
  end
61
64
  end
62
65
 
63
66
  s.subspec "Rays" do |spec|
64
- spec .source_files = "all/rays/src/*.cpp", "all/rays/src/opengl/*.cpp"
65
- spec.osx.source_files = "all/rays/src/**/osx/*.{cpp,mm}"
66
- spec.ios.source_files = "all/rays/src/**/ios/*.{cpp,mm}"
67
+ spec .source_files = "rays/src/*.cpp", "rays/src/opengl/*.cpp"
68
+ spec.osx.source_files = "rays/src/**/osx/*.{cpp,mm}"
69
+ spec.ios.source_files = "rays/src/**/ios/*.{cpp,mm}"
67
70
  spec.osx.frameworks = %w[AppKit OpenGL CoreImage CoreVideo CoreMedia AVFoundation]
68
- spec.ios.frameworks = %w[GLKit MobileCoreServices AVFoundation]
71
+ spec.ios.frameworks = %w[GLKit MobileCoreServices AVFoundation]# ImageIO
69
72
 
70
73
  spec.subspec "Clipper" do |sub|
71
- sub.source_files = "all/rays/vendor/clipper/cpp/*.cpp"
74
+ sub.source_files = "rays/vendor/clipper/cpp/*.cpp"
72
75
  end
73
76
 
74
77
  spec.subspec "SplineLib" do |sub|
75
- sub.source_files = "all/rays/vendor/splines-lib/Splines.cpp"
78
+ sub.source_files = "rays/vendor/splines-lib/Splines.cpp"
76
79
  end
77
80
 
78
81
  spec.subspec "Ext" do |ext|
79
- ext.source_files = "all/rays/ext/rays/*.cpp"
82
+ ext.source_files = "rays/ext/rays/*.cpp"
80
83
  end
81
84
  end
82
85
 
83
86
  s.subspec "Reflex" do |spec|
84
- spec .source_files = "all/reflex/src/*.cpp"
85
- spec.osx.source_files = "all/reflex/src/osx/*.{cpp,mm}"
86
- spec.ios.source_files = "all/reflex/src/ios/*.{cpp,mm}"
87
+ spec .source_files = "src/*.cpp"
88
+ spec.osx.source_files = "src/osx/*.{cpp,mm}"
89
+ spec.ios.source_files = "src/ios/*.{cpp,mm}"
87
90
  spec.osx.frameworks = %w[Cocoa IOKit GameController]
88
91
  spec.ios.frameworks = %w[CoreMotion GameController]
89
92
 
90
93
  spec.subspec "Box2D" do |sub|
91
- # Box2D 3.x is written in C
92
- sub.source_files = "all/reflex/vendor/box2d/src/**/*.c"
94
+ sub.source_files = "vendor/box2d/src/**/*.c"
93
95
  end
94
96
 
95
97
  spec.subspec "RtMidi" do |sub|
96
- sub.source_files = "all/reflex/vendor/rtmidi/rtmidi/**/*.cpp"
97
- sub.osx.compiler_flags = "-D__MACOSX_CORE__"
98
- sub.osx.frameworks = %w[CoreMIDI CoreAudio]
98
+ sub.source_files = "vendor/rtmidi/rtmidi/**/*.cpp"
99
+ sub.compiler_flags = '-D__MACOSX_CORE__'
100
+ sub.osx.frameworks = %w[CoreAudio CoreMIDI]
101
+ sub.ios.frameworks = %w[CoreMIDI]
99
102
  end
100
103
 
101
104
  spec.subspec "Ext" do |ext|
102
- ext.source_files = "all/reflex/ext/reflex/*.cpp"
105
+ ext.source_files = "ext/reflex/*.cpp"
103
106
  end
104
107
  end
105
108
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.0
1
+ 0.5.2
data/pod.rake CHANGED
@@ -1,41 +1,35 @@
1
1
  # -*- mode: ruby -*-
2
- #
3
- # Pins the dependencies to this checkout's commit by cloning the monorepo
4
- # (xord/all) and checking out the commit named by HEAD's [[UUID]] trailer.
5
2
 
6
3
 
7
- ALL_REPO = 'https://github.com/xord/all.git'
8
- ALL_DIR = 'all'
9
-
10
- DEPS = File.readlines('Rakefile', chomp: true)
11
- .map {|line| line[%r|require\s*['"](\w+)/extension["']|, 1]}
4
+ github = 'https://github.com/xord'
5
+ renames = {reflexion: 'reflex'}
6
+ regexp = /add\w+dependency.*['"](\w+)['"].*['"]\s*~>\s*([\d\.]+)\s*['"]/
7
+ repos = File.readlines('reflex.gemspec', chomp: true)
8
+ .map {|s| regexp.match(s)&.values_at 1, 2}
12
9
  .compact
10
+ .to_h
11
+ .transform_keys {|name| renames[name.to_sym].then {|s| s || name}}
13
12
 
14
13
 
15
- def head_uuid()
16
- `git log -1 --format=%B`[/^\[\[([0-9a-fA-F-]+)\]\]$/, 1] ||
17
- raise('pod.rake: HEAD has no [[UUID]] trailer; cannot pin dependencies')
18
- end
19
-
20
- def checkout_monorepo(uuid)
21
- sh %( git clone --no-tags #{ALL_REPO} #{ALL_DIR} ) unless File.directory? ALL_DIR
22
-
23
- commit = `git -C #{ALL_DIR} log origin/HEAD -F --grep='[[#{uuid}]]' --format=%H -1`
24
- .strip.then {_1.empty? ? nil : _1}
25
- raise "pod.rake: no commit for [[#{uuid}]] in #{ALL_REPO}" unless commit
26
-
27
- sh %( git -C #{ALL_DIR} checkout -q #{commit} )
14
+ task :clobber do
15
+ sh %( rm -rf #{repos.keys.join ' '} )
28
16
  end
29
17
 
18
+ task :setup
30
19
 
31
- task :clobber do
32
- sh %( rm -rf #{ALL_DIR} )
33
- end
20
+ repos.each do |repo, ver|
21
+ rakefile = "#{repo}/Rakefile"
22
+ opts = [
23
+ '-c advice.detachedHead=false',
24
+ '--no-single-branch',
25
+ '--depth 1',
26
+ "--branch #{ENV["#{repo.upcase}_BRANCH"] || ('v' + ver)}"
27
+ ]
34
28
 
35
- task :setup do
36
- checkout_monorepo head_uuid
29
+ task :setup => rakefile
37
30
 
38
- Dir.chdir ALL_DIR do
39
- sh %( VENDOR_NOCOMPILE=1 rake #{DEPS.join ' '} vendor erb )
31
+ file rakefile do
32
+ sh %( git clone #{opts.join ' '} #{github}/#{repo} )
33
+ sh %( cd #{repo} && VENDOR_NOCOMPILE=1 rake vendor erb )
40
34
  end
41
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reflexion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - xordog
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-22 00:00:00.000000000 Z
11
+ date: 2026-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xot