mnenv 0.1.0 → 0.1.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 (306) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/PROPOSAL.md +197 -0
  4. data/README.adoc +168 -461
  5. data/Rakefile +7 -4
  6. data/bin/Install-Mnenv.ps1 +145 -0
  7. data/bin/mnenv-installer +72 -0
  8. data/completions/bash +47 -0
  9. data/completions/fish +29 -0
  10. data/completions/powershell.ps1 +94 -0
  11. data/completions/zsh +43 -0
  12. data/lib/mnenv/binary_repository.rb +189 -0
  13. data/lib/mnenv/chocolatey.rb +7 -0
  14. data/lib/mnenv/cli.rb +110 -10
  15. data/lib/mnenv/commands/available_command.rb +169 -0
  16. data/lib/mnenv/commands/chocolatey_command.rb +4 -5
  17. data/lib/mnenv/commands/gemfile_command.rb +4 -5
  18. data/lib/mnenv/commands/homebrew_command.rb +4 -5
  19. data/lib/mnenv/commands/install_command.rb +234 -0
  20. data/lib/mnenv/commands/snap_command.rb +5 -7
  21. data/lib/mnenv/commands/uninstall_command.rb +111 -0
  22. data/lib/mnenv/commands/version_command.rb +167 -0
  23. data/lib/mnenv/commands.rb +9 -4
  24. data/lib/mnenv/gemfile/extractor.rb +10 -3
  25. data/lib/mnenv/gemfile.rb +8 -0
  26. data/lib/mnenv/gemfile_repository.rb +0 -2
  27. data/lib/mnenv/homebrew.rb +7 -0
  28. data/lib/mnenv/installer/base.rb +62 -0
  29. data/lib/mnenv/installer/factory.rb +46 -0
  30. data/lib/mnenv/installer.rb +12 -0
  31. data/lib/mnenv/installers/binary_installer.rb +242 -0
  32. data/lib/mnenv/installers/gemfile_installer.rb +76 -0
  33. data/lib/mnenv/json_formatter.rb +3 -13
  34. data/lib/mnenv/logger.rb +9 -1
  35. data/lib/mnenv/models/binary_version.rb +78 -0
  36. data/lib/mnenv/models/chocolatey_version.rb +7 -0
  37. data/lib/mnenv/models/gemfile_version.rb +19 -5
  38. data/lib/mnenv/models/homebrew_version.rb +7 -0
  39. data/lib/mnenv/models/snap_version.rb +8 -0
  40. data/lib/mnenv/models/version.rb +16 -0
  41. data/lib/mnenv/models.rb +7 -5
  42. data/lib/mnenv/paths.rb +69 -0
  43. data/lib/mnenv/platform_detector.rb +109 -0
  44. data/lib/mnenv/repository.rb +50 -35
  45. data/lib/mnenv/resolver +72 -0
  46. data/lib/mnenv/shells/base.rb +32 -0
  47. data/lib/mnenv/shells/bash.rb +72 -0
  48. data/lib/mnenv/shells/cmd.rb +108 -0
  49. data/lib/mnenv/shells/factory.rb +82 -0
  50. data/lib/mnenv/shells/power_shell.rb +110 -0
  51. data/lib/mnenv/shim_manager.rb +121 -0
  52. data/lib/mnenv/snap.rb +7 -0
  53. data/lib/mnenv/snap_repository.rb +2 -19
  54. data/lib/mnenv/source_registry.rb +69 -0
  55. data/lib/mnenv/sources.rb +46 -0
  56. data/lib/mnenv/version.rb +1 -1
  57. data/lib/mnenv/version_resolver.rb +108 -0
  58. data/lib/mnenv/versions_manager.rb +92 -0
  59. data/lib/mnenv.rb +6 -0
  60. data/mnenv.gemspec +4 -1
  61. data/scripts/cross-source-switching-test.sh +214 -0
  62. data/scripts/integration-test.sh +89 -0
  63. data/scripts/version-switching-test.sh +151 -0
  64. metadata +85 -247
  65. data/data/chocolatey/versions.yaml +0 -812
  66. data/data/gemfile/v1.1.6/Gemfile +0 -4
  67. data/data/gemfile/v1.1.6/Gemfile.lock.archived +0 -232
  68. data/data/gemfile/v1.1.7/Gemfile +0 -4
  69. data/data/gemfile/v1.1.7/Gemfile.lock.archived +0 -235
  70. data/data/gemfile/v1.1.8/Gemfile +0 -4
  71. data/data/gemfile/v1.1.8/Gemfile.lock.archived +0 -238
  72. data/data/gemfile/v1.10.0/Gemfile +0 -5
  73. data/data/gemfile/v1.10.0/Gemfile.lock.archived +0 -930
  74. data/data/gemfile/v1.10.1/Gemfile +0 -5
  75. data/data/gemfile/v1.10.1/Gemfile.lock.archived +0 -929
  76. data/data/gemfile/v1.10.10/Gemfile +0 -5
  77. data/data/gemfile/v1.10.10/Gemfile.lock.archived +0 -973
  78. data/data/gemfile/v1.10.11/Gemfile +0 -5
  79. data/data/gemfile/v1.10.11/Gemfile.lock.archived +0 -975
  80. data/data/gemfile/v1.10.2/Gemfile +0 -5
  81. data/data/gemfile/v1.10.2/Gemfile.lock.archived +0 -939
  82. data/data/gemfile/v1.10.3/Gemfile +0 -5
  83. data/data/gemfile/v1.10.3/Gemfile.lock.archived +0 -946
  84. data/data/gemfile/v1.10.5/Gemfile +0 -5
  85. data/data/gemfile/v1.10.5/Gemfile.lock.archived +0 -958
  86. data/data/gemfile/v1.10.6/Gemfile +0 -5
  87. data/data/gemfile/v1.10.6/Gemfile.lock.archived +0 -969
  88. data/data/gemfile/v1.10.7/Gemfile +0 -5
  89. data/data/gemfile/v1.10.7/Gemfile.lock.archived +0 -969
  90. data/data/gemfile/v1.10.8/Gemfile +0 -5
  91. data/data/gemfile/v1.10.8/Gemfile.lock.archived +0 -968
  92. data/data/gemfile/v1.10.9/Gemfile +0 -5
  93. data/data/gemfile/v1.10.9/Gemfile.lock.archived +0 -972
  94. data/data/gemfile/v1.11.0/Gemfile +0 -5
  95. data/data/gemfile/v1.11.0/Gemfile.lock.archived +0 -971
  96. data/data/gemfile/v1.11.1/Gemfile +0 -5
  97. data/data/gemfile/v1.11.1/Gemfile.lock.archived +0 -975
  98. data/data/gemfile/v1.11.4/Gemfile +0 -5
  99. data/data/gemfile/v1.11.4/Gemfile.lock.archived +0 -1046
  100. data/data/gemfile/v1.11.5/Gemfile +0 -5
  101. data/data/gemfile/v1.11.5/Gemfile.lock.archived +0 -1047
  102. data/data/gemfile/v1.12.10/Gemfile +0 -3
  103. data/data/gemfile/v1.12.10/Gemfile.lock.archived +0 -1073
  104. data/data/gemfile/v1.12.3/Gemfile +0 -3
  105. data/data/gemfile/v1.12.3/Gemfile.lock.archived +0 -1050
  106. data/data/gemfile/v1.12.4/Gemfile +0 -3
  107. data/data/gemfile/v1.12.4/Gemfile.lock.archived +0 -1056
  108. data/data/gemfile/v1.12.5/Gemfile +0 -3
  109. data/data/gemfile/v1.12.5/Gemfile.lock.archived +0 -1054
  110. data/data/gemfile/v1.12.6/Gemfile +0 -3
  111. data/data/gemfile/v1.12.6/Gemfile.lock.archived +0 -1056
  112. data/data/gemfile/v1.12.8/Gemfile +0 -3
  113. data/data/gemfile/v1.12.8/Gemfile.lock.archived +0 -1063
  114. data/data/gemfile/v1.13.0/Gemfile +0 -3
  115. data/data/gemfile/v1.13.0/Gemfile.lock.archived +0 -1074
  116. data/data/gemfile/v1.13.2/Gemfile +0 -3
  117. data/data/gemfile/v1.13.2/Gemfile.lock.archived +0 -899
  118. data/data/gemfile/v1.13.3/Gemfile +0 -3
  119. data/data/gemfile/v1.13.3/Gemfile.lock.archived +0 -938
  120. data/data/gemfile/v1.13.4/Gemfile +0 -3
  121. data/data/gemfile/v1.13.4/Gemfile.lock.archived +0 -938
  122. data/data/gemfile/v1.13.5/Gemfile +0 -3
  123. data/data/gemfile/v1.13.5/Gemfile.lock.archived +0 -944
  124. data/data/gemfile/v1.13.7/Gemfile +0 -3
  125. data/data/gemfile/v1.13.7/Gemfile.lock.archived +0 -944
  126. data/data/gemfile/v1.13.8/Gemfile +0 -3
  127. data/data/gemfile/v1.13.8/Gemfile.lock.archived +0 -944
  128. data/data/gemfile/v1.13.9/Gemfile +0 -3
  129. data/data/gemfile/v1.13.9/Gemfile.lock.archived +0 -956
  130. data/data/gemfile/v1.14.3/Gemfile +0 -3
  131. data/data/gemfile/v1.14.3/Gemfile.lock.archived +0 -950
  132. data/data/gemfile/v1.2.12/Gemfile +0 -3
  133. data/data/gemfile/v1.2.12/Gemfile.lock.archived +0 -283
  134. data/data/gemfile/v1.2.2/Gemfile +0 -4
  135. data/data/gemfile/v1.2.2/Gemfile.lock.archived +0 -224
  136. data/data/gemfile/v1.2.3/Gemfile +0 -4
  137. data/data/gemfile/v1.2.3/Gemfile.lock.archived +0 -231
  138. data/data/gemfile/v1.2.6/Gemfile +0 -4
  139. data/data/gemfile/v1.2.6/Gemfile.lock.archived +0 -239
  140. data/data/gemfile/v1.2.8/Gemfile +0 -4
  141. data/data/gemfile/v1.2.8/Gemfile.lock.archived +0 -233
  142. data/data/gemfile/v1.2.9/Gemfile +0 -4
  143. data/data/gemfile/v1.2.9/Gemfile.lock.archived +0 -245
  144. data/data/gemfile/v1.3.1/Gemfile +0 -3
  145. data/data/gemfile/v1.3.1/Gemfile.lock.archived +0 -296
  146. data/data/gemfile/v1.3.2/Gemfile +0 -3
  147. data/data/gemfile/v1.3.2/Gemfile.lock.archived +0 -296
  148. data/data/gemfile/v1.3.4/Gemfile +0 -3
  149. data/data/gemfile/v1.3.4/Gemfile.lock.archived +0 -284
  150. data/data/gemfile/v1.3.5/Gemfile +0 -3
  151. data/data/gemfile/v1.3.5/Gemfile.lock.archived +0 -284
  152. data/data/gemfile/v1.3.6/Gemfile +0 -3
  153. data/data/gemfile/v1.3.6/Gemfile.lock.archived +0 -286
  154. data/data/gemfile/v1.3.9/Gemfile +0 -3
  155. data/data/gemfile/v1.3.9/Gemfile.lock.archived +0 -334
  156. data/data/gemfile/v1.4.0/Gemfile +0 -3
  157. data/data/gemfile/v1.4.0/Gemfile.lock.archived +0 -330
  158. data/data/gemfile/v1.4.10/Gemfile +0 -4
  159. data/data/gemfile/v1.4.10/Gemfile.lock.archived +0 -461
  160. data/data/gemfile/v1.4.11/Gemfile +0 -4
  161. data/data/gemfile/v1.4.11/Gemfile.lock.archived +0 -452
  162. data/data/gemfile/v1.4.12/Gemfile +0 -4
  163. data/data/gemfile/v1.4.12/Gemfile.lock.archived +0 -452
  164. data/data/gemfile/v1.4.13/Gemfile +0 -4
  165. data/data/gemfile/v1.4.13/Gemfile.lock.archived +0 -455
  166. data/data/gemfile/v1.4.14/Gemfile +0 -4
  167. data/data/gemfile/v1.4.14/Gemfile.lock.archived +0 -456
  168. data/data/gemfile/v1.4.18/Gemfile +0 -3
  169. data/data/gemfile/v1.4.18/Gemfile.lock.archived +0 -486
  170. data/data/gemfile/v1.4.3/Gemfile +0 -3
  171. data/data/gemfile/v1.4.3/Gemfile.lock.archived +0 -339
  172. data/data/gemfile/v1.4.4/Gemfile +0 -3
  173. data/data/gemfile/v1.4.4/Gemfile.lock.archived +0 -339
  174. data/data/gemfile/v1.4.5/Gemfile +0 -3
  175. data/data/gemfile/v1.4.5/Gemfile.lock.archived +0 -348
  176. data/data/gemfile/v1.4.6/Gemfile +0 -3
  177. data/data/gemfile/v1.4.6/Gemfile.lock.archived +0 -357
  178. data/data/gemfile/v1.4.7/Gemfile +0 -3
  179. data/data/gemfile/v1.4.7/Gemfile.lock.archived +0 -391
  180. data/data/gemfile/v1.4.8/Gemfile +0 -3
  181. data/data/gemfile/v1.4.8/Gemfile.lock.archived +0 -445
  182. data/data/gemfile/v1.4.9/Gemfile +0 -3
  183. data/data/gemfile/v1.4.9/Gemfile.lock.archived +0 -448
  184. data/data/gemfile/v1.5.0/Gemfile +0 -3
  185. data/data/gemfile/v1.5.0/Gemfile.lock.archived +0 -478
  186. data/data/gemfile/v1.5.10/Gemfile +0 -3
  187. data/data/gemfile/v1.5.10/Gemfile.lock.archived +0 -668
  188. data/data/gemfile/v1.5.11/Gemfile +0 -3
  189. data/data/gemfile/v1.5.11/Gemfile.lock.archived +0 -668
  190. data/data/gemfile/v1.5.15/Gemfile +0 -3
  191. data/data/gemfile/v1.5.15/Gemfile.lock.archived +0 -686
  192. data/data/gemfile/v1.5.16/Gemfile +0 -3
  193. data/data/gemfile/v1.5.16/Gemfile.lock.archived +0 -684
  194. data/data/gemfile/v1.5.17/Gemfile +0 -3
  195. data/data/gemfile/v1.5.17/Gemfile.lock.archived +0 -684
  196. data/data/gemfile/v1.5.18/Gemfile +0 -5
  197. data/data/gemfile/v1.5.18/Gemfile.lock.archived +0 -691
  198. data/data/gemfile/v1.5.19/Gemfile +0 -5
  199. data/data/gemfile/v1.5.19/Gemfile.lock.archived +0 -703
  200. data/data/gemfile/v1.5.20/Gemfile +0 -5
  201. data/data/gemfile/v1.5.20/Gemfile.lock.archived +0 -703
  202. data/data/gemfile/v1.5.21/Gemfile +0 -5
  203. data/data/gemfile/v1.5.21/Gemfile.lock.archived +0 -707
  204. data/data/gemfile/v1.5.22/Gemfile +0 -5
  205. data/data/gemfile/v1.5.22/Gemfile.lock.archived +0 -707
  206. data/data/gemfile/v1.5.23/Gemfile +0 -5
  207. data/data/gemfile/v1.5.23/Gemfile.lock.archived +0 -711
  208. data/data/gemfile/v1.5.24/Gemfile +0 -5
  209. data/data/gemfile/v1.5.24/Gemfile.lock.archived +0 -711
  210. data/data/gemfile/v1.5.3/Gemfile +0 -3
  211. data/data/gemfile/v1.5.3/Gemfile.lock.archived +0 -651
  212. data/data/gemfile/v1.5.4/Gemfile +0 -3
  213. data/data/gemfile/v1.5.4/Gemfile.lock.archived +0 -657
  214. data/data/gemfile/v1.5.5/Gemfile +0 -3
  215. data/data/gemfile/v1.5.5/Gemfile.lock.archived +0 -657
  216. data/data/gemfile/v1.5.6/Gemfile +0 -3
  217. data/data/gemfile/v1.5.6/Gemfile.lock.archived +0 -657
  218. data/data/gemfile/v1.5.7/Gemfile +0 -3
  219. data/data/gemfile/v1.5.7/Gemfile.lock.archived +0 -657
  220. data/data/gemfile/v1.5.8/Gemfile +0 -3
  221. data/data/gemfile/v1.5.8/Gemfile.lock.archived +0 -655
  222. data/data/gemfile/v1.5.9/Gemfile +0 -3
  223. data/data/gemfile/v1.5.9/Gemfile.lock.archived +0 -656
  224. data/data/gemfile/v1.6.1/Gemfile +0 -5
  225. data/data/gemfile/v1.6.1/Gemfile.lock.archived +0 -721
  226. data/data/gemfile/v1.6.10/Gemfile +0 -5
  227. data/data/gemfile/v1.6.10/Gemfile.lock.archived +0 -744
  228. data/data/gemfile/v1.6.11/Gemfile +0 -5
  229. data/data/gemfile/v1.6.11/Gemfile.lock.archived +0 -744
  230. data/data/gemfile/v1.6.12/Gemfile +0 -5
  231. data/data/gemfile/v1.6.12/Gemfile.lock.archived +0 -745
  232. data/data/gemfile/v1.6.13/Gemfile +0 -5
  233. data/data/gemfile/v1.6.13/Gemfile.lock.archived +0 -745
  234. data/data/gemfile/v1.6.14/Gemfile +0 -5
  235. data/data/gemfile/v1.6.14/Gemfile.lock.archived +0 -754
  236. data/data/gemfile/v1.6.15/Gemfile +0 -5
  237. data/data/gemfile/v1.6.15/Gemfile.lock.archived +0 -757
  238. data/data/gemfile/v1.6.2/Gemfile +0 -5
  239. data/data/gemfile/v1.6.2/Gemfile.lock.archived +0 -718
  240. data/data/gemfile/v1.6.3/Gemfile +0 -5
  241. data/data/gemfile/v1.6.3/Gemfile.lock.archived +0 -728
  242. data/data/gemfile/v1.6.4/Gemfile +0 -5
  243. data/data/gemfile/v1.6.4/Gemfile.lock.archived +0 -730
  244. data/data/gemfile/v1.6.5/Gemfile +0 -5
  245. data/data/gemfile/v1.6.5/Gemfile.lock.archived +0 -733
  246. data/data/gemfile/v1.6.6/Gemfile +0 -5
  247. data/data/gemfile/v1.6.6/Gemfile.lock.archived +0 -733
  248. data/data/gemfile/v1.6.7/Gemfile +0 -5
  249. data/data/gemfile/v1.6.7/Gemfile.lock.archived +0 -733
  250. data/data/gemfile/v1.6.9/Gemfile +0 -5
  251. data/data/gemfile/v1.6.9/Gemfile.lock.archived +0 -744
  252. data/data/gemfile/v1.7.0/Gemfile +0 -5
  253. data/data/gemfile/v1.7.0/Gemfile.lock.archived +0 -750
  254. data/data/gemfile/v1.7.1/Gemfile +0 -5
  255. data/data/gemfile/v1.7.1/Gemfile.lock.archived +0 -750
  256. data/data/gemfile/v1.7.2/Gemfile +0 -5
  257. data/data/gemfile/v1.7.2/Gemfile.lock.archived +0 -747
  258. data/data/gemfile/v1.7.3/Gemfile +0 -5
  259. data/data/gemfile/v1.7.3/Gemfile.lock.archived +0 -755
  260. data/data/gemfile/v1.7.4/Gemfile +0 -5
  261. data/data/gemfile/v1.7.4/Gemfile.lock.archived +0 -756
  262. data/data/gemfile/v1.7.5/Gemfile +0 -5
  263. data/data/gemfile/v1.7.5/Gemfile.lock.archived +0 -759
  264. data/data/gemfile/v1.7.6/Gemfile +0 -5
  265. data/data/gemfile/v1.7.6/Gemfile.lock.archived +0 -768
  266. data/data/gemfile/v1.8.10/Gemfile +0 -5
  267. data/data/gemfile/v1.8.10/Gemfile.lock.archived +0 -792
  268. data/data/gemfile/v1.8.11/Gemfile +0 -5
  269. data/data/gemfile/v1.8.11/Gemfile.lock.archived +0 -862
  270. data/data/gemfile/v1.8.3/Gemfile +0 -5
  271. data/data/gemfile/v1.8.3/Gemfile.lock.archived +0 -773
  272. data/data/gemfile/v1.8.4/Gemfile +0 -5
  273. data/data/gemfile/v1.8.4/Gemfile.lock.archived +0 -768
  274. data/data/gemfile/v1.8.5/Gemfile +0 -5
  275. data/data/gemfile/v1.8.5/Gemfile.lock.archived +0 -768
  276. data/data/gemfile/v1.8.6/Gemfile +0 -5
  277. data/data/gemfile/v1.8.6/Gemfile.lock.archived +0 -777
  278. data/data/gemfile/v1.8.7/Gemfile +0 -5
  279. data/data/gemfile/v1.8.7/Gemfile.lock.archived +0 -777
  280. data/data/gemfile/v1.8.8/Gemfile +0 -5
  281. data/data/gemfile/v1.8.8/Gemfile.lock.archived +0 -778
  282. data/data/gemfile/v1.8.9/Gemfile +0 -5
  283. data/data/gemfile/v1.8.9/Gemfile.lock.archived +0 -775
  284. data/data/gemfile/v1.9.0/Gemfile +0 -5
  285. data/data/gemfile/v1.9.0/Gemfile.lock.archived +0 -871
  286. data/data/gemfile/v1.9.1/Gemfile +0 -5
  287. data/data/gemfile/v1.9.1/Gemfile.lock.archived +0 -906
  288. data/data/gemfile/v1.9.2/Gemfile +0 -5
  289. data/data/gemfile/v1.9.2/Gemfile.lock.archived +0 -898
  290. data/data/gemfile/v1.9.3/Gemfile +0 -5
  291. data/data/gemfile/v1.9.3/Gemfile.lock.archived +0 -898
  292. data/data/gemfile/v1.9.4/Gemfile +0 -5
  293. data/data/gemfile/v1.9.4/Gemfile.lock.archived +0 -901
  294. data/data/gemfile/v1.9.5/Gemfile +0 -5
  295. data/data/gemfile/v1.9.5/Gemfile.lock.archived +0 -903
  296. data/data/gemfile/v1.9.6/Gemfile +0 -5
  297. data/data/gemfile/v1.9.6/Gemfile.lock.archived +0 -900
  298. data/data/gemfile/v1.9.7/Gemfile +0 -5
  299. data/data/gemfile/v1.9.7/Gemfile.lock.archived +0 -922
  300. data/data/gemfile/v1.9.8/Gemfile +0 -5
  301. data/data/gemfile/v1.9.8/Gemfile.lock.archived +0 -933
  302. data/data/gemfile/versions.yaml +0 -751
  303. data/data/homebrew/versions.yaml +0 -567
  304. data/data/snap/github_tags.json +0 -42
  305. data/data/snap/versions.yaml +0 -589
  306. data/snapcraft-list-copied-from-site.md +0 -101
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mnenv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-02-11 00:00:00.000000000 Z
11
+ date: 2026-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: git
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: lutaml-model
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +94,20 @@ dependencies:
80
94
  - - ">="
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: octokit
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: paint
85
113
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +136,20 @@ dependencies:
108
136
  - - "~>"
