[LOGGING] Release with Java 9 Module support

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

Re: [LOGGING] Release with Java 9 Module support

Ralph Goers
That isn’t what I suggested. Release all 3 but only turn commons-logging.jar into a module.

Ralph

> On Oct 1, 2017, at 1:25 AM, Benedikt Ritter <[hidden email]> wrote:
>
> Okay, so we agree to drop the api and adapters jars from the build and the
> distribution? If that is the case, I think we are ready to release this.
>
> Benedikt
>
> Gary Gregory <[hidden email]> schrieb am So. 1. Okt. 2017 um 03:39:
>
>> On Sep 30, 2017 11:24, "Ralph Goers" <[hidden email]> wrote:
>>
>> Looking at the build script it appears that both the api and adapters
>> modules contain a subset of what is in commons-logging.jar. I have no idea
>> why this is but all three of them cannot be modularized. I would suggest
>> only modularizing commons-logging.jar and ignoring the other two.
>>
>>
>> Makes sense to me.
>>
>> Gary
>>
>>
>> Ralph
>>
>>> On Sep 30, 2017, at 1:28 AM, Benedikt Ritter <[hidden email]> wrote:
>>>
>>>
>>>> Am 26.09.2017 um 23:34 schrieb Stephen Colebourne <[hidden email]
>>> :
>>>>
>>>> The contents of pom.xml look OK. I can't seem to browse to see if you
>>>> changed anything else in that commit.
>>>>
>>>> I would suggest being extra cautious when releasing, as a newer
>>>> version of maven may have changed some of the config, and you don't
>>>> want to release the two extra jars to maven central. (In fact, why not
>>>> just delete their creation in pom.xml ?)
>>>
>>> They are part of our standard distribution (I don’t know why) [1]. In
>> fact I saw commons-logging-api.jar fly by last time I build my Spring Boot
>> project. So it seems that those additional artifacts are still in use.
>>>
>>> I don’t know how well this plays with Automatic-Module-Name. If I
>> understand correctly only one jar can have org.apache.common.logging.
>>>
>>> Benedikt
>>>
>>> [1] http://commons.apache.org/proper/commons-logging/guide.
>> html#Jars_Included_in_the_Standard_Distribution
>>>
>>>> Stephen
>>>>
>>>> On 26 September 2017 at 22:05, Benedikt Ritter <[hidden email]>
>> wrote:
>>>>>
>>>>>> Am 26.09.2017 um 22:54 schrieb Stephen Colebourne <
>> [hidden email]
>>> :
>>>>>>
>>>>>> On 26 September 2017 at 18:48, Jörg Schaible <[hidden email]>
>> wrote:
>>>>>>> AFAICS we have only commons-logging. The other artifacts have not
>> been part
>>>>>>> of any release in the last decade.
>>>>>>
>>>>>> Simple then!
>>>>>
>>>>> Please review revision 1809785. The build still creates all those jars,
>> the Automatic-Module-Name header is added to commons-logging.jar
>> MANIFEST.MF with value org.apache.commons.logging.
>>>>>
>>>>> Regards,
>>>>> Benedikt
>>>>>
>>>>>> Stephen
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [hidden email]
>>>>>> For additional commands, e-mail: [hidden email]
>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [hidden email]
>>>>> For additional commands, e-mail: [hidden email]
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [hidden email]
>>>> For additional commands, e-mail: [hidden email]
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>
>>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>



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

Reply | Threaded
Open this post in threaded view
|

Re: [LOGGING] Release with Java 9 Module support

Ralph Goers
In reply to this post by sebb-2-2

> On Oct 1, 2017, at 2:48 AM, sebb <[hidden email]> wrote:
>
> On 1 October 2017 at 10:08, Pascal Schumacher <[hidden email] <mailto:[hidden email]>> wrote:
>> Looks like commons-logging-api is used by some popular projects (Hibernate,
>> Hadoop, Camel):
>>
>> http://www.mvnrepository.com/artifact/commons-logging/commons-logging-api/usages <http://www.mvnrepository.com/artifact/commons-logging/commons-logging-api/usages>
>>
>> but I guess they can easily switch to commons-logging.
>
> Not sure I agree with that.
>
> The purpose of the api jar is to define the API only without bringing
> in the rest of the code.
> Potentially having the implementation as well could cause issues.
>
>> Commons-logging-adatper seem to be very rarely used:
>>
>> http://www.mvnrepository.com/artifact/commons-logging/commons-logging-adapters/usages <http://www.mvnrepository.com/artifact/commons-logging/commons-logging-adapters/usages>
>>
>> As I understand it there is no other (realistic) choice than dropping the
>> api and the adpater jars, so +1 from me.
>
> The split into API and implementation seems to me to be a
> well-established pattern, so if Maven or Java 9 cannot support that
> then it is Maven or Java 9 that needs to be fixed.

I would agree with you if commons-logging had done a proper job of splitting the api from the implementation. It did not. Everything is together in one source directory and the build picks and chooses what goes into each jar. Maven isn’t even in the picture here. If it was this probably would have been done properly.

