You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by Craig McClanahan <cr...@gmail.com> on 2005/01/29 20:11:11 UTC

Repository Reorg and Nightly Builds

Since one of the goals of the repository reorg is to allow us to
create separate artifacts, it would seem appropriate to me that we
should also move towards creating separate nightly builds for each
artifact as well, both so people can get used to the new approach and
also to help us verify the actual contents of each package.  Does that
sound like a reasonable goal?

If so, the simplest way to get there would probably be a build.xml
file in the top level directory of each of our main subdirectories
(apps,bsf,core,el,faces,sandbox,shale,taglib,tiles) that includes
"clean" and "dist" targets that can be used by the build script to
create the artifacts for that subdirectory, that could then be
uploaded.  Looking at the current progress on the reorg, we're not too
far from this situation already.

On the server, I would also propose that we set up a subdirectory
structure that corresponds to our main source directories, under the
canonical base directory
(http://svn.apache.org/builds/struts/nightly/).  The server already
has a cron job that cleans out files over 5 days old, so we don't need
to do anything special about that.

Finally, I've got a suggestion for the actual packaging -- include the
sources and binaries in the same zip or tar.gz archive, instead of
uploading them separately.  Since we're an open source project :-), we
should be encouraging people to take advantage of having the source
code available.  Several of the existing nightly builds (the ones I've
done in faces and shale) already do this, and it seems like the result
is more useful together than separately (where you run the risk of
getting one and forgetting to get the other).

Thoughts?

Craig

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: Repository Reorg and Nightly Builds

Posted by James Mitchell <jm...@apache.org>.
> Since one of the goals of the repository reorg is to allow us to
> create separate artifacts, it would seem appropriate to me that we
> should also move towards creating separate nightly builds for each
> artifact as well, both so people can get used to the new approach and
> also to help us verify the actual contents of each package.  Does that
> sound like a reasonable goal?

Yes

> 
> If so, the simplest way to get there would probably be a build.xml
> file in the top level directory of each of our main subdirectories
> (apps,bsf,core,el,faces,sandbox,shale,taglib,tiles) that includes
> "clean" and "dist" targets that can be used by the build script to
> create the artifacts for that subdirectory, that could then be
> uploaded.  Looking at the current progress on the reorg, we're not too
> far from this situation already.

Yes, that's the goal for the maven targets as well.  I am laying out a
plan for what deliverables we want to see, and sort of backing my way
into a clean build for both Ant and Maven.  The bulk of my time is spent
on getting the Maven builds fixed, so if anyone else (*hint* *hint*)
would like to donate some time fixing up the build.xml files, I would
really appreciate it.

> 
> On the server, I would also propose that we set up a subdirectory
> structure that corresponds to our main source directories, under the
> canonical base directory
> (http://svn.apache.org/builds/struts/nightly/).  The server already
> has a cron job that cleans out files over 5 days old, so we don't need
> to do anything special about that.

There are a few more items to do before the maven build will produce
a clean apps distribution.  Right now, running 'maven dist' from 
current/apps yields:
a) struts-mailreader-dao-1.3.0-dev.jar  
     (this is the artifact from current/apps/dao)
b) struts-examples.war
c) struts-mailreader.war
d) struts-blank.war

All of the mailreader apps have a dependency on "a" above, so when
you do maven dist from current/apps, maven will "jar:install" locally
so the rest of the apps can use it.

This presents an interesting approach to building all or any single 
peice of Struts from scratch.  AFAIK Shale is the only mailreader 
app not under current/apps.

For example, to build shale-mailreader, you have to:
1. build and install struts-core
2. build and install taglib
3. build apps
4. build shale-core
5. build shale-mailreader

or

1. build and install struts-mailreader-dao
     (current/apps/dao)
2. build shale-core
3. build shale-mailreader


Since we are not using the -SNAPSHOT approach, it is possible to 
introduce incompatibilies amoung subprojects until Gump complains.

> 
> Finally, I've got a suggestion for the actual packaging -- include the
> sources and binaries in the same zip or tar.gz archive, instead of
> uploading them separately.  Since we're an open source project :-), we
> should be encouraging people to take advantage of having the source
> code available.  Several of the existing nightly builds (the ones I've
> done in faces and shale) already do this, and it seems like the result
> is more useful together than separately (where you run the risk of
> getting one and forgetting to get the other).

Sounds good.  

And as well I think we need to keep the Ant and Maven builds
actually doing the same thing.  That will take the guess work out of
what is expected (wrt logic and deliverable).

> 
> Thoughts?
> 
> Craig
> 



--
James Mitchell
Software Engineer / Open Source Evangelist
EdgeTech, Inc.
678.910.8017
AIM: jmitchtx



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: Repository Reorg and Nightly Builds

Posted by Craig McClanahan <cr...@gmail.com>.
On Sat, 29 Jan 2005 13:49:59 -0600, Eddie Bush <ea...@gmail.com> wrote:
> +0 (I'd +1, but my time is pretty well taken right now)
> 
> So far as packaging goes, would we move to something like ...
> struts.jar and struts-src.jar, that are both contained (along with
> other items) in a struts.zip?  I assume that's what you mean.
> 

I'd prefer to implement it by just adding a "src" directory into each
distribution artifact, and copying in all the sources (minus SVN
files) ... no need to artificially add an archive inside an archive
for this.

> I really like the whole lot.  I wonder if third-party folks would
> start including the source if we packaged it that way?

At least a few Commons packages do this as well.

> 
> --
> Eddie Bush
> 

Craig

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: Repository Reorg and Nightly Builds

Posted by Eddie Bush <ea...@gmail.com>.
+0 (I'd +1, but my time is pretty well taken right now)

So far as packaging goes, would we move to something like ...
struts.jar and struts-src.jar, that are both contained (along with
other items) in a struts.zip?  I assume that's what you mean.

I really like the whole lot.  I wonder if third-party folks would
start including the source if we packaged it that way?

-- 
Eddie Bush

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org