[jira] Commented: (DERBY-4857) Utilize the SOAP API to fetch JIRA issue list for release notes generation

2010-11-02 Thread Rick Hillegas (JIRA)

[ 
https://issues.apache.org/jira/browse/DERBY-4857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12927472#action_12927472
 ] 

Rick Hillegas commented on DERBY-4857:
--

Thanks, Kristian. What is checked in works well. A couple small issues:

1) After running the genrelnotes target, I expected to see RELEASE-NOTES.html 
checked out in my code client. It was. That's good. However, "svn status" also 
showed the following artifact. I think that the ignore bit needs to be set on 
this artifact:

?  tools/release/jirasoap/target

2) The genrenotes target is less chatty. That's good. However, maven is still 
coughing up a long list of numbers and question marks. These don't mean much to 
me. Can they be suppressed too? See the output included below.

---

Here is the new script which I use to drive release notes generation:

#! /bin/bash
#
# generate release notes
#
# $1  jira password
# $2  filter id
# $3  release version
#
# E.g.:
#
# generateReleaseNotes blahblah 12314683 10.7.1.0
#

echo If the script hangs, you may need to get off your company VPN.

jiraUser=rhillegas
jiraPassword=$1
filterID=$2
releaseVersion=$3
reportDir=$HOME/junk/$releaseVersion-relnotes


cd $BRANCH/tools/release

ant -Djira.user=$jiraUser -Djira.password=$jiraPassword 
-Djira.filter.id=$filterID -Drelease.version=$releaseVersion 
-Drelnotes.src.reports=$reportDir genrelnotes

-

Here is the output of running that script:

If the script hangs, you may need to get off your company VPN.
Buildfile: build.xml

check-properties:

missing-properties:

maven-exec-windows:

maven-exec-unix:

genrelnotes:
 [exec] Downloading: 
http://repo1.maven.org/maven2/javax/mail/mail/1.4.1/mail-1.4.1.pom
 [exec] 995/?
 [exec]  Downloading: 
http://repo1.maven.org/maven2/javax/activation/activation/1.1/activation-1.1.pom
 [exec] 1058/?
 [exec]   Downloading: 
http://repo1.maven.org/maven2/javax/activation/activation/1.1/activation-1.1.jar
 [exec] Downloading: 
http://repo1.maven.org/maven2/javax/mail/mail/1.4.1/mail-1.4.1.jar
 [exec] 497/?
 [exec] 
