JohnLCaron / devcdm

CDM next generation development
BSD 3-Clause "New" or "Revised" License
0 stars 1 forks source link

Remove top level build script in favor of script plugins #46

Closed lesserwhirls closed 2 years ago

lesserwhirls commented 2 years ago

Part 1 of the gradle build reorganization.

lesserwhirls commented 2 years ago

These are great questions!

Whats difference between ucdm-internal-conventions and ucdm-library.. ?

ucdm-internal-conventions are gradle settings applied to projects that are not intended for external use. ucdm-library-conventions build upon ucdm-internal-conventions (so same JVM version target, teesting platform, group and version, for example), but add in publishing and the java-library plugin.

Whats difference between java plugin, java-library, and application plugin?

will all the libraries now be published to github?

Anything that has the ucdm-library-conventions applied to it will get published. I've also discovered that github packages actually kind of sucks, in that to even consume the artifacts (public repo or not), one has to have a github account, create a github personal access token, use those credentials in their build, and (I believe) be added to the repo with explicit read permissions. Not all GitHub package repository types require those hoops, but the maven (and thus gradle) repository types do. Bummer.

it looks like github review page is flagging "no newline at end of file" in many of the gradle files

That should just be a visual marker to indicate there is no new line. I can certainly add one without any issues though.

lesserwhirls commented 2 years ago

Looking back at my PR, I think dependencies marked as api with the ucdm-internal-conventions should really be changed to implementation...not sure why it allows that, as the api configuration comes from the java-library plugin. My guess is that it is treating api as implementation in that case.

JohnLCaron commented 2 years ago

to even consume the artifacts (public repo or not), one has to have a github account, create a github personal access token, use those credentials in their build, and (I believe) be added to the repo with explicit read permissions.

I was suspecting that, based on what I had to do to consume artifacts. For now, lets go ahead with it, and see if/when it becomes a problem.

lesserwhirls commented 2 years ago

Added just a few minor cleanup items, but nothing major.