Release script for Tomcat 8.5.x

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Release script for Tomcat 8.5.x

Christopher Schultz-2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

All,

I've been working this afternoon on a Powershell script to do pretty
much everything for a release. I chose Powershell because (a) I will
have to operate on Windows for releases until I get NSIS working
elsewhere and (b) batch scripts are The Worst.

Starting with The Process[1], I have everything working up through
actually invoking "ant release".

It's downloading everything it needs (except Java... grr Oracle),
exporting from svn, etc.

The Process says to use the latest release of the minimum Java version
supported by the release. For 8.5.x, that means Java 7, but Java 7 has
been EOL'd. So... should I grab an old Java 7 JDK for building the
release, or should I use the latest supported version, which is Java 8?

I haven't yet dealt with the GnuPG key management... I'm not sure the
best way to do that at this point. I think for now, I'll just have toe
script stop and say "please install your private key in [file]" to
continue and then proceed when it's in place.

It doesn't yet do any of the "preliminaty checks" and it doesn't
create svn tags.

It's not parameterized yet so it's all hard-coded for the 8.5.35
release and its dependencies (e.g. ant) are all version-dependent at
this point as well.

Once I extract the script from the Windows 10 VM I'm running it in and
verify that it's actually runnable from a fresh box, I'll post it here
for anyone to look at. I'll probably put it on GitHub in this general
area
https://github.com/ChristopherSchultz/apache-tomcat-stuff/tree/master/bi
n

If it makes sense to do so, we could even put it into svn, which is a
bit of Inception.

- -chris

[1] https://wiki.apache.org/tomcat/ReleaseProcess
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlviGq0ACgkQHPApP6U8
pFisXg/+M1fiL0NCfQkldmx8Evfbdui0eU8tyauEqhir6IAQc6SZSyo1RpGa6iI/
/bSHj3HiSMX7C8zWg6E4aF2t3TLHP5wVjKwgIx16Vo7+9DPGcSZcmnWO3uAUbfRQ
ZnKGN33sMiuObknF2BcBindP/KzpHuAg+avvuQdaZhUAsAeWemFgZXhDUcEfAFge
sueptYh3JMrGKOl4XRq13MawoUKv9zqBUiTExVHvNHjo9y8sn8InIelw7g/BN4W2
cocKeMjYdCzcF+yYdqUkRrIL8ZyCOipZWidstaRv64G452xh+ZWDu81eRXaGAxBE
s0WEMVtAYhHJ1P/23QteYtaXiW4Eyu3aUEiaYEdBy5qzfkzwANKNzuxD58Di9Ior
F/5KmgIlDJEOrs2aAiWTAV5J8hhjcKewHU5lLjOh/qaaLaW07/R8j18oyUhLIbsB
LWgVNXeF4P70N6gxjfKI2vyTJkP0XO7czLoDFP7QVPreXzvVC2zRl6Ry9JnSZV4m
nf+3fvb4KkDX3ajftImS3/B1pAIsE7FOCUQF1kWJ0/2FaVEiO7DymVQeRbdNxsOf
l5j4+wk2UYxUMbc6SRPMRnFn8iw9wystJSKDLqZ5TgKCj65XeJxck+Sf0XbPjzzQ
2j9VyK1E4HuzU6By2x3jLvBeYXDOhYcn/1bLyM/JUQzwSkDtPVY=
=IbVx
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

RE: Release script for Tomcat 8.5.x

Caldarale, Charles R
> From: Christopher Schultz [mailto:[hidden email]]
> Subject: Release script for Tomcat 8.5.x

> It's downloading everything it needs (except Java... grr Oracle),
> exporting from svn, etc.

> The Process says to use the latest release of the minimum Java version
> supported by the release. For 8.5.x, that means Java 7, but Java 7 has
> been EOL'd. So... should I grab an old Java 7 JDK for building the
> release, or should I use the latest supported version, which is Java 8?

