You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@pekko.apache.org by "mdedetrich (via GitHub)" <gi...@apache.org> on 2023/02/12 13:31:25 UTC

[GitHub] [incubator-pekko] mdedetrich opened a new pull request, #172: Use sbt-apache-sonatype for Apache Nexus repo settings

mdedetrich opened a new pull request, #172:
URL: https://github.com/apache/incubator-pekko/pull/172

   This PR integrates a newly created sbt plugin that I made called [sbt-apache-sonatype](https://github.com/mdedetrich/sbt-apache-sonatype). This plugin this designed to remove the boilerplate for setting up Pekko projects for Apache foundation in 2 areas
   
   * Setting up the repository/credential keys (i.e. settings necessary for publishing to Apache Sonatype)
   * Setting up mandatory files which need to be inside the `META-INF` folder for JVM artifacts (i.e. `NOTICE`/`LICENSE` files).
   
   sbt-apache-sonatype is designed as an auto plugin that automatically triggers, in addition `MetaInfLicenseNoticeCopy` (now called `AddMetaInfLicenseFiles`) is also an auto plugin that automatically triggers which means it will apply the settings for every sbt project and if need be you can override settings for specific projects explicitly (which is the case for Pekko and the protobuff sub projects).
   
   I have verified that this works locally as expected, i.e. `protobuf` and `protobufV3` sbt projects have the extra `COPYING.protobuf` file and their `LICENSE` file points to `"LICENSE"` rather than the standard "LICENSE" / "StandardLicense.txt". One easy way to verify this is to do  `show apacheSonatypeLicenseFile` in sbt, i.e.
   
   ```
   [info] pki / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] actor-testkit-typed / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] coordination / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] cluster-sharding-typed / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] actor-typed / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] docs / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] actor-typed-tests / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] testkit / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] stream / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] multi-node-testkit / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] persistence-query / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] osgi / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] persistence-typed-tests / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] persistence-testkit / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] persistence / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] cluster-tools / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] remote-tests / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] protobuf-v3 / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/LICENSE
   [info] stream-tests-tck / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] protobuf / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/LICENSE
   [info] actor / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] discovery / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] bench-jmh / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] cluster-metrics / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] bill-of-materials / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] stream-tests / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] stream-testkit / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] remote / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] distributed-data / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] cluster / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] actor-tests / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] slf4j / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] cluster-typed / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] serialization-jackson / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] persistence-tck / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] stream-typed / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] persistence-shared / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] persistence-typed / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] cluster-sharding / apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   [info] apacheSonatypeLicenseFile
   [info] 	/Users/mdedetrich/github/incubator-pekko/legal/StandardLicense.txt
   ```
   As you can see, the `protobuf` and `protobuf-v3` projects correctly state `/Users/mdedetrich/github/incubator-pekko/LICENSE`.
   
   While the integration with pekko core is slightly more extensive, for other pekko modules that don't have bespoke license requirements using this plugin is very trivial, aside from adding the plugin to `project/plugins.sbt` you would only need to specify the following settings
   
   ```sbt
   ThisBuild / apacheSonatypeProjectProfile := "pekko"
   ThisBuild / apacheSonatypeDisclaimerFile := Some((LocalRootProject / baseDirectory).value / "DISCLAIMER") // DISCLAIMER files are necessary for projects in incubator, hence why its an optional setting in sbt-apache-sonatype
   ```
   and everything else will be handled automatically. The main reason for the creation of this plugin is that since we have another ~10 pekko modules the time spent writing this plugin is lower than manually doing the changes in other projects. Furthermore we have had cases where INFRA has incorrectly added credentials in some repos and the `sbt-apache-sonatype` plugin has a `apacheSonatypeCredentialsLogLevel` key which you can set to `Level.Warn` to diagnose problems with github secrets not being set.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org


[GitHub] [incubator-pekko] mdedetrich merged pull request #172: Use sbt-apache-sonatype for Apache Nexus repo settings

Posted by "mdedetrich (via GitHub)" <gi...@apache.org>.
mdedetrich merged PR #172:
URL: https://github.com/apache/incubator-pekko/pull/172


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org