Hi Wonseok,
Wonseok Kim wrote:
> Hi Marina,
>
> On 2/13/07, *Marina Vatkina* <Marina.Vatkina_at_sun.com
> <mailto:Marina.Vatkina_at_sun.com>> wrote:
>
> Hi Wonseok,
>
> Wonseok Kim wrote:
> > Hi Marina,
> >
> > I did not change the "Specification-Version" 1.0, just the
> > "Implementation-Version" will be affected.
>
> Sorry, I misread the changes - you change the @VERSION@ to the
> hardcoded 1.0 in
> .mf files. Right?
>
>
> Right. I fixed "Specification-Version" to 1.0
>
> >
> > The SNAPSHOT version is used if ${build_id} is not given, I
> introduced
> > the SNAPSHOT version( e.g. 2.0-SNAPSHOT-20070212) just for the binary
> > built manually in the workspace. Is the ${build_id} given by build
> > system for promoted build? Then, the full release version
> (2.0-b35) will
> > be inserted. Or you can give ${build_id} manually by
> -Dbuild_id=b35 to
> > Ant. Is the process of uploading to Maven repository done
> manually or by
> > build system? I believe that it should be done automatically when
> > promoted build is done.
>
> That is what is being discussed. Until then, it's a manual process.
> Also,
> SNAPSHOT is not an automated push unless every nightly build pushes
> the update out.
>
> So may be we should use 2 versions of the full-version - one with
> the date, and
> one without. What do you think?
>
>
> I hope that it become part of automated process soon.
> We have an option to use date both for the two versions like
> 2.0-b35-20070212 and 2.0-SNAPSHOT-20070212. I'm not sure this is
> required. If anyone have better idea, please tell ASAP.
I think it's more complicated than this ;(.
1. If it's a promoted build, the version is supplied by the build itself
(right?) and the version should look like this: 2.0-b35 i.e. no date attached.
2. If it's a nightly build or a manual build of the sources, a date is very
helpful, and anything like 2.0-local-20070212 or 2.0-SNAPSHOT-20070212 will be
good. Which is even more interesting, is the way the the nightly build takes the
number from the next promoted build and the date in a longer date format (see
e.g. at the bottom of the download link:
http://download.java.net/javaee5/trunk/installer-nightly/SunOS/ ).
3. For the "mavenized" version, it should be (IMHO) either 2.0-b35 (for the
promoted build) or 2.0-SNAPSHOT for the latest update.
Now, this doesn't solve the current problem of pushing out the latest code as a
stable version :(.
thanks,
-marina
>
> Thanks,
> -Wonseok
>
> thanks,
> -marina
>
> >
> > Thanks,
> > -Wonseok
> >
> > On 2/13/07, *Marina Vatkina* <Marina.Vatkina_at_sun.com
> <mailto:Marina.Vatkina_at_sun.com>
> > <mailto: Marina.Vatkina_at_sun.com <mailto:Marina.Vatkina_at_sun.com>>>
> wrote:
> >
> > Hi Wonseok,
> >
> > This is a good idea, but I think that a) "Specification-Version"
> > should stay 1.0
> > (the spec didn't change), and b) I don't think that SNAPSHOT
> in the
> > maven
> > repository should have dates attached - isn't it just the latest
> > version and
> > should be the only one with such name?
> >
> > Tom, do you see any problems with the other changes?
> >
> > thanks,
> > -marina
> >
> > Wonseok Kim wrote:
> > > Hi Lance and all team members,
> > >
> > > As I said, what I worry is that there are two confusing
> version
> > schemes
> > > - 9.1-b35 and 2.0-b35.
> > >
> > > How about using one version scheme "2.0" from now? I think
> TopLink
> > > Essentials(TLE) don't need to follow the SJSAS version
> because it
> > can be
> > > used as standalone.
> > >
> > > If all agree to this, we need to change MANIFEST.mf and
> > Version.java also.
> > > I did some job for this. Please see below diff and the
> attached file.
> > >
> > > Summary of fix:
> > > * Modify release.version to 2.0 in build.properties
> > > * The version field of Class Version is replaced with
> > ${release.version }
> > > like buildNumber field.
> > > * MANIFEST.MF "Implementation-Version" field now has the
> new version
> > > scheme ${ release.version}-${build.id <http://build.id>
> <http://build.id>
> > <http://build.id>} - e.g.) 2.0-b35
> > > * If ${build.id <http://build.id> < http://build.id> <
> http://build.id>} is not
> > given, SNAPSHOT-yyyyMMdd is
> > > used. Full version will be 2.0-SNAPSHOT-20070212 for example.
> > > * Arranged toplink-essentials.mf and
> toplink-essentials-agent.mf
> > files
> > > to be same as the generated MANIFEST.MF inside jars.
> > > * The version element of POM is replaced with the full
> version -
> > 2.0-b35
> > >
> > > Index: build.xml
> > >
> ===================================================================
> > > RCS file: /cvs/glassfish/entity-persistence/build.xml,v
> > > retrieving revision 1.17
> > > diff -c -w -r1.17 build.xml
> > > *** build.xml 4 Oct 2006 17:16:54 -0000 1.17
> > > --- build.xml 12 Feb 2007 13:10:27 -0000
> > > ***************
> > > *** 49,62 ****
> > > &commonBuild;
> > >
> > > <tstamp>
> > > ! <format property="build_date" pattern="MM/dd/yyyy"/>
> > > </tstamp>
> > > <condition property="build_string" value="${build_id}">
> > > <not>
> > > <equals arg1="${build_id}" arg2=""
> trim="true"/>
> > > </not>
> > > </condition>
> > > ! <property name="build_string" value="non promoted:
> > ${build_date}"/>
> > >
> > > <!-- all -->
> > > <target name="all" depends="compile, assemble"
> > > --- 49,66 ----
> > > &commonBuild;
> > >
> > > <tstamp>
> > > ! <format property="build_date" pattern="yyyyMMdd"/>
> > > </tstamp>
> > > <condition property="build_string" value="${build_id}">
> > > <not>
> > > + <or>
> > > <equals arg1="${build_id}" arg2=""
> trim="true"/>
> > > + <equals arg1="${build_id}" arg2="local"
> > trim="true"/>
> > > + </or>
> > > </not>
> > > </condition>
> > > ! <property name="build_string"
> value="SNAPSHOT-${build_date}"/>
> > > ! <property name="full_version"
> > > value="${release.version}-${build_string}"/>
> > >
> > > <!-- all -->
> > > <target name="all" depends="compile, assemble"
> > > ***************
> > > *** 83,89 ****
> > > description="Compile TopLink Essentials
> sources">
> > > <copy
> > file="${ src.dir}/oracle/toplink/essentials/Version.java"
> > > tofile="${
> > >
> component.classes.dir}/oracle/toplink/essentials/Version.java"/>
> > > ! <replace
> > >
> >
> file="${component.classes.dir}/oracle/toplink/essentials/Version.java"
> > > token="ESSENTIALS_BUILD_NUMBER" value="${build_string}"/>
> > > <javac srcdir="${ component.classes.dir}"
> > > destdir="${component.classes.dir}"
> > > includes="oracle/toplink/essentials/Version.java"
> > > --- 87,96 ----
> > > description="Compile TopLink Essentials
> sources">
> > > <copy
> > file="${src.dir}/oracle/toplink/essentials/Version.java"
> > > tofile="${ component.classes.dir
> > > }/oracle/toplink/essentials/Version.java"/>
> > > ! <replace
> > >
> >
> file="${component.classes.dir}/oracle/toplink/essentials/Version.java">
> > > ! <replacefilter token="@VERSION@" value="${
> > release.version}"/>
> > > ! <replacefilter token="@BUILD_NUMBER@"
> > > value="${build_string}"/>
> > > ! </replace>
> > > <javac srcdir="${ component.classes.dir }"
> > > destdir="${component.classes.dir}"
> > > includes="oracle/toplink/essentials/Version.java"
> > > ***************
> > > *** 140,146 ****
> > > <attribute name="Specification-Version"
> value="
> > 1.0"/>
> > > <attribute name="Implementation-Title"
> > value="TopLink
> > > Essentials"/>
> > > <attribute name="Implementation-Vendor"
> value="Sun
> > > Microsystems, Inc., Oracle Corp."/>
> > > ! <attribute name="Implementation-Version"
> > value=" 9.1
> > > build: ${build_string}"/>
> > > </manifest>
> > > <fileset dir="${component.classes.dir }">
> > > <include
> name="javax/persistence/**/*.class"/>
> > > --- 147,153 ----
> > > <attribute name="Specification-Version"
> > value="1.0"/>
> > > <attribute name="Implementation-Title"
> > value="TopLink
> > > Essentials"/>
> > > <attribute name="Implementation-Vendor"
> value="Sun
> > > Microsystems, Inc., Oracle Corp."/>
> > > ! <attribute name="Implementation-Version"
> > > value="${full_version}"/>
> > > </manifest>
> > > <fileset dir="${component.classes.dir}">
> > > <include
> name="javax/persistence/**/*.class"/>
> > > ***************
> > > *** 168,174 ****
> > > <attribute name="Specification-Version"
> > value="1.0"/>
> > > <attribute name="Implementation-Title"
> > value="TopLink
> > > Essentials "/>
> > > <attribute name="Implementation-Vendor"
> value="Sun
> > > Microsystems, Inc., Oracle Corp."/>
> > > ! <attribute name="Implementation-Version"
> > value=" 9.1
> > > build: ${build_string}"/>
> > > </manifest>
> > > <fileset dir="${component.classes.dir}">
> > > <include
> > >
> >
> name="oracle/toplink/essentials/internal/ejb/cmp3/JavaSECMPInitializerAgent.class"/>
>
> >
> > >
> > > --- 175,181 ----
> > > <attribute name="Specification-Version"
> > value="1.0"/>
> > > <attribute name="Implementation-Title"
> > value="TopLink
> > > Essentials "/>
> > > <attribute name="Implementation-Vendor"
> value="Sun
> > > Microsystems, Inc., Oracle Corp."/>
> > > ! <attribute name="Implementation-Version"
> > > value="${full_version}"/>
> > > </manifest>
> > > <fileset dir="${ component.classes.dir}">
> > > <include
> > >
> >
> name="oracle/toplink/essentials/internal/ejb/cmp3/JavaSECMPInitializerAgent.class"/>
> >
> > >
> > > ***************
> > > *** 235,241 ****
> > > <copy todir="${release.dir}/manifest">
> > > <fileset dir="." includes="*.mf" />
> > > <filterset>
> > > ! <filter token="VERSION"
> > value="${release.version}"/>
> > > </filterset>
> > > </copy>
> > > </target>
> > > --- 242,248 ----
> > > <copy todir="${ release.dir}/manifest">
> > > <fileset dir="." includes="*.mf" />
> > > <filterset>
> > > ! <filter token="VERSION"
> value="${full_version}"/>
> > > </filterset>
> > > </copy>
> > > </target>
> > > ***************
> > > *** 320,326 ****
> > > <target name="push-to-maven-prepare"
> > depends="-push-to-maven-init,
> > > jar"
> > > description="creates an image for the
> 'push-to-maven'
> > goal">
> > > <delete dir="build/maven-repo" /><!-- clean it -->
> > > ! <maven-repository-importer
> destdir="build/maven-repo"
> > > version="${ release.version}">
> > > <artifact jar="${release.dir
> }/toplink-essentials.jar"
> > > pom="toplink-essentials.pom"
> > > srczip="${release.dir }/toplink-essentials.src.zip" />
> > > <artifact jar="${
> > > release.dir}/toplink-essentials-agent.jar"
> > > pom="toplink-essentials-agent.pom"
> > > srczip="${ release.dir}/toplink-essentials-agent.src.zip" />
> > > </maven-repository-importer>
> > > --- 327,333 ----
> > > <target name="push-to-maven-prepare"
> > depends="-push-to-maven-init,
> > > jar"
> > > description="creates an image for the
> 'push-to-maven'
> > goal">
> > > <delete dir="build/maven-repo" /><!-- clean it -->
> > > ! <maven-repository-importer
> destdir="build/maven-repo"
> > > version="${full_version}">
> > > <artifact jar="${release.dir
> }/toplink-essentials.jar"
> > > pom="toplink-essentials.pom "
> > > srczip="${release.dir}/toplink- essentials.src.zip" />
> > > <artifact
> > > jar="${release.dir}/toplink-essentials-agent.jar"
> > > pom="toplink-essentials-agent.pom" srczip="${
> > > release.dir }/toplink-essentials-agent.src.zip" />
> > > </maven-repository-importer>
> > > Index: build.properties
> > >
> ===================================================================
> > > RCS file:
> /cvs/glassfish/entity-persistence/build.properties,v
> > > retrieving revision 1.2
> > > diff -c -w -r1.2 build.properties
> > > *** build.properties 13 May 2006 01:34:16 -0000 1.2
> > > --- build.properties 12 Feb 2007 13:10:27 -0000
> > > ***************
> > > *** 26,32 ****
> > >
> > > ### Additonal Component Properties for standalone
> release ###
> > > release.dir=build/release
> > > ! release.version=1.0
> > >
> >
> release.toplink-essentials.jar=${release.dir}/toplink-essentials.jar
> > >
> > >
> >
> release.toplink-essentials-agent.jar=${release.dir}/toplink-essentials-agent.jar
>
> > >
> > >
> > > --- 26,32 ----
> > >
> > > ### Additonal Component Properties for standalone
> release ###
> > > release.dir=build/release
> > > ! release.version=2.0
> > >
> >
> release.toplink-essentials.jar=${release.dir}/toplink-essentials.jar
> > >
> > >
> >
> release.toplink-essentials-agent.jar=${release.dir}/toplink-essentials-agent.jar
>
> >
> > >
> > > Index: src/java/oracle/toplink/essentials/Version.java
> > >
> ===================================================================
> > > RCS file:
> > >
> >
> /cvs/glassfish/entity-persistence/src/java/oracle/toplink/essentials/Version.java,v
> >
> > > retrieving revision 1.47
> > > diff -c -w -r1.47 Version.java
> > > *** src/java/oracle/toplink/essentials/Version.java 4
> Jan 2007
> > > 14:30:28 -0000 1.47
> > > --- src/java/oracle/toplink/essentials/Version.java 12
> Feb 2007
> > > 13:10:27 -0000
> > > ***************
> > > *** 36,43 ****
> > > // The current version of TopLink.
> > > // This will be used by all product components and
> included in
> > > exceptions.
> > > private static String product = "Oracle TopLink
> Essentials";
> > > ! private static final String version = "9.1";
> > > ! private static final String buildNumber =
> > "ESSENTIALS_BUILD_NUMBER";
> > >
> > > /** Keep track of JDK version in order to make some
> decisions
> > > about datastructures. **/
> > > public static final int JDK_VERSION_NOT_SET = 0;
> > > --- 36,43 ----
> > > // The current version of TopLink.
> > > // This will be used by all product components and
> included in
> > > exceptions.
> > > private static String product = "Oracle TopLink
> Essentials";
> > > ! private static final String version = "@VERSION@";
> > > ! private static final String buildNumber =
> "@BUILD_NUMBER@";
> > >
> > > /** Keep track of JDK version in order to make some
> decisions
> > > about datastructures. **/
> > > public static final int JDK_VERSION_NOT_SET = 0;
> > >
> > >
> > > On 2/10/07, *Lance J. Andersen* < Lance.Andersen_at_sun.com
> <mailto:Lance.Andersen_at_sun.com>
> > <mailto: Lance.Andersen_at_sun.com <mailto:Lance.Andersen_at_sun.com>>
> > > <mailto:Lance.Andersen_at_sun.com
> <mailto:Lance.Andersen_at_sun.com> <mailto:Lance.Andersen_at_sun.com
> <mailto:Lance.Andersen_at_sun.com>>>>
> > wrote:
> > >
> > > Hi Wonseok,
> > >
> > > Great question and this is something Marina and i
> discussed
> > > yesterday. The issue is that the jars in the maven
> > repository are
> > > from june 2006. One of the issues is that signatures
> had some
> > > errors which have since been addressed. Where the
> 1.0b version
> > > came from is this is the version of the JPA TCK which has
> > recorded
> > > the corrected signatures per the specification.
> > >
> > > For Toplink Essentials, the versioning aligns with the
> Glassfish
> > > build that the jar originated from.
> > >
> > > If you(or anyone else) has a better suggestion WRT
> > versioning, let
> > > us know.
> > >
> > > We just need to release a new set of jars to the maven
> > repository ASAP.
> > >
> > > Regards
> > > Lance
> > >
> > >
> > > Wonseok Kim wrote:
> > >
> > >> Hi Marina,
> > >> I'm curious about the version policy, indeed.
> > >>
> > >> persistence-api:
> > >> What does it mean by "1.0b"? does "b" mean a patch
> version?
> > >>
> > >> toplink-essentials:
> > >> Does TopLink Essentials have unique version policy (
> 2.0?)
> > other
> > >> than SJSAS version (9.1 )?
> > >> Manifest has version like "9.1 build: b35". Also I
> don't think
> > >> trunk build has 2.0 changes (if 9.0 build is 1.0). Then
> > should it
> > >> be 1.1? I'm not sure.
> > >>
> > >> I believe that version policy is important because
> ugly version
> > >> scheme could confuse users/developers and it would not be
> > easy to
> > >> change it later.
> > >>
> > >> Also I have following questions in my mind.
> > >> - Could TopLink Essentials be independent project
> > (separation from
> > >> GlassFish like Grizzly) in the future?
> > >> - Does TopLink Essentials require unique version
> policy than
> > SJSAS
> > >> version( 9.0, 9.1)?
> > >> - If not, should the SJSAS version be used for maven
> repository?
> > >>
> > >> Regards,
> > >> -Wonseok
> > >>
> > >> On 2/9/07, *Marina Vatkina* < Marina.Vatkina_at_sun.com
> <mailto:Marina.Vatkina_at_sun.com>
> > <mailto:Marina.Vatkina_at_sun.com <mailto:Marina.Vatkina_at_sun.com>>
> > >> <mailto: Marina.Vatkina_at_sun.com
> <mailto:Marina.Vatkina_at_sun.com>
> > <mailto:Marina.Vatkina_at_sun.com
> <mailto:Marina.Vatkina_at_sun.com>>>> wrote:
> > >>
> > >> I made the following changes to create jars with
> a new
> > version:
> > >>
> > >> 1. Changed version of the persistence-api related
> files to
> > >> 1.0b in persistence-api:
> > >> Index: build.properties
> > >>
> >
> ===================================================================
> > >> RCS file:
> /cvs/glassfish/persistence-api/build.properties,v
> > >> retrieving revision 1.4
> > >> diff -r1.4 build.properties
> > >> 29c29
> > >> < release.version=1.0
> > >> ---
> > >>> release.version=1.0b
> > >>
> > >> 2. Changed version of the toplink related files to
> > 2.0-35 and
> > >> the dependency on
> > >> the p-api to 1.0b in entity-persistence:
> > >>
> > >> Index: build.properties
> > >>
> >
> ===================================================================
> > >> RCS file:
> > /cvs/glassfish/entity-persistence/build.properties,v
> > >> retrieving revision 1.2
> > >> diff -r1.2 build.properties
> > >> 29c29
> > >> < release.version=1.0
> > >> ---
> > >>> release.version=2.0-35
> > >> Index: toplink-essentials.pom
> > >>
> >
> ===================================================================
> > >> RCS file: /cvs/glassfish/entity-persistence/toplink-
> > >> essentials.pom,v
> > >> retrieving revision 1.1
> > >> diff - r1.1 toplink-essentials.pom
> > >> 10c10
> > >> < <version>1.0</version>
> > >> ---
> > >>> <version> 1.0b</version>
> > >>
> > >> I tested by creating the files without pushing
> them to the
> > >> repository. Their
> > >> names look correct:
> > >>
> > >>
> >
> persistence-api/build/maven-repo/javax.persistence/jars/persistence-api-1.0b.jar
> > >>
> >
> persistence-api/build/maven-repo/javax.persistence/jars/persistence-
> api-1.0b.jar.md5
> > >>
> >
> persistence-api/build/maven-repo/javax.persistence/poms/persistence-
> > >> api-1.0b.pom
> > >>
> >
> persistence-api/build/maven-repo/javax.persistence/poms/persistence-
> api-1.0b.pom.md5
> >
> > >>
> >
> persistence-api/build/maven-repo/javax.persistence/java-sources/persistence-api-1.0b-sources.jar
> > >>
> >
> persistence-api/build/maven-repo/javax.persistence/java-sources/persistence-
>
> > >> api-1.0b-sources.jar.md5
> > >>
> > >>
> >
> entity-persistence/build/maven-repo/javax.persistence/jars/toplink-essentials-2.0-35.jar
> > >>
> >
> entity-persistence/build/maven-repo/javax.persistence/jars/toplink-
> > essentials-2.0-35.jar.md5
> > >>
> >
> entity-persistence/build/maven-repo/javax.persistence/poms/toplink-
> > >> essentials-2.0-35.pom
> > >>
> >
> entity-persistence/build/maven-repo/javax.persistence/poms/toplink-
> > essentials-2.0-35.pom.md5
> > >>
> >
> entity-persistence/build/maven-repo/javax.persistence/java-sources/toplink-
> essentials-2.0-35-sources.jar
> > >>
> > >>
> >
> entity-persistence/build/maven-repo/javax.persistence/java-sources/toplink-
> > essentials-2.0-35-sources.jar.md5
> > >>
> >
> entity-persistence/build/maven-repo/oracle.toplink.essentials.agent/jars/toplink-essentials-agent-2.0-35.jar
> > >>
> > >>
> >
> entity-persistence/build/maven-repo/oracle.toplink.essentials.agent/jars/toplink-
>
> > essentials-agent-2.0-35.jar.md5
> > >>
> >
> entity-persistence/build/maven-repo/oracle.toplink.essentials.agent/poms/toplink-essentials-agent-2.0-35.pom
> > >>
> > >>
> >
> entity-persistence/build/maven-repo/oracle.toplink.essentials.agent/poms/toplink-
> > essentials-agent-2.0-35.pom.md5
> > >>
> >
> entity-persistence/build/maven-repo/oracle.toplink.essentials.agent/java-sources/toplink-
> essentials-agent-2.0-35-sources.jar
> > >>
> > >>
> >
> entity-persistence/build/maven-repo/oracle.toplink.essentials.agent/java-sources/toplink-
> > essentials-agent-2.0-35-sources.jar.md5
> > >>
> > >>
> > >> thanks,
> > >> -marina
> > >>
> > >>
> > >
> >
> >
>
>