Menu

JML4 Repository

Anonymous

Structure

JML4 source is held in the jmlspecs subversion repository. Here is the structure:

/ (root)                                  !!! IMPORTANT NOTES!!!
  jml4/                               -------------------------------------------
    trunk/{org.eclipse.jdt.core, ...} <== the main development stream, 3.4 currently
    branches/3.3                      <== 3.3 (maintenance) stream
      {org.eclipse.jdt,core, ...}
    tags/3.3
  eclipse.org/                        <== "vendor" source from Eclipse.org CVS
    trunk/{org.eclipse.jdt.core, ...} <== trunk will be for 3.4 stream
    branches/3.3                      <== 3.3 (maintenance) stream
      {org.eclipse.jdt,core, ...}
    tags/3.3

The eclipse.org directory is our CVS equivalent of vendor branches for the Eclipse.org source of org.eclipse.jdt.core etc.

(PC: small note so that I don't forget. We will want, to the extent possible, to merge changes to jml4/branches/3.3 back into jml4/trunk ... in particular, this should be possible for the jml4-utils project.)

Eclipse JDT Release Merge Schedule

Here is information about svn versions of the jml4/branches/3.3. The table will be used to help keep track of which versions of the Eclipse JDT 3.3 maintenance stream have been merged into our jml4/branches/3.3/org.eclipse.jdt.core.

Eclipse JDT CVS tag
jmlspecs version number of jml4/branches/3.3/ org.eclipse.jdt.core
Merged in by
On date

v_771, R3_3
135
PC
2007-09-13

v_772a_R33x
143
PC
2007-09-13

v_773_R33x
-
-
-

v_774_R33x
-
-
-

v_775_R33x
-
-
-

v_776_R33x
-
-
-

v_777_R33x
-
-
-

v_778_R33x
-
-
-

v_779_R33x
-
-
-

How to bring in a new release of the Eclispe JDT?

Below are some notes (almost in the format of a bash script), showing how I merged in v_772_R33x. (Some of the definitions might be found here JML4 Repository, initial setup instructions

# NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
# NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
#
# From this point on, we commit 3.3 work to the 3.3 branch!
#
# Here is an example of merging in an Eclipse release:

# I am assuming you have a working copy of jmlspecs under the following dir:
export jml4wkcp=~/jml4wksp/wkcp/jmlspecs
# This is the JDT version we want to merge into our 3.3 "vendor" branch:
export eVersTag=v_772_R33x
# Create $jml4wkcp/.. if it does not exist.
# mkdir ...
# Then svn co $jmlsvn.

# Get
cd $jml4wkcp/../..
mkdir $eVersTag; cd $eVersTag
cvs -Q -d:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse export -r $eVersTag org.eclipse.jdt.core

cd $jml4wkcp
cp -R ../../$eVersTag/org.eclipse.jdt.core/ $jml4wkcp/eclipse.org/branches/3.3

# Ensure that there are no differences ...
diff -r ../../$eVersTag/org.eclipse.jdt.core/ $jml4wkcp/eclipse.org/branches/3.3/org.eclipse.jdt.core/ | grep -v ": \.svn" | head

svn commit -m "eclipse.org $eVersTag"
# Take note of the svn repository number. Call it $VB.
## e.g. 143.

# You need to find out the versions of the svn repository that correspond to
# the version before $eVersTag. Call it $VA. Then to merge in $eVersTag
# version from Eclipse into jml4/branches/3.3

# cd to working copy dir where we want to bring in the merge ...
cd $jml4wkcp/jml4/branches/3.3
svn merge -r $VA:$VB $jmlsvn/eclipse.org/branches/3.3
# e.g. svn merge -r 135:143 $jmlsvn/eclipse.org/branches/3.3
svn commit -m "Merged $VA:$VB (prev-vers:$eVersTag) of eclipse.org/branches/3.3 into jml4/
# svn commit -m "Merged 135:143 (prev-vers:$eVersTag) of eclipse.org/branches/3.3 into jml4/branches/3.3"

Related

Wiki: JML4 Repository, initial setup instructions
Wiki: JML4
Wiki: JmlEclipse

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.