1008/?1520/?2032/?2544/?3056/?3568/?4072/?4584/?5095/?5607/?6118/?6630/?7142/?7654/?8164/?8676/?9187/?9699/?9859/?10371/?10882/?11394/?11906/?12451/?13053/?13710/?14222/?14734/?15287/?15836/?16348/?16711/?17165/?17392/?17933/?18446/?18998/?19552/?20063/?20575/?21086/?21601/?22158/?22730/?23275/?23786/?24298/?24811/?25356/?25899/?26428/?26997/?27556/?28151/?28711/?29258/?29769/?30281/?30793/?31304/?31816/?32327/?32887/?33433/?33944/?34398/?34910/?35421/?35933/?36445/?36893/?37443/?37953/?38530/?39077/?39625/?40237/?40795/?41306/?41846/?42358/?42869/?43381/?43893/?44404/?44915/?45474/?46030/?46554/?47116/?47578/?48140/?48707/?49188/?49755/?50330/?50914/?51010/?51574/?52084/?52596/?53158/?53728/?54293/?54853/?55365/?55973/?56560/?57127/?57683/?58290/?58802/?59313/?59825/?60336/?60848/?61360/?61576/?62088/?62599/?63111/?63623/?64135/?64471/?64982/?65497/?66008/?66520/?67031/?67543/?68054/?68567/?69026/?69539/?70051/?70563/?71075/?71587/?72103/?72616/?73127/?73639/?74151/?74662/?75174/?75686/?76232/?76744/?77255/?77487/?77999/?78555/?79067/?79620/?80133/?80471/?80983/?81495/?82006/?82518/?83031/?83542/?84054/?84470/?84982/?85495/?85951/?86463/?86976/?87488/?87999/?88511/?89023/?89534/?90047/?90593/?91104/?91659/?92172/?92760/?93272/?93592/?94145/?94658/?95171/?95683/?96194/?96530/?97041/?97553/?98065/?98578/?99089/?99601/?100112/?100626/?100874/?101386/?101899/?102355/?102866/?103378/?103889/?104401/?104913/?105424/?105936/?106479/?106990/?107540/?108052/?108603/?109114/?109664/?110176/?110687/?111283/?111795/?112385/?112898/?113410/?113922/?114497/?115009/?115520/?115666/?116220/?116776/?117287/?117775/?118286/?118638/?119151/?119607/?120118/?120638/?121183/?121694/?122249/?122760/?123316/?123827/?124339/?124851/?125363/?125918/?125990/?126502/?127060/?127573/?128085/?128598/?129110/?129621/?130133/?130646/?131159/?131672/?132183/?132695/?133207/?133719/?134230/?134743/?135254/?135765/?136224/?136735/?137255/?137774/?138286/?138798/?139310/?139821/?140334/?140846/?141358/?141870/?142382/?142470/?142982/?143548/?144060/?144617/?145130/?145642/?146215/?146423/?146728/?147239/?147751/?148263/?148775/?149334/?149846/?150358/?150957/?151468/?152030/?152542/?152998/?153554/?153825/?154387/?154899/?155192/?155707/?156264/?156775/?157337/?157952/?158463/?158975/?159486/?159998/?160510/?161021/?161532/?162044/?162595/?163106/?163662/?164224/?164736/?165311/?165822/?166386/?166898/?167409/?167954/?168511/?169023/?169570/?170122/?170634/?171229/?171776/?172289/?172802/?173313/?173824/?174336/?174849/?175360/?175871/?176384/?176897/?177408/?177922/?178434/?178946/?179242/?179754/?180267/?180483/?180684/?181196/?181710/?182262/?182817/?183329/?183840/?184352/?184864/?185375/?185887/?186399/?186854/?187402/?187914/?187986/?188496/?189042/?189465/?190019/?190530/?191139/?1916

[jira] Commented: (DERBY-4857) Utilize the SOAP API to fetch JIRA issue list for release notes generation

2010-10-28 Thread Kristian Waagan (JIRA)

[ 
https://issues.apache.org/jira/browse/DERBY-4857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12925745#action_12925745
 ] 

Kristian Waagan commented on DERBY-4857:


Hi Lily,

'ant genrelnotes' will overwrite the existing RELEASE-NOTES.html. You should be 
able to see that using 'svn st|diff'. Remember that you still have to edit 
releaseSummary.xml for the release notes to be complete and correct.

If you look at the start and end of the fixedBugsList.txt, you should see a few 
important pieces of information (this is also printed to standard out when you 
run the target):
 o the target release version
 o the derived previous release version (this is checked against the one 
entered in releaseSummary.xml)
 o the derived ancestry chain (used to exclude issues)
 o issue statistics (# total, # written, # disqualified, # release note)

Also included in the output is the path to the output file.

This patch doesn't touch the logic bumping the last digit. I think that is 
something Rick is, or have been, working on.
Did you run 'ant genrelnotes' on Windows?

FYI, I expect there will be at least one more patch for this issue, but I'd 
like to wait for Rick's further feedback as well.


Thanks,

> Utilize the SOAP API to fetch JIRA issue list for release notes generation
> --
>
> Key: DERBY-4857
> URL: https://issues.apache.org/jira/browse/DERBY-4857
> Project: Derby
>  Issue Type: Improvement
>  Components: Build tools
>Affects Versions: 10.7.1.0
>Reporter: Kristian Waagan
>Assignee: Kristian Waagan
> Attachments: derby-4857-1a-jirasoap_relnotes.diff, 
> derby-4857-1a-jirasoap_relnotes.stat, 
> derby-4857-2a-jirasoap_maven_client.diff, 
> derby-4857-2a-jirasoap_maven_client.stat, 
> derby-4857-3a-jirasoap_relnotesgen_changes.diff, 
> derby-4857-3a-jirasoap_relnotesgen_changes.stat, 
> derby-4857-3b-jirasoap_relnotesgen_changes.diff, 
> derby-4857-4a-jirasoap_ant_integration.diff, 
> derby-4857-4a-jirasoap_ant_integration.stat, 
> derby-4857-4b-jirasoap_ant_integration.diff, RELEASE-NOTES.html
>
>
> Somewhat simplified, the release manager (RM) must currently perform the 
> following manual steps to feed the release note generate the data it needs:
>  a) Create manual JIRA filter to select issues addressed by the release.
>  b) Save the filter result to disk as XML.
>  c) Write/modify the XML parser to be able to parse the report.
>  d) Determine and record all JIRA release note attachment ids for the issues 
> requiring a release note.
> By using the current version of the SOAP API (3.13.5), steps (b) to (d) can 
> be removed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (DERBY-4857) Utilize the SOAP API to fetch JIRA issue list for release notes generation

