Re: Discussion about Maven

2007-07-04 Thread David Crossley
Grzegorz Kossakowski wrote:
 Vadim Gritsenko pisze:
 Grzegorz Kossakowski wrote:
 
 I wanted to know what are our rules. Do we:
 - want to have such a internal releases
 
 I'd avoid using word release for this as it has some legal 
 implications and we would get chewed up for using it :)
 
 Ah, I'm young committer so forgive me that I omit legal implications and 
 use inappropriate words. I'm really hard working to improve my English. :-)
 I agree it should not be called release.

Many people use the term incorrectly.
See
http://apache.org/dev/#releases
http://apache.org/dev/release.html#what

 Yes I think you can do such builds and place them on your private space 
 at people.apache.org or on cocoon zones, and call it nightly or 
 build or some such, but not a milestone *release*.
 
 And it is a good idea to do such builds as long as it helps to further 
 development of Cocoon.
 
 +1
 
 IMHO, for milestone *release*, I'd bundle all necessary unreleased 
 dependencies and upload to www.apache.org/dist. I'm not sure if there 
 are any legal gotchas with this approach, but it worked for us in the 
 past, for 2.1 milestones.

The only stuff that can go at w.a.o/dist/ is that which
is intended to be released to the public beyond our dev
group. Anything put there must be approved by this PMC.

 It will not work with Maven and it can't be called release I think. My 
 personal opinion is that release (after changing wording) should be 
 something that we can officially ship using our infrastructure. Part of our 
 infrastructure is Maven now but in order to upload to its central server we 
 can't have snapshot dependencies as pointed out earlier.
 The only solution I can think of is that we stay longer in nighly build 
 mode and we can switch to milestone mode as soon as all of our dependencies 
 are released ones.
 I think that it will work well only if we successfully push projects we 
 depend on to follow release early, release often practice so we will not 
 bed forced to stay in nighly build phase too long.
 
 I'm not so much experienced with Open Source to have a strong opinion on 
 this. Do you think that we effectively push other project?

The only effective way is to go and help those other
projects: testing, feedback, etc.

-David


Re: Discussion about Maven

2007-06-07 Thread Vadim Gritsenko

Grzegorz Kossakowski wrote:
I don't think it's harder with Maven. Maven was important factor when it 
comes to ability to have independent release cycles. We just need to 
clearly define terms (like release) we use


I hope you are not suggesting to stop releasing milestones.


and get used to the thought 
that we should tend to depend on released versions and talk more with 
other projects about releasing their goodies.


Yes we should.

Vadim


Re: Discussion about Maven

2007-06-06 Thread Grzegorz Kossakowski

Ralph Goers pisze:
I have always been unhappy that Cocoon releases contained non-released 
jars for a few reasons:


  1. Often the jars were labeled something like xyz-20070525-dev.jar.
 It is impossible to download the source for this and know for sure
 that it matches what the jar was built from and whoever actually
 built the jar didn't put the source where someone could find it.
 BTW - this is much easier with subversion repositories as the
 builds can be tagged with the revision number.
  2. Who is going to support this?  Try asking a question about a
 problem. You should expect that when they ask for the version and
 you tell them you will either get nothing but silence or
 laughter.  We make no guarantees about our repository and neither
 does anyone else.

Unfortunately, some of the projects Cocoon has components built around 
only perform releases infrequently. Often we have encountered bugs that 
really need to be fixed. And finally, Cocoon uses so many other jars 
that a release would never be accomplished if we required formal 
versions of them all.


However, with 2.2 I hope we can make sure that all the core Cocoon 
components only leverage jars from projects that are pretty stable and 
well maintained. I would suggest that if we are finding that some 
projects are not responsive then it might be time to look for 
alternatives to them or perhaps even drop the Cocoon block in question.  
Of course, I haven't actually looked to see which blocks would be 
impacted so even that may be impractical.


+100

--
Grzegorz Kossakowski
http://reflectingonthevicissitudes.wordpress.com/


Re: Discussion about Maven

2007-06-05 Thread Vadim Gritsenko

Grzegorz Kossakowski wrote:
On the other hand, milestones are just 
our internal releases and I think we can live with these gaps.


No, they are not internal:
  http://cocoon.apache.org/2.1/changes.html
  http://archive.apache.org/dist/cocoon/SOURCES/
  http://repo1.maven.org/maven2/org/apache/cocoon/cocoon-core/2.2.0-M3/


