Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Maven Build #217

Closed
ALRubinger opened this issue Feb 5, 2024 · 5 comments
Closed

Add Maven Build #217

ALRubinger opened this issue Feb 5, 2024 · 5 comments
Assignees

Comments

@ALRubinger
Copy link
Contributor

ALRubinger commented Feb 5, 2024

Implement a Maven build; from some team notes we'd like to move to this build system for clarity and inter-project consistency.

This process will also lay bare the necessary auditing of dependencies to align versions.

WIP in PR #261 and upstream branch issue-217/maven-build

@ALRubinger ALRubinger self-assigned this Feb 5, 2024
ALRubinger added a commit to ALRubinger/web5-kt that referenced this issue Feb 5, 2024
Stopped where cyclic dependency was found common<>crypto packages. Ping team for guidance on how to split this up.
@ALRubinger
Copy link
Contributor Author

ALRubinger added a commit to ALRubinger/web5-kt that referenced this issue Feb 5, 2024
…o crypto

Now compilation fails due to weird Kotlin compiler error with no info
ALRubinger added a commit to ALRubinger/web5-kt that referenced this issue Feb 6, 2024
Stopped where cyclic dependency was found common<>crypto packages. Ping team for guidance on how to split this up.
ALRubinger added a commit to ALRubinger/web5-kt that referenced this issue Feb 6, 2024
…o crypto

Now compilation fails due to weird Kotlin compiler error with no info
@ALRubinger
Copy link
Contributor Author

WIP now in an upstream branch for sharing with others: https://github.com/TBD54566975/web5-kt/tree/issue-217/maven-build

@ALRubinger
Copy link
Contributor Author

Closing this, going to address version alignment in the existing Gradle builds in #226

ALRubinger added a commit that referenced this issue Mar 2, 2024
Stopped where cyclic dependency was found common<>crypto packages. Ping team for guidance on how to split this up.
ALRubinger added a commit that referenced this issue Mar 2, 2024
Now compilation fails due to weird Kotlin compiler error with no info
@ALRubinger
Copy link
Contributor Author

Re-opening; needed for version alignment between Web5 and tbDEX

@ALRubinger ALRubinger reopened this Mar 5, 2024
ALRubinger added a commit that referenced this issue Mar 6, 2024
Stopped where cyclic dependency was found common<>crypto packages. Ping team for guidance on how to split this up.
ALRubinger added a commit that referenced this issue Mar 6, 2024
Now compilation fails due to weird Kotlin compiler error with no info
ALRubinger added a commit to ALRubinger/web5-kt that referenced this issue Mar 6, 2024
* Will help license and security scanning read this as a Maven project only
ALRubinger added a commit that referenced this issue Mar 6, 2024
Stopped where cyclic dependency was found common<>crypto packages. Ping team for guidance on how to split this up.
ALRubinger added a commit that referenced this issue Mar 6, 2024
Now compilation fails due to weird Kotlin compiler error with no info
ALRubinger added a commit that referenced this issue Mar 29, 2024
* No security or license issues
* All modules build and tests pass
* Dependencies all correctly set via dependencyManagement which may be consumed by other projects (ie. tbDEX)
* Ported Dokka to use Dokka CLI in GitHub Actions and instructions to run locally
* Change: API Docs via Dokka now have no left sidebar because Gradle plugin enabled multimodule for us.
* Detekt ported through Maven plugin
* Ported Kover; we have coverage via CodeCov
* Switched to use TBD Artifactory for single repo declaration to get 3rdparty deps not in Maven Central
* Update README to reflect new build usage
* Publish to TBD Artifactory
* While we are at it, renames to GitHub Actions for clarity and correctness
* Set Surefire patterns to run Test Vectors
* Publish every build as a SNAPSHOT in format X.Y.Z-commit-$shortSHA-SNAPSHOT
* Validate that SNAPSHOT publishing has a version defined that ends in -SNAPSHOT
* SNAPSHOTs deployed to TBD Artifactory for every push to main, with version commit-$shortSHA-SNAPSHOT
* TBD Artifactory Release and Publish, with tagging of git
* API Docs Publishing - Verifiable at: https://alrubinger.github.io/web5-kt/docs/htmlMultiModule/index.html
* Maven Central Publishing
* Include sources in publishing
* Sign all artifacts (POMs, JARs, Source JARs) with GPG in deploy to Artifactory and Maven Central
* Only require one input (the release version) to trigger a release. Infer the next development version as a patch increment above the release version
* Introduce a distribution POM to bring in all Web5 deps in a single declaration
* Keep pom.xml effectively versionless at 0.0.0-main-SNAPSHOT; version at release time
* Publish to Maven Central on successful release and publish to TBD
  Artifactory
