Opened 14 years ago

Closed 14 years ago

#595 closed (fixed)

Pre-release version

Reported by: Fredrik Levander Owned by: olle
Milestone: Proteios SE 2.9 Keywords:
Cc:

Description

It would be good if the trunk version could have a version indicating that it is a pre-release. For example pre 2.9.

Change History (12)

comment:1 Changed 14 years ago by olle

Status: newassigned

Ticket accepted.

comment:2 Changed 14 years ago by olle

Traceability note:

  • The Proteios SE version specification was previously updated in Ticket #474 (Configuring filter for Hits report does not work), when the micro version number was added.

comment:3 Changed 14 years ago by olle

Design discussion:

  • It was decided to add a new component to the Proteios SE version specification, an optional version marker string.
  • The version marker string should normally be an empty string for an official release.
  • If the version marker string differs from null or an empty string, it will be appended to the version string after first being prefixed by a hyphen "-", e.g. if major version number is 2, minor version number is 9, micro version number is 0, and the version marker is "dev", the version string will be "2.9.0-dev". No hyphen will be added to the version string if the version marker is null or an empty string. Appending the version marker to the original version string instead of using it as prefix, as suggested in the ticket description, has the advantage that it can be used to mark alpha and beta releases, e.g. "2.9.0-beta" or "2.9.0-b", where the extra specification is conventionally appended to the original version string. The extra hyphen was added as the version string is used as part of file packages for releases, and hyphens are used to separate parts of the filename.
  • A convenience method should be added that returns the optional version marker string with hyphen inserted if necessary, and returns an empty string if the version marker is null or an empty string. Methods constructing the version string from components therefore only need to call this method to obtain a string to append to the previous version number.

comment:4 Changed 14 years ago by olle

(In [3360]) Refs #595. Proteios SE version specification extended with an optional version marker string:

  1. Class/file core/Application.java in api/core/ updated:
  2. New private static constant String VERSION_MARKER.
  3. New public static method String getVersionMarker(), that

returns the value of VERSION_MARKER.

  1. New public static convenience method

String fetchOptionalVersionMarker(), that returns the version marker string prefixed with a hyphen, if the former differs from null or an empty string, otherwise returns an empty string.

  1. Public static method void main(String[] args) updated to add

the string obtained by calling String fetchOptionalVersionMarker() to the version string.

  1. Class/file action/execute/ViewLoginForm.java in client/servlet/

updated in protected method void runMe() to add the string obtained by calling Application.fetchOptionalVersionMarker() to the version string.

  1. Class/file action/read/ViewAboutForm.java in client/servlet/

updated in protected method public static Table getServerInfoTable() to add the string obtained by calling Application.fetchOptionalVersionMarker() to the version string.

  1. Class/file gui/web/HtmlFactory.java in client/servlet/ updated

in public method Head createHeader() to add the string obtained by calling Application.fetchOptionalVersionMarker() to the version string.

  1. Class/file gui/web/LayoutConverter.java in client/servlet/

updated in public method Tag convert(FrameLayout layout) to add the string obtained by calling Application.fetchOptionalVersionMarker() to the version string.

  1. Class/file plugins/DtaToMzMLPlugin.java in plugin/ updated in

private static method void writeMzMLstart(...) to add the string obtained by calling Application.fetchOptionalVersionMarker() to the version string.

  1. Class/file plugins/HitsComparisonReportPlugin.java in plugin/

updated in public method void doExport(DbControl dc, HitsComparisonData hcd, File outCoreFile, ProgressReporter progress) to add the string obtained by calling Application.fetchOptionalVersionMarker() to the version string.

  1. Class/file plugins/PlgsToMzMLPlugin.java in plugin/ updated in

private method void writeMzMLstart(...) to add the string obtained by calling Application.fetchOptionalVersionMarker() to the version string.

  1. Class/file plugins/PrideExportPlugin.java in plugin/ updated in

private methods void writePrideXmlHeader(DbControl dc, XMLCrudeWriterImpl xmlCrudeWriterImpl) and void writePrideXmlGeneratorInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl) to add the string obtained by calling Application.fetchOptionalVersionMarker() to the version string.