2010-10-27 Thread Kristian Waagan (JIRA)

[ 
https://issues.apache.org/jira/browse/DERBY-4857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12925310#action_12925310
 ] 

Kristian Waagan commented on DERBY-4857:


Tested this on Solaris again, and it seems to work.
Committed patch 4b to trunk with revision 1027882.

There may be improvements to be made, maybe tuning the output or removing some 
inputs. I'll let people give it a try first, and wait for feedback from the 
release managers.

> Utilize the SOAP API to fetch JIRA issue list for release notes generation
> --
>
> Key: DERBY-4857
> URL: https://issues.apache.org/jira/browse/DERBY-4857
> Project: Derby
>  Issue Type: Improvement
>  Components: Build tools
>Affects Versions: 10.7.1.0
>Reporter: Kristian Waagan
>Assignee: Kristian Waagan
> Attachments: derby-4857-1a-jirasoap_relnotes.diff, 
> derby-4857-1a-jirasoap_relnotes.stat, 
> derby-4857-2a-jirasoap_maven_client.diff, 
> derby-4857-2a-jirasoap_maven_client.stat, 
> derby-4857-3a-jirasoap_relnotesgen_changes.diff, 
> derby-4857-3a-jirasoap_relnotesgen_changes.stat, 
> derby-4857-3b-jirasoap_relnotesgen_changes.diff, 
> derby-4857-4a-jirasoap_ant_integration.diff, 
> derby-4857-4a-jirasoap_ant_integration.stat, 
> derby-4857-4b-jirasoap_ant_integration.diff, RELEASE-NOTES.html
>
>
> Somewhat simplified, the release manager (RM) must currently perform the 
> following manual steps to feed the release note generate the data it needs:
>  a) Create manual JIRA filter to select issues addressed by the release.
>  b) Save the filter result to disk as XML.
>  c) Write/modify the XML parser to be able to parse the report.
>  d) Determine and record all JIRA release note attachment ids for the issues 
> requiring a release note.
> By using the current version of the SOAP API (3.13.5), steps (b) to (d) can 
> be removed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (DERBY-4857) Utilize the SOAP API to fetch JIRA issue list for release notes generation

2010-10-25 Thread Rick Hillegas (JIRA)

[ 
https://issues.apache.org/jira/browse/DERBY-4857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12924584#action_12924584
 ] 

Rick Hillegas commented on DERBY-4857:
--

Thanks for the additional patches, Kristian. I think that I will wait for you 
to commit this work before I test-drive it. How do I run this machinery now? I 
suspect that "ant genrelnotes" isn't good enough. I probably need to specify a 
number of variables (such as my jira credentials, the release id, the filter 
id, etc..). What does the command line look like?

I'm happy with a single master target.

Thanks.

> Utilize the SOAP API to fetch JIRA issue list for release notes generation
> --
>
> Key: DERBY-4857
> URL: https://issues.apache.org/jira/browse/DERBY-4857
> Project: Derby
>  Issue Type: Improvement
>  Components: Build tools
>Affects Versions: 10.7.1.0
>Reporter: Kristian Waagan
>Assignee: Kristian Waagan
> Attachments: derby-4857-1a-jirasoap_relnotes.diff, 
> derby-4857-1a-jirasoap_relnotes.stat, 
> derby-4857-2a-jirasoap_maven_client.diff, 
> derby-4857-2a-jirasoap_maven_client.stat, 
> derby-4857-3a-jirasoap_relnotesgen_changes.diff, 
> derby-4857-3a-jirasoap_relnotesgen_changes.stat, 
> derby-4857-4a-jirasoap_ant_integration.diff, 
> derby-4857-4a-jirasoap_ant_integration.stat
>
>
> Somewhat simplified, the release manager (RM) must currently perform the 
> following manual steps to feed the release note generate the data it needs:
>  a) Create manual JIRA filter to select issues addressed by the release.
>  b) Save the filter result to disk as XML.
>  c) Write/modify the XML parser to be able to parse the report.
>  d) Determine and record all JIRA release note attachment ids for the issues 
> requiring a release note.
> By using the current version of the SOAP API (3.13.5), steps (b) to (d) can 
> be removed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (DERBY-4857) Utilize the SOAP API to fetch JIRA issue list for release notes generation