* Update README to reflect changes above and document all build and
  pipeline features
* Do not double-trigger uploads to Artifactory, Test Vectors, or CodeCov by separating out MacOS and Ubuntu jobs
* Make 'distribution' folder for the distribution pom.xml so that tbdex-kt can follow same convention
* Rebased all work atop b8a1a13

TODO:
* Switch ALRubinger in SCM configuration of pom.xml to TBD again
* Remove the comments at the end of build-test-publish workflow to
  re-enable sdk-report-runner
ALRubinger added a commit that referenced this issue Mar 30, 2024
* No security or license issues
* All modules build and tests pass
* Dependencies all correctly set via dependencyManagement which may be consumed by other projects (ie. tbDEX)
* Ported Dokka to use Dokka CLI in GitHub Actions and instructions to run locally
* Change: API Docs via Dokka now have no left sidebar because Gradle plugin enabled multimodule for us.
* Detekt ported through Maven plugin
* Ported Kover; we have coverage via CodeCov
* Switched to use TBD Artifactory for single repo declaration to get 3rdparty deps not in Maven Central
* Update README to reflect new build usage
* Publish to TBD Artifactory
* While we are at it, renames to GitHub Actions for clarity and correctness
* Set Surefire patterns to run Test Vectors
* Publish every build as a SNAPSHOT in format X.Y.Z-commit-$shortSHA-SNAPSHOT
* Validate that SNAPSHOT publishing has a version defined that ends in -SNAPSHOT
* SNAPSHOTs deployed to TBD Artifactory for every push to main, with version commit-$shortSHA-SNAPSHOT
* TBD Artifactory Release and Publish, with tagging of git
* API Docs Publishing - Verifiable at: https://alrubinger.github.io/web5-kt/docs/htmlMultiModule/index.html
* Maven Central Publishing
* Include sources in publishing
* Sign all artifacts (POMs, JARs, Source JARs) with GPG in deploy to Artifactory and Maven Central
* Only require one input (the release version) to trigger a release. Infer the next development version as a patch increment above the release version
* Introduce a distribution POM to bring in all Web5 deps in a single declaration
* Keep pom.xml effectively versionless at 0.0.0-main-SNAPSHOT; version at release time
* Publish to Maven Central on successful release and publish to TBD
  Artifactory
* Update README to reflect changes above and document all build and
  pipeline features
* Do not double-trigger uploads to Artifactory, Test Vectors, or CodeCov by separating out MacOS and Ubuntu jobs
* Make 'distribution' folder for the distribution pom.xml so that tbdex-kt can follow same convention
* Rebased all work atop b8a1a13

TODO:
* Switch ALRubinger in SCM configuration of pom.xml to TBD again
* Remove the comments at the end of build-test-publish workflow to
  re-enable sdk-report-runner
ALRubinger added a commit that referenced this issue Mar 30, 2024
* No security or license issues
* All modules build and tests pass
* Dependencies all correctly set via dependencyManagement which may be consumed by other projects (ie. tbDEX)
* Ported Dokka to use Dokka CLI in GitHub Actions and instructions to run locally
* Change: API Docs via Dokka now have no left sidebar because Gradle plugin enabled multimodule for us.
* Detekt ported through Maven plugin
* Ported Kover; we have coverage via CodeCov
* Switched to use TBD Artifactory for single repo declaration to get 3rdparty deps not in Maven Central
* Update README to reflect new build usage
* Publish to TBD Artifactory
* While we are at it, renames to GitHub Actions for clarity and correctness
* Set Surefire patterns to run Test Vectors
* Publish every build as a SNAPSHOT in format X.Y.Z-commit-$shortSHA-SNAPSHOT
* Validate that SNAPSHOT publishing has a version defined that ends in -SNAPSHOT
* SNAPSHOTs deployed to TBD Artifactory for every push to main, with version commit-$shortSHA-SNAPSHOT
* TBD Artifactory Release and Publish, with tagging of git
* API Docs Publishing - Verifiable at: https://alrubinger.github.io/web5-kt/docs/htmlMultiModule/index.html
* Maven Central Publishing
* Include sources in publishing
* Sign all artifacts (POMs, JARs, Source JARs) with GPG in deploy to Artifactory and Maven Central
* Only require one input (the release version) to trigger a release. Infer the next development version as a patch increment above the release version
* Introduce a distribution POM to bring in all Web5 deps in a single declaration
* Keep pom.xml effectively versionless at 0.0.0-main-SNAPSHOT; version at release time
* Publish to Maven Central on successful release and publish to TBD
  Artifactory