What about using the reference implementations available at jdk.java.net
(e.g., https://jdk.java.net/java-se-ri/7)?  These are GPLv2, so shouldn't
have the licensing problems the current Oracle ones do.

  - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.


smime.p7s (10K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Release script for Tomcat 8.5.x

markt
In reply to this post by Christopher Schultz-2
On 06/11/2018 22:50, Christopher Schultz wrote:

<snip/>

> The Process says to use the latest release of the minimum Java version
> supported by the release. For 8.5.x, that means Java 7, but Java 7 has
> been EOL'd. So... should I grab an old Java 7 JDK for building the
> release, or should I use the latest supported version, which is Java 8?

Personally, I always use Java 7. I do so as a final safety check that no
Java 8 or later specific code or dependency managed to sneak into the build.

I don't think it is essential to use Java 7 but I would strongly
recommend that any release manager builds with the latest (publicly
available) release of the minimum Java version supported by the release.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Release script for Tomcat 8.5.x

Konstantin Kolinko
In reply to this post by Christopher Schultz-2
ср, 7 нояб. 2018 г. в 1:50, Christopher Schultz <[hidden email]>:
> All,
>
> I've been working this afternoon on a Powershell script to do pretty
> much everything for a release. I chose Powershell because (a) I will
> have to operate on Windows for releases until I get NSIS working
> elsewhere and (b) batch scripts are The Worst.

FYI:
If I cannot do something with a batch script, I write a shell (bash)
script and run it with git-bash from Git for Windows.

Git for Windows comes bundled with many GNU utilities.
https://github.com/git-for-windows/git/releases/

(If Tomcat is migrated to Git someday, you are likely to use Git for
Windows on that machine anyway).

Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Release script for Tomcat 8.5.x

Christopher Schultz-2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Konstantin,

On 11/7/18 04:28, Konstantin Kolinko wrote:

> ср, 7 нояб. 2018 г. в 1:50, Christopher Schultz
> <[hidden email]>:
>> All,
>>
>> I've been working this afternoon on a Powershell script to do
>> pretty much everything for a release. I chose Powershell because
>> (a) I will have to operate on Windows for releases until I get
>> NSIS working elsewhere and (b) batch scripts are The Worst.
>
> FYI: If I cannot do something with a batch script, I write a shell
> (bash) script and run it with git-bash from Git for Windows.
>
> Git for Windows comes bundled with many GNU utilities.
> https://github.com/git-for-windows/git/releases/
>
> (If Tomcat is migrated to Git someday, you are likely to use Git
> for Windows on that machine anyway).

The nice thing about Powershell is that it has a utility built-in that
can download stuff using HTTP. A two-line Powershell script can be
copy/pasted from a web page and it can bootstrap itself from there.

For *NIX, one of curl/wget is usually already available. (Wow, you can
also download with recent versions of bash -
https://unix.stackexchange.com/a/83927/68318).

But on Windows, without Powershell you'll have to first download
something (e.g. git-for-windows) and then run a script that uses those
utilities.

I would prefer to use sh universally because (a) I'm more familiar and
(b) I find it more powerful in general -- assuming the various
semi-standard utilities are available. So perhaps I'll revise the
Powershell script so that it's just a bootstrap tool for getting
things ready for git-bash to take over.

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlvi41EACgkQHPApP6U8
pFgUBg/9FmPS3oOXUwoZcIHhQafuF5qFdoJ6yqcf8M8Sj6f0Hx7/VgfahXRtM3Sj
MjWQ5r+u37fYy1GEsfBBbYzf28i/RjW+8w7DAUsZNmVH8rIsDoOYMjQz/Dr98hHs
L1rf4Uoa9iM3XfVoa6qyOHDyUjyeiqNwI3opeKv8HyH9VbRb4iDMcsbn6YXbPm62
PmsIjX/+ZcjbHJ0oygAIYYzbNGbdrMwTL0r+RDGew8tV3IHQTWsGsD5SYDBVeSPn
ERX8My+PaCNY/p5WtPGhiS8bhhugOCwNbGeLtnInCuAJTWzxX4KPS1xsYb61uTYl
bzFbWQtSamSPve7U03clSW8S0mFPtOYnNlTk6hoha3CAxGwbNns8+2mo8CGVGUJQ
uACG9lkbCytBple8ayt+3iiGD/mdsWLack95bDs5BA8TM3e584xEKnWYJpdi538X
Lhx2fu7yUBjzOs7IxP/KA2UACQqeVV2rGKkFdAImOnV6AaLk7CxwWY66l3HFJRyN
JWMUuwlg6+96oE9Jil/1L4JV0m8B2UU1xLTiysbEx3pj2Be5LL9fKkAzda04Xlf/
Yf8I6i4bFWojj5mA2ZD6Mf3uWsZPZFnOAK01BkxSb+GUntbxC/xWaMocbwNUWptA
akO78GubLADM0o6WYngrlXmK7GwCrLv3lPEMWH8wkRFZwV0GXUk=
=KjkJ
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Release script for Tomcat 8.5.x

Christopher Schultz-2
In reply to this post by Caldarale, Charles R
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Chuck,

On 11/6/18 22:40, Caldarale, Charles R wrote:

>> From: Christopher Schultz [mailto:[hidden email]]
>> Subject: Release script for Tomcat 8.5.x
>
>> It's downloading everything it needs (except Java... grr
>> Oracle), exporting from svn, etc.
>
>> The Process says to use the latest release of the minimum Java
>> version supported by the release. For 8.5.x, that means Java 7,
>> but Java 7 has been EOL'd. So... should I grab an old Java 7 JDK
>> for building the release, or should I use the latest supported
>> version, which is Java 8?
>
> What about using the reference implementations available at
> jdk.java.net (e.g., https://jdk.java.net/java-se-ri/7)?  These are
> GPLv2, so shouldn't have the licensing problems the current Oracle
> ones do.

Thanks for the reference. I was trying to find an OpenJDK but ...
those seem to be tough to find for the old versions.

It looks like you still need to accept a license agreement, so
automated downloads might be irritating to trigger. I'll see what I
can do.

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlvi490ACgkQHPApP6U8
pFhvqRAAsO7/fAhPXDX/evmwgIjgxvgpvFLYBsJY4fqzbPpNa5JVvlZWsepzV7vq
S3tNl90fXqF9js/hzEPN96UgEdX1/CG2cCuM1qc03qYimPzAfKVqxHz5PVJGHn+b
LIbEluZisVJqgXPEYjU1sKX3QF/NyiVAp5UGxad10LpjlmBTDwORpOAy5DR7jr30
2w3UTfE4cKAL/3zhmeEgHM7roAnLSWKVa7PzlnmJezbKHKGUKaG6eN85vCCkIiUK
IrjjZ0wtQUJ/zBlV0XC06uGG6SzQC462lVbIfabkDgddt62w1jSLg0xQhcNgBvZM
P07FoobOE0z06VAauoIc1b0cDI5Tq3dPGmHZ6KA2B7h1CsCFnALeXTPeFKOAg9Lh
+XqXW1jbnWCBtVcRDP+I86Drmvtu8+8SwyvAVkt/aM8zt0gKgBLaxS8ALsFe719s
eeUdd3VEWg0KDzvxy5Qdn0tsKCa9qh1n5B8HSfNzZPEgPdguBY1dxWI/jVqlKncj
si38bhCKRDLWDIACzGAIuS/bvjrl6ZqmPhJgCgY8Vs7J9dPnlc1NLiwDbUm/Q9h0
Ttsl2kD4p5/25hHr75hS3z8R9MRPahWSS49/gfaZpxSq391hcGzvNFr3HUN5qQPU
vexF0iQLfkcHsrnc/woNtGz4VbErGOHSMTvlKe6JatmWnUSdq/g=
=SOPs
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Release script for Tomcat 8.5.x

Emmanuel Bourg
In reply to this post by Konstantin Kolinko
Le 07/11/2018 à 10:28, Konstantin Kolinko a écrit :

> If I cannot do something with a batch script, I write a shell (bash)
> script and run it with git-bash from Git for Windows.

There is also that thing named Ant that was designed to replace batch
and shell scripts to build Java projects on any platform ;)

Emmanuel Bourg

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Release script for Tomcat 8.5.x

Christopher Schultz-2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Emmanuel,

On 11/7/18 08:09, Emmanuel Bourg wrote:
> Le 07/11/2018 à 10:28, Konstantin Kolinko a écrit :
>
>> If I cannot do something with a batch script, I write a shell
>> (bash) script and run it with git-bash from Git for Windows.
>
> There is also that thing named Ant that was designed to replace
> batch and shell scripts to build Java projects on any platform ;)

I'm struggling to find a way for ant to download both itself and the
JDK on which it needs to run. :)

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlvi5YoACgkQHPApP6U8
pFis/xAAxoGTBh+F3HOyuBOeUOvgavcL1YmdJ8cSmz5l42r8buH37zJMyadxQmWs
pOQUCU5hb+G5YFrjGruVzlCplZcDP6igyxb0xFqmBFvA/TlseRlXAYfzqLsU4alS
Drp9uKD+464Ebiwg1fPdQ0kuPmQk8kMEW18X/6a8Q7ltYy+EIAxAZg2pBn8mLYcN
lr/LalSvTWqfsIrp1SYxpp38W39W8ZZ/lMHfrGdme68nrS+mdEIQEKR+G6G2ss8e
MmH70sMRTVmFHHWIR1kt9Ob3qmkh6n25coPgPOHguUx4dIdOrqL/C387KgiAtFOV
HSlpvKAAb4ruF61RkLPUmnc4WM6bTQOsvJsxwpsv4+jcvCFzo1XthT94LsOONB7j
+8Ry1V+QTC3VPPwm4OdNKwy4+kj/NjdQJ/dAEPAvUsFQoVW527Ut6CIz+bTnCs/E
PNdCxA9dplg3QaBZo1RziB9cZkKLgLPcXwfZSppfxbCh5QeEmYP0xnZPFCji6Z/P
FiVwM+/ZI4HMN5b9hZ0Ut44ruxY2l+72iLN8LnZ+TvPgpZll6+snnkM6yBFVKFVD
DvWoYZ1oWeJVj7LGtEZhL//uKP+Em2oNQvSPb/+vKRbbvBBDlRrslsZ4brLS/KZB
3cUphwvpVrs0c5fJcS0EjKpRNXWYXn/f+IkWaiwzuXufuOXh1L8=
=Ys2n
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Release script for Tomcat 8.5.x