Java 9 isn’t going to be “fixed”. It simply does not allow classes in the same package to appear in more than one module. A proper separation of API from implementation would normally have put them in different packages.

Ralph
Reply | Threaded
Open this post in threaded view
|

Re: [LOGGING] Release with Java 9 Module support

jodastephen
In reply to this post by Stefan Bodewig
On 1 October 2017 at 11:34, Stefan Bodewig <[hidden email]> wrote:
> - only add the automatic module name to commons-logging and release api
> and adapter as they are.

Exactly. This is the right approach.
Stephen

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

Reply | Threaded
Open this post in threaded view
|

Re: [LOGGING] Release with Java 9 Module support

Benedikt Ritter-4
In reply to this post by Ralph Goers


> Am 01.10.2017 um 19:00 schrieb Ralph Goers <[hidden email]>:
>
> That isn’t what I suggested. Release all 3 but only turn commons-logging.jar into a module.

Yes :o)

I’ll go ahead with this approach as soon as I find the time for it.

Cheers,
Benedikt

>
> Ralph
>
>> On Oct 1, 2017, at 1:25 AM, Benedikt Ritter <[hidden email]> wrote:
>>
>> Okay, so we agree to drop the api and adapters jars from the build and the
>> distribution? If that is the case, I think we are ready to release this.
>>
>> Benedikt
>>
>> Gary Gregory <[hidden email]> schrieb am So. 1. Okt. 2017 um 03:39:
>>
>>> On Sep 30, 2017 11:24, "Ralph Goers" <[hidden email]> wrote:
>>>
>>> Looking at the build script it appears that both the api and adapters
>>> modules contain a subset of what is in commons-logging.jar. I have no idea
>>> why this is but all three of them cannot be modularized. I would suggest
>>> only modularizing commons-logging.jar and ignoring the other two.
>>>
>>>
>>> Makes sense to me.
>>>
>>> Gary
>>>
>>>
>>> Ralph
>>>
>>>> On Sep 30, 2017, at 1:28 AM, Benedikt Ritter <[hidden email]> wrote:
>>>>
>>>>
>>>>> Am 26.09.2017 um 23:34 schrieb Stephen Colebourne <[hidden email]
>>>> :
>>>>>
>>>>> The contents of pom.xml look OK. I can't seem to browse to see if you
>>>>> changed anything else in that commit.
>>>>>
>>>>> I would suggest being extra cautious when releasing, as a newer
>>>>> version of maven may have changed some of the config, and you don't
>>>>> want to release the two extra jars to maven central. (In fact, why not
>>>>> just delete their creation in pom.xml ?)
>>>>
>>>> They are part of our standard distribution (I don’t know why) [1]. In
>>> fact I saw commons-logging-api.jar fly by last time I build my Spring Boot
>>> project. So it seems that those additional artifacts are still in use.
>>>>
>>>> I don’t know how well this plays with Automatic-Module-Name. If I
>>> understand correctly only one jar can have org.apache.common.logging.
>>>>
>>>> Benedikt
>>>>
>>>> [1] http://commons.apache.org/proper/commons-logging/guide.
>>> html#Jars_Included_in_the_Standard_Distribution
>>>>
>>>>> Stephen
>>>>>
>>>>> On 26 September 2017 at 22:05, Benedikt Ritter <[hidden email]>
>>> wrote:
>>>>>>
>>>>>>> Am 26.09.2017 um 22:54 schrieb Stephen Colebourne <
>>> [hidden email]
>>>> :
>>>>>>>
>>>>>>> On 26 September 2017 at 18:48, Jörg Schaible <[hidden email]>
>>> wrote:
>>>>>>>> AFAICS we have only commons-logging. The other artifacts have not
>>> been part
>>>>>>>> of any release in the last decade.
>>>>>>>
>>>>>>> Simple then!
>>>>>>
>>>>>> Please review revision 1809785. The build still creates all those jars,
>>> the Automatic-Module-Name header is added to commons-logging.jar
>>> MANIFEST.MF with value org.apache.commons.logging.
>>>>>>
>>>>>> Regards,
>>>>>> Benedikt
>>>>>>
>>>>>>> Stephen
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: [hidden email]
>>>>>>> For additional commands, e-mail: [hidden email]
>>>>>>>
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [hidden email]
>>>>>> For additional commands, e-mail: [hidden email]
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [hidden email]
>>>>> For additional commands, e-mail: [hidden email]
>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [hidden email]
>>>> For additional commands, e-mail: [hidden email]
>>>>
>>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>


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

Reply | Threaded
Open this post in threaded view
|

Re: [LOGGING] Release with Java 9 Module support

Benedikt Ritter-4
In reply to this post by jodastephen

> Am 01.10.2017 um 21:27 schrieb Stephen Colebourne <[hidden email]>:
>
> On 1 October 2017 at 11:34, Stefan Bodewig <[hidden email]> wrote:
>> - only add the automatic module name to commons-logging and release api
>> and adapter as they are.
>
> Exactly. This is the right approach.

I’ll start working on the release once the vote for IO 2.6 passes.

Cheers,
Benedikt

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


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

12