109
137
  - !ruby/object:Gem::Version
110
138
  version: '1.0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: tty-prompt
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
111
153
  description: Unified interface for discovering and managing Metanorma versions from
112
154
  Gemfile (Docker), Snap, Homebrew, and Chocolatey sources. Provides mnenv CLI command
113
155
  for querying version information.
@@ -119,285 +161,81 @@ extensions: []
119
161
  extra_rdoc_files: []
120
162
  files:
121
163
  - Gemfile
164
+ - PROPOSAL.md
122
165
  - README.adoc
123
166
  - Rakefile
124
- - data/chocolatey/versions.yaml
125
- - data/gemfile/v1.1.6/Gemfile
126
- - data/gemfile/v1.1.6/Gemfile.lock.archived
127
- - data/gemfile/v1.1.7/Gemfile
128
- - data/gemfile/v1.1.7/Gemfile.lock.archived
129
- - data/gemfile/v1.1.8/Gemfile
130
- - data/gemfile/v1.1.8/Gemfile.lock.archived
131
- - data/gemfile/v1.10.0/Gemfile
132
- - data/gemfile/v1.10.0/Gemfile.lock.archived
133
- - data/gemfile/v1.10.1/Gemfile
134
- - data/gemfile/v1.10.1/Gemfile.lock.archived
135
- - data/gemfile/v1.10.10/Gemfile
136
- - data/gemfile/v1.10.10/Gemfile.lock.archived
137
- - data/gemfile/v1.10.11/Gemfile
138
- - data/gemfile/v1.10.11/Gemfile.lock.archived
139
- - data/gemfile/v1.10.2/Gemfile
140
- - data/gemfile/v1.10.2/Gemfile.lock.archived
141
- - data/gemfile/v1.10.3/Gemfile
142
- - data/gemfile/v1.10.3/Gemfile.lock.archived
143
- - data/gemfile/v1.10.5/Gemfile
144
- - data/gemfile/v1.10.5/Gemfile.lock.archived
145
- - data/gemfile/v1.10.6/Gemfile
146
- - data/gemfile/v1.10.6/Gemfile.lock.archived
147
- - data/gemfile/v1.10.7/Gemfile
148
- - data/gemfile/v1.10.7/Gemfile.lock.archived
149
- - data/gemfile/v1.10.8/Gemfile
150
- - data/gemfile/v1.10.8/Gemfile.lock.archived
151
- - data/gemfile/v1.10.9/Gemfile
152
- - data/gemfile/v1.10.9/Gemfile.lock.archived
153
- - data/gemfile/v1.11.0/Gemfile
154
- - data/gemfile/v1.11.0/Gemfile.lock.archived
155
- - data/gemfile/v1.11.1/Gemfile
156
- - data/gemfile/v1.11.1/Gemfile.lock.archived
157
- - data/gemfile/v1.11.4/Gemfile
158
- - data/gemfile/v1.11.4/Gemfile.lock.archived
159
- - data/gemfile/v1.11.5/Gemfile
160
- - data/gemfile/v1.11.5/Gemfile.lock.archived
161
- - data/gemfile/v1.12.10/Gemfile
162
- - data/gemfile/v1.12.10/Gemfile.lock.archived
163
- - data/gemfile/v1.12.3/Gemfile
164
- - data/gemfile/v1.12.3/Gemfile.lock.archived
165
- - data/gemfile/v1.12.4/Gemfile
166
- - data/gemfile/v1.12.4/Gemfile.lock.archived
167
- - data/gemfile/v1.12.5/Gemfile
168
- - data/gemfile/v1.12.5/Gemfile.lock.archived
169
- - data/gemfile/v1.12.6/Gemfile
170
- - data/gemfile/v1.12.6/Gemfile.lock.archived
171
- - data/gemfile/v1.12.8/Gemfile
172
- - data/gemfile/v1.12.8/Gemfile.lock.archived
173
- - data/gemfile/v1.13.0/Gemfile
174
- - data/gemfile/v1.13.0/Gemfile.lock.archived
175
- - data/gemfile/v1.13.2/Gemfile
176
- - data/gemfile/v1.13.2/Gemfile.lock.archived
177
- - data/gemfile/v1.13.3/Gemfile
178
- - data/gemfile/v1.13.3/Gemfile.lock.archived
179
- - data/gemfile/v1.13.4/Gemfile
180
- - data/gemfile/v1.13.4/Gemfile.lock.archived
181
- - data/gemfile/v1.13.5/Gemfile
182
- - data/gemfile/v1.13.5/Gemfile.lock.archived
183
- - data/gemfile/v1.13.7/Gemfile
184
- - data/gemfile/v1.13.7/Gemfile.lock.archived
185
- - data/gemfile/v1.13.8/Gemfile
186
- - data/gemfile/v1.13.8/Gemfile.lock.archived
187
- - data/gemfile/v1.13.9/Gemfile
188
- - data/gemfile/v1.13.9/Gemfile.lock.archived
189
- - data/gemfile/v1.14.3/Gemfile
190
- - data/gemfile/v1.14.3/Gemfile.lock.archived
191
- - data/gemfile/v1.2.12/Gemfile
192
- - data/gemfile/v1.2.12/Gemfile.lock.archived
193
- - data/gemfile/v1.2.2/Gemfile
194
- - data/gemfile/v1.2.2/Gemfile.lock.archived
195
- - data/gemfile/v1.2.3/Gemfile
196
- - data/gemfile/v1.2.3/Gemfile.lock.archived
197
- - data/gemfile/v1.2.6/Gemfile
198
- - data/gemfile/v1.2.6/Gemfile.lock.archived
199
- - data/gemfile/v1.2.8/Gemfile
200
- - data/gemfile/v1.2.8/Gemfile.lock.archived
201
- - data/gemfile/v1.2.9/Gemfile
202
- - data/gemfile/v1.2.9/Gemfile.lock.archived
203
- - data/gemfile/v1.3.1/Gemfile
204
- - data/gemfile/v1.3.1/Gemfile.lock.archived
205
- - data/gemfile/v1.3.2/Gemfile
206
- - data/gemfile/v1.3.2/Gemfile.lock.archived
207
- - data/gemfile/v1.3.4/Gemfile
208
- - data/gemfile/v1.3.4/Gemfile.lock.archived
209
- - data/gemfile/v1.3.5/Gemfile
210
- - data/gemfile/v1.3.5/Gemfile.lock.archived
211
- - data/gemfile/v1.3.6/Gemfile
212
- - data/gemfile/v1.3.6/Gemfile.lock.archived
213
- - data/gemfile/v1.3.9/Gemfile
214
- - data/gemfile/v1.3.9/Gemfile.lock.archived
215
- - data/gemfile/v1.4.0/Gemfile
216
- - data/gemfile/v1.4.0/Gemfile.lock.archived
217
- - data/gemfile/v1.4.10/Gemfile
218
- - data/gemfile/v1.4.10/Gemfile.lock.archived
219
- - data/gemfile/v1.4.11/Gemfile
220
- - data/gemfile/v1.4.11/Gemfile.lock.archived
221
- - data/gemfile/v1.4.12/Gemfile
222
- - data/gemfile/v1.4.12/Gemfile.lock.archived
223
- - data/gemfile/v1.4.13/Gemfile
224
- - data/gemfile/v1.4.13/Gemfile.lock.archived
225
- - data/gemfile/v1.4.14/Gemfile
226
- - data/gemfile/v1.4.14/Gemfile.lock.archived
227
- - data/gemfile/v1.4.18/Gemfile
228
- - data/gemfile/v1.4.18/Gemfile.lock.archived
229
- - data/gemfile/v1.4.3/Gemfile
230
- - data/gemfile/v1.4.3/Gemfile.lock.archived
231
- - data/gemfile/v1.4.4/Gemfile
232
- - data/gemfile/v1.4.4/Gemfile.lock.archived
233
- - data/gemfile/v1.4.5/Gemfile
234
- - data/gemfile/v1.4.5/Gemfile.lock.archived
235
- - data/gemfile/v1.4.6/Gemfile
236
- - data/gemfile/v1.4.6/Gemfile.lock.archived
237
- - data/gemfile/v1.4.7/Gemfile
238
- - data/gemfile/v1.4.7/Gemfile.lock.archived
239
- - data/gemfile/v1.4.8/Gemfile
240
- - data/gemfile/v1.4.8/Gemfile.lock.archived
241
- - data/gemfile/v1.4.9/Gemfile
242
- - data/gemfile/v1.4.9/Gemfile.lock.archived
243
- - data/gemfile/v1.5.0/Gemfile
244
- - data/gemfile/v1.5.0/Gemfile.lock.archived
245
- - data/gemfile/v1.5.10/Gemfile
246
- - data/gemfile/v1.5.10/Gemfile.lock.archived
247
- - data/gemfile/v1.5.11/Gemfile
248
- - data/gemfile/v1.5.11/Gemfile.lock.archived
249
- - data/gemfile/v1.5.15/Gemfile
250
- - data/gemfile/v1.5.15/Gemfile.lock.archived
251
- - data/gemfile/v1.5.16/Gemfile
252
- - data/gemfile/v1.5.16/Gemfile.lock.archived
253
- - data/gemfile/v1.5.17/Gemfile
254
- - data/gemfile/v1.5.17/Gemfile.lock.archived
255
- - data/gemfile/v1.5.18/Gemfile
256
- - data/gemfile/v1.5.18/Gemfile.lock.archived
257
- - data/gemfile/v1.5.19/Gemfile
258
- - data/gemfile/v1.5.19/Gemfile.lock.archived
259
- - data/gemfile/v1.5.20/Gemfile
260
- - data/gemfile/v1.5.20/Gemfile.lock.archived
261
- - data/gemfile/v1.5.21/Gemfile
262
- - data/gemfile/v1.5.21/Gemfile.lock.archived
263
- - data/gemfile/v1.5.22/Gemfile
264
- - data/gemfile/v1.5.22/Gemfile.lock.archived
265
- - data/gemfile/v1.5.23/Gemfile
266
- - data/gemfile/v1.5.23/Gemfile.lock.archived
267
- - data/gemfile/v1.5.24/Gemfile
268
- - data/gemfile/v1.5.24/Gemfile.lock.archived
269
- - data/gemfile/v1.5.3/Gemfile
270
- - data/gemfile/v1.5.3/Gemfile.lock.archived
271
- - data/gemfile/v1.5.4/Gemfile
272
- - data/gemfile/v1.5.4/Gemfile.lock.archived
273
- - data/gemfile/v1.5.5/Gemfile
274
- - data/gemfile/v1.5.5/Gemfile.lock.archived
275
- - data/gemfile/v1.5.6/Gemfile
276
- - data/gemfile/v1.5.6/Gemfile.lock.archived
277
- - data/gemfile/v1.5.7/Gemfile
278
- - data/gemfile/v1.5.7/Gemfile.lock.archived
279
- - data/gemfile/v1.5.8/Gemfile
280
- - data/gemfile/v1.5.8/Gemfile.lock.archived
281
- - data/gemfile/v1.5.9/Gemfile
282
- - data/gemfile/v1.5.9/Gemfile.lock.archived
283
- - data/gemfile/v1.6.1/Gemfile
284
- - data/gemfile/v1.6.1/Gemfile.lock.archived
285
- - data/gemfile/v1.6.10/Gemfile
286
- - data/gemfile/v1.6.10/Gemfile.lock.archived
287
- - data/gemfile/v1.6.11/Gemfile
288
- - data/gemfile/v1.6.11/Gemfile.lock.archived
289
- - data/gemfile/v1.6.12/Gemfile
290
- - data/gemfile/v1.6.12/Gemfile.lock.archived
291
- - data/gemfile/v1.6.13/Gemfile
292
- - data/gemfile/v1.6.13/Gemfile.lock.archived
293
- - data/gemfile/v1.6.14/Gemfile
294
- - data/gemfile/v1.6.14/Gemfile.lock.archived
295
- - data/gemfile/v1.6.15/Gemfile
296
- - data/gemfile/v1.6.15/Gemfile.lock.archived
297
- - data/gemfile/v1.6.2/Gemfile
298
- - data/gemfile/v1.6.2/Gemfile.lock.archived
299
- - data/gemfile/v1.6.3/Gemfile
300
- - data/gemfile/v1.6.3/Gemfile.lock.archived
301
- - data/gemfile/v1.6.4/Gemfile
302
- - data/gemfile/v1.6.4/Gemfile.lock.archived
303
- - data/gemfile/v1.6.5/Gemfile
304
- - data/gemfile/v1.6.5/Gemfile.lock.archived
305
- - data/gemfile/v1.6.6/Gemfile
306
- - data/gemfile/v1.6.6/Gemfile.lock.archived
307
- - data/gemfile/v1.6.7/Gemfile
308
- - data/gemfile/v1.6.7/Gemfile.lock.archived
309
- - data/gemfile/v1.6.9/Gemfile
310
- - data/gemfile/v1.6.9/Gemfile.lock.archived
311
- - data/gemfile/v1.7.0/Gemfile
312
- - data/gemfile/v1.7.0/Gemfile.lock.archived
313
- - data/gemfile/v1.7.1/Gemfile
314
- - data/gemfile/v1.7.1/Gemfile.lock.archived
315
- - data/gemfile/v1.7.2/Gemfile
316
- - data/gemfile/v1.7.2/Gemfile.lock.archived
317
- - data/gemfile/v1.7.3/Gemfile
318
- - data/gemfile/v1.7.3/Gemfile.lock.archived
319
- - data/gemfile/v1.7.4/Gemfile
320
- - data/gemfile/v1.7.4/Gemfile.lock.archived
321
- - data/gemfile/v1.7.5/Gemfile
322
- - data/gemfile/v1.7.5/Gemfile.lock.archived
323
- - data/gemfile/v1.7.6/Gemfile
324
- - data/gemfile/v1.7.6/Gemfile.lock.archived
325
- - data/gemfile/v1.8.10/Gemfile
326
- - data/gemfile/v1.8.10/Gemfile.lock.archived
327
- - data/gemfile/v1.8.11/Gemfile
328
- - data/gemfile/v1.8.11/Gemfile.lock.archived
329
- - data/gemfile/v1.8.3/Gemfile
330
- - data/gemfile/v1.8.3/Gemfile.lock.archived
331
- - data/gemfile/v1.8.4/Gemfile
332
- - data/gemfile/v1.8.4/Gemfile.lock.archived
333
- - data/gemfile/v1.8.5/Gemfile
334
- - data/gemfile/v1.8.5/Gemfile.lock.archived
335
- - data/gemfile/v1.8.6/Gemfile
336
- - data/gemfile/v1.8.6/Gemfile.lock.archived
337
- - data/gemfile/v1.8.7/Gemfile
338
- - data/gemfile/v1.8.7/Gemfile.lock.archived
339
- - data/gemfile/v1.8.8/Gemfile
340
- - data/gemfile/v1.8.8/Gemfile.lock.archived
341
- - data/gemfile/v1.8.9/Gemfile
342
- - data/gemfile/v1.8.9/Gemfile.lock.archived
343
- - data/gemfile/v1.9.0/Gemfile
344
- - data/gemfile/v1.9.0/Gemfile.lock.archived
345
- - data/gemfile/v1.9.1/Gemfile
346
- - data/gemfile/v1.9.1/Gemfile.lock.archived
347
- - data/gemfile/v1.9.2/Gemfile
348
- - data/gemfile/v1.9.2/Gemfile.lock.archived
349
- - data/gemfile/v1.9.3/Gemfile
350
- - data/gemfile/v1.9.3/Gemfile.lock.archived
351
- - data/gemfile/v1.9.4/Gemfile
352
- - data/gemfile/v1.9.4/Gemfile.lock.archived
353
- - data/gemfile/v1.9.5/Gemfile
354
- - data/gemfile/v1.9.5/Gemfile.lock.archived
355
- - data/gemfile/v1.9.6/Gemfile
356
- - data/gemfile/v1.9.6/Gemfile.lock.archived
357
- - data/gemfile/v1.9.7/Gemfile
358
- - data/gemfile/v1.9.7/Gemfile.lock.archived
359
- - data/gemfile/v1.9.8/Gemfile
360
- - data/gemfile/v1.9.8/Gemfile.lock.archived
361
- - data/gemfile/versions.yaml
362
- - data/homebrew/versions.yaml
363
- - data/snap/github_tags.json
364
- - data/snap/versions.yaml
167
+ - bin/Install-Mnenv.ps1
168
+ - bin/mnenv-installer
169
+ - completions/bash
170
+ - completions/fish
171
+ - completions/powershell.ps1
172
+ - completions/zsh
365
173
  - exe/mnenv
