Quantcast

[PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

Benedikt Ritter-4
Hi,

here is my proposal on how to get the Automatic-Module-Name entry into our MANIFEST files. This change has to be made only in commons parent. This is the change:

Index: pom.xml
===================================================================
--- pom.xml (revision 1795551)
+++ pom.xml (working copy)
@@ -601,6 +601,7 @@
               <Implementation-Build>${implementation.build}</Implementation-Build>
               <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK>
               <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK>
+              <Automatic-Module-Name>${commons.osgi.symbolicName}</Automatic-Module-Name>
             </manifestEntries>
           </archive>
         </configuration>


For Commons Lang this will create:

   Automatic-Module-Name: org.apache.commons.lang3

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

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

garydgregory
On May 18, 2017 12:09 PM, "Benedikt Ritter" <[hidden email]> wrote:

Hi,

here is my proposal on how to get the Automatic-Module-Name entry into our
MANIFEST files. This change has to be made only in commons parent. This is
the change:

Index: pom.xml
===================================================================
--- pom.xml     (revision 1795551)
+++ pom.xml     (working copy)
@@ -601,6 +601,7 @@
               <Implementation-Build>${implementation.build}</
Implementation-Build>
               <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-
Source-JDK>
               <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-
Target-JDK>
+              <Automatic-Module-Name>${commons.osgi.symbolicName}</
Automatic-Module-Name>
             </manifestEntries>
           </archive>
         </configuration>


For Commons Lang this will create:

   Automatic-Module-Name: org.apache.commons.lang3


WDYT?


Seems reasonable enough.

Gary

Benedikt
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

jodastephen
Is reusing ${commons.osgi.symbolicName} a good idea?
It seems to me that each project should have to opt-in to this
attribute, so I'd add a new ${commons.automatic.moduile.name}
variable.

One reason is that the attribute should only be added if the project
is suitable for use as a module (eg. no packages that clash with any
other module, doesn't force cycles in dependencies). I'm not convinced
that all commons projects are valid yet.

The second reason is that we will ultimately need to add a real
module-info.java file to each module. The Automatic-Module-Name
attribute is temporary while the commons projects are worked through
and released. When there is a module-info.java file, we definitely
don't want the Automatic-Module-Name attribute (although it does no
harm, it would look bad).

The opt-in approach is slightly more work, but better in the long run I think.

WDYT?
Stephen


On 18 May 2017 at 20:21, Gary Gregory <[hidden email]> wrote:

> On May 18, 2017 12:09 PM, "Benedikt Ritter" <[hidden email]> wrote:
>
> Hi,
>
> here is my proposal on how to get the Automatic-Module-Name entry into our
> MANIFEST files. This change has to be made only in commons parent. This is
> the change:
>
> Index: pom.xml
> ===================================================================
> --- pom.xml     (revision 1795551)
> +++ pom.xml     (working copy)
> @@ -601,6 +601,7 @@
>                <Implementation-Build>${implementation.build}</
> Implementation-Build>
>                <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-
> Source-JDK>
>                <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-
> Target-JDK>
> +              <Automatic-Module-Name>${commons.osgi.symbolicName}</
> Automatic-Module-Name>
>              </manifestEntries>
>            </archive>
>          </configuration>
>
>
> For Commons Lang this will create:
>
>    Automatic-Module-Name: org.apache.commons.lang3
>
>
> WDYT?
>
>
> Seems reasonable enough.
>
> Gary
>
> Benedikt
> ---------------------------------------------------------------------
> 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
|  
Report Content as Inappropriate

Re: [PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

Benedikt Ritter-4
Hello Stephen,

> Am 19.05.2017 um 04:52 schrieb Stephen Colebourne <[hidden email]>:
>
> Is reusing ${commons.osgi.symbolicName} a good idea?

I thought it is, because this way we will automatically have the additional entry after we update a component to the new parent pom version. :o)

> It seems to me that each project should have to opt-in to this
> attribute, so I'd add a new ${commons.automatic.moduile.name}
> variable.

I’d go with ${commons.automatic-module-name}.

>
> One reason is that the attribute should only be added if the project
> is suitable for use as a module (eg. no packages that clash with any
> other module, doesn't force cycles in dependencies). I'm not convinced
> that all commons projects are valid yet.

Okay, how do we find out whether a component is valid?

>
> The second reason is that we will ultimately need to add a real
> module-info.java file to each module. The Automatic-Module-Name
> attribute is temporary while the commons projects are worked through
> and released. When there is a module-info.java file, we definitely
> don't want the Automatic-Module-Name attribute (although it does no
> harm, it would look bad).
>
> The opt-in approach is slightly more work, but better in the long run I think.

I’ll try to come up with something when I have the time again.

Thank you!
Benedikt

>
> WDYT?
> Stephen
>
>
> On 18 May 2017 at 20:21, Gary Gregory <[hidden email]> wrote:
>> On May 18, 2017 12:09 PM, "Benedikt Ritter" <[hidden email]> wrote:
>>
>> Hi,
>>
>> here is my proposal on how to get the Automatic-Module-Name entry into our
>> MANIFEST files. This change has to be made only in commons parent. This is
>> the change:
>>
>> Index: pom.xml
>> ===================================================================
>> --- pom.xml     (revision 1795551)
>> +++ pom.xml     (working copy)
>> @@ -601,6 +601,7 @@
>>               <Implementation-Build>${implementation.build}</
>> Implementation-Build>
>>               <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-
>> Source-JDK>
>>               <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-
>> Target-JDK>
>> +              <Automatic-Module-Name>${commons.osgi.symbolicName}</
>> Automatic-Module-Name>
>>             </manifestEntries>
>>           </archive>
>>         </configuration>
>>
>>
>> For Commons Lang this will create:
>>
>>   Automatic-Module-Name: org.apache.commons.lang3
>>
>>
>> WDYT?
>>
>>
>> Seems reasonable enough.
>>
>> Gary
>>
>> Benedikt
>> ---------------------------------------------------------------------
>> 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
|  
Report Content as Inappropriate

Re: [PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

Benedikt Ritter-4
Hello again,

> Am 21.05.2017 um 10:50 schrieb Benedikt Ritter <[hidden email]>:
>
> Hello Stephen,
>
>> Am 19.05.2017 um 04:52 schrieb Stephen Colebourne <[hidden email] <mailto:[hidden email]>>:
>>
>> Is reusing ${commons.osgi.symbolicName} a good idea?
>
> I thought it is, because this way we will automatically have the additional entry after we update a component to the new parent pom version. :o)
>
>> It seems to me that each project should have to opt-in to this
>> attribute, so I'd add a new ${commons.automatic.moduile.name}
>> variable.
>
> I’d go with ${commons.automatic-module-name}.
>
>>
>> One reason is that the attribute should only be added if the project
>> is suitable for use as a module (eg. no packages that clash with any
>> other module, doesn't force cycles in dependencies). I'm not convinced
>> that all commons projects are valid yet.
>
> Okay, how do we find out whether a component is valid?
>
>>
>> The second reason is that we will ultimately need to add a real
>> module-info.java file to each module. The Automatic-Module-Name
>> attribute is temporary while the commons projects are worked through
>> and released. When there is a module-info.java file, we definitely
>> don't want the Automatic-Module-Name attribute (although it does no
>> harm, it would look bad).
>>
>> The opt-in approach is slightly more work, but better in the long run I think.
>
> I’ll try to come up with something when I have the time again.

This is not as straight forward as I thought. Simply adding

<Automatic-Module-Name>${commons.automatic-module-name}</Automatic-Module-Name>

Does not work, since this will add an empty entry to the resulting manifest file, if a component does not specify the commons.automatic-module-name property.

Then I thought we have to add it to a profile. But how do we activate the profile? Profile activation can only be made based on system properties, not on build properties.

Does anybody have an idea how to add this to commons parent?

Benedikt

>
> Thank you!
> Benedikt
>
>>
>> WDYT?
>> Stephen
>>
>>
>> On 18 May 2017 at 20:21, Gary Gregory <[hidden email]> wrote:
>>> On May 18, 2017 12:09 PM, "Benedikt Ritter" <[hidden email]> wrote:
>>>
>>> Hi,
>>>
>>> here is my proposal on how to get the Automatic-Module-Name entry into our
>>> MANIFEST files. This change has to be made only in commons parent. This is
>>> the change:
>>>
>>> Index: pom.xml
>>> ===================================================================
>>> --- pom.xml     (revision 1795551)
>>> +++ pom.xml     (working copy)
>>> @@ -601,6 +601,7 @@
>>>              <Implementation-Build>${implementation.build}</
>>> Implementation-Build>
>>>              <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-
>>> Source-JDK>
>>>              <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-
>>> Target-JDK>
>>> +              <Automatic-Module-Name>${commons.osgi.symbolicName}</
>>> Automatic-Module-Name>
>>>            </manifestEntries>
>>>          </archive>
>>>        </configuration>
>>>
>>>
>>> For Commons Lang this will create:
>>>
>>>  Automatic-Module-Name: org.apache.commons.lang3
>>>
>>>
>>> WDYT?
>>>
>>>
>>> Seems reasonable enough.
>>>
>>> Gary
>>>
>>> Benedikt
>>> ---------------------------------------------------------------------
>>> 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] <mailto:[hidden email]>
> For additional commands, e-mail: [hidden email] <mailto:[hidden email]>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

