You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by Evgeny M <ev...@gmail.com> on 2016/10/24 10:43:27 UTC

New component comtribution - guidance required

Good day,

I would like to contribute a component to Apache Camel.
The code, unit and integration tests are ready. Some issues around build as
part of the larger camel component codebase (builds on its own fine), so I
would like some guidance on what and where to fix. 

What would be a procedure for that? I am happy to do a pull request and
start from there.

Please advise.



--
View this message in context: http://camel.465427.n5.nabble.com/New-component-comtribution-guidance-required-tp5789174.html
Sent from the Camel Development mailing list archive at Nabble.com.

Re: New component comtribution - guidance required

Posted by Andrea Cosentino <an...@yahoo.com.INVALID>.
No problem :-)

If the server emulator is not released under one of the following licenses
https://www.apache.org/legal/resolved#category-a 
we cannot use it in an Apache Project. 

So you have to skip the integration tests for the moment (or better define a profile for integration tests) 
and add notes in the documentation about the way people can run integration tests and how to the setup the enviroment. Once the server emulator will 
be released under one of the Apache Compatible License we will add it to the component you're currently working on.

Split tests between unit and integration tests is always a good practice (in this case is the only way to distinguish between server emulator based tests and not).

I hope this helps. If you have questions I'm here :-)

Thanks.
 --
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Thursday, October 27, 2016 12:19 PM, Evgeny M <ev...@gmail.com> wrote:
Thank you.

Will do.

Would I impose too much if I also ask the following questions:

    • Some tests rely on the server emulator running in the background.
Currently the emulator is started before the maven test phase and shut down
after. Is it acceptable? Or should I exclude such integration tests into a
separate profile?
    
    • The server emulator is a JAR which is not available through maven
ecosystem as yet. It is proprietary. The code might be released in the
future, but there is no confirmation as yet. Is it OK to include it in a
projects folder - i.e. libtest? Not sure how licensing affects this. What is
the alternative in terms of testing? Or should I keep the tests, but exclude
them from the normal round, just provide the doco how to obtain and start
emulator?
    
    • OnCompletion might raise a RuntimeException - should it be caught
instead? 
    It might result in a duplicate message as the server will resend the
message that was not acknowledged.

    • Should I split integration (relying on the server emulator) and unit (not
relying) tests?
    




--
View this message in context: http://camel.465427.n5.nabble.com/New-component-comtribution-guidance-required-tp5789174p5789335.html

Sent from the Camel Development mailing list archive at Nabble.com.

Re: New component comtribution - guidance required

Posted by Evgeny M <ev...@gmail.com>.
Thank you.

Will do.

Would I impose too much if I also ask the following questions:

	• Some tests rely on the server emulator running in the background.
Currently the emulator is started before the maven test phase and shut down
after. Is it acceptable? Or should I exclude such integration tests into a
separate profile?
	
	• The server emulator is a JAR which is not available through maven
ecosystem as yet. It is proprietary. The code might be released in the
future, but there is no confirmation as yet. Is it OK to include it in a
projects folder - i.e. libtest? Not sure how licensing affects this. What is
the alternative in terms of testing? Or should I keep the tests, but exclude
them from the normal round, just provide the doco how to obtain and start
emulator?
	
	• OnCompletion might raise a RuntimeException - should it be caught
instead? 
	It might result in a duplicate message as the server will resend the
message that was not acknowledged.

	• Should I split integration (relying on the server emulator) and unit (not
relying) tests?
	




--
View this message in context: http://camel.465427.n5.nabble.com/New-component-comtribution-guidance-required-tp5789174p5789335.html
Sent from the Camel Development mailing list archive at Nabble.com.

Re: New component comtribution - guidance required

Posted by Andrea Cosentino <an...@yahoo.com.INVALID>.
Once you added your component to the camel codebase, during the full build of camel, the spring-boot starter will be generated automatically and you'll just need to commit it as part of your Pull Request.

Just add your component and run a full build of Camel :-)
 --
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Thursday, October 27, 2016 10:22 AM, Evgeny M <ev...@gmail.com> wrote:
Thank you,

meanwhile a short question, if I may - do I need to code my own Spring Boot
Starter component, or it can be generated somehow?

I can see that othe rcomponent have this moniker - Autogenerated by the
camel maven package plugin.

How can I do that?



--
View this message in context: http://camel.465427.n5.nabble.com/New-component-comtribution-guidance-required-tp5789174p5789327.html

Sent from the Camel Development mailing list archive at Nabble.com.

Re: New component comtribution - guidance required

Posted by Evgeny M <ev...@gmail.com>.
Thank you,

meanwhile a short question, if I may - do I need to code my own Spring Boot
Starter component, or it can be generated somehow?

I can see that othe rcomponent have this moniker - Autogenerated by the
camel maven package plugin.

How can I do that?



--
View this message in context: http://camel.465427.n5.nabble.com/New-component-comtribution-guidance-required-tp5789174p5789327.html
Sent from the Camel Development mailing list archive at Nabble.com.

Re: New component comtribution - guidance required

Posted by Andrea Cosentino <an...@yahoo.com.INVALID>.
Yeah sure. I will do it :-)
 --
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Tuesday, October 25, 2016 4:17 AM, Evgeny M <ev...@gmail.com> wrote:
Great post, thank you, I have picked a few things that I have missed.

Would you mind checking it out with 2.19.0-SNAPSHOT? Not sure it is
applicable anymore - springboot somewhat complicate things.



--
View this message in context: http://camel.465427.n5.nabble.com/New-component-comtribution-guidance-required-tp5789174p5789198.html

Sent from the Camel Development mailing list archive at Nabble.com.

Re: New component comtribution - guidance required

Posted by Evgeny M <ev...@gmail.com>.
Great post, thank you, I have picked a few things that I have missed.

Would you mind checking it out with 2.19.0-SNAPSHOT? Not sure it is
applicable anymore - springboot somewhat complicate things.



--
View this message in context: http://camel.465427.n5.nabble.com/New-component-comtribution-guidance-required-tp5789174p5789198.html
Sent from the Camel Development mailing list archive at Nabble.com.

Re: New component comtribution - guidance required

Posted by Andrea Cosentino <an...@yahoo.com.INVALID>.
Some months ago I wrote this blog post about this

http://oscerd.github.io/2016/07/06/contributing-camel-components/

If you have further questions please ask :-)
 --
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Monday, October 24, 2016 12:43 PM, Evgeny M <ev...@gmail.com> wrote:
Good day,

I would like to contribute a component to Apache Camel.
The code, unit and integration tests are ready. Some issues around build as
part of the larger camel component codebase (builds on its own fine), so I
would like some guidance on what and where to fix. 

What would be a procedure for that? I am happy to do a pull request and
start from there.

Please advise.



--
View this message in context: http://camel.465427.n5.nabble.com/New-component-comtribution-guidance-required-tp5789174.html
Sent from the Camel Development mailing list archive at Nabble.com.