Vadim


Re: Discussion about Maven

2007-06-05 Thread Grzegorz Kossakowski

Vadim Gritsenko pisze:

Grzegorz Kossakowski wrote:
On the other hand, milestones are just our internal releases and I 
think we can live with these gaps.


No, they are not internal:
  http://cocoon.apache.org/2.1/changes.html
  http://archive.apache.org/dist/cocoon/SOURCES/
  http://repo1.maven.org/maven2/org/apache/cocoon/cocoon-core/2.2.0-M3/


Examples you provided do not apply to the situation I want to discuss. In 2.1 times we were shipping all dependencies ourselves so there is 
no problem of dependency resolution.


I was talking about the situation when we want to release some early alpha that has _snapshot_ dependencies that (obviously) are _not_ 
available at central server. If we want to make such a release it has to be internal because we cannot ship it or upload at central. I 
wanted to know what are our rules. Do we:

- want to have such a internal releases
OR
- we really think that world is perfect and we'll always depend on released 
artifacts even in early stages of development
OR
- we do not make any early (alpha) releases at all (what about release early, 
release often, then?)

I would really want to know your view on this issue.

--
Grzegorz Kossakowski
http://reflectingonthevicissitudes.wordpress.com/


Re: Discussion about Maven

2007-06-05 Thread Vadim Gritsenko

Grzegorz Kossakowski wrote:

Vadim Gritsenko pisze:

Grzegorz Kossakowski wrote:
On the other hand, milestones are just our internal releases and I 
think we can live with these gaps.


No, they are not internal:
  http://cocoon.apache.org/2.1/changes.html
  http://archive.apache.org/dist/cocoon/SOURCES/
  http://repo1.maven.org/maven2/org/apache/cocoon/cocoon-core/2.2.0-M3/


Examples you provided do not apply to the situation I want to discuss. 
In 2.1 times we were shipping all dependencies ourselves so there is no 
problem of dependency resolution.


I hope it is still an option.


I was talking about the situation when we want to release some early 
alpha that has _snapshot_ dependencies that (obviously) are _not_ 
available at central server. If we want to make such a release it has to 
be internal because we cannot ship it or upload at central.


Ok, I understand.



I wanted to know what are our rules. Do we:
- want to have such a internal releases


I'd avoid using word release for this as it has some legal implications and we 
would get chewed up for using it :)


Yes I think you can do such builds and place them on your private space at 
people.apache.org or on cocoon zones, and call it nightly or build or some 
such, but not a milestone *release*.


And it is a good idea to do such builds as long as it helps to further 
development of Cocoon.




OR
- we really think that world is perfect and we'll always depend on 
released artifacts even in early stages of development


IMHO, for milestone *release*, I'd bundle all necessary unreleased dependencies 
and upload to www.apache.org/dist. I'm not sure if there are any legal gotchas 
with this approach, but it worked for us in the past, for 2.1 milestones.




OR
- we do not make any early (alpha) releases at all (what about release 
early, release often, then?)


-1. I'd prefer to have a (semi) regular milestone releases, even if it is harder 
to do with Maven...


Vadim



I would really want to know your view on this issue.





Re: Discussion about Maven

2007-06-05 Thread Grzegorz Kossakowski

Vadim Gritsenko pisze:

I wanted to know what are our rules. Do we:
- want to have such a internal releases


I'd avoid using word release for this as it has some legal 
implications and we would get chewed up for using it :)


Ah, I'm young committer so forgive me that I omit legal implications and use inappropriate words. I'm really hard working to improve my 
English. :-)

I agree it should not be called release.

Yes I think you can do such builds and place them on your private space 
at people.apache.org or on cocoon zones, and call it nightly or 
build or some such, but not a milestone *release*.


And it is a good idea to do such builds as long as it helps to further 
development of Cocoon.


+1

IMHO, for milestone *release*, I'd bundle all necessary unreleased 
dependencies and upload to www.apache.org/dist. I'm not sure if there 
are any legal gotchas with this approach, but it worked for us in the 
past, for 2.1 milestones.