jodastephen
On 22 May 2017 at 00:32, Benedikt Ritter <[hidden email]> wrote:
> This is not as straight forward as I thought. Simply adding
>
> <Automatic-Module-Name>${commons.automatic-module-name}</Automatic-Module-Name>
>
> Does not work, since this will add an empty entry to the resulting manifest file, if a component does not specify the commons.automatic-module-name property.

I must have misunderstood the docs:
https://maven.apache.org/shared/maven-archiver/examples/manifestEntries.html
which implied to me that a missing property would cause the manifest
entry to be omitted.

> Then I thought we have to add it to a profile. But how do we activate the profile? Profile activation can only be made based on system properties, not on build properties.
>
> Does anybody have an idea how to add this to commons parent?

Nope

Stephen

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

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

Rob Tompkins
In reply to this post by Benedikt Ritter-4

> On May 21, 2017, at 7:32 PM, Benedikt Ritter <[hidden email]> wrote:
>
> Hello again,
>
>> Am 21.05.2017 um 10:50 schrieb Benedikt Ritter <[hidden email]>:
>>
>> Hello Stephen,
>>
>>> Am 19.05.2017 um 04:52 schrieb Stephen Colebourne <[hidden email] <mailto:[hidden email]>>:
>>>
>>> Is reusing ${commons.osgi.symbolicName} a good idea?
>>
>> I thought it is, because this way we will automatically have the additional entry after we update a component to the new parent pom version. :o)
>>
>>> It seems to me that each project should have to opt-in to this
>>> attribute, so I'd add a new ${commons.automatic.moduile.name}
>>> variable.
>>
>> I’d go with ${commons.automatic-module-name}.
>>
>>>
>>> One reason is that the attribute should only be added if the project
>>> is suitable for use as a module (eg. no packages that clash with any
>>> other module, doesn't force cycles in dependencies). I'm not convinced
>>> that all commons projects are valid yet.
>>
>> Okay, how do we find out whether a component is valid?
>>
>>>
>>> The second reason is that we will ultimately need to add a real
>>> module-info.java file to each module. The Automatic-Module-Name
>>> attribute is temporary while the commons projects are worked through
>>> and released. When there is a module-info.java file, we definitely
>>> don't want the Automatic-Module-Name attribute (although it does no
>>> harm, it would look bad).
>>>
>>> The opt-in approach is slightly more work, but better in the long run I think.
>>
>> I’ll try to come up with something when I have the time again.
>
> This is not as straight forward as I thought. Simply adding
>
> <Automatic-Module-Name>${commons.automatic-module-name}</Automatic-Module-Name>