366
174
  - lib/mnenv.rb
175
+ - lib/mnenv/binary_repository.rb
176
+ - lib/mnenv/chocolatey.rb
367
177
  - lib/mnenv/chocolatey/fetcher.rb
368
178
  - lib/mnenv/chocolatey_repository.rb
369
179
  - lib/mnenv/cli.rb
370
180
  - lib/mnenv/commands.rb
181
+ - lib/mnenv/commands/available_command.rb
371
182
  - lib/mnenv/commands/chocolatey_command.rb
372
183
  - lib/mnenv/commands/gemfile_command.rb
373
184
  - lib/mnenv/commands/homebrew_command.rb
185
+ - lib/mnenv/commands/install_command.rb
374
186
  - lib/mnenv/commands/snap_command.rb
187
+ - lib/mnenv/commands/uninstall_command.rb
188
+ - lib/mnenv/commands/version_command.rb
375
189
  - lib/mnenv/fetcher.rb
190
+ - lib/mnenv/gemfile.rb
376
191
  - lib/mnenv/gemfile/extractor.rb
377
192
  - lib/mnenv/gemfile/fetcher.rb
378
193
  - lib/mnenv/gemfile_repository.rb
194
+ - lib/mnenv/homebrew.rb
379
195
  - lib/mnenv/homebrew/fetcher.rb
