[jsword-devel] jsword on j2me

DM Smith dmsmith at crosswire.org
Sat Mar 17 12:51:57 MST 2012

On Mar 16, 2012, at 1:19 AM, Сергей Варюхин wrote:

> This subject was not discussed since 2006 year in mailing list. But
> now i think it is possible to port JSword to J2ME platform, because
> modern phones with J2ME support such as Nokia N8, for example, have
> hardware, which capable to run JSword library with normal speed.

Welcome to JSword!!! This is a great idea!

> I am student of FEFU (Far East Federal University) in Russia. I want
> to choose for my graduation work this subject. So i have started work
> with last stable JSword 1.6, because i do not want to collide with
> bugs of current trunk.

Current trunk is near ready to release. I hope to do so by the end of May. Basically, when I get BibleDesktop to work with it, I'll release both.

I comment every now and then that it may be buggy to give me room to maneuver and so that Tonny won't grab it too soon and put it into AlKitab.

> I will try to modify original JSword source
> code as less, as possible.

The reason to go with trunk, while it may be more difficult is that we've moved from Java 1.4 to Java 5. For your work, we may need to unwind this. Not terribly difficult, but I'd like to know this before releasing and I'd like to see what the impact is to other projects currently using JSword.

If we can find the most recent commits of trunk that Alkitab and AndBible are using, I'd suggest that we create a tag for those and that you pick one of those. Both of those frontends are using a more recent commit that 1.6 and they are very stable.

> Maybe after finishing this work it will be
> possible to back port changes in current trunk to have one code base
> for J2ME and J2SE version.

I would hope so. Right now we have a fork for AndBible and it is feeding changes back to JSword.

> To achieve this i get GNU Classpath library
> sources and will use it for replace standard library calls, because
> standard library in J2ME have many differences from J2SE version.

Is it compatible w/ LGPL v 2.0? Or do we need to add the "or later" clause to our v2 LGPL license. (We've already agreed that adding the clause is ok, but haven't done so.) If it forces us to LGPL v3, I'm not sure what we'll do.

> Also
> i working at porting JSword library at Java 1.3 language version,
> because it is version, which used in J2ME.

I was guessing that was what would be needed. Since we've gone to Java 5 for our trunk it will make porting changes to JSword 1.6 into trunk.

> Currently i replacing
> assertions with using custom library, because Java 1.3 does not have
> "assert" keyword. Also i want to replace all calls to standard file
> classes with custom library, which provide one interface for Java
> files and mobile JSR-75 API.
> What are you thinking about this job?

If the interface is actually a Java interface with an appropriate implementation via a factory or reflection that might be best.

> Is it have place in JSword
> repository? Special branch, for example? And what about sharing code
> between J2SE and J2ME versions?

In another thread we're discussion migration from SVN to git. But it will take some time to get there.

Currently, you can use http://crosswire.org/svn/jsword/trunk/incubator
It is writeable by all. Create a folder (say j2me/jsword) and put your fork in there.

If that doesn't work, I can create a branch for you. I just need to know which revision to use.

When we get near to using git, we'll need to sync up.
> Also i want to develop front end for J2ME for this library port. What
> are you thinking about that? Is it better to develop from scratch or
> use existing project "Go Bible" and modify it to work with JSword
> library?

I'm not familiar what a vanilla phone interface should look like.

David Haslam who works the "Go Bible" project for JSword might be a better person to ask. I don't know if he is on this list, but he is on sword-devel. I'm blind copying him on this reply.

In His Service,

More information about the jsword-devel mailing list