You could, in the parent, declare in the properties section beside the declaration of “commons.osgi.symbolicName”, another property pointing to that as

<commons.automatic-module-name>${commons.osgi.symbolicName}</commons.automatic-module-name>

and then allow people to override that in their local poms. That way you wouldn’t get the blank lines.

>
> Does not work, since this will add an empty entry to the resulting manifest file, if a component does not specify the commons.automatic-module-name property.
>
> Then I thought we have to add it to a profile. But how do we activate the profile? Profile activation can only be made based on system properties, not on build properties.
>
> Does anybody have an idea how to add this to commons parent?
>
> Benedikt
>
>>
>> Thank you!
>> Benedikt
>>
>>>
>>> WDYT?
>>> Stephen
>>>
>>>
>>> On 18 May 2017 at 20:21, Gary Gregory <[hidden email]> wrote:
>>>> On May 18, 2017 12:09 PM, "Benedikt Ritter" <[hidden email]> wrote:
>>>>
>>>> Hi,
>>>>
>>>> here is my proposal on how to get the Automatic-Module-Name entry into our
>>>> MANIFEST files. This change has to be made only in commons parent. This is
>>>> the change:
>>>>
>>>> Index: pom.xml
>>>> ===================================================================
>>>> --- pom.xml     (revision 1795551)
>>>> +++ pom.xml     (working copy)
>>>> @@ -601,6 +601,7 @@
>>>>             <Implementation-Build>${implementation.build}</
>>>> Implementation-Build>
>>>>             <X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-
>>>> Source-JDK>
>>>>             <X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-
>>>> Target-JDK>
>>>> +              <Automatic-Module-Name>${commons.osgi.symbolicName}</
>>>> Automatic-Module-Name>
>>>>           </manifestEntries>
>>>>         </archive>
>>>>       </configuration>
>>>>
>>>>
>>>> For Commons Lang this will create:
>>>>
>>>> Automatic-Module-Name: org.apache.commons.lang3
>>>>
>>>>
>>>> WDYT?
>>>>
>>>>
>>>> Seems reasonable enough.
>>>>
>>>> Gary
>>>>
>>>> Benedikt
>>>> ---------------------------------------------------------------------
>>>> 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] <mailto:[hidden email]>
>> For additional commands, e-mail: [hidden email] <mailto:[hidden email]>


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

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

