[JIRA] (JPAR-195) Review and simplify release profile

Ian Young (Jira) jira at shibboleth.atlassian.net
Wed Nov 3 14:46:23 UTC 2021


Ian Young ( https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Ae127cb03-43ed-473d-b6ba-592949cb4be8 ) *commented* on JPAR-195 ( https://shibboleth.atlassian.net/browse/JPAR-195?atlOrigin=eyJpIjoiNThhZWI4OWU0MDBhNDQwNGE0ZDlhMmEwZTUwN2M4NDkiLCJwIjoiaiJ9 )

Re: Review and simplify release profile ( https://shibboleth.atlassian.net/browse/JPAR-195?atlOrigin=eyJpIjoiNThhZWI4OWU0MDBhNDQwNGE0ZDlhMmEwZTUwN2M4NDkiLCJwIjoiaiJ9 )

The profile contains the following:

* It runs maven-source-plugin and maven-javadoc-plugin , which are pretty much useless except in a release context, so that's fine.
* It runs maven-dependency-plugin as follows:

<plugin>
   <groupId> org.apache.maven.plugins </groupId>
   <artifactId> maven-dependency-plugin </artifactId>
</plugin>

I don't think this actually does anything. If it did do something, it’s not clear to me that we’d only want to do it while performing a release. I think this can just be removed.

* It runs the maven-compiler-plugin as follows:

<plugin>
   <groupId> org.apache.maven.plugins </groupId>
   <artifactId> maven-compiler-plugin </artifactId>
   <configuration>
       <showDeprecation> true </showDeprecation>
       <showWarnings> true </showWarnings>
       <debug> true </debug>
   </configuration>
</plugin>

Of these:

* showDeprecation defaults to false , so this does do something. It turns on deprecations in the one circumstance – creating a release – when you almost certainly should not do anything with the information. In my opinion, this is not related to releases and should not be in the release profile. I think it’s probably like this because someone didn’t want to see deprecations during normal development. I disagree: this should be put in the default profile and removed from “release”. In the alternative, there’s already a “lint” profile that includes this setting.
* showWarnings defaults to false , so again this does do something. Even more than deprecations, however, I’d argue that warnings should always be enabled and, again, I’d suggest moving this to the default profile.
* debug defaults to true , so this has no effect and can be removed (or moved to the default profile, where it would still have no effect). There’s in any case no argument that makes sense that we should have debug symbols disabled for development and enabled for release, so it’s presence in this context is clearly an error.

In summary, I think the maven-compiler-plugin settings should be moved to the default profile and this plugin deleted from the release profile.

* The release profile runs the maven-assembly-plugin as follows:
* 
<plugin>
   <groupId> org.apache.maven.plugins </groupId>
   <artifactId> maven-assembly-plugin </artifactId>
   <configuration>
       <tarLongFileMode> gnu </tarLongFileMode>
       <ignoreMissingDescriptor> true </ignoreMissingDescriptor>
   </configuration>
   <executions>
       <execution>
           <id> make-assembly </id>
           <phase> package </phase>
           <goals>
               <goal> single </goal>
           </goals>
       </execution>
   </executions>
</plugin>

Although this seems at first glance to make sense as part of the “release” profile (because you only want the packaged.zip or.tar.gz files if you’re releasing them, there are two issues with this choice:

* With a couple of exceptions (the MDA and xmlsectool, whose build profiles are not very modern, to say the least, as I’ve tended to leave what Chad wrote unchanged as long as it works) I think every one of our projects that builds an assembly has its own configuration for it, overriding the above and building the assembly in the default profile.
* One reason that may be true, which has particular relevance today, is that if you want to do anything with the assembly as part of packaging (e.g., to look inside it to validate something) you need the assembly to be built even when you’re not building “a release”.

I therefore propose that we remove this plugin from the release profile and either:

* Incorporate it in the default profile (neither of the configuration settings are default), or
* Remove it entirely and rely in individual projects to do this themselves (as most of them do).

In both cases, we’d probably want to check that the tarLongFileMode setting was appropriate for each project (the default is to warn on file paths of more than 100 characters).

( https://shibboleth.atlassian.net/browse/JPAR-195#add-comment?atlOrigin=eyJpIjoiNThhZWI4OWU0MDBhNDQwNGE0ZDlhMmEwZTUwN2M4NDkiLCJwIjoiaiJ9 ) Add Comment ( https://shibboleth.atlassian.net/browse/JPAR-195#add-comment?atlOrigin=eyJpIjoiNThhZWI4OWU0MDBhNDQwNGE0ZDlhMmEwZTUwN2M4NDkiLCJwIjoiaiJ9 )

Get Jira notifications on your phone! Download the Jira Cloud app for Android ( https://play.google.com/store/apps/details?id=com.atlassian.android.jira.core&referrer=utm_source%3DNotificationLink%26utm_medium%3DEmail ) or iOS ( https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailNotificationLink&mt=8 ) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100183- sha1:8e458bc )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/commits/attachments/20211103/3a0500b7/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jira-generated-image-static-comment-icon-63d402a6-ceda-4d77-9cca-615a14cbcd35
Type: image/png
Size: 1084 bytes
Desc: not available
URL: <http://shibboleth.net/pipermail/commits/attachments/20211103/3a0500b7/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jira-generated-image-static-footer-desktop-logo-5ea1ec09-52d5-4c22-bad2-73b2e293fa8d
Type: image/png
Size: 10805 bytes
Desc: not available
URL: <http://shibboleth.net/pipermail/commits/attachments/20211103/3a0500b7/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jira-generated-image-avatar-a251fe6d-c3da-4f98-9ac9-2761506600f7
Type: image/png
Size: 468 bytes
Desc: not available
URL: <http://shibboleth.net/pipermail/commits/attachments/20211103/3a0500b7/attachment-0005.png>


More information about the commits mailing list