You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by Daniel Pocock <da...@pocock.pro> on 2015/01/06 17:18:55 UTC

updating the jSMPP dependency

I've been creating a 2.2.0 release of jSMPP with various bug fixes that
had been left in github pull requests

What is the procedure to use this in Camel?

I notice the camel-smpp/pom.xml uses an OSGi-bundle build of jSMPP:

        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.jsmpp</artifactId>
            <version>${jsmpp-version}</version>
        </dependency>

and it appears to have been created about 4 years ago by Jean-Baptiste:

http://svn.apache.org/viewvc/servicemix/smx4/bundles/tags/org.apache.servicemix.bundles.jsmpp-2.1.0_2/


and published under a different group ID:

http://mvnrepository.com/artifact/org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsmpp/2.1.0_2

Should the bundle stuff be merged into the proper jSMPP JAR or is it
necessary to continue building a separate JAR like that for OSGi?



Re: updating the jSMPP dependency

Posted by Daniel Pocock <da...@pocock.pro>.

On 07/01/15 16:47, Daniel Pocock wrote:
> On 07/01/15 10:18, Daniel Pocock wrote:
>> On 07/01/15 03:19, Willem Jiang wrote:
>>> I just send a PR by applying the patch of creating OSGi bundle for jSMPP.
>>> Now Camel can consume the new jSMPP bundle from the Official release :)
>>
>> I've just released jSMPP 2.2.1 with that change, please let me know if
>> it looks correct, it has been released through Sonatype and should be
>> available for Maven users soon.
>>
>> Would you be able to tweak the camel-smpp/pom.xml as well?
> 
> Actually, I tried this on a branch and I found that some of the test
> cases needed to be tweaked for some API changes
> https://github.com/dpocock/camel/tree/dpocock-jsmpp-update
> 
> I made an issue for it too:
> https://issues.apache.org/jira/browse/CAMEL-8215
> 
> After compiling, some of the unit tests fail and one gives an error
> 
> I'll need to look more closely to see what else changed in jSMPP and
> whether it needs to be tweaked in jSMPP or in camel-smpp
> 
> There were some things in the unit tests that were obvious though so
> they are already fixed.
> 
> One of the things that changes is that Alphabet now supports all the
> permitted values and it is not always assumed that the lower 2 bits are
> the message class.  This may impact test cases that expect a specific
> binary data coding value.
> 

It seems that there is a lot of 2.2.0 stuff in the jsmpp repository that
needs more testing before using it with Camel.

I also found that the Github repository didn't contain the commit used
to produce the 2.1.0 release that Camel currently relies on.

Therefore, I did the following:

- I found the old SVN (link is missing on Google code, but the URL
works) and made a fully mirror into Github using sync2git at
https://github.com/opentelecoms-org/jsmpp-svn-mirror

- looking in the SVN mirror I found another branch called "2.0.1
sandbox" that doesn't exist at all in the uudashr/jsmpp Git repository.
 This is the branch that was used to make the last stable release.

- I used git format-patch to extract the commits from the branch and put
them into the new repository on a branch called 2.0.1_sandbox

- I put a tag on the commit corresponding to the 2.1.0 source that is
already in use

- from the head of that branch I started a release-2.1 branch where I
have just backported the fix for the concurrent modification exception
and the pom.xml for the bundle

- then I produced a 2.1.1 release and uploaded it the Maven repository

The camel-smpp unit tests run fine with jsmpp-2.1.1 so I would suggest
using that to begin with and later on we can upgrade the camel-smpp
component to work with 2.2.0

I submitted a new pull request for 2.1.1




Re: updating the jSMPP dependency

Posted by Daniel Pocock <da...@pocock.pro>.
On 07/01/15 10:18, Daniel Pocock wrote:
> On 07/01/15 03:19, Willem Jiang wrote:
>> I just send a PR by applying the patch of creating OSGi bundle for jSMPP.
>> Now Camel can consume the new jSMPP bundle from the Official release :)
>
> I've just released jSMPP 2.2.1 with that change, please let me know if
> it looks correct, it has been released through Sonatype and should be
> available for Maven users soon.
>
> Would you be able to tweak the camel-smpp/pom.xml as well?

Actually, I tried this on a branch and I found that some of the test
cases needed to be tweaked for some API changes
https://github.com/dpocock/camel/tree/dpocock-jsmpp-update

I made an issue for it too:
https://issues.apache.org/jira/browse/CAMEL-8215

After compiling, some of the unit tests fail and one gives an error

I'll need to look more closely to see what else changed in jSMPP and
whether it needs to be tweaked in jSMPP or in camel-smpp

There were some things in the unit tests that were obvious though so
they are already fixed.

One of the things that changes is that Alphabet now supports all the
permitted values and it is not always assumed that the lower 2 bits are
the message class.  This may impact test cases that expect a specific
binary data coding value.





Re: updating the jSMPP dependency

Posted by Daniel Pocock <da...@pocock.pro>.
On 07/01/15 03:19, Willem Jiang wrote:
> I just send a PR by applying the patch of creating OSGi bundle for jSMPP.
> Now Camel can consume the new jSMPP bundle from the Official release :)


