[Git migration] How to handle svn:external used by Tomcat Native

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

[Git migration] How to handle svn:external used by Tomcat Native

markt
Currently, Tomcat Native uses an svn:external to pull in the current
Java source from trunk. With the switch to git, we'll need a different
solution.

Possible options:

1) Stop distributing Java elements of Tomcat Native in the Tomcat
   Native release

2) Migrate Tomcat Native to git and use a sub-module

One point to note with option 2 is that, as far as I have been able to
determine so far, you can't add a sub-directory of another git repo as a
sub-module. It has to be the whole thing. That isn't really what we want.

Thoughts? comments?

Mark

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

Reply | Threaded
Open this post in threaded view
|

Re: [Git migration] How to handle svn:external used by Tomcat Native

Rainer Jung-3
Am 11.02.2018 um 21:36 schrieb Mark Thomas:

> Currently, Tomcat Native uses an svn:external to pull in the current
> Java source from trunk. With the switch to git, we'll need a different
> solution.
>
> Possible options:
>
> 1) Stop distributing Java elements of Tomcat Native in the Tomcat
>     Native release
>
> 2) Migrate Tomcat Native to git and use a sub-module
>
> One point to note with option 2 is that, as far as I have been able to
> determine so far, you can't add a sub-directory of another git repo as a
> sub-module. It has to be the whole thing. That isn't really what we want.
>
> Thoughts? comments?

I think 1) would be OK. We could still bundle the classes for testing
purposes during the release process. Migrating to tcnative could be a
logical next step though.

Regards,

Rainer


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

Reply | Threaded
Open this post in threaded view
|

Re: [Git migration] How to handle svn:external used by Tomcat Native

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

Mark,

On 2/11/18 3:36 PM, Mark Thomas wrote:

> Currently, Tomcat Native uses an svn:external to pull in the
> current Java source from trunk. With the switch to git, we'll need
> a different solution.
>
> Possible options:
>
> 1) Stop distributing Java elements of Tomcat Native in the Tomcat
> Native release
>
> 2) Migrate Tomcat Native to git and use a sub-module
>
> One point to note with option 2 is that, as far as I have been able
> to determine so far, you can't add a sub-directory of another git
> repo as a sub-module. It has to be the whole thing. That isn't
> really what we want.
>
> Thoughts? comments?

Is there also option 3) amend the build process to fetch the source
from svn?

IIRC, there's no particular reason to have the Java elements from
tcnative actually *IN* the tcnative project. It's just a "build
detail", right?

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQJRBAEBCAA7FiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlqB4EkdHGNocmlzQGNo
cmlzdG9waGVyc2NodWx0ei5uZXQACgkQHPApP6U8pFhD2hAAxvc1FCkfNCMO88Y3
ap5lyV3wME21cB/ZLWl+unLKDGgsdOqVf92Q8XkcC1mZ/u9TaR4TIaTJepR5zXBF
yJ4TXvLOq4iliW+5YA8WYDBZifZDgBd3Jb8bS1QPwYNN4RmDPbM1osaE4ZHv/KYX
HJzKEtDMF/ZXi3Dr7bZwlWAm3kht+PkbOFHbtuZtnuK96sXcX3ETiAk1H5LmZzoF
Dczf9cT2NIA0DJPHBDStCsUX/D3pgRjYw+ys7x7bywl4mmzSc6avkV+ph4v7Kfwv
gbwVJHaXomiv1wwEtGmW2vIXrP0oKWkUpQFm7vpFntUFNwHinOYL7CXnhhWxt3gy
OYvnsDFPP/buctgfy+RkSN2kRTiHVBc8UAJqajqiia9tqQDCRpLciEm8Mko+YKhA
YY+Mr1p8AdmULksE2LB0yf0xI+Y7FODBy5g7XDqeBTEHg9CzIinjgQceEoFDns2v
oU0FqLnhOB8dySp7aK4Y4Xw9mtUQVfzSK57isRw7Q0aQ4GuleoYKzEM9BUdfw5zz
64mvQwsoF23bF/5lXYIL0n5+p5YMF7lL1Won/YqxNrznVH47qFoNzgsrp5BWlk/9
DIIxdtx1oNXe5gfG28eawsaQGCi55/xt0OLKhBeZVhvEHJRI/aeDWAYzuqAaj7LQ
r1OgJsY8LuM0sX6VDfNNaDhjkHQ=
=8rf9
-----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: [Git migration] How to handle svn:external used by Tomcat Native

markt
On 12/02/18 18:43, Christopher Schultz wrote:

> Mark,
>
> On 2/11/18 3:36 PM, Mark Thomas wrote:
>> Currently, Tomcat Native uses an svn:external to pull in the
>> current Java source from trunk. With the switch to git, we'll need
>> a different solution.
>
>> Possible options:
>
>> 1) Stop distributing Java elements of Tomcat Native in the Tomcat
>> Native release
>
>> 2) Migrate Tomcat Native to git and use a sub-module
>
>> One point to note with option 2 is that, as far as I have been able
>> to determine so far, you can't add a sub-directory of another git
>> repo as a sub-module. It has to be the whole thing. That isn't
>> really what we want.
>
>> Thoughts? comments?
>
> Is there also option 3) amend the build process to fetch the source
> from svn?

It would be git but that is an implementation detail.

> IIRC, there's no particular reason to have the Java elements from
> tcnative actually *IN* the tcnative project. It's just a "build
> detail", right?

That strikes me as a much better plan.

We will need to take care that build are repeatable. i.e. we need to
explicitly exactly which version of the code we want to pull in.
Currently we do this with the svn revision in the svn:external. We'll
need to use the SHA1 in git.

Mark

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

Reply | Threaded
Open this post in threaded view
|

Re: [Git migration] How to handle svn:external used by Tomcat Native

Rainer Jung-3
Am 13.02.2018 um 11:56 schrieb Mark Thomas:

> On 12/02/18 18:43, Christopher Schultz wrote:
>> Mark,
>>
>> On 2/11/18 3:36 PM, Mark Thomas wrote:
>>> Currently, Tomcat Native uses an svn:external to pull in the
>>> current Java source from trunk. With the switch to git, we'll need
>>> a different solution.
>>
>>> Possible options:
>>
>>> 1) Stop distributing Java elements of Tomcat Native in the Tomcat
>>> Native release
>>
>>> 2) Migrate Tomcat Native to git and use a sub-module
>>
>>> One point to note with option 2 is that, as far as I have been able
>>> to determine so far, you can't add a sub-directory of another git
>>> repo as a sub-module. It has to be the whole thing. That isn't
>>> really what we want.
>>
>>> Thoughts? comments?
>>
>> Is there also option 3) amend the build process to fetch the source
>> from svn?
>
> It would be git but that is an implementation detail.
>
>> IIRC, there's no particular reason to have the Java elements from
>> tcnative actually *IN* the tcnative project. It's just a "build
>> detail", right?
>
> That strikes me as a much better plan.
>
> We will need to take care that build are repeatable. i.e. we need to
> explicitly exactly which version of the code we want to pull in.
> Currently we do this with the svn revision in the svn:external. We'll
> need to use the SHA1 in git.

Or/and spend a tag which would not be used for a TC release but a
tcnative Java parts release.

Regards,

Rainer


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

Reply | Threaded
Open this post in threaded view
|

Re: [Git migration] How to handle svn:external used by Tomcat Native

ebourg
In reply to this post by Christopher Schultz-2
Le 12/02/2018 à 19:43, Christopher Schultz a écrit :

> Is there also option 3) amend the build process to fetch the source
> from svn?

This would be a bit inconvenient for Linux distributions like Debian
that build Tomcat in offline mode.

Emmanuel Bourg

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

Reply | Threaded
Open this post in threaded view
|

Re: [Git migration] How to handle svn:external used by Tomcat Native

Rainer Jung-3
Am 14.02.2018 um 12:15 schrieb Emmanuel Bourg:
> Le 12/02/2018 à 19:43, Christopher Schultz a écrit :
>
>> Is there also option 3) amend the build process to fetch the source
>> from svn?
>
> This would be a bit inconvenient for Linux distributions like Debian
> that build Tomcat in offline mode.

I guess we would bundle the Java sources in any source distribution we
provide. So only people wanting to do a release would need to run that
"grab Java files from Tomcat" step. The step would be done by the
release script.

Regards,

Rainer


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

Reply | Threaded
Open this post in threaded view
|

Re: [Git migration] How to handle svn:external used by Tomcat Native

ebourg
In reply to this post by markt
Le 11/02/2018 à 21:36, Mark Thomas a écrit :

> Thoughts? comments?

I'd like to suggest an alternative: what about packaging the Java part
of tomcat-native into a jar (and potentially publishing it to Maven
Central) and then adding it to the Tomcat dependencies?

Emmanuel Bourg

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

Reply | Threaded
Open this post in threaded view
|

Re: [Git migration] How to handle svn:external used by Tomcat Native

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

Emmanuel,

On 2/14/18 6:15 AM, Emmanuel Bourg wrote:
> Le 12/02/2018 à 19:43, Christopher Schultz a écrit :
>
>> Is there also option 3) amend the build process to fetch the
>> source from svn?
>
> This would be a bit inconvenient for Linux distributions like
> Debian that build Tomcat in offline mode.

I was not so clear. I was thinking "build process to assemble the
source distribution", not necessarily the "compile from source" build
process.

I hope that clears things up, and I think offline builds will still
work as expected. If someone wants to build from a fresh git-checkout,
well then, you have network access and can also fetch the tcnative
Java sources as well.

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQJRBAEBCAA7FiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlqHYLUdHGNocmlzQGNo
cmlzdG9waGVyc2NodWx0ei5uZXQACgkQHPApP6U8pFhxwRAAos5NFrs64KuRg1p4
b/agJfZrkoCODlMNlpFq81WWf1YkDEMpZFw+P2kvZC6d6mb6fk/sCfqXEYNADlMm
PRLyvl6VCmmPalLPdULFUcDv3zDdVN2BHkxmZ6sl0Jmmj7YItpY0ZW7nhahmq7m7
MfgTpHA1jvoSsHX9WsKr+wxiiT5En9R1trt1zEFxa0U98S39XjXuncKcocSiUkGs
EoFJSUdagj9cOJ9YyH0YPySkx5DpgRTnQKYE8oJjPfjKA8dveQQaoHJPaf8rsJVq
TNHmouhW/UfvSI7D0Sw1liJ6V9EUmbEsM/kLvs5DZ27IAb4Cdga/AfrtHuIAyAL+
Xf/jjTP42wINyaOscdIpTHsp/CyzXyJnC1DI27w8R6fMXBt63nhUlgSNO0lrKmiE
cdAfH389341SwbIB/Y73RMa1T5vWA72qBvFi3xqBUMaVWsbIxhryks/XyPKU8fjf
wIkd4x6JFzmeNN13B1v/AK1nNmuNXRToO4XqUpOfBqLESW+jO4ev3DlI76zmNBq9
AVXlQMA7oxEyj0heX1TKIpclEPAx7S6PcVRZHY41zDBzEOHMHY+dN1003ExZo24w
AlifeqV8ptWbJr9My057Pg75nBvNm8pRTj6yPrDxPDAGNYJ9suVhlt35uus7oKIn
vIJY4NK2Y6+E7gNKhvc15ScoABA=
=i1Wf
-----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: [Git migration] How to handle svn:external used by Tomcat Native

ebourg
In reply to this post by Rainer Jung-3
Le 14/02/2018 à 13:11, Rainer Jung a écrit :

> I guess we would bundle the Java sources in any source distribution we
> provide. So only people wanting to do a release would need to run that
> "grab Java files from Tomcat" step. The step would be done by the
> release script.

Copying the source files at release time will not be enough since they
are required to build the project even outside any release activity.

Also, someone checking out a previous tag will have to fetch the version
of tcnative that was used at this time instead of the current HEAD of
the repository. So this means the right hash/tag expected will have to
be specified in the build properties.

Emmanuel Bourg

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

Reply | Threaded
Open this post in threaded view
|

Re: [Git migration] How to handle svn:external used by Tomcat Native

markt
On 20/02/18 07:42, Emmanuel Bourg wrote:
> Le 14/02/2018 à 13:11, Rainer Jung a écrit :
>
>> I guess we would bundle the Java sources in any source distribution we
>> provide. So only people wanting to do a release would need to run that
>> "grab Java files from Tomcat" step. The step would be done by the
>> release script.
>
> Copying the source files at release time will not be enough since they
> are required to build the project even outside any release activity.

But they'd be in the source bundle. Isn't that sufficient to build off-line?

I'm not clear on what Debian needs here. There clearer you can be, the
more likely we are to pick a solution that works for Debian as well as
Tomcat.

> Also, someone checking out a previous tag will have to fetch the version
> of tcnative that was used at this time instead of the current HEAD of
> the repository. So this means the right hash/tag expected will have to
> be specified in the build properties.

Yep. This is essentially was is achieved with the external at the moment.

Mark

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

Reply | Threaded
Open this post in threaded view
|

Re: [Git migration] How to handle svn:external used by Tomcat Native

ebourg
Le 20/02/2018 à 13:42, Mark Thomas a écrit :

> But they'd be in the source bundle. Isn't that sufficient to build off-line?

Yes it is, and that's fine for Debian (Although currently the Debian
package doesn't use the source bundle but checks out from SVN, but this
can be changed).

> I'm not clear on what Debian needs here. There clearer you can be, the
> more likely we are to pick a solution that works for Debian as well as
> Tomcat.

I see two options:
1) Turn Tomcat Native into a "standard" dependency (bundled in its own
jar downloaded from Maven Central)
2) Add an independent Ant target that downloads the Tomcat Native source
files into the Tomcat source tree, the commit hash or tag being
specified in a build property.

Emmanuel Bourg

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

Reply | Threaded
Open this post in threaded view
|

Re: [Git migration] How to handle svn:external used by Tomcat Native

markt
On 20/02/18 13:19, Emmanuel Bourg wrote:

> Le 20/02/2018 à 13:42, Mark Thomas a écrit :
>
>> But they'd be in the source bundle. Isn't that sufficient to build off-line?
>
> Yes it is, and that's fine for Debian (Although currently the Debian
> package doesn't use the source bundle but checks out from SVN, but this
> can be changed).
>
>> I'm not clear on what Debian needs here. There clearer you can be, the
>> more likely we are to pick a solution that works for Debian as well as
>> Tomcat.
>
> I see two options:
> 1) Turn Tomcat Native into a "standard" dependency (bundled in its own
> jar downloaded from Maven Central)
> 2) Add an independent Ant target that downloads the Tomcat Native source
> files into the Tomcat source tree, the commit hash or tag being
> specified in a build property.

OK. I think 2 is the way to go here. I'll update the wiki accordingly.

Thanks for all the feedback on this issue.

Mark

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