* Update README to reflect changes above and document all build and
  pipeline features
* Do not double-trigger uploads to Artifactory, Test Vectors, or CodeCov by separating out MacOS and Ubuntu jobs
* Make 'distribution' folder for the distribution pom.xml so that tbdex-kt can follow same convention
* Rebased all work atop b8a1a13

TODO:
* Switch ALRubinger in SCM configuration of pom.xml to TBD again
* Remove the comments at the end of build-test-publish workflow to
  re-enable sdk-report-runner
ALRubinger added a commit to ALRubinger/web5-kt that referenced this issue Mar 30, 2024
ALRubinger added a commit that referenced this issue Apr 3, 2024
* No security or license issues
* All modules build and tests pass
* Dependencies all correctly set via dependencyManagement which may be consumed by other projects (ie. tbDEX)
* Ported Dokka to use Dokka CLI in GitHub Actions and instructions to run locally
* Change: API Docs via Dokka now have no left sidebar because Gradle plugin enabled multimodule for us.
* Detekt ported through Maven plugin
* Ported Kover; we have coverage via CodeCov
* Switched to use TBD Artifactory for single repo declaration to get 3rdparty deps not in Maven Central
* Update README to reflect new build usage
* Publish to TBD Artifactory
* While we are at it, renames to GitHub Actions for clarity and correctness
* Set Surefire patterns to run Test Vectors
* Publish every build as a SNAPSHOT in format X.Y.Z-commit-$shortSHA-SNAPSHOT
* Validate that SNAPSHOT publishing has a version defined that ends in -SNAPSHOT
* SNAPSHOTs deployed to TBD Artifactory for every push to main, with version commit-$shortSHA-SNAPSHOT
* TBD Artifactory Release and Publish, with tagging of git
* API Docs Publishing - Verifiable at: https://alrubinger.github.io/web5-kt/docs/htmlMultiModule/index.html
* Maven Central Publishing
* Include sources in publishing
* Sign all artifacts (POMs, JARs, Source JARs) with GPG in deploy to Artifactory and Maven Central
* Only require one input (the release version) to trigger a release. Infer the next development version as a patch increment above the release version
* Introduce a distribution POM to bring in all Web5 deps in a single declaration
* Keep pom.xml effectively versionless at 0.0.0-main-SNAPSHOT; version at release time
* Publish to Maven Central on successful release and publish to TBD
  Artifactory
* Update README to reflect changes above and document all build and
  pipeline features
* Do not double-trigger uploads to Artifactory, Test Vectors, or CodeCov by separating out MacOS and Ubuntu jobs
* Make 'distribution' folder for the distribution pom.xml so that tbdex-kt can follow same convention
* Add jose to Dokka API Docs generation
* Rebased all work atop b8a1a13

TODO:
* Switch ALRubinger in SCM configuration of pom.xml to TBD again
* Remove the comments at the end of build-test-publish workflow to
  re-enable sdk-report-runner