Christopher Schultz-2
In reply to this post by Christopher Schultz-2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

All,

The release script (when run as Administrator, since I think NSIS
requires it?), I was able to produce everything except signed binaries.

I'm going to compare what I built against what Mark built for 8.5.35
to see if it did a plausible job. If so, I'm pretty happy with the
results :)

Thanks,
- -chris

On 11/6/18 5:50 PM, Christopher Schultz wrote:

> All,
>
> I've been working this afternoon on a Powershell script to do
> pretty much everything for a release. I chose Powershell because
> (a) I will have to operate on Windows for releases until I get NSIS
> working elsewhere and (b) batch scripts are The Worst.
>
> Starting with The Process[1], I have everything working up through
> actually invoking "ant release".
>
> It's downloading everything it needs (except Java... grr Oracle),
> exporting from svn, etc.
>
> The Process says to use the latest release of the minimum Java
> version supported by the release. For 8.5.x, that means Java 7, but
> Java 7 has been EOL'd. So... should I grab an old Java 7 JDK for
> building the release, or should I use the latest supported version,
> which is Java 8?
>
> I haven't yet dealt with the GnuPG key management... I'm not sure
> the best way to do that at this point. I think for now, I'll just
> have toe script stop and say "please install your private key in
> [file]" to continue and then proceed when it's in place.
>
> It doesn't yet do any of the "preliminaty checks" and it doesn't
> create svn tags.
>
> It's not parameterized yet so it's all hard-coded for the 8.5.35
> release and its dependencies (e.g. ant) are all version-dependent
> at this point as well.
>
> Once I extract the script from the Windows 10 VM I'm running it in
> and verify that it's actually runnable from a fresh box, I'll post
> it here for anyone to look at. I'll probably put it on GitHub in
> this general area
> https://github.com/ChristopherSchultz/apache-tomcat-stuff/tree/master/
bi
>
>
n