2010-10-22 Thread Dag H. Wanvik (JIRA)

[ 
https://issues.apache.org/jira/browse/DERBY-4857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12924097#action_12924097
 ] 

Dag H. Wanvik commented on DERBY-4857:
--

Discussed Rick's 5) points to define ancestry with Kristian a bit. I think 
Rick's definition makes sense: B.y+ is neither an ancestor or descendant of 
A.x+, so any release notes for patch P added in A.x+ should not be culled from 
B.y+. 
Iff A.x is the first release of A, both B.y and B.y+ are descendants of A.x, if 
I understand the definition correctly, so fixes made in A.x *should* be culled 
for B.y as well as for B.y+.




> Utilize the SOAP API to fetch JIRA issue list for release notes generation
> --
>
> Key: DERBY-4857
> URL: https://issues.apache.org/jira/browse/DERBY-4857
> Project: Derby
>  Issue Type: Improvement
>  Components: Build tools
>Affects Versions: 10.7.1.0
>Reporter: Kristian Waagan
>Assignee: Kristian Waagan
> Attachments: derby-4857-1a-jirasoap_relnotes.diff, 
> derby-4857-1a-jirasoap_relnotes.stat
>
>
> Somewhat simplified, the release manager (RM) must currently perform the 
> following manual steps to feed the release note generate the data it needs:
>  a) Create manual JIRA filter to select issues addressed by the release.
>  b) Save the filter result to disk as XML.
>  c) Write/modify the XML parser to be able to parse the report.
>  d) Determine and record all JIRA release note attachment ids for the issues 
> requiring a release note.
> By using the current version of the SOAP API (3.13.5), steps (b) to (d) can 
> be removed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (DERBY-4857) Utilize the SOAP API to fetch JIRA issue list for release notes generation

2010-10-22 Thread Rick Hillegas (JIRA)

[ 
https://issues.apache.org/jira/browse/DERBY-4857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923971#action_12923971
 ] 

Rick Hillegas commented on DERBY-4857:
--

Thanks again for the patch, Kristian. I updated my client, which got me past 
the build issues. After that, I was able to test-drive the patch and 
successfully build the release notes. Love it. A couple comments:

o It would be nice if the tool had a quiet mode. Maven is pretty chatty and 
yours truly doesn't need to see the list of excluded bugs.

o Maven coughs up the following warning. It didn't seem to hurt anything but 
I'm probably not the only person who will be puzzled by it:

WARNING: Unable to find required classes (javax.activation.DataHandler and 
javax.mail.internet.MimeMultipart). Attachment support is disabled.

o I had to remove the following sanity-check from ReleaseNotesGenerator (line 
282). It will kill release notes generation for feature releases. That is 
because the release manager wants to publish the release notes a good week 
before creating the branch and building the first release candidate. At that 
time, the version number in release.properties is still an alpha version 
number. I tripped across the fact that the version number in release.properties 
on the trunk was 10.7.0.0 but I was trying to generate release notes for 
10.7.1.0:

 else if (!relVer.equals(releaseID)) {
throw new IllegalStateException("target release version mismatch " +
"between release.properties and bug list: " + releaseID +
" != " + relVer);
}

I think that the release number which appears in RELEASE-NOTES.html should 
originate with the release number which you specify when you run "java -jar 
target/JiraSOAP-LATEST-jar-with-dependencies.jar".

At this point, you have removed one of the redundant places where we specify 
the release number (namely, in releaseSummary.xml). That's progress. I don't 
think we need to sand this down further, although it's worth thinking about 
streamlining how many times we still specify a release id:

