+1 for the change to Jena3 The timeline looks ok to me.
I like the idea of holding onto jena2 for awhile in case of emergencies. As for the testing..... I think it is best to restart JENA-380 after the switch to jena3. This would effectively make JENA-380 both the conversion to Junit4 and the verification that we have all the tests we think we do . (I am assuming here that we do as Bruno suggests and each inspect the tests for the modules we are most familure with). Claude On Wed, Apr 22, 2015 at 4:30 AM, Bruno P. Kinoshita <ki...@apache.org> wrote: > > That would not be ideal unless you have the process scripted. I don't > >want to create rework. > Actually that might help. In the first commits I was still just getting my > feet wet and understanding the current test harness, but now I already > would have to review some of my previous commits. > > I've found a few patterns that I would like to document, e.g. the > TestPackage suite found in the core module, some test suite classes being > prefixed with TS_, and easy ways to convert several classes at once by > starting by a parent class like JenaTestBase. > I'd prefer that you worked on the Jena3 branch, told me if there was any > testing or anything else that I could do to help, and then once it has been > merged into master, I would restart the work on JENA-380. > > Side note: The only scripting that I have in place for now, is some shell > scripting (grep, find, etc) to find classes that have to be ported. But I > would like to run some other code/script in the future that could find the > following: "Classes under the src/main/test directory, with a public method > which name starts with test, has no parameters and doesn't contain the > @Test annotation". I missed to annotate a few JUnit3 test methods, and a > script like that could help me to review my changes before committing the > code. Is anybody aware of how to do that in a simple and quick way? I know > that is doable with some reflection and Java code, but if there was a > simple Groovy script, sed/awk/regexes shell, or something easy to run, that > would be very helpful too. > > > Anything I can do to help? > Reviewing and testing my changes later would be grand! > > I'll use SonarQube and Surefire reports to count the number of tests and > the coverage before and after the changes in JENA-380. But since the > changes in JENA-380 will be orthogonal, involving several modules (in > special core, iri and arq), the more eyes we can get to review and make > sure that no tests have been disabled or broken, the merrier. > If you, Rob, Claude, and all, could inspect modules that you are familiar > with, and tell me if the tests seem to be working correctly, that would be > of great help. How does that sound? > > ThanksBruno > > From: Andy Seaborne <a...@apache.org> > To: dev@jena.apache.org > Sent: Wednesday, April 22, 2015 10:43 AM > Subject: Re: Start Jena3 > > On 21/04/15 23:14, Bruno P. Kinoshita wrote: > > Hi Andy! > > When are you planning to start work on Jena3? > > Later this week but it's for discussion and flexible. > > The basic setup, the disruptive bit should be over in a few days (famous > last words!) to leave a rough, buildable setup. > > >> Knowing there is some in-progress changes in various places, I wanted to > >> confirm with everyone that now is good time, especially JENA-380. > > I started to grok how to migrate JUnit3 tests to JUnit4, and have > committed some code to the JENA-380 branch. But it wouldn't be a problem to > start from scratch after Jena3 branch has been merged into master. It would > probably take a couple of weeks to have something that could be merged back > into master. > > That would not be ideal unless you have the process scripted. I don't > want to create rework. > > > If we postpone JENA-380, in the meantime I could: > > a) observe the commit log and get used to the new project structure > > b) document in the Jira issue (and/or site or Wiki) how the tests are > being migrated (e.g. remove old junit.framework.* imports when > appropriate, replace TestSuite's by @RunWith and @SuiteClasses, etc). So > that if any test is broken later it is easier to understand what might > have happened > > c) update the JENA-632 branch code > > d) learn more about Claude's junit-contracts project > > e) help testing parts of the code migrated? > > > > What do you think? > > Is there an intermediate point that can be merged into master even if > some tests are commented out/@Ignore'd temporarily? > > Anything I can do to help? > > The rename is in bulk, practical terms :: > > s/package com.hp.hpl.jena/package org.apache.jena/g + mv files > s/import com.hp.hpl.jena/import org.apache.jena/g > > Or what about putting the upgraded tests into their own package tree > like "org.apache.jena.tests380" in master, not active so don't need to > run, just to compile, and they get updated by Eclipse renames. > > > On JENA-632 - I'm aware that the GSoC JENA-491 (if approved) are close > to each other, but not clashing, in the grammar. > > Andy > > Full list of branches: > > origin/JENA-380 > origin/JENA-507 > origin/eliminate-assignments > origin/jena-owl2 > origin/streaming-update > > > > > > > > Bruno > > > > > > From: Andy Seaborne <a...@apache.org> > > To: dev@jena.apache.org > > Sent: Wednesday, April 22, 2015 4:28 AM > > Subject: Start Jena3 > > > > Jena 2.13.0 has been out for out for a few weeks now and nothing too bad > > has happened (yet ... :-). > > > > So let's start Jena3! > > > > Summary: > > Please +1 if the process and timescale below works for you. > > > > (If I don't hear to the contrary I'll start the process later this week.) > > > > ------------------------------- > > > > Knowing there is some in-progress changes in various places, I wanted to > > confirm with everyone that now is good time, especially JENA-380. > > > > If the timescale is inconvenient, do say so now. > > The timescale isn't driven by external needs so it's flexible. > > > > > > Proposed detailed process for the first steps. > > > > A/ Tag master with "jena-2-3-split" > > > > B/ Create remote branch jena3 > > Create remote branch jena2 > > > > Branch "jena3" is short-term, just to get the first steps sorted out and > > reviewed, i.e. preparation for (1). It quickly becomes "master". > > > > C/ Do step 3 : Rename com.hp.hpl.jena packages to org.apache.jena > > > > That is, package trees: > > > > jena-sdb/src/test/java/com/hp/hpl/jena > > jena-sdb/src/main/java/com/hp/hpl/jena > > jena-core/src/test/java/com/hp/hpl/jena > > jena-core/src/main/java/com/hp/hpl/jena > > jena-arq/src/test/java/com/hp/hpl/jena > > jena-arq/src/main/java/com/hp/hpl/jena > > jena-tdb/src/test/java/com/hp/hpl/jena > > jena-tdb/src/main/java/com/hp/hpl/jena > > > > > > I've just trialled this for the codebase and it is scarily easy to do > > with Eclipse. > > > > > > D/ Get the build working. > > > > Lots of POM updates to do but I have a build that builds. > > > > (this isn't everything - it leaves scripts, logging settings and > > resources to be done) > > > > E/ Check and review > > > > Is 24 hours enough here? > > I want to keep the window between (C) and (F) small to cope with changes > > during that window. > > > > F/ When confirmed: > > > > merge jena3 into master and push > > > > If the merge does not work, delete master, and rename jena3 to master. > > > > At this point master is jena3 and there is a jena2 branch. > > > > G/ delete jena3 branch. > > > > H/ Documentation/website > > > > > > There are quite a few choices in the details - improvements welcome. > > Experience doubly welcome. I've not done something as repo-wide as this > > before. > > > > > > Andy > > > > learnings for migration: > > > > L1/ Assembler files have class loading in them especially > > com.hpl.hpl.jena.tdb. Maybe worth trapping during loading and changing > > to org.apache.jena.tdb. > > > > L2/ "java:" custom filter functions (ARQ and Leviathan). Again, add > > transition to the loading step. > > > > L3/ slf4j/log4j : logger names > > > > L4/ Can collapse some module versions to track 3.0.0 (jena-text, > > jena-spatial ...) > > > > > > > > > > On 24/01/15 18:33, Andy Seaborne wrote: > >> Here is a suggestion for Jena3. > >> > >> After 2.12.2 or 2.12.3, > >> > >> 1/ A branch for Jena2 ; master is Jena3. > >> 2/ Switch to RDF 1.1 setting for strings > >> 3/ Rename com.hp.hpl.jena packages to org.apache.jena > >> 4/ Other changes > >> 5/ Let things settle down. > >> 6/ Release (beta? just go for it as 3.0.0?) > >> > >> (3) is the disruptive step - I doubt git merge is going to be much help > >> after that for managing changes related to com.hp.hpl.jena packages > >> > >> I wrote some migration notes for the RDF 1.1 isms and packages. > >> > >> http://jena.staging.apache.org/documentation/migrate_jena2_jena3.html > >> > >> There is a lot of things that could be done. I like us to avoid > >> over-committing ourselves. The question I have is what is *necessary* > >> to drive into jena 3.first. > >> > >> Andy > > > > > > > > > > > > > > > -- I like: Like Like - The likeliest place on the web <http://like-like.xenei.com> LinkedIn: http://www.linkedin.com/in/claudewarren