1. 02 Dec, 2021 1 commit
    • Jamie Tanna's avatar
      Enable reproducible builds · 748e48af
      Jamie Tanna authored
      To ensure that this project can be correctly reproduced by an
      independent build of the project, we should enable reproducible builds
      in Gradle, across all projects.
      748e48af
  2. 04 Oct, 2021 3 commits
    • Jamie Tanna's avatar
      Release v1.0.0 · 2c221779
      Jamie Tanna authored
      It's now in use in a few places, and I'm comfortable releasing it as a
      v1.0.0.
      2c221779
    • Jamie Tanna's avatar
      Make media-type a transitive dependency · 5d201539
      Jamie Tanna authored
      As it's very likely that a consumer of this project is going to be
      adding both these dependencies to the classpath, we can keep them both
      controlled by this library.
      
      Consumers are welcome to upgrade to newer versions themselves - in the
      case I've not done it here - but the default should be it's transitive.
      
      This requires moving to a `java-library`, which technically we should've
      already been.
      5d201539
    • Jamie Tanna's avatar
      Bump to v1.0.0 of media-type · d0682f33
      Jamie Tanna authored
      As that's now stabilised, we should start using it.
      d0682f33
  3. 08 Jul, 2021 4 commits
    • Jamie Tanna's avatar
      Add SonarQube quality scanning · 13dfb1ee
      Jamie Tanna authored
      SonarQube is a great tool for providing meaningful improvement on code
      contributions, picking up on things that may even be missed by
      experienced engineers performing code review, as well as making it so
      they don't have to.
      
      As my side projects are mostly on my own, I'll have to rely on just
      SonarQube.
      
      We can utilise the Gradle plugin to perform the reporting to SonarCloud,
      which provides a nice hosted experience.
      
      We also need to add JaCoCo for code coverage to ensure that we've got
      our code coverage stats as a good (but not perfect) measure of how much
      of the code is tested.
      
      We also want to make our stages wait for the results, so we can fail
      builds if they don't match the expected Quality Gate.
      13dfb1ee
    • Jamie Tanna's avatar
    • Jamie Tanna's avatar
    • Jamie Tanna's avatar
      Migrate project to Gradle · 3f460ee2
      Jamie Tanna authored
      As I now use Gradle entirely in my day job, I've found that it's a much
      nicer development experience than Maven is.
      
      This migrates over to Gradle and:
      
      - applies Spotless for both Java and Gradle Groovy code (which needs to
        be done globally, rather than in a convention, due to conflicts)
      - replace gitignore configuration from Maven with Gradle
      - use Gradle's default parallelisation options, but not yet run tests in
        parallel
      
      As this is being published to OSSRH, this requires some extra work to
      set up the POM and the signing configuration, using the GPG agent so I
      don't need to set up configuration globally.
      3f460ee2
  4. 12 May, 2021 2 commits
  5. 11 Jan, 2021 3 commits
    • Jamie Tanna's avatar
      Release v0.1.0 · ffa55a50
      Jamie Tanna authored
      ffa55a50
    • Jamie Tanna's avatar
      Implement initial version of content-negotiation library · 828a0914
      Jamie Tanna authored
      Unfortunately because of the way that I've written this over a week or
      so of back-and-forth of implementations, I don't have a nice commit
      history for this.
      
      As part of this, we've implemented the core functionality of the library
      which provides the `ContentTypeNegotiator` class to perform the core
      logic, and a custom, checked, when failing to find a match, or when
      there are multiple.
      
      We need to provide media-type as a transitive dependency so a consumer
      of this library can access the `MediaType` class.
      828a0914
    • Jamie Tanna's avatar
      Initialise project · 4d90dcc1
      Jamie Tanna authored
      This adds the default configuration required to publish to Maven
      central.
      4d90dcc1