Issue #217: Add jose to API Docs generation
ALRubinger added a commit that referenced this issue Apr 3, 2024
* No security or license issues
* All modules build and tests pass
* Dependencies all correctly set via dependencyManagement which may be consumed by other projects (ie. tbDEX)
* Ported Dokka to use Dokka CLI in GitHub Actions and instructions to run locally
* Change: API Docs via Dokka now have no left sidebar because Gradle plugin enabled multimodule for us.
* Detekt ported through Maven plugin
* Ported Kover; we have coverage via CodeCov
* Switched to use TBD Artifactory for single repo declaration to get 3rdparty deps not in Maven Central
* Update README to reflect new build usage
* Publish to TBD Artifactory
* While we are at it, renames to GitHub Actions for clarity and correctness
* Set Surefire patterns to run Test Vectors
* Publish every build as a SNAPSHOT in format X.Y.Z-commit-$shortSHA-SNAPSHOT
* Validate that SNAPSHOT publishing has a version defined that ends in -SNAPSHOT
* SNAPSHOTs deployed to TBD Artifactory for every push to main, with version commit-$shortSHA-SNAPSHOT
* TBD Artifactory Release and Publish, with tagging of git
* API Docs Publishing - Verifiable at: https://alrubinger.github.io/web5-kt/docs/htmlMultiModule/index.html
* Maven Central Publishing
* Include sources in publishing
* Sign all artifacts (POMs, JARs, Source JARs) with GPG in deploy to Artifactory and Maven Central
* Only require one input (the release version) to trigger a release. Infer the next development version as a patch increment above the release version
* Introduce a distribution POM to bring in all Web5 deps in a single declaration
* Keep pom.xml effectively versionless at 0.0.0-main-SNAPSHOT; version at release time
* Publish to Maven Central on successful release and publish to TBD
  Artifactory
* Update README to reflect changes above and document all build and
  pipeline features
* Do not double-trigger uploads to Artifactory, Test Vectors, or CodeCov by separating out MacOS and Ubuntu jobs
* Make 'distribution' folder for the distribution pom.xml so that tbdex-kt can follow same convention
* Add jose to Dokka API Docs generation
* Rebased all work atop c1c8f3e, tag: v0.17.0

TODO:
* Switch ALRubinger in SCM configuration of pom.xml to TBD again
* Remove the comments at the end of build-test-publish workflow to
  re-enable sdk-report-runner
ALRubinger added a commit to ALRubinger/web5-kt that referenced this issue Apr 3, 2024
…b5-kt

* No security or license issues
* All modules build and tests pass
* Dependencies all correctly set via dependencyManagement which may be consumed by other projects (ie. tbDEX)
* Ported Dokka to use Dokka CLI in GitHub Actions and instructions to run locally
* Change: API Docs via Dokka now have no left sidebar because Gradle plugin enabled multimodule for us.
* Detekt ported through Maven plugin
* Ported Kover; we have coverage via CodeCov
* Switched to use TBD Artifactory for single repo declaration to get 3rdparty deps not in Maven Central
* Update README to reflect new build usage
* Publish to TBD Artifactory
* While we are at it, renames to GitHub Actions for clarity and correctness
* Set Surefire patterns to run Test Vectors
* Publish every build as a SNAPSHOT in format X.Y.Z-commit-$shortSHA-SNAPSHOT
* Validate that SNAPSHOT publishing has a version defined that ends in -SNAPSHOT
* SNAPSHOTs deployed to TBD Artifactory for every push to main, with version commit-$shortSHA-SNAPSHOT
* TBD Artifactory Release and Publish, with tagging of git
* API Docs Publishing - Verifiable at: https://alrubinger.github.io/web5-kt/docs/htmlMultiModule/index.html
* Maven Central Publishing
* Include sources in publishing
* Sign all artifacts (POMs, JARs, Source JARs) with GPG in deploy to Artifactory and Maven Central
* Only require one input (the release version) to trigger a release. Infer the next development version as a patch increment above the release version
* Introduce a distribution POM to bring in all Web5 deps in a single declaration
* Keep pom.xml effectively versionless at 0.0.0-main-SNAPSHOT; version at release time
* Publish to Maven Central on successful release and publish to TBD
  Artifactory
* Update README to reflect changes above and document all build and
  pipeline features
* Do not double-trigger uploads to Artifactory, Test Vectors, or CodeCov by separating out MacOS and Ubuntu jobs
* Make 'distribution' folder for the distribution pom.xml so that tbdex-kt can follow same convention
* Add jose to Dokka API Docs generation
* Rebased all work atop c1c8f3e, tag: v0.17.0

TODO:
* Switch ALRubinger in SCM configuration of pom.xml to TBD again
* Remove the comments at the end of build-test-publish workflow to
  re-enable sdk-report-runner
