[jsword-devel] Git

DM Smith dmsmith at crosswire.org
Mon Apr 23 04:32:54 MST 2012


On Apr 23, 2012, at 12:27 AM, Douglas Campos wrote:

>> Ant builds will also continue to be supported and using ivy it  will drag in 3rd party dependencies.
> …till I convince you to kill it :)

It won't take much. There is some value that the ant builds have that the maven builds don't at this point in time. Once maven adds that value then they can go away.

There are some developers that are allergic to maven and have said they won't help if they have to use maven.

While the following seems like a lot, it really isn't.

Here is what is remaining:
More migration to git. Next up jsword-common-swing and then bibledesktop.
Get a maven build on the CrossWire server to do equivalent work to what it is doing today with ant.
In summary the nightly ant build does the following:
	It checkouts changes from source code control.
	It does the nightly build.
	It runs QA checks (checkstyle, findbugs, pmd, cpd, ...)
	It packages the nightly build for windows, mac, webstart and unix.
	It builds the jsword and bibledesktop websites (out of source code control).

Details:
jsword-common-swing
	Used by Bible Desktop, Bible Mapper and perhaps others.
	This needs to be migrated to git next.

jsword-common-aqua
	Used by Bible Desktop and perhaps others when running on a Mac.
	Reflection is used to bring it in only when the OS is Mac.
	This is built once, stored and used repeatedly in BibleDesktop.app until it changes again.
	No rush on migrating this to git.

bibledesktop
	The "showcase" application for JSword
	Signing of all jars that make up Bible Desktop
	Contains packaging for:
		Java WebStart
		Windows - using NSIS
		Mac - into an "app"
	The nightly builds use preconstructed:
		BibleDesktop.exe
		BibleDesktop.app
		high-res images
	This needs to be migrated to git after jsword-common-swing.
(I think that perhaps packaging should be separate from bibledesktop.git)

Once these three are migrated to git, I can continue working on the changes for the next release.

bibledesktop-web
	This contains www.crosswire.org/bibledesktop
	It assumes the content of the results of packaging of BibleDesktop.
	src/web/stable contains the results of the release build
	The release build uses pre-constructed
		BibleDesktopSetup.exe (which is built on Windows)
		BibleDesktop.dmg (which is built on a Mac)
	This "project" contains a lot of images and docs.
	The instructions for the release are at bibledesktop/ReleaseInstructions.txt
	Not sure if this makes sense to have in git as it is the release image.

jsword-support
	Contains QA tasks that jsword-web runs
(I think this does not need to be migrated to git as it is present in maven)

jsword-web
	This contains www.crosswire.org/jsword
	It is a webapp running jsp.
	This contains nightly packaging for binary, source and docs as zip and tar.gz.
	It packages jsword, common-swing and bibledesktop together.
	This runs the QA tasks it pulls in from jsword-support.

iBD
	Demonstration of using JSword in a webapp.
	Currently this is part of jsword in svn.
	It should be broken out into its own git repo.
	Like the release builds in bibledesktop-web, this is static from release to release.
	That is ant does not build it.
	History is not important at this time.

WRT to ant these builds are chained dependencies, with the dependent stages being run before the parent stage.
	jsword-web depends upon bibledesktop-web
	bibledesktop-web depends upon bibledesktop
	bibledesktop depends upon common-swing
	common-swing depends upon jsword



	

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/jsword-devel/attachments/20120423/32e8952d/attachment-0001.html>


More information about the jsword-devel mailing list