o We specify a release id when we define the jira filter which defines the raw 
stream of bug ids.

o We specify a release id when we run "java -jar 
target/JiraSOAP-LATEST-jar-with-dependencies.jar".

o We specify a release id when we run the master target which builds the 
release candidate.

Here is the script which I used to tie together all of the pieces of 
release-notes generation. This may be useful to other release managers who want 
to test-drive this patch:

Thanks,
-Rick



#! /bin/bash
#
# Run the machinery which creates the release notes. Make sure
# that you are not on a corporate VPN--otherwise maven may hang
# while trying to access the network.
#
# Arguments:
#
# $1  jira user name
# $2  jira password
# $3  release version (e.g. 10.7.1.0)
# $4  numeric id of filter used to create jira report of fixed bugs (e.g. 
12314683)
#
# E.g.:
#
#   createReleaseNotes rhillegas mypassword 10.7.1.0 12314683


export jiraname=$1
export jirapassword=$2
export derbyversion=$3

export relnotesdir=$HOME/junk/$derbyversion-relnotes

export filterid=$4
export destinationfile=$relnotesdir/fixedBugsList.txt
export remove=true

mkdir $relnotesdir

cd $BRANCH/tools/release/jirasoap

# build the application which uses SOAP to tease information out of JIRA

mvn -Pbuildclient

# now produce the filtered list of issues

java -jar target/JiraSOAP-LATEST-jar-with-dependencies.jar $jiraname 
$jirapassword $derbyversion $filterid $destinationfile $remove

# now generate RELEASE-NOTES.html from the filtered list

cd ..

ant -Drelnotes.src.reports=$relnotesdir genrelnotes


> Utilize the SOAP API to fetch JIRA issue list for release notes generation
> --
>
> Key: DERBY-4857
> URL: https://issues.apache.org/jira/browse/DERBY-4857
> Project: Derby
>  Issue Type: Improvement
>  Components: Build tools
>Affects Versions: 10.7.1.0
>Reporter: Kristian Waagan
>Assignee: Kristian Waagan
> Attachments: derby-4857-1a-jirasoap_relnotes.diff, 
> derby-4857-1a-jirasoap_relnotes.stat
>
>
> Somewhat simplified, the release manager (RM) must currently perform the 
> following manual steps to feed the release note generate the data it needs:
>  a) Create manual JIRA filter to select issues addressed by the release.
>  b) Save the filter result to disk as XML.
>  c) Write/modify the XML parser to be able to parse the report.
>  d) Determine and record all JIRA release note attachment ids for the issues 
> requiring a release note.
> By using the current version of the SOAP API (3.13.5), steps (b) to (d) can 
> be removed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a co

[jira] Commented: (DERBY-4857) Utilize the SOAP API to fetch JIRA issue list for release notes generation

2010-10-21 Thread Kristian Waagan (JIRA)

[ 
https://issues.apache.org/jira/browse/DERBY-4857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923614#action_12923614
 ] 

Kristian Waagan commented on DERBY-4857:


Sorry for providing the crappy patch, Rick.
As I said earlier, no need to do ant clobber to test the SOAP client ;)

In any case, I have committed the patch for DERBY-4858. Please update your svn 
workspace and try again.

I haven't had the time to test the release ancestry scenario you mentioned, but 
I do plan to  make it easy to override the ancestry from the command line. 
There will be at least one follow-up patch (your existing comments have not 
been addressed, and I suspect there may be more comment once you get the client 
running).

> Utilize the SOAP API to fetch JIRA issue list for release notes generation
> --
>
> Key: DERBY-4857
> URL: https://issues.apache.org/jira/browse/DERBY-4857
> Project: Derby
>  Issue Type: Improvement
>  Components: Build tools
>Affects Versions: 10.7.0.0
>Reporter: Kristian Waagan
>Assignee: Kristian Waagan
> Attachments: derby-4857-1a-jirasoap_relnotes.diff, 
> derby-4857-1a-jirasoap_relnotes.stat
>
>
> Somewhat simplified, the release manager (RM) must currently perform the 
> following manual steps to feed the release note generate the data it needs:
>  a) Create manual JIRA filter to select issues addressed by the release.
>  b) Save the filter result to disk as XML.
>  c) Write/modify the XML parser to be able to parse the report.
>  d) Determine and record all JIRA release note attachment ids for the issues 
> requiring a release note.
> By using the current version of the SOAP API (3.13.5), steps (b) to (d) can 
> be removed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (DERBY-4857) Utilize the SOAP API to fetch JIRA issue list for release notes generation