ALRubinger added a commit that referenced this issue Apr 3, 2024
* No security or license issues
* All modules build and tests pass
* Dependencies all correctly set via dependencyManagement which may be consumed by other projects (ie. tbDEX)
* Ported Dokka to use Dokka CLI in GitHub Actions and instructions to run locally
* Change: API Docs via Dokka now have no left sidebar because Gradle plugin enabled multimodule for us.
* Detekt ported through Maven plugin
* Ported Kover; we have coverage via CodeCov
* Switched to use TBD Artifactory for single repo declaration to get 3rdparty deps not in Maven Central
* Update README to reflect new build usage
* Publish to TBD Artifactory
* While we are at it, renames to GitHub Actions for clarity and correctness
* Set Surefire patterns to run Test Vectors
* Publish every build as a SNAPSHOT in format X.Y.Z-commit-$shortSHA-SNAPSHOT
* Validate that SNAPSHOT publishing has a version defined that ends in -SNAPSHOT
* SNAPSHOTs deployed to TBD Artifactory for every push to main, with version commit-$shortSHA-SNAPSHOT
* TBD Artifactory Release and Publish, with tagging of git
* API Docs Publishing - Verifiable at: https://alrubinger.github.io/web5-kt/docs/htmlMultiModule/index.html
* Maven Central Publishing
* Include sources in publishing
* Sign all artifacts (POMs, JARs, Source JARs) with GPG in deploy to Artifactory and Maven Central
* Only require one input (the release version) to trigger a release. Infer the next development version as a patch increment above the release version
* Introduce a distribution POM to bring in all Web5 deps in a single declaration
* Keep pom.xml effectively versionless at 0.0.0-main-SNAPSHOT; version at release time
* Publish to Maven Central on successful release and publish to TBD
  Artifactory
* Update README to reflect changes above and document all build and
  pipeline features
* Do not double-trigger uploads to Artifactory, Test Vectors, or CodeCov by separating out MacOS and Ubuntu jobs
* Make 'distribution' folder for the distribution pom.xml so that tbdex-kt can follow same convention
* Add jose to Dokka API Docs generation
* Rebased all work atop c1c8f3e, tag: v0.17.0

TODO:
* Switch ALRubinger in SCM configuration of pom.xml to TBD again
* Remove the comments at the end of build-test-publish workflow to
  re-enable sdk-report-runner
ALRubinger added a commit that referenced this issue Apr 4, 2024
* No security or license issues
* All modules build and tests pass
* Dependencies all correctly set via dependencyManagement which may be consumed by other projects (ie. tbDEX)
* Ported Dokka to use Dokka CLI in GitHub Actions and instructions to run locally
* Change: API Docs via Dokka now have no left sidebar because Gradle plugin enabled multimodule for us.
* Detekt ported through Maven plugin
* Ported Kover; we have coverage via CodeCov
* Switched to use TBD Artifactory for single repo declaration to get 3rdparty deps not in Maven Central
* Update README to reflect new build usage
* Publish to TBD Artifactory
* While we are at it, renames to GitHub Actions for clarity and correctness
* Set Surefire patterns to run Test Vectors
* Publish every build as a SNAPSHOT in format X.Y.Z-commit-$shortSHA-SNAPSHOT
* Validate that SNAPSHOT publishing has a version defined that ends in -SNAPSHOT
* SNAPSHOTs deployed to TBD Artifactory for every push to main, with version commit-$shortSHA-SNAPSHOT
* TBD Artifactory Release and Publish, with tagging of git
* API Docs Publishing - Verifiable at: https://alrubinger.github.io/web5-kt/docs/htmlMultiModule/index.html
* Maven Central Publishing
* Include sources in publishing
* Sign all artifacts (POMs, JARs, Source JARs) with GPG in deploy to Artifactory and Maven Central
* Only require one input (the release version) to trigger a release. Infer the next development version as a patch increment above the release version
* Introduce a distribution POM to bring in all Web5 deps in a single declaration
* Keep pom.xml effectively versionless at 0.0.0-main-SNAPSHOT; version at release time
* Publish to Maven Central on successful release and publish to TBD
  Artifactory
* Update README to reflect changes above and document all build and
  pipeline features
