You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@excalibur.apache.org by Leo Simons <ls...@jicarilla.org> on 2004/06/30 16:37:14 UTC
questions: release management scripts
Hi gang!
I'm wondering whether I should invest some time into automating most of
our release process, how much I should automate, and how I should do it.
I think I want something that:
* other people can use
* other people can maintain
* improves productivity
* automates everything but the entry of the relevant
passwords
* can be "stepped through" in some kind of interactive mode so you
can manually check the results of each step
* can interact with svn
* can interact with www.apache.org/dist
* can interact with maven properly and read the maven.xml file
* can send e-mail
I'm thinking of writing some ruby or python scripts. Does anyone else
know those languages? I think the only alternatives are either bash or
bash embedded into ant/maven <exec/> targets. There's a few things we
need (svn, ssh/scp, pgp) that are just not easy to do from java, and
hence, ant/maven.
Does anyone have any useful scripts lying around for things like tagging
svn, generating md5 and .asc files, interacting with
www.apache.org/dist, etc?
cheers,
-LSD
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Mauro Talevi <ma...@aquilonia.org>.
a couple of options:
- write a maven plugin
- try out groovy (http://groovy.codehaus.org) which has built-in ant
support and is a very natural java scripting language
I'm game for working on either - or perhaps both so then we
decide which is better :-)
Cheers
Leo Simons wrote:
> Peter Donald wrote:
>
>> <ant:exec ../>
>
>
> it just grows out of control...where's my
>
> * prerequisite check
> * argument validation
> * error recovery
> * sensible defaults
>
> should I write all that in xml?
>
>>> * writing "interactive" maven plugins / ant tasks / java code is very
>>> awkward
>>
>>
>> <i:ask question="Are you sure?" answer="result"
>> xmlns:i="jelly:interaction"/>
>
>
> that /is/ neat.
>
>>> for sure, it can be done with maven, but *I* don't know how to do it
>>> properly (I can show you some experiments which failed miserably if
>>> you want).
>>
>>
>> Give me a sample gpg command line and I can show you how to do it.
>
>
> the commands are right here:
>
> http://wiki.apache.org/excalibur/ReleaseManagement
> http://wiki.apache.org/avalon/AvalonReleaseManagerHowto
>
> for gpg its something like
>
> cd releases
> for i in `ls`; do
> gpg -v --output $i.asc --detach-sig --armor $i
> done
>
>> Or maybe just write a handful of tags in xml?
>
>
> you really think it'd just be a handful? My experience when writing the
> forrest plugin is that you write hundreds of lines...and there's no
> debugger...
>
> ...maybe that's just my limited jelly/maven/ant knowledge. I'd love to
> be proven wrong. If you can give me a few nudges in the right direction
> I might be tempted to try again.
>
> question: if its so easy, why can't I find any examples of projects like
> ours which have all this already done? Do you have any?
>
> - LSD
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> dev-unsubscribe@excalibur.apache.org
> For additional commands, e-mail:
> dev-help@excalibur.apache.org
> Apache Excalibur Project -- URL: http://excalibur.apache.org/
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Mauro Talevi <ma...@aquilonia.org>.
Peter Donald wrote:
>
>> the commands are right here:
>>
>> http://wiki.apache.org/excalibur/ReleaseManagement
>> http://wiki.apache.org/avalon/AvalonReleaseManagerHowto
>
>
> Egads. Some of this is not good. You can not reproduce a build from a
> tag which kinda defeats the purpose of a tag IMHO. Each separate
> component is not independent as they reference things outside their
> build hierarchy (even if it is just the parent project file). My
> suggestions is when you tag that you copy the entire trunk into tags
> directory. Something like
>
> svn copy \
> https://svn.apache.org/repos/asf/excalibur/trunk
> https://svn.apache.org/repos/asf/excalibur/tags/MyComponent-Version-Release
+1 - this would ensure total consistency of the snapshot of the repo:
it's more svn-friendly as the revisions are per repository.
> I have several and I know of others but few are as anal and bogged down
> in politics as the Avalon process so most use slight modifications of
> the dist/release plugin. Mauro has worked a bit on the release plugin so
> maybe able to shed a bit of a better udnerstanding on it?
>
> Anyhow I will check in a basic maven.xml to perform basics of release
> process. I will skip generating mails and mailing them out as I think
> that is something a user should do.
>
Looks good to me :-)
I'll try it out during the weekend on linux.
Cheers
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Mauro Talevi <ma...@aquilonia.org>.
Peter Donald wrote:
>> Which keyserver did you use to send the private key?
>
>
> Not sure what you mean. The privatekey defined by this property is the
> one used by ssh so I didn't send it anywhere ... or at least I hope I
> didn't ;)
sorry - I meant public key
http://www.cryptnet.net/fdp/crypto/gpg-party.html#ss3.6
Is the keyserver minotaur - ie the same you connect to in the deploy goal?
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Peter Donald <pe...@realityforge.org>.
Mauro Talevi wrote:
> sorry - a bit confused here. do you mean that once you generate
> the key with gpg, you need to add it the ssh keys?
Nope - once I generated the key I have done absoluteely nothing with it
:) I think the process at Avalon was that you had to upload it to a KEYS
file somewhere either in subversion or on the website.
> I'm getting auth failures,
what are the failures? And what steps do I need to do to reproduce them ? :)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Mauro Talevi <ma...@aquilonia.org>.
Peter Donald wrote:
>> Which keyserver did you use to send the private key?
>
>
> Not sure what you mean. The privatekey defined by this property is the
> one used by ssh so I didn't send it anywhere ... or at least I hope I
> didn't ;)
sorry - a bit confused here. do you mean that once you generate
the key with gpg, you need to add it the ssh keys?
I'm getting auth failures, so I figured that it was because I needed
to publish the public key in some keyserver, which I suppose now to be
http://keyserver.cryptnet.net/ (or somelike).
Cheers
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Peter Donald <pe...@realityforge.org>.
Mauro Talevi wrote:
> I would find it useful to have rc's and beta's also in the main dist.
> Snapshots and dev releases can be deployed to the user areas,
> tut then again it would be difficult to share these when building other
> projects, because one would have to add the user dist to the maven repo
> list.
+/-0
Don't care eitherway ;)
>> To deploy the artifacts you add something like the following into
>> your ~/build.properties or you can specify it on command line.
>>
>> maven.username=donaldp
>> maven.privatekey=C:\Documents and Settings\Peter\Application
>> Data\SSH\UserKeys\PeterHome
>
> Which keyserver did you use to send the private key?
Not sure what you mean. The privatekey defined by this
property is the one used by ssh so I didn't send it anywhere
... or at least I hope I didn't ;)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Mauro Talevi <ma...@aquilonia.org>.
Leo Simons wrote:
>> any particular place where we want to put it svn?
>
>
> I put it right at the top. Doesn't matter that much does it?
>
cool :-)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Leo Simons <ls...@jicarilla.org>.
Mauro Talevi wrote:
> Leo Simons wrote:
>
>> sure. Add your using something like
>>
>> gpg -a --export >> KEYS
>> svn commit -m "Add my key" KEYS
>> scp KEYS minotaur.apache.org:/www/www.apache.org/dist/excalibur/
>>
>
> will do thanks!
> any particular place where we want to put it svn?
I put it right at the top. Doesn't matter that much does it?
cheers!
- LSD
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Mauro Talevi <ma...@aquilonia.org>.
Leo Simons wrote:
>
> sure. Add your using something like
>
> gpg -a --export >> KEYS
> svn commit -m "Add my key" KEYS
> scp KEYS minotaur.apache.org:/www/www.apache.org/dist/excalibur/
>
will do thanks!
any particular place where we want to put it svn?
eg - at top level excalibur/KEYS
or perhaps in a separate dir excalibur/security/KEYS ?
cheers
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Leo Simons <ls...@jicarilla.org>.
Mauro Talevi wrote:
> Leo, you should chmod -R g+w /www/www.apache.org/dist/excalibur/
> or I can't copy the KEYS file.
*$@*#(#. Done.
> I've checked in to svn though, so you can add the current KEYS to it
> and update the one in dist/excalibur.
also done.
- LSD
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Mauro Talevi <ma...@aquilonia.org>.
Leo Simons wrote:
> Mauro Talevi wrote:
>
>> Leo Simons wrote:
>>
>>> no keyserver. SSH key is passed to 'ssh' command for connecting to
>>> the server. GPG key is a different thing alltogether. It has a
>>> "keyring" stored on your local machine that's used by the "gpg"
>>> command. The public part of your GPG key goes into a file named KEYS
>>> that we need to put in SVN and in the distribution directory.
>>>
>> Leo, any chance of getting the KEYS in SVN so I can add mine?
>
>
> sure. Add your using something like
>
> gpg -a --export >> KEYS
> svn commit -m "Add my key" KEYS
> scp KEYS minotaur.apache.org:/www/www.apache.org/dist/excalibur/
>
Leo, you should chmod -R g+w /www/www.apache.org/dist/excalibur/
or I can't copy the KEYS file.
I've checked in to svn though, so you can add the current KEYS to it
and update the one in dist/excalibur.
cheers
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Leo Simons <ls...@jicarilla.org>.
Mauro Talevi wrote:
> Leo Simons wrote:
>
>> no keyserver. SSH key is passed to 'ssh' command for connecting to the
>> server. GPG key is a different thing alltogether. It has a "keyring"
>> stored on your local machine that's used by the "gpg" command. The
>> public part of your GPG key goes into a file named KEYS that we need
>> to put in SVN and in the distribution directory.
>>
> Leo, any chance of getting the KEYS in SVN so I can add mine?
sure. Add your using something like
gpg -a --export >> KEYS
svn commit -m "Add my key" KEYS
scp KEYS minotaur.apache.org:/www/www.apache.org/dist/excalibur/
cheers!
- LSD
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Mauro Talevi <ma...@aquilonia.org>.
Leo Simons wrote:
>
> no keyserver. SSH key is passed to 'ssh' command for connecting to the
> server. GPG key is a different thing alltogether. It has a "keyring"
> stored on your local machine that's used by the "gpg" command. The
> public part of your GPG key goes into a file named KEYS that we need to
> put in SVN and in the distribution directory.
>
Leo, any chance of getting the KEYS in SVN so I can add mine?
Cheers
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Mauro Talevi <ma...@aquilonia.org>.
Leo Simons wrote:
> Mauro Talevi wrote:
>
>> I would find it useful to have rc's and beta's also in the main dist.
>
>
> infrastructure wouldn't appreciate that very much. You have to
> understand that www.apache.org/dist/ is mirrored to -- I think -- over a
> 100 sites. That's a lot of bandwidth, diskspace, etc. We try to be nice
> to our mirrors and only send them content that'll be around for a long
> time.
>
> So the policy as laid down by infrastructure is "only final releases".
> Where "final" means "should stay up for several years and be mirrored
> worldwide".
I understand - fine since there is another dist for non-final releases
>> Snapshots and dev releases can be deployed to the user areas,
>> tut then again it would be difficult to share these when building other
>> projects, because one would have to add the user dist to the maven
>> repo list.
>
>
> The idea with dev and snapshot releases has historically been to keep
> them on cvs.apache.org/dist, which is not mirrored. I have this idea
> that we keep our maven repo right in subversion, as its so damn
> convenient to have a unified interface into most stuff, and it also
> makes all the "due deligence" (who the **** uploaded that javamail jar
> there? A-hah! How dare you!?) stuff automatic.
>
ok - I'm fine to use cvs.apache.org/dist.
>> Perhaps, we could define a flag like
>> maven.deploy.type={release|user}
>> that takes care of setting the deployBase, which would by default be set
>> to release, and only when someone does not want to do a public release
>> it will be set to user.
>
>
> could work; I'd prefer having this the other way around (ie if you mess
> up, no files go to www.apache.org/dist).
ok, make the user the default
> no keyserver. SSH key is passed to 'ssh' command for connecting to the
> server. GPG key is a different thing alltogether. It has a "keyring"
> stored on your local machine that's used by the "gpg" command. The
> public part of your GPG key goes into a file named KEYS that we need to
> put in SVN and in the distribution directory.
so until I've added my gpg key to the KEYS file the deploy won't work
for me, is that correct?
Let me know when the file has been added so I can add my key.
Cheers
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Leo Simons <ls...@jicarilla.org>.
Mauro Talevi wrote:
> I would find it useful to have rc's and beta's also in the main dist.
infrastructure wouldn't appreciate that very much. You have to
understand that www.apache.org/dist/ is mirrored to -- I think -- over a
100 sites. That's a lot of bandwidth, diskspace, etc. We try to be nice
to our mirrors and only send them content that'll be around for a long time.
So the policy as laid down by infrastructure is "only final releases".
Where "final" means "should stay up for several years and be mirrored
worldwide".
> Snapshots and dev releases can be deployed to the user areas,
> tut then again it would be difficult to share these when building other
> projects, because one would have to add the user dist to the maven repo
> list.
The idea with dev and snapshot releases has historically been to keep
them on cvs.apache.org/dist, which is not mirrored. I have this idea
that we keep our maven repo right in subversion, as its so damn
convenient to have a unified interface into most stuff, and it also
makes all the "due deligence" (who the **** uploaded that javamail jar
there? A-hah! How dare you!?) stuff automatic.
> Perhaps, we could define a flag like
> maven.deploy.type={release|user}
> that takes care of setting the deployBase, which would by default be set
> to release, and only when someone does not want to do a public release
> it will be set to user.
could work; I'd prefer having this the other way around (ie if you mess
up, no files go to www.apache.org/dist).
>> To deploy the artifacts you add something like the following into
>> your ~/build.properties or you can specify it on command line.
>>
>> maven.username=donaldp
>> maven.privatekey=C:\Documents and Settings\Peter\Application
>> Data\SSH\UserKeys\PeterHome
>
> Which keyserver did you use to send the private key?
no keyserver. SSH key is passed to 'ssh' command for connecting to the
server. GPG key is a different thing alltogether. It has a "keyring"
stored on your local machine that's used by the "gpg" command. The
public part of your GPG key goes into a file named KEYS that we need to
put in SVN and in the distribution directory.
cheers,
- LSD
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Mauro Talevi <ma...@aquilonia.org>.
Peter Donald wrote:
> Generate key as per instructions at
>
> http://www.cryptnet.net/fdp/crypto/gpg-party.html#ss3.5
>
> The way the script works is if you have the string "RC" in the version
> then it assumes it is a release candidate and deploys to your own
> personal account (/home/${user}/public_html/dist) otherwise it deploys
> to main area (/www/www.apache.org/dist).
I would find it useful to have rc's and beta's also in the main dist.
Snapshots and dev releases can be deployed to the user areas,
tut then again it would be difficult to share these when building other
projects, because one would have to add the user dist to the maven repo
list.
Perhaps, we could define a flag like
maven.deploy.type={release|user}
that takes care of setting the deployBase, which would by default be set
to release, and only when someone does not want to do a public release
it will be set to user.
Thoughts?
> To deploy the artifacts you add something like the following into your
> ~/build.properties or you can specify it on command line.
>
> maven.username=donaldp
> maven.privatekey=C:\Documents and Settings\Peter\Application
> Data\SSH\UserKeys\PeterHome
Which keyserver did you use to send the private key?
Cheers
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Peter Donald <pe...@realityforge.org>.
Hi,
It looks like a new Maven is out so I did it with that.
Unfortunately they made some changes to deploy
functionality. I could have used the old stuff but decided
to go with the new as it is not deprecated. Unfortunately
this means you need to update maven to rc4
What I had to do to get this going under windows is the
following. Download and install gpg
ftp://ftp.gnupg.org/gcrypt/binary/gnupg-w32cli-1.2.4.zip
Generate key as per instructions at
http://www.cryptnet.net/fdp/crypto/gpg-party.html#ss3.5
The way the script works is if you have the string "RC" in
the version then it assumes it is a release candidate and
deploys to your own personal account
(/home/${user}/public_html/dist) otherwise it deploys to
main area (/www/www.apache.org/dist).
To deploy the artifacts you add something like the following
into your ~/build.properties or you can specify it on
command line.
maven.username=donaldp
maven.privatekey=C:\Documents and Settings\Peter\Application
Data\SSH\UserKeys\PeterHome
The goal to deploy artifacts is "excalibur:deploy", tagging
repo is "excalibur:tagRelease" and releasing (which tags and
deploys) is "excalibur:release"
For a sample of what the release produces checkout the
following. It is not an RC release (I forced it to go into
personal directory).
http://cvs.apache.org/~donaldp/dist/
Anything else that would be useful to do?
--
Cheers,
Peter Donald
*------------------------------------------------*
| Trying is the first step to failure. |
| So never try, Lisa - Homer Jay Simpson |
*------------------------------------------------*
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Niclas Hedhman <ni...@hedhman.org>.
Peter Donald wrote:
> svn copy \
> https://svn.apache.org/repos/asf/excalibur/trunk
> https://svn.apache.org/repos/asf/excalibur/tags/MyComponent-Version-Release
I would suggest that a 'special' top level directory is used, so it is
not intermingled with all the 'experimental' and 'work' stuff.
Niclas
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Peter Donald <pe...@realityforge.org>.
Leo Simons wrote:
> it just grows out of control...where's my
>
> * prerequisite check
> * argument validation
> * error recovery
> * sensible defaults
>
> should I write all that in xml?
Should you write it at all?
> the commands are right here:
>
> http://wiki.apache.org/excalibur/ReleaseManagement
> http://wiki.apache.org/avalon/AvalonReleaseManagerHowto
Egads. Some of this is not good. You can not reproduce a
build from a tag which kinda defeats the purpose of a tag
IMHO. Each separate component is not independent as they
reference things outside their build hierarchy (even if it
is just the parent project file). My suggestions is when you
tag that you copy the entire trunk into tags directory.
Something like
svn copy \
https://svn.apache.org/repos/asf/excalibur/trunk
https://svn.apache.org/repos/asf/excalibur/tags/MyComponent-Version-Release
> question: if its so easy, why can't I find any examples of projects like
> ours which have all this already done? Do you have any?
I have several and I know of others but few are as anal and
bogged down in politics as the Avalon process so most use
slight modifications of the dist/release plugin. Mauro has
worked a bit on the release plugin so maybe able to shed a
bit of a better udnerstanding on it?
Anyhow I will check in a basic maven.xml to perform basics
of release process. I will skip generating mails and mailing
them out as I think that is something a user should do.
--
Cheers,
Peter Donald
"The only way to get rid of a temptation is
to yield to it." - Oscar Wilde (1854-1900)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Leo Simons <ls...@jicarilla.org>.
Peter Donald wrote:
> <ant:exec ../>
it just grows out of control...where's my
* prerequisite check
* argument validation
* error recovery
* sensible defaults
should I write all that in xml?
>> * writing "interactive" maven plugins / ant tasks / java code is very
>> awkward
>
> <i:ask question="Are you sure?" answer="result"
> xmlns:i="jelly:interaction"/>
that /is/ neat.
>> for sure, it can be done with maven, but *I* don't know how to do it
>> properly (I can show you some experiments which failed miserably if
>> you want).
>
> Give me a sample gpg command line and I can show you how to do it.
the commands are right here:
http://wiki.apache.org/excalibur/ReleaseManagement
http://wiki.apache.org/avalon/AvalonReleaseManagerHowto
for gpg its something like
cd releases
for i in `ls`; do
gpg -v --output $i.asc --detach-sig --armor $i
done
> Or maybe just write a handful of tags in xml?
you really think it'd just be a handful? My experience when writing the
forrest plugin is that you write hundreds of lines...and there's no
debugger...
...maybe that's just my limited jelly/maven/ant knowledge. I'd love to
be proven wrong. If you can give me a few nudges in the right direction
I might be tempted to try again.
question: if its so easy, why can't I find any examples of projects like
ours which have all this already done? Do you have any?
- LSD
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Peter Donald <pe...@realityforge.org>.
Leo Simons wrote:
>> Which of those steps can not be done with maven?
>
> * there is no usable svn library for java
<ant:exec dir="${maven.build.dir}" executable="svn" failonerror="true">
<ant:arg line="export svn+ssh://peter@XXXX/scm/Research/packetspy/trunk ${releaseDir}"/>
</ant:exec>
> * there is no usable gpg library for java
<ant:exec ../>
> * writing "interactive" maven plugins / ant tasks / java code is very
> awkward
<i:ask question="Are you sure?" answer="result" xmlns:i="jelly:interaction"/>
> for sure, it can be done with maven, but *I* don't know how to do it
> properly (I can show you some experiments which failed miserably if you
> want).
Give me a sample gpg command line and I can show you how to do it.
> What would you propose we do? Write a few thousand lines of java code
> and maintain our own plugins, figuring out the everchanging and very
> much undocumented broad landscape of maven internals?
Or maybe just write a handful of tags in xml?
--
Cheers,
Peter Donald
*-------------------------------------------*
| "You can't depend on your eyes when your |
| imagination is out of focus." -Mark Twain |
*-------------------------------------------*
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Leo Simons <ls...@jicarilla.org>.
Peter Donald wrote:
> Leo Simons wrote:
>
>> I'm thinking of writing some ruby or python scripts. Does anyone else
>> know those languages? I think the only alternatives are either bash or
>> bash embedded into ant/maven <exec/> targets. There's a few things we
>> need (svn, ssh/scp, pgp) that are just not easy to do from java, and
>> hence, ant/maven.
>>
>> Does anyone have any useful scripts lying around for things like
>> tagging svn, generating md5 and .asc files, interacting with
>> www.apache.org/dist, etc?
>
> Which of those steps can not be done with maven?
* there is no usable svn library for java
* there is no usable gpg library for java
* writing "interactive" maven plugins / ant tasks / java code is very
awkward
for sure, it can be done with maven, but *I* don't know how to do it
properly (I can show you some experiments which failed miserably if you
want).
What would you propose we do? Write a few thousand lines of java code
and maintain our own plugins, figuring out the everchanging and very
much undocumented broad landscape of maven internals?
I simply don't have the energy for that. I would very much applaud such
an effort (hey Niclas, you hear? I'm applauding your effort ;)), but I'm
not gonna do it myself. In the meantime, I think we do need something.
> Why introduce more
> complexity?
I will assert the complexity is already there (in the use case)! The
reason to use a scripting language is that I know how to (ab)use them to
tackle complex problems and "glue" stuff together quickly.
For me, this is "the simplest thing".
> | The student who is never required to do what |
> | he cannot do never does what he can do. |
as always, right on target with the quote...gotta love it :-D
- LSD
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by hammett <ha...@uol.com.br>.
----- Original Message -----
From: "Peter Donald" <pe...@realityforge.org>
> Which of those steps can not be done with maven? Why
> introduce more complexity?
Hehe! This is a funny statement.
Comparing Maven/Jelly with python and telling that python is adding
complexity is... hmmm... awkward :-)
Btw, the Avaloners had success with their customisation of Ant (called
Magic). Really simple and lightweight build system. If the build vote was
restarted, as I think it was, here my new +1 to Ant :-D
Cheers,
hammett
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Peter Donald <pe...@realityforge.org>.
Leo Simons wrote:
> I'm thinking of writing some ruby or python scripts. Does anyone else
> know those languages? I think the only alternatives are either bash or
> bash embedded into ant/maven <exec/> targets. There's a few things we
> need (svn, ssh/scp, pgp) that are just not easy to do from java, and
> hence, ant/maven.
>
> Does anyone have any useful scripts lying around for things like tagging
> svn, generating md5 and .asc files, interacting with
> www.apache.org/dist, etc?
Which of those steps can not be done with maven? Why
introduce more complexity?
--
Cheers,
Peter Donald
*------------------------------------------------*
| The student who is never required to do what |
| he cannot do never does what he can do. |
| - John Stuart Mill |
*------------------------------------------------*
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/
Re: questions: release management scripts
Posted by Niclas Hedhman <ni...@hedhman.org>.
Leo Simons wrote:
> I'm thinking of writing some ruby or python scripts. Does anyone else
> know those languages?
What's wrong with Java :o)
> There's a few things we
> need (svn, ssh/scp, pgp) that are just not easy to do from java, and
> hence, ant/maven.
ssh/scp is available as Ant tasks. And you can always use <exec> which
seems to be just as 'platform dependent' as requiring
python/bash/whatever.
> Does anyone have any useful scripts lying around for things like tagging
> svn, generating md5 and .asc files, interacting with
> www.apache.org/dist, etc?
For generation of MD5 and .ASC (and soon uploading) they all exist as
Ant tasks in Avalon Magic. /repos/asf/avalon/trunk/tools/magic
(Avalon Magic will have complete release management in due time :o) )
Shouldn't Excalibur also use Maven's release management, since
Excalibur has voted to use Maven as the build system? Aren't you too
quick to 'do it my way', instead of 'adapting the standard' ?
Cheers
Niclas
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/