It will not work with Maven and it can't be called release I think. My personal opinion is that release (after changing wording) should be 
something that we can officially ship using our infrastructure. Part of our infrastructure is Maven now but in order to upload to its 
central server we can't have snapshot dependencies as pointed out earlier.
The only solution I can think of is that we stay longer in nighly build mode and we can switch to milestone mode as soon as all of our 
dependencies are released ones.
I think that it will work well only if we successfully push projects we depend on to follow release early, release often practice so we 
will not bed forced to stay in nighly build phase too long.


I'm not so much experienced with Open Source to have a strong opinion on this. Do you 
think that we effectively push other project?

-1. I'd prefer to have a (semi) regular milestone releases, even if it 
is harder to do with Maven...


I don't think it's harder with Maven. Maven was important factor when it comes to ability to have independent release cycles. We just need 
to clearly define terms (like release) we use and get used to the thought that we should tend to depend on released versions and talk more 
with other projects about releasing their goodies.


WDYT?

--
Grzegorz Kossakowski
http://reflectingonthevicissitudes.wordpress.com/


Re: Discussion about Maven

2007-06-05 Thread Ralph Goers



Grzegorz Kossakowski wrote:
Examples you provided do not apply to the situation I want to discuss. 
In 2.1 times we were shipping all dependencies ourselves so there is 
no problem of dependency resolution.


I was talking about the situation when we want to release some early 
alpha that has _snapshot_ dependencies that (obviously) are _not_ 
available at central server. If we want to make such a release it has 
to be internal because we cannot ship it or upload at central. I 
wanted to know what are our rules. Do we:

- want to have such a internal releases
OR
- we really think that world is perfect and we'll always depend on 
released artifacts even in early stages of development

OR
- we do not make any early (alpha) releases at all (what about release 
early, release often, then?)


I would really want to know your view on this issue.
I have always been unhappy that Cocoon releases contained non-released 
jars for a few reasons:


  1. Often the jars were labeled something like xyz-20070525-dev.jar.
 It is impossible to download the source for this and know for sure
 that it matches what the jar was built from and whoever actually
 built the jar didn't put the source where someone could find it.
 BTW - this is much easier with subversion repositories as the
 builds can be tagged with the revision number.
  2. Who is going to support this?  Try asking a question about a
 problem. You should expect that when they ask for the version and
 you tell them you will either get nothing but silence or
 laughter.  We make no guarantees about our repository and neither
 does anyone else.

Unfortunately, some of the projects Cocoon has components built around 
only perform releases infrequently. Often we have encountered bugs that 
really need to be fixed. And finally, Cocoon uses so many other jars 
that a release would never be accomplished if we required formal 
versions of them all.


However, with 2.2 I hope we can make sure that all the core Cocoon 
components only leverage jars from projects that are pretty stable and 
well maintained. I would suggest that if we are finding that some 
projects are not responsive then it might be time to look for 
alternatives to them or perhaps even drop the Cocoon block in question.  
Of course, I haven't actually looked to see which blocks would be 
impacted so even that may be impractical.


Ralph


Re: Discussion about Maven

2007-06-04 Thread Grzegorz Kossakowski

Torsten Curdt pisze:


3. We cannot put milestones that depend on snapshot versions on 
central. It means that we can't upload following artifacts:

org.apache.cocoon:cocoon-maven-plugin:1.0.0-M1
org.apache.cocoon:cocoon-rcl-spring-reloader:1.0.0-M1
org.apache.cocoon:cocoon-rcl-webapp-wrapper:1.0.0-M1


If there are people who can vote over on jakarta land ...please do so! 
The vote for commmons jci rc3 is still open ...but so far I only got 
only one +1 (that makes two +1s with mine) ...at least not -1s so far.


I'd assume that would also help with the release of the above artifacts.

A frustrated...


Torsten, thanks for all the effort you have put into making this release. I wasn't aware that it's so painful to release something under 
commons umbrella. I'll keep my fingers crossed for you. :-)


Even though I agree that it's the best to release all of our dependencies I would like to know your opinion on how to handle cases when not 
all our dependencies are on central server. I'm going to play with profiles.xml file and see how it performs for us. I would like to no if 
anyone is going to have a better/other idea.


--
Grzegorz Kossakowski
http://reflectingonthevicissitudes.wordpress.com/


Re: Discussion about Maven

2007-06-04 Thread Reinhard Poetz