* Do not double-trigger uploads to Artifactory, Test Vectors, or CodeCov by separating out MacOS and Ubuntu jobs
* Make 'distribution' folder for the distribution pom.xml so that tbdex-kt can follow same convention
* Add jose to Dokka API Docs generation
* Rebased all work atop c1c8f3e, tag: v0.17.0

TODO:
* Switch ALRubinger in SCM configuration of pom.xml to TBD again
* Remove the comments at the end of build-test-publish workflow to
  re-enable sdk-report-runner
ALRubinger added a commit that referenced this issue Apr 4, 2024
* No security or license issues
* All modules build and tests pass
* Dependencies all correctly set via dependencyManagement which may be consumed by other projects (ie. tbDEX)
* Ported Dokka to use Dokka CLI in GitHub Actions and instructions to run locally
* Change: API Docs via Dokka now have no left sidebar because Gradle plugin enabled multimodule for us.
* Detekt ported through Maven plugin
* Ported Kover; we have coverage via CodeCov
* Switched to use TBD Artifactory for single repo declaration to get 3rdparty deps not in Maven Central
* Update README to reflect new build usage
* Publish to TBD Artifactory
* While we are at it, renames to GitHub Actions for clarity and correctness
* Set Surefire patterns to run Test Vectors
* Publish every build as a SNAPSHOT in format X.Y.Z-commit-$shortSHA-SNAPSHOT
* Validate that SNAPSHOT publishing has a version defined that ends in -SNAPSHOT
* SNAPSHOTs deployed to TBD Artifactory for every push to main, with version commit-$shortSHA-SNAPSHOT
* TBD Artifactory Release and Publish, with tagging of git
* API Docs Publishing - Verifiable at: https://alrubinger.github.io/web5-kt/docs/htmlMultiModule/index.html
* Maven Central Publishing
* Include sources in publishing
* Sign all artifacts (POMs, JARs, Source JARs) with GPG in deploy to Artifactory and Maven Central
* Only require one input (the release version) to trigger a release. Infer the next development version as a patch increment above the release version
* Introduce a distribution POM to bring in all Web5 deps in a single declaration
* Keep pom.xml effectively versionless at 0.0.0-main-SNAPSHOT; version at release time
* Publish to Maven Central on successful release and publish to TBD
  Artifactory
* Update README to reflect changes above and document all build and
  pipeline features
* Do not double-trigger uploads to Artifactory, Test Vectors, or CodeCov by separating out MacOS and Ubuntu jobs
* Make 'distribution' folder for the distribution pom.xml so that tbdex-kt can follow same convention
* Add jose to Dokka API Docs generation
* Rebased all work atop c1c8f3e, tag: v0.17.0

TODO:
* Switch ALRubinger in SCM configuration of pom.xml to TBD again
* Remove the comments at the end of build-test-publish workflow to
  re-enable sdk-report-runner
ALRubinger added a commit that referenced this issue Apr 5, 2024
* Document SNAPSHOTs version naming convention in README
* Add TBD OSS Releases and Snapshots repos to POM
ALRubinger added a commit that referenced this issue Apr 5, 2024
* No security or license issues
* All modules build and tests pass
* Dependencies all correctly set via dependencyManagement which may be consumed by other projects (ie. tbDEX)
* Ported Dokka to use Dokka CLI in GitHub Actions and instructions to run locally
* Change: API Docs via Dokka now have no left sidebar because Gradle plugin enabled multimodule for us.
* Detekt ported through Maven plugin
* Ported Kover; we have coverage via CodeCov
* Switched to use TBD Artifactory for single repo declaration to get 3rdparty deps not in Maven Central
* Update README to reflect new build usage
* Publish to TBD Artifactory
* While we are at it, renames to GitHub Actions for clarity and correctness
* Set Surefire patterns to run Test Vectors
* Publish every build as a SNAPSHOT in format X.Y.Z-commit-$shortSHA-SNAPSHOT
* Validate that SNAPSHOT publishing has a version defined that ends in -SNAPSHOT
* SNAPSHOTs deployed to TBD Artifactory for every push to main, with version commit-$shortSHA-SNAPSHOT
* TBD Artifactory Release and Publish, with tagging of git
* API Docs Publishing - Verifiable at: https://alrubinger.github.io/web5-kt/docs/htmlMultiModule/index.html
* Maven Central Publishing
* Include sources in publishing
* Sign all artifacts (POMs, JARs, Source JARs) with GPG in deploy to Artifactory and Maven Central
* Only require one input (the release version) to trigger a release. Infer the next development version as a patch increment above the release version
* Introduce a distribution POM to bring in all Web5 deps in a single declaration
* Keep pom.xml effectively versionless at 0.0.0-main-SNAPSHOT; version at release time
* Publish to Maven Central on successful release and publish to TBD
  Artifactory
