Giter Club home page Giter Club logo

Comments (8)

 avatar commented on June 22, 2024 1

@Sherlouk : No worries. But it's a matter of urgency that we needed this package. The dependent bot doesn't support SPM as of now. And this very interesting alternative we have. Thanks for replying :)

from action-xcodeproj-spm-update.

alexandersandberg avatar alexandersandberg commented on June 22, 2024

@sschizas Did you manage to fix this? We're having the same problem.

from action-xcodeproj-spm-update.

 avatar commented on June 22, 2024

@Sherlouk : Can we please resolve this issue?

from action-xcodeproj-spm-update.

Sherlouk avatar Sherlouk commented on June 22, 2024

Thank you @thapli9A for tagging me, I can only apologise but it looks like I forgot to watch this repository so I haven't been receiving notifications for bugs like this one here. I haven't intentionally been ignoring it.

I believe what's happening here is that the project is expecting just one Package.resolved file to exist in the directory specified (or root, by default). In your case it looks to be picking up on three different files.

I believe it's then trying to generate a checksum based on a string of all paths combined. So it's not looking for ./Danger-Swift/Package.resolved but instead essentially doing this:

shasum "./Blueground.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved ./Blueground.xcworkspace/xcshareddata/swiftpm/Package.resolved ./Danger-Swift/Package.resolved"

Which in turn is then failing. What I think we need to do to resolve this is handle the situation where multiple are found and hash them all individually and combine the hash so that if any change then the script works as expected.

I've added this to my TODO and can only apologise once again for the delay in getting back to you.

from action-xcodeproj-spm-update.

Sherlouk avatar Sherlouk commented on June 22, 2024

This should now be fixed with version 0.2.0.

It appears this was more of an issue of not supporting workspaces (which I can see from your debug code you're using!). This is now supported and documented in the README.

There is definitely an issue around multiple files being returned by the find command, this may still happen if you have multiple Xcode projects in a single directory and aren't using a workspace. I believe this use-case is rather limited and so haven't addressed it with 0.2.0 - if folks do run into this though please do raise a new issue and we can look into it.

Apologies for the delay once again!

from action-xcodeproj-spm-update.

alexandersandberg avatar alexandersandberg commented on June 22, 2024

@Sherlouk Thanks for fixing this!

There is definitely an issue around multiple files being returned by the find command, this may still happen if you have multiple Xcode projects in a single directory and aren't using a workspace. I believe this use-case is rather limited and so haven't addressed it with 0.2.0 - if folks do run into this though please do raise a new issue and we can look into it.

We have broken up parts of our project into smaller local SPM packages (e.g. Core, Business, Component) that live in the root folder.

The action works if we provide a workspace argument, as it finds a Package.resolved file:

Identified Package.resolved at '{Project}.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved'.

However, it ignores the other packages. I'm guessing this case is not supported yet? Are there any workarounds?

from action-xcodeproj-spm-update.

Sherlouk avatar Sherlouk commented on June 22, 2024

Hey @alexandersandberg, feel free to raise a new issue to explore this further but I'd love to better understand your architecture here.

One thing to note is that this action is specifically for Xcode projects (and now I suppose workspaces) as opposed to dependencies in Swift Packages themselves. For updating the dependencies listed in a Swift Package itself, you should likely explore this action which is also linked in the README and was the inspiration for this project 😄

So from the screenshot, it may make sense to have both of these actions in a single pipeline. One would update the dependencies listed in your Xcode project (or workspace), and the other would update the dependencies in each of your local packages (CoreKit, BusinessKit, ComponentKit, etc). Does this make sense? - and for the record, this pattern is something I'm doing in my own project 👍

Again, feel free to raise another issue (I'm following the repo now so I'll see it 😂) and especially if you can generate a quick example project just showing where you define your dependencies that would be awesome.

from action-xcodeproj-spm-update.

alexandersandberg avatar alexandersandberg commented on June 22, 2024

So from the screenshot, it may make sense to have both of these actions in a single pipeline. One would update the dependencies listed in your Xcode project (or workspace), and the other would update the dependencies in each of your local packages (CoreKit, BusinessKit, ComponentKit, etc). Does this make sense? - and for the record, this pattern is something I'm doing in my own project 👍

This sounds like the way to go—I will give it a try. Thanks! 🙂

from action-xcodeproj-spm-update.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.