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

Updated libraryDependencies in the installation guide #57

Closed
wants to merge 1 commit into from
Closed

Updated libraryDependencies in the installation guide #57

wants to merge 1 commit into from

Conversation

RawToast
Copy link

@RawToast RawToast commented Apr 3, 2017

No description provided.

@RawToast
Copy link
Author

RawToast commented Apr 3, 2017

This fix should resolve #33

@codecov-io
Copy link

Codecov Report

Merging #57 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master      #57   +/-   ##
=======================================
  Coverage   68.32%   68.32%           
=======================================
  Files           9        9           
  Lines         262      262           
  Branches        3        3           
=======================================
  Hits          179      179           
  Misses         83       83

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7404636...ede4396. Read the comment docs.

@RawToast
Copy link
Author

RawToast commented Apr 3, 2017

I've had another look at #33 and I see that the contributors believe that simple importing as in the documentation should work and bring in the correct dependencies. So I've attempted a quick recreate:

I've created a fresh SBT project on another machine. If all I do is copy in:

`name := "featherbed-test"
version := "1.0"
scalaVersion := "2.11.8"
resolvers += Resolver.sonatypeRepo("snapshots")

libraryDependencies ++= Seq(
"io.github.finagle" %"featherbed_2.11" %"0.2.1-SNAPSHOT"
)`

With this class:
`class Example {
import java.net.URL

val client = new featherbed.Client(new URL("http://localhost:8765/api/"))
}`

Then both IntelliJ and SBT will pull in a lot of the twitter libraries, Finagle, Cats and Shapeless. This is fine -- but featherbed doesn't seem to be brought in. Attempting to compile the given code will result in a compilation failure, so it looks like something isn't working.

However, if I amend the libraryDependencies line to "io.github.finagle" %% "featherbed-core" % "0.2.1-SNAPSHOT", the import failure goes away and the code compiles.

@jeremyrsmith
Copy link
Collaborator

@RawToast This is strange! The artifact featherbed declares that it dependsOn featherbed-core, so it should transitively bring in the core artifact. Maybe dependsOn and aggregate don't get along?

I'd prefer to fix the problem so that bringing in featherbed brings in all the stuff it's supposed to (both core and circe at the moment). I can find time to investigate that maybe this weekend, but if you wouldn't mind experimenting with removing aggregate I'd sure appreciate it!

@RawToast
Copy link
Author

RawToast commented Apr 7, 2017

@jeremyrsmith I've done some more reading and ran some more experiments with this. aggregate and dependsOn should work together, and the build looks similar to multi-module build examples on the web.

Tried removing my only set plugin (coursier), which didn't fix anything.

Interestingly, after only changing the version number, I used publishLocal and it created a pomthat included both featherbed-core and featherbed-circe -- which brought in the modules as expected. So that intrigued me and I double checked the pom held on sonatype (https://oss.sonatype.org/#nexus-search;quick~featherbed)

Funnily enough, the poms on sonatype nexus for 0.2.0-snapshot and 0.2.1-snapshot do not include the other two modules; however, the pom for 0.2.2-snapshot does include the other modules! If I use that version in my build, the other modules are downloaded and the examples work.

I would've looked at the 0.2.2 build.sbt in this PR -- but there is no branch, so I assume that was an internal build? Whatever changed in the deployment of that version seems to have fixed the issue.

@RawToast
Copy link
Author

RawToast commented Jul 3, 2017

Closing this as the project has this seems to be fixed in more recent releases.

@RawToast RawToast closed this Jul 3, 2017
@RawToast RawToast mentioned this pull request Jan 12, 2018
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

Successfully merging this pull request may close these issues.

3 participants