jodastephen
On 22 May 2017 at 12:51, Rob Tompkins <[hidden email]> wrote:
> You could, in the parent, declare in the properties section beside the declaration of “commons.osgi.symbolicName”, another property pointing to that as
>
> <commons.automatic-module-name>${commons.osgi.symbolicName}</commons.automatic-module-name>
>
> and then allow people to override that in their local poms. That way you wouldn’t get the blank lines.

True, but I want to ensure that we only add it to components where it
is valid (and we have manually checked it is valid). Which I think
requires us to do it in each subproject.
Stephen

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

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

Rob Tompkins

> On May 22, 2017, at 8:10 AM, Stephen Colebourne <[hidden email]> wrote:
>
> On 22 May 2017 at 12:51, Rob Tompkins <[hidden email]> wrote:
>> You could, in the parent, declare in the properties section beside the declaration of “commons.osgi.symbolicName”, another property pointing to that as
>>
>> <commons.automatic-module-name>${commons.osgi.symbolicName}</commons.automatic-module-name>
>>
>> and then allow people to override that in their local poms. That way you wouldn’t get the blank lines.
>
> True, but I want to ensure that we only add it to components where it
> is valid (and we have manually checked it is valid). Which I think
> requires us to do it in each subproject.

We might be able to contrive something using antrun after compile that predicates on the property being populated, but that feels extra hacky.

> 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]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

sebb-2-2
On 22 May 2017 at 13:14, Rob Tompkins <[hidden email]> wrote:

>
>> On May 22, 2017, at 8:10 AM, Stephen Colebourne <[hidden email]> wrote:
>>
>> On 22 May 2017 at 12:51, Rob Tompkins <[hidden email]> wrote:
>>> You could, in the parent, declare in the properties section beside the declaration of “commons.osgi.symbolicName”, another property pointing to that as
>>>
>>> <commons.automatic-module-name>${commons.osgi.symbolicName}</commons.automatic-module-name>
>>>
>>> and then allow people to override that in their local poms. That way you wouldn’t get the blank lines.
>>
>> True, but I want to ensure that we only add it to components where it
>> is valid (and we have manually checked it is valid). Which I think
>> requires us to do it in each subproject.
>
> We might be able to contrive something using antrun after compile that predicates on the property being populated, but that feels extra hacky.

It's possible to have a profile depend on the presence of a file.

So just create an empty file when the property is available for use.

>> 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]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

Benedikt Ritter-4
Hi,

> Am 22.05.2017 um 09:19 schrieb sebb <[hidden email]>:
>
> On 22 May 2017 at 13:14, Rob Tompkins <[hidden email] <mailto:[hidden email]>> wrote:
>>
>>> On May 22, 2017, at 8:10 AM, Stephen Colebourne <[hidden email]> wrote:
>>>
>>> On 22 May 2017 at 12:51, Rob Tompkins <[hidden email]> wrote:
>>>> You could, in the parent, declare in the properties section beside the declaration of “commons.osgi.symbolicName”, another property pointing to that as
>>>>
>>>> <commons.automatic-module-name>${commons.osgi.symbolicName}</commons.automatic-module-name>
>>>>
>>>> and then allow people to override that in their local poms. That way you wouldn’t get the blank lines.
>>>
>>> True, but I want to ensure that we only add it to components where it
>>> is valid (and we have manually checked it is valid). Which I think
>>> requires us to do it in each subproject.
>>
>> We might be able to contrive something using antrun after compile that predicates on the property being populated, but that feels extra hacky.
>
> It's possible to have a profile depend on the presence of a file.
>
> So just create an empty file when the property is available for use.

Please no more profile activation based on files being present. This is just confusing and a dirty hack IMHO.

>
>>> Stephen
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email] <mailto:[hidden email]>
>>> For additional commands, e-mail: [hidden email] <mailto:[hidden email]>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email] <mailto:[hidden email]>
>> For additional commands, e-mail: [hidden email] <mailto:[hidden email]>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email] <mailto:[hidden email]>
> For additional commands, e-mail: [hidden email] <mailto:[hidden email]>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

