Issue Details (XML | Word | Printable)

Key: JDO-279
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Craig Russell
Reporter: Craig Russell
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
JDO

Release tck20 as source with a binary dependency on other projects

Created: 15/Jan/06 06:31 AM   Updated: 03/Feb/06 10:33 AM
Return to search
Component/s: tck2
Affects Version/s: None
Fix Version/s: JDO 2 beta

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works distrib.patch 2006-01-16 06:47 AM Michael Bouschen 63 kB
File Licensed for inclusion in ASF works distrib.patch2 2006-01-17 07:13 AM Michael Bouschen 63 kB
Text File Licensed for inclusion in ASF works mavenDistSupport-2.patch 2006-01-21 03:36 AM Michael Bouschen 3 kB
Text File Licensed for inclusion in ASF works mavenDistSupport-3.patch 2006-01-22 06:02 AM Michael Bouschen 1 kB
Text File Licensed for inclusion in ASF works mavenDistSupport.patch 2006-01-20 07:34 AM Michael Bouschen 3 kB

Resolution Date: 03/Feb/06 10:33 AM


 Description  « Hide
This proposal would repackage tck20 as a project that has no dependencies on the super-project (../project.xml). It would continue to have binary dependencies on several of the other projects.

This allows us to distribute the tck20 including sources to allow users to run the tck without having to use the svn workspace. The sources are needed in order to debug the implementation under test.



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Michael Bouschen added a comment - 16/Jan/06 06:47 AM
I propose to add a new directory called distrib to the tck20 project. It includes slightly adapted versions of project.xml, project.properties and maven.xml where any depedencies to the super projrect are removed. These files will refer to beta or fcs version of the jdo2-api and jpox project instead of a SNAPSHOT version.

The attached path distrib.patch adds the distrib directory with the three files mentioned above. It also adds a new goal distrib to the maven.xml in tck20. The distrib goal creates a jar called jdo2-tck-beta-distrib.jar in the distrib directory. It includes all the sources (from subdirectories conf, java, jdo, orm, sql and testdata) plus the maven config files project.xml, project.properties and maven.xml from the distrib directory.

Please note, the patch distrib.patch is not a complete solution for the issue, it is meant to stimulate the discussion. We might want to consider splitting the goals from maven.xml such that all the jdori goals stay in the tck20 version where the iut goals go into the distrib version.

The config files under distrib already use the new groupId org.apache.jdo. So if you test them you need to manually adapt your local maven repository. You also need to copy the jndi files fscontext.jar and providerutil.jar to the lib/ext directory after unpackaing the distribution. Another change is that the build rule in the distrib version of maven.xml does not automatically run the jdori.

Craig Russell added a comment - 16/Jan/06 08:51 AM
This looks good. A few items we need to resolve.

1. We want to continue development on the projects but want to cut a release. What incantations do we need to make to do this? The version in maven identifies dependencies which is fine, but how do we actually build the 2.0-beta version to put into the local directory?

2. Slight changes will be needed if we adopt the groupId change for the api jar to be javax.jdo instead of org.apache.jdo.

3. I think it's good that the distributed tck20 can run both the RI and the IUT with different maven goals. The first thing the user will want to do is to run the RI and make sure it works. Then they can install the IUT, modify their properties etc. and try to run it.

4. The version number for "beta" in the attached files should include the release number, e.g. "2.0-beta".


Craig Russell added a comment - 16/Jan/06 09:22 AM
For the file name of the tck distribution we should use the standard naming convention for JCP distributions. This will serve two purposes: first, it has a very different naming structure from the .jar distributions; second, it is already in the right format for the JCP.

For the tck for jdo 1, this was jdotck-1_0-fcs-src-04_Mar_2002.zip.

For this distribution, if it were made today, it would be jdotck-2_0-beta-src-15_Jan_2006.zip

Secret decoder ring available upon request. ;-)

Michael Bouschen added a comment - 17/Jan/06 07:13 AM
Attached you find a new patch distrib.patch2.
- I think any groupId changes should be part of of JDO-278, so I removed any groupId changes from the patch.
- I changed the distribution file to be a zip instead of a jar and used the naming as proposed.

Michelle Caisse added a comment - 17/Jan/06 10:38 AM
Would it be a good idea to generate distrib/maven.xml by a simple filter of maven.xml to avoid code duplication?

Michael Bouschen added a comment - 20/Jan/06 07:34 AM
Andy proposed to use 'maven dist' for the distribution. There is not need to add our own distrib goal to tck20, so forget the previous patches attached to this issue.

The new patch for review (mavenDistSupport.patch) adds a preGoal and a postGoal for dist:build-src. The preGoal adds some files and directories to be included in the source distribution (Thanks Michelle, copying works). The postGoal simply copies the source distribution zip to file with a different name. The patch defines the property maven.src.dir in tck20/project.properties. This can be removed as soon as JDO-280 is resolved.

Michael Bouschen added a comment - 21/Jan/06 03:36 AM
I attached a new patch mavenDistSupport-2.patch cleaning up the added preGoal and postGoal. It also copies teh RunRules to the tck directory in the distribution.

I propose to apply the patch mavenDistSupport-2.patch to the trunk and to branches/2.0-beta.

Craig Russell added a comment - 21/Jan/06 06:29 AM
I reviewed the new patch mavenDistSupport-2.patch cleaning up the added preGoal and postGoal.

I agree that you should apply the patch mavenDistSupport-2.patch to the trunk and to branches/2.0-beta.

Michael Bouschen added a comment - 21/Jan/06 07:13 AM
I checked in the patch mavenDistSupport-2.patch ino the trunk and into branches/2.0-beta (see revision 370910).

Michael Bouschen added a comment - 22/Jan/06 06:02 AM
The new patch mavenDistSupport-3.patch adds the directories assertions and iut_jars to the jdo2-tck distribution.
I propose to apply the patch to the trunk and the 2.0-beta branch.

Craig Russell added a comment - 22/Jan/06 06:39 AM
Hi Michael,

I agree to add assertions to the tck20 source distribution. But I'm not as sure that we should send out the iut_jars contents. It's empty in my workspace, and if the release manager has been testing an IUT, why should it be distributed?

Michael Bouschen added a comment - 22/Jan/06 07:19 AM
Hi Craig,

I did not intent to include the content of iut_jars, just the empty directory:
  <include name="iut_jars"/>
  <exclude name="iut_jars/*"/>
The second line should exclude any iut jars that are in the iut_jars directory of the release manager.

Craig Russell added a comment - 22/Jan/06 07:27 AM
Oops, read it too quickly. I saw include iut_jars and iut_jars/*. My bad.

Good to go.

Michael Bouschen added a comment - 22/Jan/06 07:33 AM
Checked in, see revision 371128.