380
196
  - lib/mnenv/homebrew_repository.rb
197
+ - lib/mnenv/installer.rb
198
+ - lib/mnenv/installer/base.rb
199
+ - lib/mnenv/installer/factory.rb
200
+ - lib/mnenv/installers/binary_installer.rb
201
+ - lib/mnenv/installers/gemfile_installer.rb
381
202
  - lib/mnenv/json_formatter.rb
382
203
  - lib/mnenv/logger.rb
383
204
  - lib/mnenv/models.rb
205
+ - lib/mnenv/models/binary_version.rb
384
206
  - lib/mnenv/models/chocolatey_version.rb
385
207
  - lib/mnenv/models/gemfile_version.rb
386
208
  - lib/mnenv/models/homebrew_version.rb
387
209
  - lib/mnenv/models/snap_version.rb
388
210
  - lib/mnenv/models/version.rb
211
+ - lib/mnenv/paths.rb
212
+ - lib/mnenv/platform_detector.rb
389
213
  - lib/mnenv/repository.rb
214
+ - lib/mnenv/resolver
215
+ - lib/mnenv/shells/base.rb
216
+ - lib/mnenv/shells/bash.rb
217
+ - lib/mnenv/shells/cmd.rb
218
+ - lib/mnenv/shells/factory.rb
219
+ - lib/mnenv/shells/power_shell.rb
220
+ - lib/mnenv/shim_manager.rb
221
+ - lib/mnenv/snap.rb
390
222
  - lib/mnenv/snap/fetcher.rb
391
223
  - lib/mnenv/snap_repository.rb
224
+ - lib/mnenv/source_registry.rb
225
+ - lib/mnenv/sources.rb
392
226
  - lib/mnenv/version.rb
227
+ - lib/mnenv/version_resolver.rb
228
+ - lib/mnenv/versions_manager.rb
393
229
  - mnenv.gemspec
394
- - snapcraft-list-copied-from-site.md
395
- homepage: https://github.com/metanorma/versions
230
+ - scripts/cross-source-switching-test.sh
231
+ - scripts/integration-test.sh
232
+ - scripts/version-switching-test.sh
233
+ homepage: https://github.com/metanorma/mnenv
396
234
  licenses:
397
235
  - MIT
398
236
  metadata:
399
- homepage_uri: https://github.com/metanorma/versions
400
- source_code_uri: https://github.com/metanorma/versions
237
+ homepage_uri: https://github.com/metanorma/mnenv
238
+ source_code_uri: https://github.com/metanorma/mnenv
401
239
  rubygems_mfa_required: 'true'
402
240
  post_install_message:
403
241
  rdoc_options: []