Cjos Library Future
CjOS Project @ cjos.sourceforge.net
Index
Bind Pages
Cjos Library
Cjos Pages
Cjos News Pages
Eric Pages
Introduction To Smart Api
Osgi Pages
Registry Api Pages
Smart Api Pages
Xvcl Pages
CjOS Project
Summary Page
Mailing List
Download
CVS
JOS Technical Edition
Support This Project
Build Pages; [ Cjos Audience]

Building Release 1.0-34

What is the best way to build a distribution for a Java project? Is it possible to provide a build system for Java projects?

See also

Goal

Support multiple platforms.

  • Install from binary edition on
    • Linux and
    • Microsoft Windows.

  • Build binary edition from source code on
    • Linux and
    • Microsoft Windows.

Goal

Compatible with recommendations documented in Producing Open Source Software by Kurt Fogel, O'Reilly. See also Producing Open Source Software.

Binary Edition - Linux

  • Download binary RPM.

Source Edition - Linux

  • Download no-source RPM.
  • Download corresponding source ZIP archive.

Binary Edition - Microsoft Windows

  • Download binary ZIP archive.

Source Edition - Microsoft Windows

  • Download source ZIP archive.

Distribution Generator for 1.0-34

  1. eclipse/release-1.0-34/build.xml
  2. eclipse/release-1.0-34/distribution.xml
  3. eclipse/release-1.0-34/spc.xvcl
  4. eclipse/release-1.0-34/xvcl/rpm-projectspec.xvcl
  5. eclipse/release-1.0-34/xvcl/rpm-buildxml.xvcl
  6. rpmbuild/.rpmmacros (sb. eclipse/release-1.0-34/.rpmmacros)
  7. rpmbuild/rpmmacros.txt (sb. eclipse/release-1.0-34/rpmmacros.txt)
  8. rpmbuild/SOURCE (sb. eclipse/release-1.0-34/SOURCE)
  9. rpmbuild/RPMS (sb. eclipse/release-1.0-34/RPMS)
  10. rpmbuild/tmp (sb. eclipse/release-1.0-34/tmp)

Example: cjos-ericlimited

  1. cd eclipse/release-1.0-34
  2. ant -Dproduct=ericlimited [ xvcl | build-zip | build-tgz | jar | rpm ]
  3. Result:
    1. xvcl:
      1. product/ericlimited/build.xml
      2. product/ericlimited/tgz/build.xml
      3. product/ericlimited/tgz/project.spec
      4. product/ericlimited/zip/module/ericlimited/build.xml
      5. product/ericlimited/zip/module/stub-ericlimited/build.xml

    2. build-zip:
      1. product/ericlimited/build/cjos-ericlimited-1.0-34.1.zip
        1. (was rpmbuild/SOURCE/cjos-ericlimited-1.0-34.zip)

    3. build-tar:
      1. product/ericlimited/build/project.tar

    4. build-tgz:
      1. product/ericlimited/build/cjos-ericlimited-1.0-34.tgz
        1. (was rpmbuild/SOURCE/cjos-ericlimited-1.0-34.tgz)

    5. unzip:
      1. product/ericlimited/build/ericlimited-1.0-34/build.xml
      2. product/ericlimited/build/ericlimited-1.0-34/java/ant/module/script/build.xml
      3. [ product/ericlimited/build/ericlimited-1.0-34/module/stub-ericlimited/build.xml ]
      4. product/ericlimited/build/ericlimited-1.0-34/module/ericlimited/build.xml
      5. [ product/ericlimited/build/ericlimited-1.0-34/lib/rsi-consolestudio2a.jar ]

    6. jar:
      1. product/ericlimited/build/ericlimited-1.0-34/target/cjos-ericlimited.jar

    7. rpm:
      1. RPMS/cjos-ericlimited-1.0-34.n.src.rpm
      2. RPMS/cjos-ericlimited-1.0-34.n.noarch.rpm
      3. RPMS/cjos-ericlimited-ant-1.0-34.n.noarch.rpm
      4. RPMS/cjos-ericlimited-javadoc-1.0-34.n.noarch.rpm
      5. RPMS/cjos-ericlimited-websource-1.0-34.n.noarch.rpm

jar-depends-free

When creating a ZIP archive, include specific jars.

 jar-depends-free=source-directory

Resource

Coming soon: Support resources in jars.

summary

Optional. This is an attribute of the product tag.

In an RPM, a summary is the short description of a product.

Example:

 ----- distribution.xml -----
 :
 <product name="cjos-ericlimited" summary="CjOS ERIC - Limited">
 :

----- tgz/product.spec ----- : Summary: CjOS ERIC - Limited :

Now supported: Summary is set once and only once.

description

Optional. This is an attribute of the product tag.

In an RPM, a description is a (long) description of a product.

Example:

 ----- distribution.xml -----
 :
 <product name="cjos-ericlimited" description="This is part of the CjOS Project Distribution.">
 :

----- tgz/product.spec ----- : %description This is part of the CjOS Project Distribution. :

Now supported: Description is set once and only once.

Binary ZIP

A binary edition contains a pre-compiled jar.

Coming Soon: cjos-ericlimited-1.0-34.1-bin.zip

Source ZIP

A source edition contains Java source code and resources.

Coming Soon: cjos-ericlimited-1.0-34.1-src.zip

JOS Technical Edition

Coming Soon: cjos-all-joste-1.0-34

 Requires: cjos-ericlimited-joste >= 1.0-34.1

Coming Soon: cjos-ericlimited-joste-1.0-34.1.noarch.rpm

 Requires: cjos-ericlimited-websource >= 1.0-34.1
 ln -s -f /usr/share/cjos/websource/ericlimited /usr/share/cjos/joste-cdrom/websource/ericlimited