2010-10-21 Thread Rick Hillegas (JIRA)

[ 
https://issues.apache.org/jira/browse/DERBY-4857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923603#action_12923603
 ] 

Rick Hillegas commented on DERBY-4857:
--

Thanks for the advice about how to test-drive the patch, Kristian. I reverted 
ReportParser.java, then did "ant clobber" followed by "ant all". Now I see this 
build error:

 [echo] building generated sanity info
 [java] Warning: Lookahead adequacy checking not being performed since 
option LOOKAHEAD is more than 1.  Set option FORCE_LA_CHECK to true to force 
checking.
[javac] 
/Users/rh161140/derby/mainline/trunk/java/build/org/apache/derbyBuild/ChangesFileGenerator.java:200:
 cannot find symbol
[javac] symbol  : variable bugListDoc
[javac] location: class org.apache.derbyBuild.ChangesFileGenerator
[javac] for (Iterator i = JiraIssue.createJiraIssueList( 
bugListDoc, excludeReleaseIDList, reportParser ).iterator(); i.hasNext(); )
[javac]  ^
[javac] 1 error

BUILD FAILED
/Users/rh161140/derby/mainline/trunk/build.xml:526: The following error 
occurred while executing this line:
/Users/rh161140/derby/mainline/trunk/build.xml:561: The following error 
occurred while executing this line:
/Users/rh161140/derby/mainline/trunk/java/build/build.xml:59: The following 
error occurred while executing this line:
/Users/rh161140/derby/mainline/trunk/java/build/org/apache/derbyBuild/build.xml:53:
 Compile failed; see the compiler error output for details.


> Utilize the SOAP API to fetch JIRA issue list for release notes generation
> --
>
> Key: DERBY-4857
> URL: https://issues.apache.org/jira/browse/DERBY-4857
> Project: Derby
>  Issue Type: Improvement
>  Components: Build tools
>Affects Versions: 10.7.0.0
>Reporter: Kristian Waagan
>Assignee: Kristian Waagan
> Attachments: derby-4857-1a-jirasoap_relnotes.diff, 
> derby-4857-1a-jirasoap_relnotes.stat
>
>
> Somewhat simplified, the release manager (RM) must currently perform the 
> following manual steps to feed the release note generate the data it needs:
>  a) Create manual JIRA filter to select issues addressed by the release.
>  b) Save the filter result to disk as XML.
>  c) Write/modify the XML parser to be able to parse the report.
>  d) Determine and record all JIRA release note attachment ids for the issues 
> requiring a release note.
> By using the current version of the SOAP API (3.13.5), steps (b) to (d) can 
> be removed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (DERBY-4857) Utilize the SOAP API to fetch JIRA issue list for release notes generation

2010-10-21 Thread Rick Hillegas (JIRA)

[ 
https://issues.apache.org/jira/browse/DERBY-4857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923500#action_12923500
 ] 

Rick Hillegas commented on DERBY-4857:
--

Thanks for the additional instructions, Kristian. I will take a closer look 
later today.

Concerning the semantics of getAncestors(): I don't think we have an example of 
the problem in our existing set of releases. We almost had an example involving 
the following releases:

o 10.4.1.3 (released 2008-04-24), whose preceding release was 10.3.2.1

o 10.3.3.0 (released 2008-05-12)

The problem would have occurred if the release dates for 10.4.1.3 and 10.3.3.0 
were reversed.

Let me try to restate the problem.

1) Suppose we have two active branches A and B where A < B. We have already cut 
official releases off both branches: A.x and B.y.

2) We discover that we have a serious security or data corruption bug: .

3) We fix  in both the A and B branches.

4) Then the community cuts a new emergency release A.x+ off the A branch.

5) Afterward, the community cuts an emergency release B.y+ off the B branch. 
Note that precedingRelease( B.y+ ) = B.y NOT A.x.

