RE: Version Numbers with Scrum

2008-08-27 Thread P'Simer, Dana (Matrix)
We are doing something similar.  I am guessing that you are putting the various 
sprint teams on separate branches and merging them in when you need to create a 
combined release.  Or are you actually producing alternative versions of you 
product?

If the former, then the first blush response might be to use classifiers but 
that did not work for us because we have several artifacts in each component 
and are already using classifiers for other purposes.  Classifiers also do not 
allow for the isolation of POM changes.

So we decided to use a versioning scheme where each branch had their own 
moniker added to the version number.

Our project is currently at 4.12.0-SNAPSHOT.  I am working on a project with 
the initials tc so my branch is on 4.12.0-tc-SNAPSHOT.

When we merge the branches together they become 4.12.0-SNAPSHOT and then we 
release it as 4.12.0.

This allows the development and QA for each project to proceed independently.

When we release, we merge everything back to the trunk, deploy everything to an 
integration environment and smoke test the applications.  Then we move the code 
to a nearly production like environment for final QA.

I do not like the idea of using numbers to represent concepts.  It makes the 
version numbers hard to understand and there is nothing in Maven that says your 
versions have to contain only numbers.


-Original Message-
From: kroe [mailto:[EMAIL PROTECTED]
Sent: Wed 8/27/2008 11:02 AM
To: users@maven.apache.org
Subject: Version Numbers with Scrum
 

We  have recently switched to the scrum development process, and are forced
to rethink our maven versioning scheme.  There will be multiple scrum teams
working with the same code-base.  Each team will aim to have a release each
sprint, but occasionally a release will be planned for one sprint but pushed
back to the next.  

Can anyone reccomend a maven versioning scheme that fits the scrum
development process well?

The first scheme that comes to mind is Development Group
Identifier.Sprint Number.Candidate Number.

Development Group Identifier: Identifies which scrum team owns the version.

Sprint number: Specifies which sprint the code is intended to be released
in.  This may change if a release gets postponed, for instance a project may
be developed as 1.3.0-SNAPSHOT and end up being released in sprint 4 so the
release version would be 1.4.0.  

Candidate number: Each release to QA has a distinct candidate number.  If QA
rejects the candidate then development works on the next candidate
(incrementing number), and releases this candidate to QA when it is ready. 
This will give QA a permanent version number for each artifact they perform
a test cycle on.

Thanks for the input
-- 
View this message in context: 
http://www.nabble.com/Version-Numbers-with-Scrum-tp19182915p19182915.html
Sent from the Maven - Users mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




RE: site:deploy URL issue?

2008-03-24 Thread P'Simer, Dana (Matrix)
Under most versions of SSHD that I have used using
scp://bcterwinlinux/~/website/Remora4 would do the trick.  The ~
indicates the home directory.

Dana H. P'Simer
Transaction Platform Development
Revenue  Guest Technology
IHG - InterContinental Hotels Group
Dana.P'[EMAIL PROTECTED]

 

 -Original Message-
 From: Marose, Justin (GE EntSol, Security) 
 [mailto:[EMAIL PROTECTED] 
 Sent: Monday, March 24, 2008 12:05 PM
 To: users@maven.apache.org
 Subject: site:deploy URL issue?
 
 All,
  
 When doing a site:deploy to a Linux machine, I get the following error
 message:
  
 [INFO] [site:deploy]
 scp://bcterwinlinux/website/Remora4 - Session: Opened 
 Executing command: mkdir -p /website/myFolder/.
 scp://bcterwinlinux/website/myFolder - Session: Disconnecting 
 scp://bcterwinlinux/website/myFolder - Session: Disconnected [INFO]
 --
 --
 [ERROR] BUILD ERROR
 [INFO]
 --
 --
 [INFO] Error uploading site
  
 Embedded error: Error performing commands for file transfer 
 Exit code: 1 - mkdir: cannot create directory `/website': 
 Permission denied 
  
 It appears that mkdir attempts to create the folder in the 
 root of the file system (/website/myFolder), to which we 
 obviously don't have access.
  
 Three questions:
 1.  Is there a way to get rid of the leading '/' in the 
 directory name?, or 2.  Is there an scp version on RH FC3 
 that does a chroot?
 3.  Am I missing something obvious?
  
 Thanks in advance,
 Justin
  
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

RE: Real World User Issues with Maven

2008-03-22 Thread P'Simer, Dana (Matrix)
It sounds like you are struggling with some of the same issues I am.  I
was asked recently to change our build system from ant to maven.  In
fact, I did not want to use maven.  I felt that our needs did not
warrant it and thought that Ivy would do well to solve our biggest
problem, dependency management.  I have since changed my mind and feel
that the move to maven was a good one.

When someone tells me to go work with a new technology, the first thing
I do is learn everything I can about it.  So I read Better Builds with
Maven and I read the POM and Settings reference on the web site and I
started researching plugins and what they do for us.  

Now, I work on a team of developers that puts out a framework that the
client applications use to access business services ( standard stateless
session fascade interface implemented in a Spring container using
hibernate and some ejb services provided by another group on the back
end ), so when I was tasked with switching to maven it was for the
framework, not all the client apps.  

I assumed that other engineers on the client teams ( they were all made
aware of the schedule for the transition ) would pick up maven, like I
did, and learn it and start asking questions pertaining to how to
integrate the framework with their new maven builds ( we use AspectJ to
instrument the client code so our integration is a little more complex
then a simple dependency. )  

What I got was a bunch of questions about how to use maven.  I kept
having to explain to people what plugins are and how to configure them.
How maven inheritance works and how it is unrelated to multi module
builds.  How properties can be used to trigger profiles.  What profiles
are good for and what they are not good for.  Keep in mind I have only
been using this tool for a few months and I would not call myself an
expert by any streatch of the imagination.  I have also been hearing a
lot of compaints.  Some from the developers but a bunch from management.
Mostly, I think, because the developers are blaming maven for delays.
The blame really should be put on the fact that they did not bother to
learn maven.

So, I think the barrier to adopting maven in my organization is the
learning curve and it sounds like the same thing in yours.

I also have some comments below:

 -Original Message-
 From: Joshua ChaitinPollak [mailto:[EMAIL PROTECTED] 
 
 We've been living with parallel Ant and Maven build systems 
 for 6 to 9 months now, and most developers are mostly onto 
 Maven, but some still use Ant from time to time.
 
 I just polled the rest of my development team for who still 
 uses our ant build system and why.
 
 So Maven core developers, Here are some of the reasons I heard:
 
 1) I can't do the equivalent of ant -projecthelp Pointing out 
 that all the common maven commands are documented on the wiki 
 doesn't seem to alleviate this concern, which I admit really 
 puzzles me. Has anyone else encountered this complaint about 
 maven? I think the ability to easy get a list of configured 
 plugins within the pom would be really handy.
 

Until a fix is available from the maven team, maybe maintain a
readme.txt in the directory next to each POM.

 2) We have lots of ant run-* targets I like to use.
 My response: Letting them know of the mvnrun script I've 
 checked into our source tree that effectively runs the following:
 
 mvn compile exec:java $MVNOPT -Dexec.mainClass=$CLASSNAME - 
 Dexec.args=$ARG
 
 This allows the user to type:
 
 mvnrun MyMainClass --args
 
 The script searches for the MyMainClass.java file, figures 
 out the full package name, and fills in the parameters above.
 
 3) We use the ant tags target to run etags to create emacs 
 TAGS files I pointed these developers to a mktags script that 
 does the same thing. I also added 'mvn generate-sources' to 
 the script first, to make sure the tags catch those generated 
 java files.
 

A plugin that generates this would be great.  But a in the meantime you
could use the antrun plugin to get the tags generated with each compile.
If you add it to a profile, then developers that don't use the tags
files can turn it off in their settings.xml.

Dana H. P'Simer
Dana.P'[EMAIL PROTECTED]
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

SOLVED: TestNG Listeners

2008-03-20 Thread P'Simer, Dana (Matrix)
 
Thanks, Wayne.

I figured this list would be good because it was clearly in the surefire
plugin where the breakdown was.  However, I finally figured it out.

Turns out that the properties tag in the configuration was not
formatted correctly.  Is this a maven thing or specific to each plugin
that wants to use map's as input for its configuration?

Anyway, for future reference the properties tag is formatted with
property tags containing name and value tags.  So my properties
tag below would be :

properties
  property
namelistener/name
valueorg.uncommons.reportng.JUnitXMLReporter/value
  /property
/properties

I had assumed that it followed the format of the properties tag at the
top level of the POM and since there is absolutely no documentaion on
the internal format of the properties configuration parameter for the
surefire plugin I had nothing to disabuse me of this notion.

Thanks,

Dana H. P'Simer
Dana.P'[EMAIL PROTECTED]

-Original Message-
From: Wayne Fay [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, March 19, 2008 7:46 PM
To: Maven Users List
Subject: Re: TestNG Listeners

You will probably have better luck with this question on the TestNG
list. Everyone there uses TestNG and many use Maven, whereas here, we
all use Maven and only some use TestNG.

Wayne

On 3/19/08, P'Simer, Dana (Matrix) Dana.P'[EMAIL PROTECTED] wrote:
 Hello,

 I am attempting to add a listener to the testng run for my project.  
 It is the JUnitXMLReporter by the ReportNG project.  I added ReportNG 
 as a dependency in the test scope (they don't have a pom so I created 
 one and deployed it to our private repository ) and added the listener

 to the
 properties:

  plugin
groupIdorg.apache.maven.plugins/groupId
artifactIdmaven-surefire-plugin/artifactId
configuration
  parallelfalse/parallel
  argLine-DstartAll=${startAll} -Xmx768m -Xms256m 
 -XX:PermSize=128m -XX:MaxPermSize=384m/argLine
  excludeGroupsdisabledTests,generateTestFile/excludeGroups
  excludes
exclude**/Test*.java/exclude

 exclude**/JBossAndPersistentTwoPhaseCacheManagerTestCase.java/exclu
 de
 
  /excludes
  properties

 listenerorg.uncommons.reportng.JUnitXMLReporter/listener
  /properties
/configuration
  /plugin
 ...
dependency
  groupIdorg.uncommons/groupId
  artifactIdreportng/artifactId
  version0.9.4/version
  scopetest/scope
/dependency

 But when I run the tests I get no output from the JUnitXMLReporter.
 There are no errors and the tests complete successfully.

 When I run 'mvn help:describe -Dplugin=surefire' I get:

$ mvn help:describe -Dplugin=surefire
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'help'.
[INFO]


[INFO] Building commons
[INFO]task-segment: [help:describe] (aggregator-style)
[INFO]


[INFO] [help:describe]
[INFO] Plugin:
 'org.apache.maven.plugins:maven-surefire-plugin:2.4.2'
---
Group Id:  org.apache.maven.plugins
Artifact Id: maven-surefire-plugin
Version: 2.4.2
Goal Prefix: surefire
Description:

Surefire is a test framework project.

[INFO]


[INFO] BUILD SUCCESSFUL
[INFO]


[INFO] Total time: 1 second
[INFO] Finished at: Wed Mar 19 13:25:45 EDT 2008
[INFO] Final Memory: 3M/6M
[INFO]
 --
 --


 BTW, the reason I am doing this is so that I can get a Junit Style 
 report for Hudson to display.  If there is a better way to do this, I 
 would appreciate any suggestions.

 Dana H. P'Simer
 Dana.P'[EMAIL PROTECTED]


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

RE: surefire and testng integration issues with surefire-2.4.2

2008-03-20 Thread P'Simer, Dana (Matrix)
I have recently been dealing with a similar issue.  I wanted Junit style
reports and did not want to use ant run to run the JunitConverter task,
so I added reportng as a test scoped dependency and configured a
listener.  

As an interim solution, you could write a listener that does what you
want.  It could just be in your src/test/java dir as classes there will
be available to TestNG when it is running so there is no need to create
a separate jar, unless you want to.  To configure it you would do
something like this:

...
plugin
  artifactIdmaven-surefire-plugin/artifactId
  ...
  configuration
...
properties
  namelistener/name
  valuex.y.z.MyNiftyProgressOutputter/value
/properties
...
  /configuration
  ...
/plugin
...

The listener properties's value can be a comma separated list of classes
so if you have more than one, you can do that.

Good Luck,

Dana H. P'Simer
Dana.P'[EMAIL PROTECTED]

-Original Message-
From: Jason Chaffee [mailto:[EMAIL PROTECTED] 
Sent: Thursday, March 20, 2008 5:32 AM
To: Maven Developers List
Cc: Maven Users List
Subject: surefire and testng integration issues with surefire-2.4.2

I brought this up in the past the maven guys were adamant that they were
not able to get per test information to output on the console unless
testng changed.  I felt all along that this was not correct and I
finally had a chance to look into it.  Surefire could simply register a
listener to get call backs during the execution and could output the
results.  TestNG does support this functionality with the ITestListener.
For example, onStart() will give the start of running a particular class
configuration and test methods and onFinish() will be called after all
of the configuration and test methods have been run.  I took a look at
the Surefire code and there is a TestNGReporter that does implement the
ITestListener, but it does not implement these methods, they are all
no-ops.  So, it seems like these could be implemented and then we could
see progress output on the console. 

 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

RE: surefire and testng integration issues with surefire-2.4.2

2008-03-20 Thread P'Simer, Dana (Matrix)
I think part of the disconnect might be in the understanding of what
TestNG calls a test.  A test, in testNG terminology, is a logical
grouping of testMethods within a suite.  A single test will span all
of the classes in the src/test/java directory unless something is done
to break them up.  There is no notification based on class unless the
test methods for each class are included in separate tests.  The default
behavior for TestNG in the surefire plugin is to lump all the test
methods from all the test classes into one test.  That is why only one
onStart is called.
 
I have only been using testNG since v5.6 so I don't know when this
changed, if it did.  However there are ways around this.

We use @Test annotations on our test classes with suiteName and testName
set so that the methods in each class are segregated into separate
tests.

Hope this helps clear up any confusion.

Thanks,

Dana H. P'Simer
Dana.P'[EMAIL PROTECTED]

-Original Message-
From: Dan Fabulich [mailto:[EMAIL PROTECTED] 
Sent: Thursday, March 20, 2008 1:25 PM
To: Maven Developers List
Cc: [EMAIL PROTECTED]; Maven Users List
Subject: Re: surefire and testng integration issues with surefire-2.4.2

Jason Chaffee wrote:

 Maybe our disconnect is about callbacks after the class vs. the
method.
 That could be where the misunderstanding is coming from.

Sure, that could be.  I claim that logging per-method is *way* too much
logging.  Don't you agree?

In JUnit we can log per-class or per-method, but in TestNG we can only
log per-method.  I think that means we should complain to the TestNG
team! :-) What do you think?

-Dan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

TestNG Listeners

2008-03-19 Thread P'Simer, Dana (Matrix)
Hello,

I am attempting to add a listener to the testng run for my project.  It
is the JUnitXMLReporter by the ReportNG project.  I added ReportNG as a
dependency in the test scope (they don't have a pom so I created one and
deployed it to our private repository ) and added the listener to the
properties:

  plugin
groupIdorg.apache.maven.plugins/groupId
artifactIdmaven-surefire-plugin/artifactId
configuration
  parallelfalse/parallel
  argLine-DstartAll=${startAll} -Xmx768m -Xms256m
-XX:PermSize=128m -XX:MaxPermSize=384m/argLine
  excludeGroupsdisabledTests,generateTestFile/excludeGroups
  excludes
exclude**/Test*.java/exclude
 
exclude**/JBossAndPersistentTwoPhaseCacheManagerTestCase.java/exclude

  /excludes
  properties

listenerorg.uncommons.reportng.JUnitXMLReporter/listener
  /properties
/configuration
  /plugin
...
dependency
  groupIdorg.uncommons/groupId
  artifactIdreportng/artifactId
  version0.9.4/version
  scopetest/scope
/dependency

But when I run the tests I get no output from the JUnitXMLReporter.
There are no errors and the tests complete successfully.

When I run 'mvn help:describe -Dplugin=surefire' I get:

$ mvn help:describe -Dplugin=surefire
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'help'.
[INFO]

[INFO] Building commons
[INFO]task-segment: [help:describe] (aggregator-style)
[INFO]

[INFO] [help:describe]
[INFO] Plugin:
'org.apache.maven.plugins:maven-surefire-plugin:2.4.2'
---
Group Id:  org.apache.maven.plugins
Artifact Id: maven-surefire-plugin
Version: 2.4.2
Goal Prefix: surefire
Description:

Surefire is a test framework project.

[INFO]

[INFO] BUILD SUCCESSFUL
[INFO]

[INFO] Total time: 1 second
[INFO] Finished at: Wed Mar 19 13:25:45 EDT 2008
[INFO] Final Memory: 3M/6M
[INFO]



BTW, the reason I am doing this is so that I can get a Junit Style
report for Hudson to display.  If there is a better way to do this, I
would appreciate any suggestions.

Dana H. P'Simer
Dana.P'[EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]