Comments (7)
It does, thanks both of you! 😊
I've run into the problem of trying to make my frameworks available for every dependency manager out there a few times and have mostly resorted to throwing SPM out the door, I'd love to get that working though! 😄
from swiftplate.
Hmm, on second thought, possible subdependencies are possibly not compatible with one of the dependency managers or versioned differently throughout, making this even harder. Pulling the source directly and nailing them to that version might probably be the only way 😕
from swiftplate.
I actually think CocoaPods, Carthage and SPM all support defining dependencies for your framework. SwiftPlate only generates your project initially, how you choose to work with it after that is completely up to you - you can add a Podfile
, Cartfile
, etc. or specify dependencies in your Package.swift
🙂
from swiftplate.
A dependency would then have to be specified throughout all three though, wouldn't it? Otherwise my build will probably work with my tool of choice, but might not for someone else using something different, if I'm not mistaken.
What about that weird dance with the symlinked .xcodeproj for Carthage compatibility Cocoapods does when creating a new pod. Would something like that also be necessary here? 😕
from swiftplate.
Yeah exactly, you'd have to use dependencies that are available on all popular package managers, if you want to support all of them. Since I haven't used Cocoapods for dependencies in frameworks myself, I'm not sure how well they would play together. Maybe @zenangst knows? 😄
from swiftplate.
So, at @hyperoslo, we haven't really jumped on the SPM
just yet. What we do to support both Cocoapods
and Carthage
is to add a Xcode project in the root folder that runs handles tests. And then we use Cocoapods
for all the examples projects that we add. Dependencies for Carthage
is handled with the root Cartfile
and dependencies for Cocoapods
is handled using the podspec.
We haven't really run into any situation where one of our sub dependencies were not available by on either Carthage
or Cocoapods
, might have to do with us creating most of the sub dependencies ourselves.
Hope that helped to clear things up.
You can find our take on generating packages here: https://github.com/hyperoslo/swiftpackage </shameless self-promotion>
from swiftplate.
So doesn't sound like SwiftPlate needs to do anything specific to support this. @kiliankoe does that answer your question? 🙂
from swiftplate.
Related Issues (20)
- Help with dependencies HOT 1
- Ignore copying README & LICENSE files if they already exist
- Github URL HOT 2
- {PROJECT} is not replaced HOT 2
- How to add SwiftPlate generated project as dependence for another SwiftPlate generated project HOT 4
- {TODAY} is not replaced
- Add step to auto-setup Git if not already set up
- Add installation instructions to the generated README HOT 4
- Add CI support HOT 1
- SwiftPlate fails if there are other files in the directory HOT 3
- GitHub URL default fails on non-https remote scheme
- Add .gitignore file HOT 3
- New SwiftPlate release HOT 4
- Add feature where users can choose the schemes to generate HOT 1
- Template creation HOT 2
- Error when using `--repo`option
- Fails without much warning in Linux HOT 1
- Missing path in target (swift-tools-version:4.0)
- Error while creating a new project HOT 2
- Error while installing Swiftplate using brew
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 swiftplate.