Under definition (a), A.x+ is an ancestor of B.y+. That means that  will 
not appear in the release notes for B.y+. That's a shame because the reason 
we're issuing B.y+ is to fix .

However, under definition (b), A.x+ wouldn't be an ancestor of B.y+ so  
would appear in the release notes. Everything would be fine.

Note that the problem would not occur if we reversed the order of steps (3) and 
(4). That is, we won't see the problem if the emergency release on the later 
branch is produced BEFORE the emergency release on the earlier branch.

Hope this makes more sense now.





> Utilize the SOAP API to fetch JIRA issue list for release notes generation
> --
>
> Key: DERBY-4857
> URL: https://issues.apache.org/jira/browse/DERBY-4857
> Project: Derby
>  Issue Type: Improvement
>  Components: Build tools
>Affects Versions: 10.7.0.0
>Reporter: Kristian Waagan
>Assignee: Kristian Waagan
> Attachments: derby-4857-1a-jirasoap_relnotes.diff, 
> derby-4857-1a-jirasoap_relnotes.stat
>
>
> Somewhat simplified, the release manager (RM) must currently perform the 
> following manual steps to feed the release note generate the data it needs:
>  a) Create manual JIRA filter to select issues addressed by the release.
>  b) Save the filter result to disk as XML.
>  c) Write/modify the XML parser to be able to parse the report.
>  d) Determine and record all JIRA release note attachment ids for the issues 
> requiring a release note.
> By using the current version of the SOAP API (3.13.5), steps (b) to (d) can 
> be removed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (DERBY-4857) Utilize the SOAP API to fetch JIRA issue list for release notes generation

2010-10-20 Thread Kristian Waagan (JIRA)

[ 
https://issues.apache.org/jira/browse/DERBY-4857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923162#action_12923162
 ] 

Kristian Waagan commented on DERBY-4857:


Hi Rick,

Thanks for trying to test the patch. I'm unable to give you proper feedback 
right now, but here are a few quick hints.

The broken build problem will be fixed by DERBY-4858, alternatively you can 
just revert the ReportParser class in java/build/org/apache/derbyBuild. I 
missed this problem because I was just messing around in tools/release and 
didn't do a 'ant clobber all' from the root.

You have to go into tools/release/jirasoap and issue the mvn-command from 
there. The directory jirasoap contains a fully independent Maven-project. It 
doesn't depend on the rest of the Derby code at all.

It is not clear to me that the getAncestors-method is behaving incorrectly, but 
that may be the case. Are you able to test this by using a set of the existing 
releases, or have we not yet created a scenario as you described with potential 
future versions in your comment?
For instance, I was under the impression that the current version of the tool 
is able to deal correctly with the 10.3.3.0 release. It was released between 
10.4.2.1 and 10.4.2.0. The tool uses the release version and the release date 
to determine the preceding release.
You can invoke the tool with the ancestors-argument to print the list of 
ancestors for a given version (see the usage msg). 


Thanks,

> Utilize the SOAP API to fetch JIRA issue list for release notes generation
> --
>
> Key: DERBY-4857
> URL: https://issues.apache.org/jira/browse/DERBY-4857
> Project: Derby
>  Issue Type: Improvement
>  Components: Build tools
>Affects Versions: 10.7.0.0
>Reporter: Kristian Waagan
>Assignee: Kristian Waagan
> Attachments: derby-4857-1a-jirasoap_relnotes.diff, 
> derby-4857-1a-jirasoap_relnotes.stat
>
>
> Somewhat simplified, the release manager (RM) must currently perform the 
> following manual steps to feed the release note generate the data it needs:
>  a) Create manual JIRA filter to select issues addressed by the release.
>  b) Save the filter result to disk as XML.
>  c) Write/modify the XML parser to be able to parse the report.
>  d) Determine and record all JIRA release note attachment ids for the issues 
> requiring a release note.
> By using the current version of the SOAP API (3.13.5), steps (b) to (d) can 
> be removed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (DERBY-4857) Utilize the SOAP API to fetch JIRA issue list for release notes generation

2010-10-20 Thread Rick Hillegas (JIRA)

[ 
https://issues.apache.org/jira/browse/DERBY-4857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923152#action_12923152
 ] 

Rick Hillegas commented on DERBY-4857:
--