I've just released jSMPP 2.2.1 with that change, please let me know if
it looks correct, it has been released through Sonatype and should be
available for Maven users soon.

Would you be able to tweak the camel-smpp/pom.xml as well?


If anybody else has time to go over these pull requests and see if
anything needs to be cherry picked then it could be useful for the next
release of jSMPP:

https://github.com/uudashr/jsmpp/pull/25

https://github.com/uudashr/jsmpp/pull/7

https://github.com/uudashr/jsmpp/pull/27



Re: updating the jSMPP dependency

Posted by Willem Jiang <wi...@gmail.com>.
I just send a PR by applying the patch of creating OSGi bundle for jSMPP.
Now Camel can consume the new jSMPP bundle from the Official release :)

--  
Willem Jiang

Red Hat, Inc.
Web: http://www.redhat.com
Blog: http://willemjiang.blogspot.com (English)
http://jnn.iteye.com (Chinese)
Twitter: willemjiang  
Weibo: 姜宁willem



On January 7, 2015 at 5:03:16 AM, Christian Müller (christian.mueller@gmail.com) wrote:
> It would be good, if you could release JSMPP as an OSGI bundle. It's only a
> few more lines in the pom.xml file...
>  
> I'm wondering whether you should use a different Maven group id to
> differentiate for the original JSMPP library.
>  
> Best,
>  
> Christian
> -----------------
>  
> Software Integration Specialist
>  
> Apache Member
> V.P. Apache Camel | Apache Camel PMC Member | Apache Camel committer
> Apache Incubator PMC Member
>  
> https://www.linkedin.com/pub/christian-mueller/11/551/642
>  
> On Tue, Jan 6, 2015 at 5:18 PM, Daniel Pocock wrote:
>  
> >
> > I've been creating a 2.2.0 release of jSMPP with various bug fixes that
> > had been left in github pull requests
> >
> > What is the procedure to use this in Camel?
> >
> > I notice the camel-smpp/pom.xml uses an OSGi-bundle build of jSMPP:
> >
> >  
> > org.apache.servicemix.bundles
> > org.apache.servicemix.bundles.jsmpp
> > ${jsmpp-version}
> >  
> >
> > and it appears to have been created about 4 years ago by Jean-Baptiste:
> >
> >
> > http://svn.apache.org/viewvc/servicemix/smx4/bundles/tags/org.apache.servicemix.bundles.jsmpp-2.1.0_2/  
> >
> >
> > and published under a different group ID:
> >
> >
> > http://mvnrepository.com/artifact/org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsmpp/2.1.0_2  
> >
> > Should the bundle stuff be merged into the proper jSMPP JAR or is it
> > necessary to continue building a separate JAR like that for OSGi?
> >
> >
> >
>  


Re: updating the jSMPP dependency

Posted by Daniel Pocock <da...@pocock.pro>.

On 06/01/15 22:01, Christian Müller wrote:
> It would be good, if you could release JSMPP as an OSGI bundle. It's only a
> few more lines in the pom.xml file...

Could you possibly propose a pull request for it or refer me to an
example of how to do this in a way that is satisfactory for Camel?


> I'm wondering whether you should use a different Maven group id to
> differentiate for the original JSMPP library.
> 

I did that - the original one is using groupId com.googlecode.jsmpp

The new one is using the groupId org.jsmpp

The http://jsmpp.org domain also points at the community-run Github
repository for this, so it is all consistent.


Re: updating the jSMPP dependency

Posted by Christian Müller <ch...@gmail.com>.
It would be good, if you could release JSMPP as an OSGI bundle. It's only a
few more lines in the pom.xml file...

I'm wondering whether you should use a different Maven group id to
differentiate for the original JSMPP library.

Best,

Christian
-----------------

Software Integration Specialist

Apache Member
V.P. Apache Camel | Apache Camel PMC Member | Apache Camel committer
Apache Incubator PMC Member

https://www.linkedin.com/pub/christian-mueller/11/551/642

On Tue, Jan 6, 2015 at 5:18 PM, Daniel Pocock <da...@pocock.pro> wrote:

>
> I've been creating a 2.2.0 release of jSMPP with various bug fixes that
> had been left in github pull requests
>
> What is the procedure to use this in Camel?
>
> I notice the camel-smpp/pom.xml uses an OSGi-bundle build of jSMPP:
>
>         <dependency>
>             <groupId>org.apache.servicemix.bundles</groupId>
>             <artifactId>org.apache.servicemix.bundles.jsmpp</artifactId>
>             <version>${jsmpp-version}</version>
>         </dependency>
>
> and it appears to have been created about 4 years ago by Jean-Baptiste:
>
>
> http://svn.apache.org/viewvc/servicemix/smx4/bundles/tags/org.apache.servicemix.bundles.jsmpp-2.1.0_2/
>
>
> and published under a different group ID:
>
>
> http://mvnrepository.com/artifact/org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsmpp/2.1.0_2
>
> Should the bundle stuff be merged into the proper jSMPP JAR or is it
> necessary to continue building a separate JAR like that for OSGi?
>
>
>