You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Israel Ekpo <is...@gmail.com> on 2009/09/11 19:37:25 UTC

Spec Version vs Implementation Version

What are the differences between specification version and implementation
version

I downloaded the nightly build for September 05 2009 and it has a spec
version of 1.3 and the implementation version states 1.4-dev

What does that mean?


-- 
"Good Enough" is not good enough.
To give anything less than your best is to sacrifice the gift.
Quality First. Measure Twice. Cut Once.

Re: Spec Version vs Implementation Version

Posted by Chris Hostetter <ho...@fucit.org>.
: What are the differences between specification version and implementation
: version

those are concepts from the Java specification for jars and wars (more 
info then you could ever possibly want in the URLs below)

: I downloaded the nightly build for September 05 2009 and it has a spec
: version of 1.3 and the implementation version states 1.4-dev

I think you are abreviating.  the spec version should be something like 
"1.3.0.2009.09.05.12.07.49" and the implementation version should be 
something like "1.4-dev 812759 - hudson - 2009-09-05 12:07:49"

In a nutshell: the spec version identifies the specification, in our case 
the Java APIs.  the Implementation version itentifies the implementation 
(in our case: the internals of those methods).  

a spec version must be purely numeric, and has rules about how to 
interpret when one version is newer then another.  For a relase, the spec 
version looks like "1.3.0" or "1.3.1" or "1.4.0" but for the nightlys we 
include the date to denote that the API is "newer" then it was in 1.3.0. 

An implementation version can be any string.  for releases it starts out 
the same as the spec version, but then includes other details about that 
particular build (the svn revision, who built it, and when it was build) 
... for dev versions it says all the same things, but the initial verion 
info tells you what development branch you're looking at - so 1.4-dev 
means it's working towards 1.4 (as opposed to a hypothetical 1.3.1-dev 
that might exist if someone created a maintence branch on 1.3 in 
anticipation of a 1.3.1 release)


http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html#JAR%20Manifest
http://java.sun.com/j2se/1.5.0/docs/guide/versioning/spec/versioning2.html
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Package.html
http://java.sun.com/j2se/1.5.0/docs/api/java/util/jar/package-summary.html
http://java.sun.com/developer/Books/javaprogramming/JAR/basics/manifest.html

: 
: 
: -- 
: "Good Enough" is not good enough.
: To give anything less than your best is to sacrifice the gift.
: Quality First. Measure Twice. Cut Once.
: 



-Hoss


Re: Spec Version vs Implementation Version

Posted by Chris Hostetter <ho...@fucit.org>.
: What are the differences between specification version and implementation
: version

those are concepts from the Java specification for jars and wars (more 
info then you could ever possibly want in the URLs below)

: I downloaded the nightly build for September 05 2009 and it has a spec
: version of 1.3 and the implementation version states 1.4-dev

I think you are abreviating.  the spec version should be something like 
"1.3.0.2009.09.05.12.07.49" and the implementation version should be 
something like "1.4-dev 812759 - hudson - 2009-09-05 12:07:49"

In a nutshell: the spec version identifies the specification, in our case 
the Java APIs.  the Implementation version itentifies the implementation 
(in our case: the internals of those methods).  

a spec version must be purely numeric, and has rules about how to 
interpret when one version is newer then another.  For a relase, the spec 
version looks like "1.3.0" or "1.3.1" or "1.4.0" but for the nightlys we 
include the date to denote that the API is "newer" then it was in 1.3.0. 

An implementation version can be any string.  for releases it starts out 
the same as the spec version, but then includes other details about that 
particular build (the svn revision, who built it, and when it was build) 
... for dev versions it says all the same things, but the initial verion 
info tells you what development branch you're looking at - so 1.4-dev 
means it's working towards 1.4 (as opposed to a hypothetical 1.3.1-dev 
that might exist if someone created a maintence branch on 1.3 in 
anticipation of a 1.3.1 release)


http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html#JAR%20Manifest
http://java.sun.com/j2se/1.5.0/docs/guide/versioning/spec/versioning2.html
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Package.html
http://java.sun.com/j2se/1.5.0/docs/api/java/util/jar/package-summary.html
http://java.sun.com/developer/Books/javaprogramming/JAR/basics/manifest.html

: 
: 
: -- 
: "Good Enough" is not good enough.
: To give anything less than your best is to sacrifice the gift.
: Quality First. Measure Twice. Cut Once.
: 



-Hoss