Difference between revisions of "Release Procedures"

From Jmol
Jump to navigation Jump to search
(hints on where to find source files (this should have a page of its own, though))
(info on committing small changes)
Line 17: Line 17:
 
=== Compiling a Release ===
 
=== Compiling a Release ===
  
Compiling can be done via command line by starting [http://ant.apache.org/ Ant] in the top directory, or via an IDE compiler as [[Eclipse]], [http://www.netbeans.org Netbeans], or [http://www.codegear.com/products/jbuilder JBuilder]. The compiled files will be written to the 'build' subdirectory. (Hint: Start looking for the source files for the main parts of the program in the 'src/org/jmol' and 'src/org/openscience' subdirectories)
+
Compiling can be done via command line by starting [http://ant.apache.org/ Ant] in the top directory, or via an IDE compiler as [[Eclipse]], [http://www.netbeans.org Netbeans], or [http://www.codegear.com/products/jbuilder JBuilder]. The compiled files will be written to the 'build' subdirectory.  
  
=== Release build ===
+
=== Editing a Release ===
 +
 
 +
Changes in the Jmol code should follow the Jmol [[Coding Style]].
 +
 
 +
Hint: Start looking for the source files for the main parts of the program in the 'src/org/jmol' and 'src/org/openscience' subdirectories.
 +
 
 +
=== Commiting a bug fix or new feature ===
 +
 
 +
Before commiting updated code to the svn server, always do the following:
 +
* Test your code thoroughly, try different systems and 'incorrect' input.
 +
* When the code is working fine, modify the {{File|Jmol.properties}} file in src/org/jmol/viewer. Simply use the same format as the other modifications.
 +
 
 +
For example, a Jmol.properties file could start with :
 +
 
 +
<pre>
 +
  version=11.3.8_dev
 +
 
 +
  # --------------------------------------------------------------------
 +
</pre>
 +
 
 +
That means that the next release will probably be 11.3.8 and there has
 +
been no modifications yet in Jmol for this new release
 +
After your modification, the {{File|Jmol.properties file}} should for example start with:
 +
 
 +
<pre>
 +
  version=11.3.8_dev
 +
 
 +
  # bug fix: "axes scale ..." did not work for the "axes unitcell" option
 +
 
 +
  # --------------------------------------------------------------------
 +
</pre>
 +
 
 +
These lines will then simply be copy / pasted by the maintainers into the
 +
change log accessible on sourceforge with the new version, and the maintainers can quickly edit
 +
the Jmol.properties file to prepare for the next version.
 +
 
 +
Now you are ready to commit, make sure that you are commiting from the top of the Jmol directory tree.
 +
The commit message should be short but descriptive.
 +
 
 +
  svn update
 +
  ant spotless dist
 +
  ant test
 +
  svn commit -m "Fixed: axes scale ... did not work for the axes unitcell option"
 +
 
 +
It is a good idea to keep the [mailto:jmol-users@lists.sourceforge.net jmol-users@lists.sourceforge.net] mailing list informed of the changes you made.
 +
 
 +
=== Maintainers only: Release build ===
  
 
  svn update
 
  svn update
Line 39: Line 85:
 
and put ftp into 'bin' mode to ensure clean transfer of binary files.
 
and put ftp into 'bin' mode to ensure clean transfer of binary files.
  
=== To release software to sourceforge ===
+
=== Maintainers only: release software to sourceforge ===
  
 
From http://sourceforge.net/projects/jmol :
 
From http://sourceforge.net/projects/jmol :

Revision as of 12:47, 31 July 2007

Jmol/JSmol Development

Accessing a Release

You can browse the latest source code online or anonymously checkout the project contained in the Subversion (SVN) repository.

To checkout the source code use the following command:

 svn co https://jmol.svn.sourceforge.net/svnroot/jmol/trunk/Jmol

This will check out to the Jmol subdirectory on your system.

You can update the source code from withing your Jmol sandbox by saying:

 svn update 

Compiling a Release

Compiling can be done via command line by starting Ant in the top directory, or via an IDE compiler as Eclipse, Netbeans, or JBuilder. The compiled files will be written to the 'build' subdirectory.

Editing a Release

Changes in the Jmol code should follow the Jmol Coding Style.

Hint: Start looking for the source files for the main parts of the program in the 'src/org/jmol' and 'src/org/openscience' subdirectories.

Commiting a bug fix or new feature

Before commiting updated code to the svn server, always do the following:

  • Test your code thoroughly, try different systems and 'incorrect' input.
  • When the code is working fine, modify the File icon.gifJmol.properties file in src/org/jmol/viewer. Simply use the same format as the other modifications.

For example, a Jmol.properties file could start with :

  version=11.3.8_dev
  
  # --------------------------------------------------------------------

That means that the next release will probably be 11.3.8 and there has been no modifications yet in Jmol for this new release After your modification, the File icon.gifJmol.properties file should for example start with:

  version=11.3.8_dev

  # bug fix: "axes scale ..." did not work for the "axes unitcell" option

  # --------------------------------------------------------------------

These lines will then simply be copy / pasted by the maintainers into the change log accessible on sourceforge with the new version, and the maintainers can quickly edit the Jmol.properties file to prepare for the next version.

Now you are ready to commit, make sure that you are commiting from the top of the Jmol directory tree. The commit message should be short but descriptive.

 svn update
 ant spotless dist
 ant test
 svn commit -m "Fixed: axes scale ... did not work for the axes unitcell option"

It is a good idea to keep the jmol-users@lists.sourceforge.net mailing list informed of the changes you made.

Maintainers only: Release build

svn update
ant spotless dist
ant test
update version number in build.xml
update version number in org/jmol/viewer/JmolConstants.java
svn commit -m "prerelease 10.3.1"
svn copy https://jmol.svn.sourceforge.net/svnroot/jmol/trunk \
   https://jmol.svn.sourceforge.net/svnroot/jmol/tags/pre10.3.1 -m "prerelease 10.3.1"
ant spotless dist
cd build/dist
ls
lftp upload.sourceforge.net
cd incoming
mput jmol-10.3.1-binary.*

If you use another ftp client then login with anonymous/emailaddr and put ftp into 'bin' mode to ensure clean transfer of binary files.

Maintainers only: release software to sourceforge

From http://sourceforge.net/projects/jmol :

  • Admin
  • File Releases
  • in File Release Packages:
    • Edit Releases in order to look at previous release name conventions
    • Add Release - prerelease 10.3.1
    • Type in name
    • Create Release
  • Refresh your browser
  • Check File icon.gifjmol-10.3.1-binary.tar.gz and File icon.gifjmol-10.3.1.binary.zip
  • Add Files and/or Refresh View
  • Scroll down to Step 3: Edit files in this release
  • Step 3: Processor: Platform-independent File Type: .gz Update/Refresh
  • Step 3: Processor: Platform-independent File Type: .zip -> Update/Refresh
  • Step 4: Email release notes ... check and send
  • At the top of the page click on 'Files'
  • If you want, edit older releases and change them from Active to Hidden

Inform Jmol users

svn log https://jmol.svn.sourceforge.net/svnroot/jmol/trunk | less