-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Allow installing plugins with git submodule dependencies #454
Comments
git submodules
I see no reason not to include a quick This would prevent adding another field to the JSON, which is a good thing to keep the entry bar low for plugin maintainers. xcodebuild schemes
I'm not following you on this one, though. I took a look at your projects and I'm gonna guess the one for which the build fails is Xcode-Better-Refactor-Tools. And indeed, this fails:
while this works:
The failure happens when building the BetterRefactorToolsKit dependency, because the compiler cannot find the framework SwiftXPC. Upon further examination, the reason for this is that when building with
Proposed solution: This would look like:
(I tested this for Xcode-Better-Refactor-Tools, it works) This has two benefits:
Binary releaseHaving said all that, one of the next steps for Alcatraz is to move to binary distribution, where the author use whatever build system they feel confortable with, and just submit the built However, this has been planned for a long time (at least since 2014), and (afaik) we haven't made much progress on it. So for the time being, I think PRs fixing the two problems as discussed earlier would be welcomed 😇. Otherwise I'll try to find the time to tackle these soon (it shouldn't be too much work). Testing
I think originally @supermarin added tests to the project (the |
Wow, thanks for the feedback and research @guillaume-algis. I'm a little overwhelmed. I'm pretty excited about the notion of being able to release my I can relate to your sense of shame and frustration around TDD. I'm very lucky and privileged to work in an environment where my coworkers all practice TDD and teach each other every day through pairing. Before I joined my company, I was very frustrated with how I approached testing, but it's hard for me to remember that after so long. So, as a concrete proposal, I will write a PR for the |
Little update: |
Hello!
I'm an author and maintainer of a couple few Xcode plugins (notably Better Console, Cedar Shortcuts and Better Refactor Tools). A few people have asked me to make these installable via Alcatraz, and I was pretty excited to do this.
Unfortunately I learned that my plugins aren't installable because they have dependencies that I track via git submodules. I took a look at a few other plugins and it looks like none of them link against frameworks, so maybe I'm unique in having this problem?
I believe that my plugins could be installed by Alcatraz if the following changed...
git submodule update --init --recursive
command after cloning a repoxcode clean build ...
should be able to take in the scheme nameFRAMEWORK_SEARCH_PATHS
are stored on the scheme, rather than the target, any plugin that wants to link against a framework or have other build settings will need to specify the scheme.Would a PR adding the optional
uses_submodules
andscheme_name
flag to the package JSON format, along with some changes to theATZPluginInstaller
class to support this be well received? I haven't dug into the code too deeply, perhaps there's a better place where this behavior could be implemented?Also, I'm a strong believer in TDD. Are there tests for the Alcatraz plugin that I can refer to? I'd love to be able to contribute tests for these changes.
The text was updated successfully, but these errors were encountered: