<feed xmlns='http://www.w3.org/2005/Atom'>
<title>modderbaas/src, branch master</title>
<subtitle>A (abandoned) Minetest mod manager.</subtitle>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/modderbaas/'/>
<entry>
<title>More colors!</title>
<updated>2021-11-12T00:38:45+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2021-11-12T00:38:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/modderbaas/commit/?id=9ce37a975ad4889e070ae5705b6750a4b33d2442'/>
<id>9ce37a975ad4889e070ae5705b6750a4b33d2442</id>
<content type='text'>
The user_choice() function was a bit weird because it needed a
"formatted" item for every item to select (not using the Display of the
item), but it also didn't support colored output. This change fixes that
by introducing a new trait that does colored output and by making
user_choice() use that trait to output the lines.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The user_choice() function was a bit weird because it needed a
"formatted" item for every item to select (not using the Display of the
item), but it also didn't support colored output. This change fixes that
by introducing a new trait that does colored output and by making
user_choice() use that trait to output the lines.
</pre>
</div>
</content>
</entry>
<entry>
<title>move install code to own module</title>
<updated>2021-11-09T19:12:26+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2021-11-09T19:12:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/modderbaas/commit/?id=c859bd229b1ef7be51286fed1b92f9cd7ada06cd'/>
<id>c859bd229b1ef7be51286fed1b92f9cd7ada06cd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>enable SubcommandRequired &amp; ColoredHelp</title>
<updated>2021-11-09T17:57:36+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2021-11-09T17:57:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/modderbaas/commit/?id=9fbfa349a1973610287879ceb926c6d10b4b539f'/>
<id>9fbfa349a1973610287879ceb926c6d10b4b539f</id>
<content type='text'>
Especially SubcommandRequired is helpful, as without one, we're not
doing all that much.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Especially SubcommandRequired is helpful, as without one, we're not
doing all that much.
</pre>
</div>
</content>
</entry>
<entry>
<title>split mod install logic</title>
<updated>2021-11-09T17:38:52+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2021-11-09T17:38:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/modderbaas/commit/?id=1db932c9f435fb54a3ca58333495d1e24ca7400f'/>
<id>1db932c9f435fb54a3ca58333495d1e24ca7400f</id>
<content type='text'>
Previously, install_mod was a huge function that did a lot of things at
once. Not only did it do the actual mod copying, it also had the
dependency resolution, user interaction, ...

Now, we've split the code and made it more re-usable. The dependency
resolution is done in Baas::install, with special "hooks" being given in
baas::Installer that allow a consumer to customize the installation and
embed the user interaction there.

The code itself is pretty much the same, it is just split up now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, install_mod was a huge function that did a lot of things at
once. Not only did it do the actual mod copying, it also had the
dependency resolution, user interaction, ...

Now, we've split the code and made it more re-usable. The dependency
resolution is done in Baas::install, with special "hooks" being given in
baas::Installer that allow a consumer to customize the installation and
embed the user interaction there.

The code itself is pretty much the same, it is just split up now.
</pre>
</div>
</content>
</entry>
<entry>
<title>Separate the binary and library</title>
<updated>2021-11-09T11:50:33+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2021-11-09T11:46:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/modderbaas/commit/?id=d21c5dc9c53b02620fce916ffc1a2695e9d3f698'/>
<id>d21c5dc9c53b02620fce916ffc1a2695e9d3f698</id>
<content type='text'>
This uses the workspace feature of cargo, with the benefit that

1) We can more cleanly group the binary (user facing) code from the
   library
2) We can have dependencies that apply to the binary only

The first point could've been achieved without workspaces (Cargo
supports both binaries and libraries in a crate), but the second point
is what really makes this approach a lot better.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This uses the workspace feature of cargo, with the benefit that

1) We can more cleanly group the binary (user facing) code from the
   library
2) We can have dependencies that apply to the binary only

The first point could've been achieved without workspaces (Cargo
supports both binaries and libraries in a crate), but the second point
is what really makes this approach a lot better.
</pre>
</div>
</content>
</entry>
<entry>
<title>more documentation</title>
<updated>2021-11-09T01:08:20+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2021-11-09T01:08:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/modderbaas/commit/?id=919796ec954414ae16f113896bdf212381c96437'/>
<id>919796ec954414ae16f113896bdf212381c96437</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename --fix-permissions to --chown</title>
<updated>2021-11-09T00:12:02+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2021-11-09T00:12:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/modderbaas/commit/?id=117f760d7cb389ef9bed5a206cf6a510a1225a1b'/>
<id>117f760d7cb389ef9bed5a206cf6a510a1225a1b</id>
<content type='text'>
On second thought, we're just calling chown, so let's call it that.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On second thought, we're just calling chown, so let's call it that.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add some command line help texts</title>
<updated>2021-11-09T00:09:38+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2021-11-09T00:09:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/modderbaas/commit/?id=0805aacc891505c4dfe5f7a64184d131decaeb49'/>
<id>0805aacc891505c4dfe5f7a64184d131decaeb49</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add -p flag to fix permissions</title>
<updated>2021-11-09T00:04:36+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2021-11-09T00:04:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/modderbaas/commit/?id=08cbaaa62289a8b27dcd52c95aaa3ad2662cf23c'/>
<id>08cbaaa62289a8b27dcd52c95aaa3ad2662cf23c</id>
<content type='text'>
This is useful if you run modderbaas as root but want the resulting
directories to be owned by the right uid/gid.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is useful if you run modderbaas as root but want the resulting
directories to be owned by the right uid/gid.
</pre>
</div>
</content>
</entry>
<entry>
<title>remove fs_extra crate</title>
<updated>2021-11-07T00:59:57+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2021-11-07T00:59:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/modderbaas/commit/?id=13257d8d88c0783b9a87e1796a4c6b0bad6caba9'/>
<id>13257d8d88c0783b9a87e1796a4c6b0bad6caba9</id>
<content type='text'>
The function that we needed from there is very small and easily
implemented ourselves. On the other hand, fs_extra seemed to have some
weird options going on and implemented the copy in a bit of a roundabout
manner.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The function that we needed from there is very small and easily
implemented ourselves. On the other hand, fs_extra seemed to have some
weird options going on and implemented the copy in a bit of a roundabout
manner.
</pre>
</div>
</content>
</entry>
</feed>
