-
Notifications
You must be signed in to change notification settings - Fork 127
Fix distribution creation and add modules to exported distribution #415
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
Conversation
…e to modules automatically. The game should now run when using the "gradlew run" command.
|
Uh oh, something went wrong with the build. Need to check on that |
NicholasBatesNZ
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can confirm that this does what it says on the tin. Nice work.
I'm not entirely sure what you mean by the executable permissions are broken on Linux; I was able to run sol64.sh just fine and the permission was already enabled (Ubuntu 18.04).
Another thing to note is that all the debug logs are shown when run from the distribution, I feel like this should not happen?
Very well done though, I was able to include my module in the distribution and I encountered no issues. :)
| @@ -0,0 +1,96 @@ | |||
| /* | |||
| * Copyright 2018 MovingBlocks | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's 2019 :P
|
Uh oh, something went wrong with the build. Need to check on that |
|
When I copied the zip archive produced on Windows into Linux the permissions were missing. They seem to be correct if compiling on Linux directly. I have added some commits to reduce the logging level in distribution builds (or more precisely to increase it in IDE and gradle builds). You may need to run the commands I also applied the fix suggested by Avalancs in #181 (comment), which appears to have fixed the duplicate files in sol.jar. |
Cervator
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great to see you again @BenjaminAmos ! Stellar work as usual :-)
Can confirm that this works on Windows 10 and on MacOS, although it turns out the game has probably been crashing there for a while due to a different issue. Trying to apply a fix on top here since now suddenly the game can be run normally again.
Happy to add you to the GSOC mentor pool and/or the TSOC project for DestSol or anything else if you're interested! TSOC might come with stipends if that's of interest, while GSOC mentoring comes with free swag and portfolio fodder :-)
| int length = -1; | ||
| try { | ||
| BufferedInputStream stream = dataFile.openStream(); | ||
| //HACK: This method may not produce reliable results in other JVMs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could perhaps use a bit more background detail :-)
|
Oh, and thanks for the great testing instructions by the way. I happened to have both your content module and test module in my workspace still and tested with both :-) (the mega-weapon on one ship in "warp" is semi-broken by some faction changes though, i think the projectiles insta-collide with each other now) |
Description
This pull request fixes the
gradlew distandgradlew distZipcommands. It also adds support for including all the modules from the current workspace in the distribution,The modules will be compiled into jars and copied into the
modulesdirectory when the distribution is created. Both the code and the assets should be contained within a single jar for each module, named after the module and its version.Directory-based modules, such as those used for development, should still work when copied into the output modules directory. Zip archives do not work currently.
Testing
Testing distribution creation
gradlew dist.app, should be created within thedesktop/build/distributions/directory. Enter this directory.sol.exeon Windows,solOSX.shon MacOS andsol[64].shon Linux). The game should start and should be able to be played normally, without any additional crashes.Testing distribution zip creation
gradlew distZipDestinationSol.zip, within thedesktop/build/distributionsdirectory.DestinationSol.zipinto a directory and enter it,sol.exeon Windows,solOSX.shon MacOS andsol[64].shon Linux). The game should start and should be able to be played normally, without any additional crashes.Testing modules
Testing code-only modules
groovyw module get codeModuleTest -remote BenjaminAmosto get my codeModuleTest module.Testing asset-only modules
Testing modules containing both assets and code
groovyw module get warpto get the warp module.Notes
com.github.marschall:zipfilesystem-standalonehas been added to the engine module in order to fix the built-in jre distribution (see Fix distribution creation #300 (comment) for more information).lwjreLinux/bin/javasol.shsol64.shCredits