Emmanuel Bourg-3
Le 24/05/2017 à 01:26, Benedikt Ritter a écrit :

> Please no more profile activation based on files being present. This is just confusing and a dirty hack IMHO.

Or maybe a profile activated by the presence of module-info.java?

Emmanuel Bourg


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

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

Rob Tompkins
In reply to this post by Benedikt Ritter-4

> On May 23, 2017, at 7:26 PM, Benedikt Ritter <[hidden email]> wrote:
>
> Hi,
>
>> Am 22.05.2017 um 09:19 schrieb sebb <[hidden email]>:
>>
>> On 22 May 2017 at 13:14, Rob Tompkins <[hidden email] <mailto:[hidden email]>> wrote:
>>>
>>>> On May 22, 2017, at 8:10 AM, Stephen Colebourne <[hidden email]> wrote:
>>>>
>>>> On 22 May 2017 at 12:51, Rob Tompkins <[hidden email]> wrote:
>>>>> You could, in the parent, declare in the properties section beside the declaration of “commons.osgi.symbolicName”, another property pointing to that as
>>>>>
>>>>> <commons.automatic-module-name>${commons.osgi.symbolicName}</commons.automatic-module-name>
>>>>>
>>>>> and then allow people to override that in their local poms. That way you wouldn’t get the blank lines.
>>>>
>>>> True, but I want to ensure that we only add it to components where it
>>>> is valid (and we have manually checked it is valid). Which I think
>>>> requires us to do it in each subproject.
>>>
>>> We might be able to contrive something using antrun after compile that predicates on the property being populated, but that feels extra hacky.
>>
>> It's possible to have a profile depend on the presence of a file.
>>
>> So just create an empty file when the property is available for use.
>
> Please no more profile activation based on files being present. This is just confusing and a dirty hack IMHO.

We should simply add that entry, "commons.automatic-module-name," to every component pom’s properties section now, and then when the next parent migration happens, the changes will express naturally. It might be worth adding a comment on the property in each pom?

I’d be happy to do that between now and Monday.

Thoughts?

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


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

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

jodastephen
On 24 May 2017 at 15:55, Rob Tompkins <[hidden email]> wrote:
> We should simply add that entry, "commons.automatic-module-name," to every component pom’s properties section now, and then when the next parent migration happens, the changes will express naturally. It might be worth adding a comment on the property in each pom?
>
> I’d be happy to do that between now and Monday.

As I said upthread, there is an argument to only add it to components
once they have been checked to see if they are valid for use as a
module.

That said, I'm willing to go with it as an approach because AFAICT if
a component isn't a good modular citizen, the Automatic-Module-Name
MANIFEST entry won't do much harm.

Of course, strictly speaking we don't know if Automatic-Module-Name
will be part of the final JDK 9, as private discussions are currently
ongoing between the key players. Since it will cause no harm if
wrongly present, I'm OK with this too,

If you are going to do it, I'd suggest using ${commons.module-name},
as you will be adding the official module name for the component. That
it is only used as the automatic module name right now is a detail.

Stephen

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

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PARENT][PROPOSAL] Add Automatic-Module-Name MANIFEST entry

Rob Tompkins

> On May 24, 2017, at 11:11 AM, Stephen Colebourne <[hidden email]> wrote:
>
> On 24 May 2017 at 15:55, Rob Tompkins <[hidden email]> wrote:
>> We should simply add that entry, "commons.automatic-module-name," to every component pom’s properties section now, and then when the next parent migration happens, the changes will express naturally. It might be worth adding a comment on the property in each pom?
>>
>> I’d be happy to do that between now and Monday.
>
> As I said upthread, there is an argument to only add it to components
> once they have been checked to see if they are valid for use as a
> module.

Right.

>
> That said, I'm willing to go with it as an approach because AFAICT if
> a component isn't a good modular citizen, the Automatic-Module-Name
> MANIFEST entry won't do much harm.

Yes.

>
> Of course, strictly speaking we don't know if Automatic-Module-Name
> will be part of the final JDK 9, as private discussions are currently
> ongoing between the key players. Since it will cause no harm if
> wrongly present, I'm OK with this too,
>
> If you are going to do it, I'd suggest using ${commons.module-name},

Makes sense to me there. I’m not the best at coming up with names. :-)

> as you will be adding the official module name for the component. That
> it is only used as the automatic module name right now is a detail.

I will start chipping away at this tomorrow or Friday, assuming that there aren’t any objections between now and then.

-Rob

>
> 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]

Loading...