Currently, the federation build looks at the revision of the federation
tree that you have checked out and checks out the same revision of the
classlib and drlvm trees.

Since we want releases to be reproducible (i.e. known tags of not only
classlib and drlvm but also of the federation code that was used to
combine them), then I think it make sense to use a similar mechanism
when building from an svn tag.

That is, if you check out the federation build from[0]:

  https://svn.apache.org/repos/asf/incubator/harmony/enhanced/tags/1.0

then the federation build.xml should ensure that it also checks out the
1.0 tag of classlib and drlvm.  That is:

  https://svn.apache.org/repos/asf/incubator/harmony/enhanced/classlib/tags/1.0

and:

  https://svn.apache.org/repos/asf/incubator/harmony/enhanced/drlvm/tags/1.0

This will need a little tweaking to the federation build.xml and I 
wanted to be sure this made sense before I started.  What do people 
think?


I've started on the source archive for snapshots (though it doesn't
work yet[1]).  My feeling is that although the federation build.xml
in the svn checkout can be used to produce the binary archives - as
it was used to produce the current snapshots - that in order to prove
the source snapshot works (and to make sure that what we test/release
is consistent) we should actually create the binary archives for a
"release" from the source archive.  That is, the process should be:

  1) check out federation build using https://.../tags/1.0

  2) ant bundle_src

  3) unpack the resulting source archive (or perhaps just cd target/src)

  4) build binary archives using contents of the source archive


In short, make the binaries using the source archive that you are
planning to "release" so that you know the source archive is really
complete and works.

Does this seem reasonable?

Regards,
 Mark.

[0] We don't have a tags directory yet and maybe we might make it under
    harmony/enchanced/federation rather than in harmony/enchanced but
    we can fix that later.

[1] Currently:

      ant bundle_src; cd target/src; ant 

    fails on check-depends but:

     ant bundle_src; cd target/src/working_classlib ; ant check-depends

    works.  I can't see why yet.  Perhaps someone will take a look?
    I can't see why it's any different from the svn tree.


Reply via email to