Comments (2)
Are you sure that we have this bug? Cause in this line there is an early return in case that any of the required frameworks is not cached yet and given that we use the current Swift version here when building the cache path. If anything I think that solving #62 will also fix this, then.
from accio.
@Dschee I'm also experiencing this when running Accio with the changes from #62, so it's not solved via that PR.
I looked up the code and found the issue. It is with the cacheFileSubPath
of CachedFrameworkProduct
, implemented as follows:
struct CachedFrameworkProduct: Codable {
let swiftVersion: String
let libraryName: String
let commitHash: String
let platform: String
var cacheFileSubPath: String {
return "\(swiftVersion)/\(libraryName)/\(commitHash)/\(platform).zip"
}
}
As the swiftVersion
is actually stored in the Manifest json, it's this cached Swift version that is used to copy the framework and check for the existence of the files (therefore not triggering the check you referenced). It should instead use the current Swift version, as the Package may have been resolved with Swift 5.0.1
, while the user is now running Swift 5.1
.
Is it needed to store a resolved manifest json for each Swift version? (like, is it possible that the resolving result is different for different Swift versions?) In that case, we shouldn't store the swiftVersion
in the manifest json, but rather include it in the file name.
Otherwise, I propose to just drop the swiftVersion
property from the CachedFrameworkProduct
and use the current Swift version for path calculation instead.
from accio.
Related Issues (20)
- Leverage Swift 5.1 module stability HOT 4
- Dependencies cannot be resolved when the target is in the same Package.swift HOT 5
- Accio is resetting the project it self when using local dependencies
- Missing CFBundleVersion in Info.plist of frameworks HOT 1
- Unable to successfully compile the sample project HOT 2
- No dependencies specified for target ... HOT 3
- Error: The file “Info.plist” couldn’t be opened HOT 2
- accio fails to install dependencies HOT 23
- Accio isn't compatible with certain Package.swift formats
- Add new "Xcode 11 Supplement" mode & Version 1.0.0 HOT 2
- Error installing Accio HOT 2
- Pick a less generic name than `Dependencies` for your folder HOT 9
- Error with dependencies with higher Swift tools version HOT 1
- Support shorthand Semantic Version Strings HOT 2
- $ accio install won't add build phase after re-generate Xcode project HOT 3
- Deprecate Accio in favor of SwiftPM starting with Xcode 12? HOT 7
- Unable to integrate Accio to support simple clone and build in Xcode IDE HOT 1
- Accio checking for wrong output name when copy framework (Facebook iOS SDK) HOT 2
- Homebrew installation broken HOT 4
- [Deleted Spam Title] HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from accio.