Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why does Pharo-Web-Browser load babymock in its baseline? #3

Open
macta opened this issue Feb 19, 2019 · 1 comment
Open

Why does Pharo-Web-Browser load babymock in its baseline? #3

macta opened this issue Feb 19, 2019 · 1 comment

Comments

@macta
Copy link

macta commented Feb 19, 2019

I don't understand why PWB loads BabyMock and a bunch of other dependencies in its baseline via OSShell?

I can't see where there are any tests that use it - and it clutters other projects loading PWB? Could we remove it? (I would also say factor out your tests into a seperate group as well - but there are only a small number so its not too inconvenient to load them)

e.g.

baseline: spec
	<baseline>

	spec for: #'common' do: [
		spec 
			baseline: 'OSShell' with: [ 
				spec repository: 'github://seandenigris/Pharo-Shell:master/repository' ];
			baseline: 'Tempfile' with: [
				spec repository: 'github://seandenigris/TempfileSt:master/repository' ];
			package: #'ExternalWebBrowser'  with: [
				spec
					requires: #('OSShell' 'Tempfile'). ] ].
baseline: spec
	<baseline>

	spec for: #'common' do: [
		spec baseline: 'BabyPhexample' with: [
				spec repository: 'github://seandenigris/Baby-Phexample:master/repository' ].
		spec package: #'OSShell' ].
@seandenigris
Copy link
Owner

I answered on Pharo Users:

My workflow is to make every project one monolithic package until the need
to do otherwise is presented (like right now!). I used to carefully think
about theoretical use case scenarios and split projects up along those
lines, but management (especially with the tooling available at that time)
seemed to explode exponentially, so I went monolithic. After several years
of experience, this is the first time someone expressed a pain point (that I
remember anyway)! This seems to validate the current approach and my
suspicion that preemptively creating multiple packages is akin to premature
optimization.

Tim Mackinnon wrote

I think what we have to do is submit pull requests to these projects such
that they create better baselines with Groups

Yes! I will happily integrate. The tests may need to be promoted to a
package if they are currently in a tag, but 'Core' without and 'Tests' with
seems appropriate given your issue. I don't have a strong opinion on the
default but my guess is to leave it as is (i.e. all packages) because
newbies will get the tests (i.e. documentation) and advanced users will know
enough to customize.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants