wattostudios / GameExtractor

Reads and writes thousands of different archive and image formats used in games.
http://www.watto.org
GNU General Public License v2.0
128 stars 9 forks source link

Build Confusion - Libraries not included, outdated Ant source level, etc.. #19

Open discorddioxin opened 3 months ago

discorddioxin commented 3 months ago

While trying to build after cloning, there were lots of build issues, even when using Eclipse (as recommended)

1) The project also requires some libraries which the repository doesn't include. I had to go to Releases to get the extract.zip which contains the libraries.

2) I noticed the build.xml is used to compile, and thats about it. The source is set to 1.5, when the project recommends Java 8. Why is Ant being used at all here? There are no useful scripts. Seems safe to just remove Ant support altogether.

3) Ant is building to classes, but in the .project file, the output folder still points to bin. Which does the project expect?

Some side notes:

wattostudios commented 3 months ago

Thanks for your comments, lets see if I can answer some of them:

  1. Yep, good pickup, that's an oversight - when digging further I found it's in my gitignore file, so I'll correct that and hopefully they'll upload. It's also excluding some of the other directories - no wonder it's not terribly useful as it currently stands.
  2. I'm using Eclipse and some of this stuff has just carried on throughout the years. The source on my Eclipse is set to 1.8 however I can see that it's different in the settings uploaded here - I'll update them. Compilation is being done by Eclipse as I go - I'm not doing an explicit build. Ant is being used for my purposes more than anything - ie building the JARs and EXEs, packaging up the files for release, that kind of thing - there's probably nothing useful for you in the Ant scripts, yes you could remove it.
  3. The bin folder is the proper build directory, but it's also one of the folders that wasn't being pushed to git. It should be there when I next push.

You asked, why not use a proper build tool? I was taught Java from text editor before IDEs were a thing, and for many years it was all done just via Text Editor. I think version 3.0 of Game Extractor was where I transitioned to an IDE, and because Eclipse handles a lot of the build work implicitly, there wasn't a need to use a proper build tool, or even to learn it. I understand the concept of Gradle/Maven, and it's purpose, but I haven't learnt it and I'm too old to bother learning it without a need (it's the same with git, for that matter).

Provided all the files upload now that I've corrected the gitignore, you should be in a much better state to build Game Extractor. I tested importing the project to Eclipse before uploading it here, and the only thing it was complaining about for me was the Java Media Framework files, which you could either install yourself or just remove those files. (JMF isn't part of this project, nor is included in the libs, but if you install it, it can use it). I was under the honest impression that everything uploaded here was usable, and it actually annoys me that it wasn't, because I want something uploaded that is usable without too much hassle.

wattostudios commented 3 months ago

I have now pushed the "missing" files to github, please let me know if there are still any issues and I'll take a look at it. Thank you for bringing it to my attention, I wasn't intentionally making it painful.