* Update README to reflect changes above and document all build and
  pipeline features
* Do not double-trigger uploads to Artifactory, Test Vectors, or CodeCov by separating out MacOS and Ubuntu jobs
* Make 'distribution' folder for the distribution pom.xml so that tbdex-kt can follow same convention
* Add jose to Dokka API Docs generation
* Rebased all work atop c1c8f3e, tag: v0.17.0
* Address Jiyoon PR Review: add names for all workflow jobs, document SNAPSHOT version format, add TBD OSS SNAPSHOT and Release repos to POM

TODO:
* Switch ALRubinger in SCM configuration of pom.xml to TBD again
* Remove the comments at the end of build-test-publish workflow to
  re-enable sdk-report-runner
leordev added a commit that referenced this issue Apr 5, 2024
* Issue #217 - Convert and port Gradle to Maven build for web5-kt

* No security or license issues
* All modules build and tests pass
* Dependencies all correctly set via dependencyManagement which may be consumed by other projects (ie. tbDEX)
* Ported Dokka to use Dokka CLI in GitHub Actions and instructions to run locally
* Change: API Docs via Dokka now have no left sidebar because Gradle plugin enabled multimodule for us.
* Detekt ported through Maven plugin
* Ported Kover; we have coverage via CodeCov
* Switched to use TBD Artifactory for single repo declaration to get 3rdparty deps not in Maven Central
* Update README to reflect new build usage
* Publish to TBD Artifactory
* While we are at it, renames to GitHub Actions for clarity and correctness
* Set Surefire patterns to run Test Vectors
* Publish every build as a SNAPSHOT in format X.Y.Z-commit-$shortSHA-SNAPSHOT
* Validate that SNAPSHOT publishing has a version defined that ends in -SNAPSHOT
* SNAPSHOTs deployed to TBD Artifactory for every push to main, with version commit-$shortSHA-SNAPSHOT
* TBD Artifactory Release and Publish, with tagging of git
* API Docs Publishing - Verifiable at: https://alrubinger.github.io/web5-kt/docs/htmlMultiModule/index.html
* Maven Central Publishing
* Include sources in publishing
* Sign all artifacts (POMs, JARs, Source JARs) with GPG in deploy to Artifactory and Maven Central
* Only require one input (the release version) to trigger a release. Infer the next development version as a patch increment above the release version
* Introduce a distribution POM to bring in all Web5 deps in a single declaration
* Keep pom.xml effectively versionless at 0.0.0-main-SNAPSHOT; version at release time
* Publish to Maven Central on successful release and publish to TBD
  Artifactory
* Update README to reflect changes above and document all build and
  pipeline features
* Do not double-trigger uploads to Artifactory, Test Vectors, or CodeCov by separating out MacOS and Ubuntu jobs
* Make 'distribution' folder for the distribution pom.xml so that tbdex-kt can follow same convention
* Add jose to Dokka API Docs generation
* Rebased all work atop c1c8f3e, tag: v0.17.0
* Address Jiyoon PR Review: add names for all workflow jobs, document SNAPSHOT version format, add TBD OSS SNAPSHOT and Release repos to POM

TODO:
* Switch ALRubinger in SCM configuration of pom.xml to TBD again
* Remove the comments at the end of build-test-publish workflow to
  re-enable sdk-report-runner

* Issue #217: Remove testing configs to be ready for merge

* Removes unnecessary comment

* adding more git command examples for pushing to web5-spec module

---------

Co-authored-by: Leo Ribeiro <leordev@gmail.com>
Co-authored-by: Jiyoon Koo <jiyoon@squareup.com>
@ALRubinger
Copy link
Contributor Author

Done in 89fc453

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

1 participant