/** * Extracts the version information data from the manifest's attributes and puts them into a VersionInfo * instance. * * @param manifest * the manifest information * @return the version information from the manifest */ protected static VersionInfo createVersionInfo( final Manifest manifest ) { final VersionInfo versionInfo = new VersionInfo(); final Attributes mainAttributes = manifest.getMainAttributes(); versionInfo.setFromManifest( true ); versionInfo.setProductID( mainAttributes.getValue( "Implementation-ProductID" ) ); //$NON-NLS-1$ versionInfo.setTitle( mainAttributes.getValue( "Implementation-Title" ) ); //$NON-NLS-1$ versionInfo.setVersion( mainAttributes.getValue( "Implementation-Version" ) ); //$NON-NLS-1$ return versionInfo; }
protected static VersionInfo getVersionInfoFromProperties(ResourceBundle assemblyBundle) { final VersionInfo versionInfo = new VersionInfo(); try { versionInfo.setFromManifest( false ); versionInfo.setTitle( assemblyBundle.getString( "assembly.title" ) ); versionInfo.setProductID( assemblyBundle.getString( "assembly.productid" ) ); versionInfo.setVersion( assemblyBundle.getString("assembly.version") ); } catch (Exception ignored) { // ex.printStackTrace(); versionInfo.setVersionRelease( "-error-" ); } return versionInfo; }
final VersionInfo versionInfo = new VersionInfo(); try { final ResourceBundle bundle = ResourceBundle.getBundle( "build-res.version" ); //$NON-NLS-1$
/** * Test default values. */ @Test public void testDefaults() { final VersionInfo info = new VersionInfo(); doTest( info, false, null, null, null, null, null, null, null, "" ); }
/** * Tests the various ways to set an empty version. */ @Test public void testSetVersionEmpty() { // empty version value - versionMajor will be an empty string and all other attributes should be null VersionInfo info = new VersionInfo(); info.setVersion( "" ); doTest( info, false, null, null, "", null, null, null, null, "" ); // null, null string, hyphen and period should all be treated the same - as if the value was empty, final String[] emptyVersions = new String[] { null, "-", "." }; for ( final String emptyVersion : emptyVersions ) { info = new VersionInfo(); info.setVersion( emptyVersion ); doTest( info, false, null, null, null, null, null, null, null, "" ); } }
/** * Verifies that additional fields present in the combined version value are ignored. */ @Test public void testSetVersionAdditionalFields() { VersionInfo info; String version, versionClean; info = new VersionInfo(); version = "10.3a.123.007.87590.foe"; versionClean = "10.3a.123.007.87590"; info.setVersion( version ); doTest( info, false, null, null, "10", "3a", "123", "007", "87590", versionClean ); info = new VersionInfo(); version = "10.3a.123.007.87590.foe.foo-abc.xyz"; versionClean = "10.3a.123.007.87590"; info.setVersion( version ); doTest( info, false, null, null, "10", "3a", "123", "007", "87590", versionClean ); }
info = new VersionInfo(); version = ".3a.123.007."; versionClean = ".3a.123.007"; info = new VersionInfo(); version = "-3a.123.007-"; versionClean = ".3a.123.007"; info = new VersionInfo(); version = "10..123..87590"; versionClean = "10..123..87590"; doTest( info, false, null, null, "10", "", "123", "", "87590", versionClean ); info = new VersionInfo(); version = "10.3a.-.87590"; versionClean = "10.3a...87590";
info = new VersionInfo(); version = "10.3a.123.007.87590"; versionClean = "10.3a.123.007.87590"; info = new VersionInfo(); version = "10.3a.123.007"; versionClean = "10.3a.123.007"; info = new VersionInfo(); version = "10-3a-123"; versionClean = "10.3a.123"; info = new VersionInfo(); version = "10-3a"; versionClean = "10.3a"; info = new VersionInfo(); version = "10"; versionClean = "10";
versionNumber.append( '.' ).append( versionBuild ); //$NON-NLS-1$ final VersionInfo info = new VersionInfo(); info.setFromManifest( fromManifest ); info.setProductID( productID );