Comments (17)
It's a nice idea. I think there are no technical obstacles. On the other hand the formula might be not accepted for homebrew/core
just yet. One of the requirements is for the formula to "be known". Maybe mockolo is already "known" - don't know :) Check out https://docs.brew.sh/Acceptable-Formulae for more info.
Another option would be to create a custom tap, maybe Uber org (https://github.com/uber) already has one (I haven't checked); in that case the formula could be pushed there. It's quite common solution and allows to quickly upstream new versions.
from mockolo.
Can we just update the latest release with the output from ./install-script.sh -s [source dir] -t mockolo -d [destination dir] -o [output filename]
(basically upload a tar.gz of the two files). If we do that our teams can at least make their own taps and start using mockolo via homebrew
from mockolo.
Could work but it would probably skip few artifacts which brew implicitly include in the so called bottles (README.md
, LICENSE
etc.). Also, not sure if the output is brew-friendly, have the right folder structure (mockolo/<version>/bin
etc).
A simple formula using swift build
should allow the users to build the brew formula locally (when using brew install
). It can also use prebuilt binary (bottle) if the link to the binary is also specified in the formula. You can make the bottle view brew bottle..
command, no need to package everything by hand.
I'd be interested to know how you use homebrew to distribute dev tools, from my experience it does not work well for bigger teams, quite tricky to enforce all dev and CI environments to use the right versions.
from mockolo.
The issue with building from source is that it is very painful, can take up to 5 minutes! Other swift command line tools are able to support this so I believe it is possible for mockolo. Using brew would really open up the user base of this project.
As for version management yes you need to write more code to manage the versions as brew does not have the ability built it, is is pretty easy to script around it though
from mockolo.
There's nothing preventing it; it's been on the todo list. Looks like brew cask might be an option for a binary only distribution if we go down that road. We can look into this soon.
from mockolo.
Can I build a cask for you guys? Is that okay?
from mockolo.
Can I build a cask for you guys? Is that okay?
Yes go ahead
from mockolo.
Formula PR is here Homebrew/homebrew-core#51274
from mockolo.
This will not work, building the formula takes too long on CI to even pass, we need to create a Cask. Can we make a new tagged release with a tar.gz of the built binaries attached to it? I need that tar.gz to create the cask https://github.com/Homebrew/homebrew-cask/blob/master/doc/development/adding_a_cask.md
from mockolo.
Added https://github.com/uber/mockolo/releases/download/1.1.5/mockolo.tar.gz
from mockolo.
from mockolo.
Fyi, the dylib in the same tarball, which is needed to run mockolo (and has to be in the same directory as the executable), requires xcode 11.0+ (swift 5.1+).
from mockolo.
Okay I am attempting this again, Homebrew/homebrew-core#51274 , I am not sure the build will finish in time, sometimes the swift build times out
from mockolo.
Thanks for pushing the pr. Looks like all checks have passed, pending a final review.
from mockolo.
Do you want to comment on that PR, I am not sure when they will get around to looking at it
from mockolo.
from mockolo.
🎉
from mockolo.
Related Issues (20)
- Incorrect mock generated for composed protocol HOT 2
- support for async properties? HOT 2
- @available attribute on function mocked incorrectly HOT 3
- Consider method that has `some` parameter.
- Support Actor Protocol HOT 6
- Xcode14.2 Fatal error: The operation couldn’t be completed. (SwiftSyntaxParser.ParserError error 1.) HOT 1
- Contributors with admin access
- [bug] Duplicated underlying var declarations generated for protocol mocks with init requirements HOT 2
- Allow output to stdout
- SwiftSyntax 508.0.0 HOT 1
- [BUG] Mocking functions with `for` parameter + include-history
- [BUG] Does not mock protocol requirements from other module HOT 2
- import collection is overly broad
- [Bug] Protocol that inherits from protocols in two different modules with same function name does not produce unique handlers HOT 2
- Mock of class with computed properties causes compile error.
- Add build tool plugin HOT 2
- Uncompilable mock generated for NSObjectProtocol / @objc protocols
- Async functions are unsafe in generated mocks, and can crash if used from multiple threads simultaneously HOT 2
- Skip creation of empty files if there are no mocks to generate HOT 2
- Suppress Sendable protocol warnings HOT 3
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 mockolo.