>
> If it makes sense to do so, we could even put it into svn, which is
> a bit of Inception.
>
> -chris
>
> [1] https://wiki.apache.org/tomcat/ReleaseProcess
>
> ---------------------------------------------------------------------
>
>
To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlvjgt0ACgkQHPApP6U8
pFilpA/7B6zBGeLd7gc3IFXEGKTbwgcs07VKDacMaVAbyzt8/GkLTM5UwIEJttcB
/Z1OBWRPqo0XMe5SH6+wDxsowZiG8YMj3fP9o4weYgiSgu/iST0fBoc4rhrbVuqG
sa/MPHth6GikuxhyC12wN062TmEyBVKiusu4/f80KDfUsw6pYkpj6NC9jMzAUWs5
8URoxAP7KjZ4FiavIv1vlxE5I5OXllyektZSQQKf/3TYLZcV61ZS6VIV13+RXYB9
hb6HOGMiyBx7EerUYmPdYe+btnA60BagN8qLOFztMd1QNRTFlEIE1cTTzejIoStF
yjf8SVqr9W2K74Mg/kJ1ZDn1v3vkesWwQ7Xq7iDQY8kWDK+8K5/kv+o5zlXPKJw/
sOSe2CR3Fjnl/aviYXlcxzFCobn6A73+SGcw3tmr9oVVTuyW3ZjmcaXkr2ON4VYV
dPRTQPS2PDE3272nz5vlpr6gluFLwdTMekRb8oZVJb8q5AQIi2CGsw+ybKSdddQ9
BBfxJnEBxAwRsiA7g8kwML/yTj0rW8AKM7t5LB7kV0GeN2HUbJfnpaY/rWt4ezWb
qeibp1FAlEEj4jhj73q30K5Ur3YDJoMBpNQ/xg8y6jW98xkKyOZDT4BLcDOLczFz
X9hxZgjKAQdEohsTTfFU9M8FqBlLij0cAL0txsfB+sluTImHVS0=
=8Pgu
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]