-
1. Re: Build System Meeting Agenda Mar 01, 2007
pgier Mar 1, 2007 11:10 AM (in response to pgier)A couple of other issues to discuss
Can we use the mvn release plugin for the next release of common? This would allow us to test the release plugin, and the jboss-deploy plugin.
Can the interface to JBossRetro be changed? Currently the ant task calls the weaver through command line args. Is it ok to add direct setter methods to Weaver so that the maven plugin can call it directly? The ant task could still call Weaver through CLI params, but we could add a more direct way to call it also. Does the maven plugin need to start Weaver in a separate JVM? -
2. Re: Build System Meeting Agenda Mar 01, 2007
starksm64 Mar 1, 2007 1:15 PM (in response to pgier)"pgier" wrote:
Can we use the mvn release plugin for the next release of common? This would allow us to test the release plugin, and the jboss-deploy plugin.
Yes."pgier" wrote:
Can the interface to JBossRetro be changed? Currently the ant task calls the weaver through command line args. Is it ok to add direct setter methods to Weaver so that the maven plugin can call it directly? The ant task could still call Weaver through CLI params, but we could add a more direct way to call it also.
Yes, the interface can be changed."pgier" wrote:
Does the maven plugin need to start Weaver in a separate JVM?
This is typically required in order to change the classpath. -
3. Re: Build System Meeting Agenda Mar 01, 2007
pgier Mar 1, 2007 3:27 PM (in response to pgier)"scott.stark@jboss.org" wrote:
"pgier" wrote:
Can we use the mvn release plugin for the next release of common? This would allow us to test the release plugin, and the jboss-deploy plugin.
Yes.
What is a good time do do this? Can I create a release next week?"scott.stark@jboss.org" wrote:
"pgier" wrote:
Does the maven plugin need to start Weaver in a separate JVM?
This is typically required in order to change the classpath.
The javassist ClassPool has an appendPathList method. I think I can use this to add the necessary files to the classpath. It seems to be working, but I'm just worried that I will break something that I'm not thinking of. -
4. Re: Build System Meeting Agenda Mar 01, 2007
starksm64 Mar 1, 2007 4:34 PM (in response to pgier)"pgier" wrote:
What is a good time do do this? Can I create a release next week?
Do it anytime as there are no issues needed for a 2.0.4.GA release. -
5. Re: Build System Meeting Agenda Mar 01, 2007
pgier Mar 2, 2007 8:37 AM (in response to pgier)Notes from the meeting
Should we create some kind of automatic notification for releases? This could be done through a maven plugin that sends an email or generates an RSS feed.
How should we handle thirdparty jars in our repository? One way is to set up a separate repository just for thirdparty artifacts. Another way is to allow developers to add thirdparty stuff to the snapshot repository, and then copy the required files to the release repository when a release is performed.
I started looking at some maven scripts for app server from about 1 year ago. They are out of date, but I will see what I can use from them and add them to app server 5.0.
What needs to go into the distribution file for microcontainer? We talked about creating an assembly for microcontainer, but I'm not sure if there are any old releases similar to what we want now. -
6. Re: Build System Meeting Agenda Mar 01, 2007
starksm64 Mar 2, 2007 12:41 PM (in response to pgier)"pgier" wrote:
Should we create some kind of automatic notification for releases? This could be done through a maven plugin that sends an email or generates an RSS feed.
Sounds good, but this should also be integrated into the jboss.org site. Perhasp the rss feed is sufficient for that."pgier" wrote:
How should we handle thirdparty jars in our repository? One way is to set up a separate repository just for thirdparty artifacts. Another way is to allow developers to add thirdparty stuff to the snapshot repository, and then copy the required files to the release repository when a release is performed.
I still need the behavior of snapshot vs non-snapshot described better. We already have 'snapshot' releases in jboss and maven repositories. How does a snapshot repository come into the picture and help things. Layout the pros and cons."pgier" wrote:
I started looking at some maven scripts for app server from about 1 year ago. They are out of date, but I will see what I can use from them and add them to app server 5.0.
Before doing that we need to get some of the existing mavenized projects fully working. The jbossxb project is in a essentially unknown branching state. The vfs project unit tests fail because the url handler system property settings are not getting passed to the test correctly."pgier" wrote:
What needs to go into the distribution file for microcontainer? We talked about creating an assembly for microcontainer, but I'm not sure if there are any old releases similar to what we want now.
I'm going to create a separate thread on this in the mc forum. -
7. Re: Build System Meeting Agenda Mar 01, 2007
starksm64 Mar 2, 2007 12:59 PM (in response to pgier)For the MC mavenization, see the existing dicussion on this:
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=96393
I'm summarizing there. -
8. Re: Build System Meeting Agenda Mar 01, 2007
pgier Mar 2, 2007 4:13 PM (in response to pgier)"scott.stark@jboss.org" wrote:
"pgier" wrote:
How should we handle thirdparty jars in our repository? One way is to set up a separate repository just for thirdparty artifacts. Another way is to allow developers to add thirdparty stuff to the snapshot repository, and then copy the required files to the release repository when a release is performed.
I still need the behavior of snapshot vs non-snapshot described better. We already have 'snapshot' releases in jboss and maven repositories. How does a snapshot repository come into the picture and help things. Layout the pros and cons.
The goal of the snapshot repository is to separate development builds from release builds. Eventually we would like to have only a limited number of people with access to the releases (including alpha, beta, etc) repository. The snapshot repository will be available to all developers and will change much more often.
The limitations with the current single repository system are:
1. Release versions of artifacts can be changed by any developer with commit access to the repository.
2. There is not an easy way to clean up old builds.
3. Deploying to the repository requires the extra step of committing, and a time delay before the files appear in the repo.
4. We don't have a way to prevent snapshot versions of dependencies from being included in a release.
Having a separate snapshot repository will resolve these issues. We also don't need to have snapshots under version control. I think that maven repositories are not really meant to be under version control. The snapshot builds are basically temporary files, and the release repository should be add only and part of the release process. But it doesn't really hurt to have the releases in cvs or svn.
The only drawback I can think of is the extra complexity of having the two separate structures. -
9. Re: Build System Meeting Agenda Mar 01, 2007
starksm64 Mar 2, 2007 7:12 PM (in response to pgier)How is the repository selected?
While being able to make dev releases is good, a release that is incorporated into a shared build still cannot be an arbitrary thing. Having a graph of unstable dependencies on items in a snapshot release state is a bad thing. If I put out a 2.0.0.Beta3 build of the mc to the snapshot repository and link jbossas to it, I don't expect that it will change. Certainly not in an incompatible way. Why not have a single maven repo under svn where only devs with release tech permission can put out non-snapshot releases? Does svn support that type of filename pattern permissions or is it only path based?
Having the repo under svn (not cvs due to refactoring problems) is a good thing for tracking who changed what. -
10. Re: Build System Meeting Agenda Mar 01, 2007
pgier Mar 5, 2007 10:37 AM (in response to pgier)"scott.stark@jboss.org" wrote:
How is the repository selected?
The deployment repository can be selected automatically based on whether you are doing a release (using the release plugin). This week I will create some documentation in the wiki with more specifics about how this will work."scott.stark@jboss.org" wrote:
If I put out a 2.0.0.Beta3 build of the mc to the snapshot repository and link jbossas to it, I don't expect that it will change.
I was thinking that alpha and beta releases would go to the releases repository, and not the snapshot repository. That way they wouldn't change."scott.stark@jboss.org" wrote:
Why not have a single maven repo under svn where only devs with release tech permission can put out non-snapshot releases? Does svn support that type of filename pattern permissions or is it only path based?
Having the repo under svn (not cvs due to refactoring problems) is a good thing for tracking who changed what.
I'm not sure if SVN could provide that type of filename matching permissions. It doesn't appear to be available without changes to the svn apache modules.
I agree with you that for now we should leave the release repository under version control, but in the future it may not be necessary. -
11. Re: Build System Meeting Agenda Mar 01, 2007
dmlloyd Mar 5, 2007 10:40 AM (in response to pgier)"pgier" wrote:
"scott.stark@jboss.org" wrote:
Why not have a single maven repo under svn where only devs with release tech permission can put out non-snapshot releases? Does svn support that type of filename pattern permissions or is it only path based?
Having the repo under svn (not cvs due to refactoring problems) is a good thing for tracking who changed what.
I'm not sure if SVN could provide that type of filename matching permissions. It doesn't appear to be available without changes to the svn apache modules.
I agree with you that for now we should leave the release repository under version control, but in the future it may not be necessary.
Actually, by using a pre-commit hook you can enforce any arbitrarily complex [write] permission policy you want. Unfortunately there are no hooks (to my knowledge) that can restrict read access.