holzschu / a-shell

A terminal for iOS, with multiple windows
BSD 3-Clause "New" or "Revised" License
2.6k stars 116 forks source link

Development Build Workflow Questions #25

Open AsocPro opened 4 years ago

AsocPro commented 4 years ago

I have checked the code out and am trying to build a-shell so that I can contribute to this project. (I want to make the cursor blinking a setting and I'm sure more things as time goes along.)

When I first checked out the project I was getting a bunch of compile errors that ended up being due to needing a newer version of ios_system and after building a new ios_system from master they went away. There were also a bunch of missing frameworks and files that were needed at build time. I was able to locate most of the frameworks and then just removed a few that didn't seem critical for basic usage just to get through the build to make sure I tracked down any other major issues when it came to the build side of things.

I was going to start working on something that would go out to all the places that was needed to grab all the dependencies to make it easier to get started on development. I am new to the iOS_system ecosystem of libraries and such so forgive me if my ignorance shows too much on this side of things. Is there currently a way to get most or all the frameworks from the different projects that are included or is it basically just going around to each of them and downloading them? If that is the way that it is done then I'm OK with that I just wanted to make sure before I was aware of anything that might exist already before I get started on writing something.

holzschu commented 4 years ago

Hi, you are absolutely right: the ios_system ecosystem has become too complex, and it is difficult to manage (both for me and for potential contributors). I need to find a new way to distribute the frameworks (and embed them in applications) that is scalable.

In theory, getting the latest binary release from https://github.com/holzschu/ios_system/releases gives you a compiled version of all frameworks. In practice, this is not reactive enough when I am fixing multiple bugs in ios_system itself.

Also, as you found out, not every user is interested in all the frameworks, but there is no easy way to configure the project to select which frameworks should be embedded.

In short: this is an area where I really need help. Moving to Swift packages or binary frameworks could help, but it does not address the issue of embedding frameworks.

AsocPro commented 4 years ago

Sorry about the delayed response. I’ll take a look at things and see what I can do to work on the whole dependency management side of things. I have a few ideas of some little things that could move things into a better place but I need to do a little investigation to make sure what I’m thinking is going to work. Let men do some checking and I’ll report back with what I find.