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

Support versioning? #2

Open
travs opened this Issue Nov 20, 2014 · 2 comments

Comments

Projects
None yet
3 participants
@travs
Owner

travs commented Nov 20, 2014

Right now any values in the package-dependencies object are ignored by APD.

Ex:
"minimap": "this is ignored. Should we put version here?"

The keys are used to tell APD which other packages your package depends on, but the associated value (where version would be normally) does nothing right now.

The question is this: should we allow devs to specify a version of an atom package they depend on, or is any version good enough? My gut tells me "OF COURSE WE SHOULD BE ABLE TO SPECIFY A VERSION", since packages change all the time, but since apm only allows one installation per package in the .atom/packages/ directory, I am not sure how we would accomplish this.

Alternatively, APD could install the most up-to-date version of depended-on packages.

Ideas anyone?

@zephraph

This comment has been minimized.

Show comment
Hide comment
@zephraph

zephraph Jun 4, 2015

The short answer is no.

Being as Atom has the Service API now, a package should theoretically preserve different versions of its API over the life of the package. Your package then consumes only which version of the API you'd like to use. That being the case, even if the package updates, the package author should make attempts to ensure that old services still function properly.

Now, does this mean that things won't break? No. But if it's breaking often either you're trying to consume a really out of date API or the package you're depending on is miss managing their API and you should look for a different solution.

For that reason I would say leave off the version. As a matter of fact, It'd be nice if you supported an array of package names as well as the obj (for compatibility sake).

zephraph commented Jun 4, 2015

The short answer is no.

Being as Atom has the Service API now, a package should theoretically preserve different versions of its API over the life of the package. Your package then consumes only which version of the API you'd like to use. That being the case, even if the package updates, the package author should make attempts to ensure that old services still function properly.

Now, does this mean that things won't break? No. But if it's breaking often either you're trying to consume a really out of date API or the package you're depending on is miss managing their API and you should look for a different solution.

For that reason I would say leave off the version. As a matter of fact, It'd be nice if you supported an array of package names as well as the obj (for compatibility sake).

@basarat

This comment has been minimized.

Show comment
Hide comment
@basarat
Contributor

basarat commented Jun 5, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment