Discussion:
Build support for JDK-8044627
Pavel Rappo
2014-10-14 13:27:16 UTC
Permalink
Hi,

I can't build jdk9/dev repo after I introduced 4 'META-INF/service/javax.naming.spi.InitialContextFactory' files to support JNDI providers loading as a service [1]. My guess is that 'META-INF/service/javax.naming.spi.InitialContextFactory' files from different modules are being copied into the same jar. What I really need to have is a single concatenated 'META-INF/service/javax.naming.spi.InitialContextFactory' file with 4 lines. It will work fine for now.

Could you please help me to resolve this? Thanks.

---------------------------------------------------------
[1] http://cr.openjdk.java.net/~prappo/8044627/webrev.01/

-Pavel
Erik Joelsson
2014-10-14 13:37:14 UTC
Permalink
Hello Pavel,

This will be a bit tricky. Give me a day or two and I will try to come
up with something.

/Erik
Post by Pavel Rappo
Hi,
I can't build jdk9/dev repo after I introduced 4 'META-INF/service/javax.naming.spi.InitialContextFactory' files to support JNDI providers loading as a service [1]. My guess is that 'META-INF/service/javax.naming.spi.InitialContextFactory' files from different modules are being copied into the same jar. What I really need to have is a single concatenated 'META-INF/service/javax.naming.spi.InitialContextFactory' file with 4 lines. It will work fine for now.
Could you please help me to resolve this? Thanks.
---------------------------------------------------------
[1] http://cr.openjdk.java.net/~prappo/8044627/webrev.01/
-Pavel
Erik Joelsson
2014-10-15 10:40:06 UTC
Permalink
Hello,

I have managed to come up with this solution for jdk9/dev.

http://cr.openjdk.java.net/~erikj/8044627/webrev.01/

I added a gensrc step for each of the affected modules that simply
concatenates the files into the gensrc output dir. The version found
there will automatically override the one in the jdk/src. There is an
extra complication at the top level as java.corba already had a gensrc
step in the corba repo. The proper solution for that part will have to
be done in Jigsaw M2, the merge will be hairy. I also had come up with a
way to only include one of the files in resources.jar, since the jar
command doesn't like duplicate entries. This is a bit of a hack,
explicitly excluding 3 of the files, but since resource.jar is going
away in M2 anyway, I think it's fine for now.

/Erik
Post by Erik Joelsson
Hello Pavel,
This will be a bit tricky. Give me a day or two and I will try to come
up with something.
/Erik
Post by Pavel Rappo
Hi,
I can't build jdk9/dev repo after I introduced 4
'META-INF/service/javax.naming.spi.InitialContextFactory' files to
support JNDI providers loading as a service [1]. My guess is that
'META-INF/service/javax.naming.spi.InitialContextFactory' files from
different modules are being copied into the same jar. What I really
need to have is a single concatenated
'META-INF/service/javax.naming.spi.InitialContextFactory' file with 4
lines. It will work fine for now.
Could you please help me to resolve this? Thanks.
---------------------------------------------------------
[1] http://cr.openjdk.java.net/~prappo/8044627/webrev.01/
-Pavel
Pavel Rappo
2014-10-15 12:10:37 UTC
Permalink
Thanks Erik!

-Pavel
Post by Erik Joelsson
Hello,
I have managed to come up with this solution for jdk9/dev.
http://cr.openjdk.java.net/~erikj/8044627/webrev.01/
I added a gensrc step for each of the affected modules that simply concatenates the files into the gensrc output dir. The version found there will automatically override the one in the jdk/src. There is an extra complication at the top level as java.corba already had a gensrc step in the corba repo. The proper solution for that part will have to be done in Jigsaw M2, the merge will be hairy. I also had come up with a way to only include one of the files in resources.jar, since the jar command doesn't like duplicate entries. This is a bit of a hack, explicitly excluding 3 of the files, but since resource.jar is going away in M2 anyway, I think it's fine for now.
/Erik
Post by Erik Joelsson
Hello Pavel,
This will be a bit tricky. Give me a day or two and I will try to come up with something.
/Erik
Post by Pavel Rappo
Hi,
I can't build jdk9/dev repo after I introduced 4 'META-INF/service/javax.naming.spi.InitialContextFactory' files to support JNDI providers loading as a service [1]. My guess is that 'META-INF/service/javax.naming.spi.InitialContextFactory' files from different modules are being copied into the same jar. What I really need to have is a single concatenated 'META-INF/service/javax.naming.spi.InitialContextFactory' file with 4 lines. It will work fine for now.
Could you please help me to resolve this? Thanks.
---------------------------------------------------------
[1] http://cr.openjdk.java.net/~prappo/8044627/webrev.01/
-Pavel
Chris Hegarty
2014-10-16 12:49:18 UTC
Permalink
Erik,

Pavel has already pushed the JNDI changes, and will follow up with the service configuration files later, so this issue is less pressing. If you like lets defer addressing the general problem of concatenating service configuration files until jigsaw/m2 is in the JDK 9 mainline. There is no urgency on this, and no point adding unnecessary merge complication ( which I think it what you are suggesting ).

-Chris.
Post by Erik Joelsson
Hello,
I have managed to come up with this solution for jdk9/dev.
http://cr.openjdk.java.net/~erikj/8044627/webrev.01/
I added a gensrc step for each of the affected modules that simply concatenates the files into the gensrc output dir. The version found there will automatically override the one in the jdk/src. There is an extra complication at the top level as java.corba already had a gensrc step in the corba repo. The proper solution for that part will have to be done in Jigsaw M2, the merge will be hairy. I also had come up with a way to only include one of the files in resources.jar, since the jar command doesn't like duplicate entries. This is a bit of a hack, explicitly excluding 3 of the files, but since resource.jar is going away in M2 anyway, I think it's fine for now.
/Erik
Post by Erik Joelsson
Hello Pavel,
This will be a bit tricky. Give me a day or two and I will try to come up with something.
/Erik
Post by Pavel Rappo
Hi,
I can't build jdk9/dev repo after I introduced 4 'META-INF/service/javax.naming.spi.InitialContextFactory' files to support JNDI providers loading as a service [1]. My guess is that 'META-INF/service/javax.naming.spi.InitialContextFactory' files from different modules are being copied into the same jar. What I really need to have is a single concatenated 'META-INF/service/javax.naming.spi.InitialContextFactory' file with 4 lines. It will work fine for now.
Could you please help me to resolve this? Thanks.
---------------------------------------------------------
[1] http://cr.openjdk.java.net/~prappo/8044627/webrev.01/
-Pavel
Erik Joelsson
2014-10-16 14:58:10 UTC
Permalink
Hello,

The main problem is that we now will have Gensrc-$m.gmk for the same
module in multiple repos. Now, that just happened again with my patch to
split GensrcProperties.gmk (jdk.dev has gensrc in both langtools and
jdk), so I took the time to solve it in M2. What I mean by this is that
M2 is prepared to handle it and the merge will not be that complicated
anymore. I would rather have it done and dealt with early.

/Erik
Post by Chris Hegarty
Erik,
Pavel has already pushed the JNDI changes, and will follow up with the service configuration files later, so this issue is less pressing. If you like lets defer addressing the general problem of concatenating service configuration files until jigsaw/m2 is in the JDK 9 mainline. There is no urgency on this, and no point adding unnecessary merge complication ( which I think it what you are suggesting ).
-Chris.
Post by Erik Joelsson
Hello,
I have managed to come up with this solution for jdk9/dev.
http://cr.openjdk.java.net/~erikj/8044627/webrev.01/
I added a gensrc step for each of the affected modules that simply concatenates the files into the gensrc output dir. The version found there will automatically override the one in the jdk/src. There is an extra complication at the top level as java.corba already had a gensrc step in the corba repo. The proper solution for that part will have to be done in Jigsaw M2, the merge will be hairy. I also had come up with a way to only include one of the files in resources.jar, since the jar command doesn't like duplicate entries. This is a bit of a hack, explicitly excluding 3 of the files, but since resource.jar is going away in M2 anyway, I think it's fine for now.
/Erik
Post by Erik Joelsson
Hello Pavel,
This will be a bit tricky. Give me a day or two and I will try to come up with something.
/Erik
Post by Pavel Rappo
Hi,
I can't build jdk9/dev repo after I introduced 4 'META-INF/service/javax.naming.spi.InitialContextFactory' files to support JNDI providers loading as a service [1]. My guess is that 'META-INF/service/javax.naming.spi.InitialContextFactory' files from different modules are being copied into the same jar. What I really need to have is a single concatenated 'META-INF/service/javax.naming.spi.InitialContextFactory' file with 4 lines. It will work fine for now.
Could you please help me to resolve this? Thanks.
---------------------------------------------------------
[1] http://cr.openjdk.java.net/~prappo/8044627/webrev.01/
-Pavel
Chris Hegarty
2014-10-16 15:04:45 UTC
Permalink
Post by Erik Joelsson
Hello,
The main problem is that we now will have Gensrc-$m.gmk for the same module in multiple repos. Now, that just happened again with my patch to split GensrcProperties.gmk (jdk.dev has gensrc in both langtools and jdk), so I took the time to solve it in M2. What I mean by this is that M2 is prepared to handle it and the merge will not be that complicated anymore. I would rather have it done and dealt with early.
Ok. I?m happy to defer the decision on this to you.

-Chris.
Post by Erik Joelsson
/Erik
Post by Chris Hegarty
Erik,
Pavel has already pushed the JNDI changes, and will follow up with the service configuration files later, so this issue is less pressing. If you like lets defer addressing the general problem of concatenating service configuration files until jigsaw/m2 is in the JDK 9 mainline. There is no urgency on this, and no point adding unnecessary merge complication ( which I think it what you are suggesting ).
-Chris.
Post by Erik Joelsson
Hello,
I have managed to come up with this solution for jdk9/dev.
http://cr.openjdk.java.net/~erikj/8044627/webrev.01/
I added a gensrc step for each of the affected modules that simply concatenates the files into the gensrc output dir. The version found there will automatically override the one in the jdk/src. There is an extra complication at the top level as java.corba already had a gensrc step in the corba repo. The proper solution for that part will have to be done in Jigsaw M2, the merge will be hairy. I also had come up with a way to only include one of the files in resources.jar, since the jar command doesn't like duplicate entries. This is a bit of a hack, explicitly excluding 3 of the files, but since resource.jar is going away in M2 anyway, I think it's fine for now.
/Erik
Post by Erik Joelsson
Hello Pavel,
This will be a bit tricky. Give me a day or two and I will try to come up with something.
/Erik
Post by Pavel Rappo
Hi,
I can't build jdk9/dev repo after I introduced 4 'META-INF/service/javax.naming.spi.InitialContextFactory' files to support JNDI providers loading as a service [1]. My guess is that 'META-INF/service/javax.naming.spi.InitialContextFactory' files from different modules are being copied into the same jar. What I really need to have is a single concatenated 'META-INF/service/javax.naming.spi.InitialContextFactory' file with 4 lines. It will work fine for now.
Could you please help me to resolve this? Thanks.
---------------------------------------------------------
[1] http://cr.openjdk.java.net/~prappo/8044627/webrev.01/
-Pavel
Loading...