Thanks for the patch, Kristian. I have taken a look at it and have a couple 
preliminary comments to offer. Unfortunately, I don't know enough about this 
technology to be able to test-drive the patch. Here are some things I tried in 
order to build this patch:

o I changed directory to the root of my client and typed "mvn -Pbuildclient". 
Nothing happened. The buildclient target was not recognized.

o I changed directory to maven2 and typed "mvn -Pbuildclient". Again, the 
buildclient target was not recognized.

o From the root of my client, I did an "ant clobber" followed by "ant all". 
This build failed because ReportParser was not found.

I would like to test-drive the patch. Could you expand the instructions? Think 
in terms of writing a cookbook for someone who knows absolutely nothing about 
SOAP and very little about maven. For instance, there seem to be some classes 
which are generated by the SOAP/maven machinery but I don't know how or when 
that generation is supposed to happen. Thanks.

---

Here are some preliminary comments on the patch:

o The name Client seems a little vague to me. Could this class be renamed to 
something which captures more of its behavior, like JiraFilterReader or 
FilteredIssueLister? There may be a small chunk of code in there which could be 
carved out into a generic Client or SoapClient or JiraSoapClient class, but 
most of the work seems focused on reading a Jira filter and writing a list of 
issues.

o If I understand the code correctly, the logic in Client.getAncestors() is 
trying to construct the upgrade trajectory which will be used to calculate the 
set of issues to include in the release notes. Most of the work is done in 
Client.getReleasedVersions(). Most of the time, I think that this logic will do 
the right thing. However, its concept of ancestor differs somewhat from the 
concept of ancestor which is assumed by our release notes process. That concept 
is discussed in this email thread: 
http://old.nabble.com/Release-Notes-to5931299.html#a6248974 Here's how I think 
the concepts differ:

a) For Client.getAncestors(), released distribution A is an ancestor of release 
candidate B if (A.releaseID < B.releaseID).

b) Given the discussion in the email thread referenced above, ancestry should 
be recursively defined by the precedingRelease function. If C is a release, 
then precedingRelease( C ) is the "preceding release" mentioned at the 
beginning of the release notes for C. The ancestry set of candidate B is { 
precedingRelease(B), precedingRelease(precedingRelease(B)), ...}. In this 
scheme, released distribution A is an ancestor of release candidate B if A is 
in that ancestry set.

Definition (a) yields a larger set of ancestors than definition (b) does. I 
believe that the logic in (a) will overaggressively filter issues. Here is the 
problem case:

i) We release 10.6.2.1.

ii) Then we release 10.7.1.0.

iii) Then we fix bug  in both the 10.6 and 10.7 branches.

iv) Then we release 10.6.3.0, including the fix for .

v) Then we release 10.7.2.0, also including the fix for . Note that 
precedingRelease( 10.7.2.0 ) = 10.7.1.0 NOT 10.6.3.0.

vi) The fix for  will not appear in the release notes for 10.7.2.0 under 
definition (a). However, the fix will appear in the release notes for 10.7.2.0 
under definition (b).

Unfortunately, I don't think that Jira contains enough information to calculate 
release ancestry under definition (b). I think that the information can be 
reconstructed by parsing the release notes in our subversion tags. 
Alternatively, we could maintain the ancestry graph in the codeline.

What you have so far is a big improvement over the current situation. I think 
it would be OK to fix getAncestors() later on.


> Utilize the SOAP API to fetch JIRA issue list for release notes generation
> --
>
> Key: DERBY-4857
> URL: https://issues.apache.org/jira/browse/DERBY-4857
> Project: Derby
>  Issue Type: Improvement
>  Components: Build tools
>Affects Versions: 10.7.0.0
>Reporter: Kristian Waagan
>Assignee: Kristian Waagan
> Attachments: derby-4857-1a-jirasoap_relnotes.diff, 
> derby-4857-1a-jirasoap_relnotes.stat
>
>
> Somewhat simplified, the release manager (RM) must currently perform the 
> following manual steps to feed the release note generate the data it needs:
>  a) Create manual JIRA filter to select issues addressed by the release.
>  b) Save the filter result to disk as XML.
>  c) Write/modify the XML parser to be able to parse the report.
>  d) Determine and record all JIRA release note att