Grzegorz Kossakowski wrote:
Even though I agree that it's the best to release all of our 
dependencies I would like to know your opinion on how to handle cases 
when not all our dependencies are on central server. I'm going to play 
with profiles.xml file and see how it performs for us. I would like to 
no if anyone is going to have a better/other idea.


We have to distinguish between two scenarios:

 1. building your own application using Cocoon artifacts
 2. building Cocoon from SVN

ad 1): It was my mistake that I released a POM with dependencies that are not 
available on the central Maven repository. As soon as commons-jci is available, 
there is no need for it anymore.


ad 2): It's only some blocks (e.g. some portal stuff) that depend on 
dependencies outside. As long as they don't get released, that's not a problem.
Note that the root POM doesn't have any dependency on any other repository than 
the central Maven repository anymore.
Things might be different with Maven 2.1 but I suggest that we solve this 
problem when Maven 2.1 is generally available.


--
Reinhard Pötz   Independent Consultant, Trainer  (IT)-Coach 


{Software Engineering, Open Source, Web Applications, Apache Cocoon}

   web(log): http://www.poetz.cc



Re: Discussion about Maven

2007-06-04 Thread Grzegorz Kossakowski

Reinhard Poetz pisze:

Grzegorz Kossakowski wrote:
Even though I agree that it's the best to release all of our 
dependencies I would like to know your opinion on how to handle cases 
when not all our dependencies are on central server. I'm going to play 
with profiles.xml file and see how it performs for us. I would like to 
no if anyone is going to have a better/other idea.


We have to distinguish between two scenarios:

 1. building your own application using Cocoon artifacts
 2. building Cocoon from SVN

ad 1): It was my mistake that I released a POM with dependencies that 
are not available on the central Maven repository. As soon as 
commons-jci is available, there is no need for it anymore.


+1

ad 2): It's only some blocks (e.g. some portal stuff) that depend on 
dependencies outside. As long as they don't get released, that's not a 
problem.


Not completely true. Do we take into consideration the case that we depend on snapshots/milestones uploaded somewhere (let it be our or 
other's staging repos) and make our own milestone early release? I want to say that due to COCOO-1745 (aka MNG-2743) we could suffer from 
unsatisfied dependencies because repository declaration is not handled correctly.


Note that the root POM doesn't have any dependency on any other 
repository than the central Maven repository anymore.


I'm glad to hear that. Putting profiles.xml file at root dir does not tie our root pom to it. It's only a configuration file for Maven 
needed only for devs and folks interested in building Cocoon.


Things might be different with Maven 2.1 but I suggest that we solve 
this problem when Maven 2.1 is generally available.


I won't insist on this change, we have more important goals but don't tell me 
in the future that I hadn't warned you. ;-)

--
Grzegorz Kossakowski
http://reflectingonthevicissitudes.wordpress.com/


Discussion about Maven

2007-06-03 Thread Grzegorz Kossakowski

Hello,

I talked with Maven developers on IRC today. I asked for the problem[1] we are currently facing. They give me interesting advices and 
thoughts that may interest you. I paste cleaned up log file of the talk:



[15:32:18] grek hi, I'm Grzegorz Kossakowski, a member of PMC of Apache Cocoon
[15:33:07] grek I'm looking for help with Maven issues that seem to stop us 
from releasing artifacts :(
[15:34:28] grek being more precise, we are affected by this issue very badly: 
http://jira.codehaus.org/browse/MNG-2743
[15:35:14] grek Is there anyone eager to help?
[16:32:14] wsmoak   grek: it's marked for 2.0.4. can you confirm it also 
happens with 2.0.6 ?
[16:33:31] wsmoak   and... after a quick read, can you duplicate 
repository elements where you need them, so you can proceed with the release ?
[16:34:01] grek wsmoak: yes, it happens with 2.0.6
[16:35:22] grek wsmoak: yes, we can do this (and done it before) but we have 
to ask our *users* to put repository elements in *their* poms
[16:35:46] grek I'll give you more links explaining the situation
[16:36:03] wsmoak   so it's not just a problem at release time?
[16:36:45] wsmoak   why can't the artifacts in that other repo be put in 
the central repo?
[16:37:30] grek they are waiting in your JIRA ready for upload AFAIR ;)
^^ here I confused commons-jci with xreporter artifacts that 
waited for upload ^^
[16:38:56] grek	but the problem still persists, Cocoon has _lots_ of dependencies, some of the stuff is just in between of conversion to 
the Maven

[16:39:05] maxb Isn't central supposed to be selfcontained anyway?
[16:39:30] grek what do you mean by self-contained?
[16:39:40] wsmoak   ok. assuming no problems with the upload bundle and 
carlos gets them into central, is there still a problem?
[16:39:48] jvanzyl  if you mean a complete transitive closure, yes but we 
don't have a way to check just yet
[16:40:50] wsmoak   poms in the central repo shouldn't define additional 
repositories
[16:41:14] wsmoak   it makes users in corporate environments nervous to 
see Maven trying to download from random places
[16:41:28] grek hmmm, good point
[16:41:47] grek let me explain our situation and policy at Apache Cocoon
[16:42:46] jvanzyl  wsmoak: that would be a good rule to check for upload 
bundles actually
[16:42:58] jvanzyl  no external repository definitions
[16:43:03]   * jvanzyl makes a note
[16:43:24] grek	if we want release something as RC (or final) we have to make sure that we do not depend on snapshot versions and all our 
dependencies are at central
[16:44:22] grek	however, we also release milestones which can depend on snapshots and can define it's own repositories (for those 
unreleased artifacts)
[16:45:39] grek	and that's the case now, we want to release a milestone of our own Maven plug-in so users can test it and report back if 
everything works