comment:5 Changed 14 years ago by olle

(In [3361]) Refs #595. Class/file core/Application.java in api/core/ updated by setting value of private static constant String VERSION_MARKER to "dev" for the trunk code, to indicate that it is code under development.

comment:6 Changed 14 years ago by olle

(In [3362]) Refs #595. Changes committed in changeset [3361] reverted, as file www/static/css/menuh.css in client/servlet/ was modified by mistake.

comment:7 Changed 14 years ago by olle

(In [3363]) Refs #595. Class/file core/Application.java in api/core/ updated by setting value of private static constant String VERSION_MARKER to "dev" for the trunk code, to indicate that it is code under development.

comment:8 Changed 14 years ago by olle

Design update:

  • In order to simplify future updates of the Proteios SE version specification, class Application should be extended with a public static convenience method, that returns the version string combination that is most used in other classes. The first version should consist of major version number + "." + minor version number + "." + micro version number + an optional version marker string, consisting of either an empty string, if the version marker equals nullor an empty string, or else a hyphen "-" + the version marker. Other classes that use the default version string combination can then call the new method, instead of construction the version string in each class. Future updates of the Proteios SE version specification need only update the version string method in class Application, and methods in other classes that do not use the default version string.

comment:9 Changed 14 years ago by olle

(In [3364]) Refs #595. Class Application updated with new public static convenience method that returns Proteios SE version string constructed from major version number, minor version number, micro version number, and optional version marker string:

  1. Class/file core/Application.java in api/core/ updated:
  2. New private static convenience method String fetchVersionString()

added, that returns a version string consisting of major version number + "." + minor version number + "." + micro version number + an optional version marker string, consisting of either an empty string, if the version marker equals null or an empty string, or else a hyphen "-" + the version marker.

  1. Public static method void main(String[] args) updated to

obtain the version string by calling new method String fetchVersionString().

  1. Class/file action/execute/ViewLoginForm.java in client/servlet/

updated in protected method void runMe() to obtain the version string by calling Application.fetchVersionString().

  1. Class/file action/read/ViewAbout.java in client/servlet/

updated in public static method Table getServerInfoTable() to obtain the version string by calling Application.fetchVersionString().

  1. Class/file gui/web/HtmlFactory.java in client/servlet/ updated

in public method Head createHeader() to obtain the version string by calling Application.fetchVersionString().

  1. Class/file gui/web/LayoutConverter.java in client/servlet/

updated in public method Tag convert(FrameLayout layout) to obtain the version string by calling Application.fetchVersionString().

  1. Class/file plugins/DtaToMzMLPlugin.java in plugin/ updated in

private static method void writeMzMLstart(...) to obtain the version string by calling Application.fetchVersionString().

  1. Class/file plugins/HitsComparisonReportPlugin.java in plugin/

updated in public method void doExport(DbControl dc, HitsComparisonData hcd, File outCoreFile, ProgressReporter progress) to obtain the version string by calling Application.fetchVersionString().

  1. Class/file plugins/PlgsToMzMLPlugin.java in plugin/ updated in

private method void writeMzMLstart(...) to obtain the version string by calling Application.fetchVersionString().

  1. Class/file plugins/PrideExportPlugin.java in plugin/ updated in

private methods void writePrideXmlHeader(DbControl dc, XMLCrudeWriterImpl xmlCrudeWriterImpl) and void writePrideXmlGeneratorInfo(XMLCrudeWriterImpl xmlCrudeWriterImpl) to obtain the version string by calling Application.fetchVersionString().

comment:10 Changed 14 years ago by olle

(In [21]) Wiki page Release Procedure updated in section "Create Package" by addition of new sub-section "Set version marker string".

comment:11 Changed 14 years ago by olle

severity: 162

Severity set to 2, since design of previous additions to Proteios SE version specification could be used.

comment:12 Changed 14 years ago by olle

Resolution: fixed
Status: assignedclosed

Ticket closed as the desired functionality has been added.

Note: See TracTickets for help on using tickets.