Coder Social home page Coder Social logo

Comments (9)

mkocher avatar mkocher commented on June 27, 2024

What do you mean?

https://github.com/cloudfoundry/vmc/tree/master/spec
https://github.com/cloudfoundry/vmc/blob/master/vmc.gemspec#L24

from vmc.

drnic avatar drnic commented on June 27, 2024

I'm sorry. I'm super blind. I saw only the line before. And that the vmc 0.3.23 gem doesn't have specs packaged in them.

from vmc.

drnic avatar drnic commented on June 27, 2024

Why isn't the gemspec and other root files also being bundled? That is, why are there any files not being bundled into the gems?

from vmc.

drnic avatar drnic commented on June 27, 2024

Will you accept a patch to move to the gemspec that bundle gem NAME generates?

  spec.files         = `git ls-files`.split($/)
  spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
  spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
  spec.require_paths = ["lib"]

from vmc.

mkocher avatar mkocher commented on June 27, 2024

I'm intrigued, why would you want that stuff? We're moving to not package specs with the gem in general, because all it does it make the gem files bigger. These days it's easy enough to go find the gem source on github if you want to see how the sausage is made.

from vmc.

drnic avatar drnic commented on June 27, 2024

Just realised this repo is deprecated and its now cf repo.

Versioned gems are forever; repos change. For example, vmc => cf repo. I cannot easily find the specs & gemspec for the older vmc releases that work with CF v1. In part perhaps; and I'm not sure; but all the tags have been lost for the old gems.

Why does bundler's generated gemspec bundle every file if its not useful?

I don't think there are any large development-only assets in the vmc/cf gem? So just how big are we scared this gem will get?

from vmc.

vito avatar vito commented on June 27, 2024

Bundler's generated gemspec is probably a sane default because it can't know what you'll be doing with the structure of your project. I also don't like that loading the gemspec requires git to be installed, and that it makes assumptions about your working directory (has to be same as the .gemspec).

In general gems should only have what they need to be used - I certainly wouldn't want vmc and all of its dependencies to be grabbing code that's irrelevant to its functioning. For example, spec assets would be a concern, as we're starting to expand CF's integration specs and it's starting to include dummy rails/sinatra apps, etc.

We've started using a deployment script that automatically tags the repository when gems are cut, so you should be able to use those in the future.

https://github.com/cloudfoundry/cf/tags - v0.6.0 is when we cut over to cf and stopped caring about v1 APIs.

from vmc.

vito avatar vito commented on June 27, 2024

Also: VMC 0.3.x had no specs. So, there's that.

And CF does export some spec files, for example spec support libraries that its plugins can use to write their specs. But perhaps these should be extracted into a gem instead.

from vmc.

drnic avatar drnic commented on June 27, 2024

Ok, thanks guys.

from vmc.

Related Issues (20)

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.