[16:45:50] wsmoak   grek:  release meaning you want these milestones in 
the central repo?
[16:46:08] grek wsmoak: yes
[16:46:28] wsmoak   then snapshots simply aren't allowed... you'll have 
to release milestones of your dependencies.
[16:46:49] wsmoak   but these aren't really users you're asking to help 
test, are they?  they're more involved than that.
[16:47:16] wsmoak	what's wrong with staging it on people.apache.org/builds/cocoon and asking them to add a repository to their 
settings.xml to test ?

[16:47:49] grek wsmoak: we have done exactly what you suggest
[16:48:08] grek wait a minute, I'll provide links
[16:48:48] wsmoak   (btw, the Struts PMC has the same policy... snapshot 
dependencies are allowed in alpha releases.)
[16:49:35] grek http://thread.gmane.org/gmane.text.xml.cocoon.devel/73469 and 
my answers in this thread
[16:50:11] grek http://thread.gmane.org/gmane.text.xml.cocoon.devel/73495 - 
here is the user affected by the MNG-2743
[16:55:13] wsmoak   ok.  sounds like you're waiting on carlos to close a 
MAVENUPLOAD issue.
[16:56:18] BrianFox grek: you can use the enforcer plugin to make sure 
people are using 2.0.6 to build cocoon 2.2
[16:56:30] wsmoak   Kenney's 2006-01-07 comment on COCOON-1975 sounds 
right on (and that issue is closed).
[16:57:03] grek BrianFox: we use it already, but will it work if someone just 
uses the artifacts but does not build them?
[16:58:26] BrianFox no. I just saw you comment in that thread asking 
Joakim which version he used. With Enforcer you would know ;-)
[16:59:11] BrianFox the prerequisites would affect users of plugins if 
that's what you mean
[17:00:31] grek	we require Maven 2.0.6 not only for plug-ins/building but also when people just depend on our artifacts, it's due to 
dependencyManagment fixed in 2.0.6

[17:00:56] BrianFox i see
[17:01:27] wsmoak   I don't think you can force them to build their own 
projects with 2.0.6.
[17:01:44] wsmoak   you can keep them from using your plugins *unless* 
they are 

Re: Discussion about Maven

2007-06-03 Thread Torsten Curdt


3. We cannot put milestones that depend on snapshot versions on  
central. It means that we can't upload following artifacts:

org.apache.cocoon:cocoon-maven-plugin:1.0.0-M1
org.apache.cocoon:cocoon-rcl-spring-reloader:1.0.0-M1
org.apache.cocoon:cocoon-rcl-webapp-wrapper:1.0.0-M1


If there are people who can vote over on jakarta land ...please do  
so! The vote for commmons jci rc3 is still open ...but so far I only  
got only one +1 (that makes two +1s with mine) ...at least not -1s so  
far.


I'd assume that would also help with the release of the above artifacts.

A frustrated...
--
Torsten