-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Configuration #49
Comments
I also want to add that this opens up some really cool possibilities, for example I used an operation called There could be There could be There could be a task to download and bundle And since the format is not static you could for example bundle some assets for Windows and MacOSX while packaging different ones for Android (useful for example with compressed textures), you could abort the build if the tests and the linter fail. You could update the version string automatically by detecting the current tag of Git somehow... This I'm thinking that this may be a project on it's own... |
It is a very, very, very good proposal! |
I would love to work together with you if we go this way 😄. I'm not really interested in having MANY similar packages, and there are a bunch of projects trying to do similar stuff already so I prefere to help here like you may have noticed hahaha. PS: If you are on Discord I'm |
I have updated the issue and first comment to reflect on the possibility of plugins |
While I like the idea of this being available for more advanced usage, I really like how simple it currently is to use love-release with just minor modifications to |
If this was ever implemented, a default would be given, and that default would Also it has been long but I have already finished Obey which is the tool that could potentially power this. Yet the plugin for love-release was never written so maybe this can spark some new interest in it. |
It also just occurred to me that the conf file has to register a function for it to work with love, but it doesn't return anything special, so you could also use a return value if configuration is kept in the same file. I don't particularly see a need to separate it into another file, but I understand why it would be a good idea. I'm curious if anyone here has an example of a conf file that demonstrates why it should be moved away.. |
This has already been discussed A LOT, and the final decision is that using Also since LÖVE 0.9.x there is almost no need for metadata to exist in There is a lot of stuff to configure for love-release so it's a good idea to have a better way to define all this configurations and script it as you would do with a build pipeline. For more info read #27 #40 #46 About what you ask, it has been said over and over that there will be a fallback to Let's keep this issue related to the new configuration file and how to integrate love-release into Obey (or the other way around) |
It has been discussed that we should move away from using
conf.lua
possible in version 3 ( #40 ) and that this would help on moving to a Lua version agnostic ( #46 ) system.To do this we need to define a new format for the configuration, so I decided to open this issue only to discuss how this format should be. I propose this
package.lua
file format:So this file returns a list of commands, this commands can be executed by running them like so:
When the file runs, the
release
plugin is loaded with require from an specific plugin directory of love-release. This plugin exposes some common operations likenewLove
,newWindows
andnewMacOSX
, please note that this don't really create files, but configure tasks.The tasks are executed with
release.output
which first takes the directory and returns a reusable function, that when called with a table with tasks as values performs all the tasks and saves the resulting files in the specified directory with a name corresponding to their index. This functions is synchronous and may take it's time, so that is something to keep in mind.Most tasks take a
love
task, this is so that the generated LÖVE (.love
) file can be reused, but reusing a file is not required.Lastly I want to note that all the tasks have a
branch
method that allows you to create a new task with all the same configurations as the task you are branching from and change only the specified configurations.This is my proposal, please give it a thumbs up 👍 if you are in favor or discuss any changes you would like to make. I would like to see different proposals too, to spark more ideas on this kind of stuff!
The text was updated successfully, but these errors were encountered: