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

Implement a Feign CDI Module #1

Open
codefromthecrypt opened this issue Dec 5, 2016 · 14 comments
Open

Implement a Feign CDI Module #1

codefromthecrypt opened this issue Dec 5, 2016 · 14 comments
Assignees

Comments

@codefromthecrypt
Copy link
Contributor

From @johnament on December 4, 2016 13:30

Feign is an amazing library for working with type safe REST clients. It simplifies a lot of day to day development work being able to leverage the client.

CDI is a dependency injection tool. While a user can define producer methods there is still the boilerplate overhead that they may have to deal with.

I'd like to propose adding a CDI module, which will look for interfaces supporting Feign and provide injection points to CDI users to simply inject their clients. No additional development, all annotation based and configured as needed.

It should provide some kind of fallback to look for common builders for interfaces and leverage those whenever possible.

Copied from original issue: OpenFeign/feign#500

@codefromthecrypt
Copy link
Contributor Author

I can open up a repo for you now, if you like.. feign-cdi?

@codefromthecrypt
Copy link
Contributor Author

From @johnament on December 5, 2016 0:49

If you're interested in taking it on, sure. After moving in the code it was clear it didn't fit quite right in the existing feign core module. So yeah a separate CDI module may make more sense.

I'm assuming the version need not align to feign version?

@codefromthecrypt
Copy link
Contributor Author

nope version doesn't need to align. Note one thing though.. most
satellite repos are driven either by the lead or on an on-demand
basis.

For example, feign-form is completely run by @xxlabaza using a
standard maven based release process
https://github.com/OpenFeign/feign/blob/master/RELEASE.md

OpenFeign/feign-form#6

This process helps us release others' work in case someone wants to go
to fiji forever.

If you are interested in this..

  • I'd open a repo
  • I'd give you access to all the things and/or tell you where to ask for access
  • I'd open bintray, travis etc for feign-cdi
  • you'd likely copy/paste/find/replace feign-form to feign-cdi to save effort
  • you'd manage the releases until/unless others become interested in helping

soo.. your call :)

@codefromthecrypt
Copy link
Contributor Author

From @johnament on December 5, 2016 1:3

I'd be OK with that plan. The original idea came up in the DeltaSpike dev list, as something that would be good, but probably didn't make sense to do in DS

Is there any setup you'd need from me for bintray? I think I have an account.

@johnament
Copy link
Collaborator

So I'm assuming for the initial commit.. just commit what I have? or raise a PR?

@codefromthecrypt
Copy link
Contributor Author

flipped on travis

@codefromthecrypt
Copy link
Contributor Author

@johnament please ping your sonatype user here so you can get access to maven sync (which will be encrypted into travis using the release instructions) https://issues.sonatype.org/browse/OSSRH-23228

@codefromthecrypt
Copy link
Contributor Author

added johnament to bintray and setup https://bintray.com/openfeign/maven/feign-cdi also requested jcenter/jfrog snapshots for group id io.github.openfeign.cdi

@codefromthecrypt
Copy link
Contributor Author

@johnament so for the initial commit, I'd use the same boilerplate stuff from feign-form (ex same maven wrapper git ignore .. everything except travis credentials). you can raise as a PR as at least travis will check it runs.

After that it is a waiting game for jcenter/jfrog, which is usually a day. then check jfrog snapshots then sometime after you've encrypted creds, do a test release

@johnament
Copy link
Collaborator

Ok, I see it in bintray. My sonatype username is "johndament"

@codefromthecrypt
Copy link
Contributor Author

@johnament cool just requested you in sonatype

johnament added a commit to johnament/feign-cdi that referenced this issue Dec 5, 2016
@johnament johnament mentioned this issue Dec 5, 2016
@johnament
Copy link
Collaborator

@adriancole it looks like I don't have bintray access.

@codefromthecrypt
Copy link
Contributor Author

well you had member access.. which is the same as @spencergibb.. I've bumped you both to admin

@johnament
Copy link
Collaborator

I suspect something different is happening here vs the main feign. Or maybe the main repo's been broke that it hasn't been noticed? It's trying to upload snapshots to bintray, which doesn't work.

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