Build and Version Numbering for Java Projects (ant, cvs, hudson)

后端 未结 9 1039
野的像风
野的像风 2020-11-29 14:38

What are current best-practices for systematic build numbering and version number management in Java projects? Specifically:

  • How to manage build numbers sy

9条回答
  •  死守一世寂寞
    2020-11-29 15:15

    Software:

    • SVN
    • Ant
    • Hudson, for continuous integration
    • svntask, an Ant task to find SVN revision: http://code.google.com/p/svntask/

    Hudson has three builds/jobs: Continuous, Nightly and Release.

    For a Continuous/Nightly build: Build number is the SVN revision, found using svntask.

    For a Release build/job: Build number is the Release number, read by Ant, from a Properties file. The properties file can also be distributed with the release for displaying the build number at runtime.

    The Ant build script puts the build number in the manifest file of jar/war files that are created during the build. Applies to all builds.

    Post-build action for Release builds, done easily using a Hudson plug-in: tag SVN with the build number.

    Benefits:

    • For a dev version of a jar/war, the developer can find the SVN revision from the jar/war and look up the corresponding code in SVN
    • For a release, the SVN revision is the one corresponding to the SVN tag that has the release number in it.

    Hope this helps.

提交回复
热议问题