Skip to content

Releases: ascopes/java-compiler-testing

v0.5.0

26 Mar 12:24
Compare
Choose a tag to compare

Small one this time, want to get this out now as it is an improvement that will also assist testing this application itself.

What's Changed

  • Add ability to read compiler arguments in JctCompilation result by @ascopes in #394

Full Changelog: v0.4.0...v0.5.0

v0.4.0

19 Mar 08:52
Compare
Choose a tag to compare

What's Changed

  • Junit @Managed annotation and JctExtension class for automating initialisation and
    destruction of Workspace objects.
  • Add additional methods for creating JAR files from PathRoot objects that are directories.
  • FileBuilder#asJarFrom now takes a PathRoot rather than the more specialised ManagedDirectory
  • Fix missing nullable annotations dotted around.

Merged PRs

Full Changelog: v0.3.0...v0.4.0

v0.3.0

04 Mar 14:58
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.2.1...v0.3.0

v0.2.1

19 Feb 15:56
Compare
Choose a tag to compare

Bugfixes/API changes

This patch includes some new API changes that are non-breaking that were needed to
patch various bits and pieces internally.

  • GH-354, GH-294, GH-356 related API changes:
    • Add new method: PathFileObject#getBinaryName
    • JctCompilationFactoryImpl will now error if no initial compilation units
      were found with a clearer error message.
    • JctCompilationFactoryImpl will now error if any of the explicitly provided
      class names are not found as compilation units.
    • JctCompilationFactoryImpl will now error if the list of provided class
      names is non-null but empty.
    • Allow call chaining on PackageContainerGroupAssert#allFilesExist.
    • Add a new method TeeWriter#getContent that gets the lines of content
      within a TeeWriter, as this is easier to stub than #toString due to
      how Mockito works internally.
    • Add a new method TeeWriter#wrapOutputStream that wraps a given
      OutputStream and Charset in an OutputStreamWriter and inserts that
      into a new TeeWriter that is returned.
    • Fix regression in JctCompilationFactoryImpl where the locale was not
      being set during compilations.
    • Fix bug in JctCompilationFactory where the TeeWriter was not being flushed,
      so buffered content may not have been written to System.out properly
      in some edge cases.
    • Improve performance of JctCompilationFactoryImpl for explicit class name
      lookup by avoiding creating a distinct collection that is iteratively
      resized with O(n) space complexity.
    • Fixes GH-354: Fix incorrect logic for filtering explicit class names that previously
      resulted in an exception being raised if annotation processing was not configured in
      a very specific way.

Other changes

Full Changelog: v0.2.0...v0.2.1

v0.2.0

18 Feb 14:32
Compare
Choose a tag to compare

What's Changed

  • Remove GenericMock class by @ascopes in #341
  • Add a GitHub ribbon to JavaDocs by @ascopes in #342
  • Remove unused plugins by @ascopes in #344
  • Rename JctCompilers.createPlatformCompiler to newPlatformCompiler by @ascopes in #345
  • Enable automatically staging and promoting Nexus artifacts in CI without intervention by @ascopes in #346

Full Changelog: v0.1.0...v0.2.0

v0.1.0

12 Feb 14:10
Compare
Choose a tag to compare

What's Changed

  • Add tests to dogfood compiling JCT within JCT by @ascopes in #336
  • Add helpful error message if module errors encountered with junit support by @ascopes in #335
  • Bump micronaut-bom from 3.8.3 to 3.8.4 by @dependabot in #334
  • Bump maven-deploy-plugin from 3.0.0 to 3.1.0 by @dependabot in #333
  • Bump dagger.version from 2.44.2 to 2.45 by @dependabot in #331
  • Bump actions/setup-java from 3.9.0 to 3.10.0 by @dependabot in #330
  • Bump groovy from 4.0.8 to 4.0.9 by @dependabot in #332
  • Bump EnricoMi/publish-unit-test-result-action from 2.3.0 to 2.4.1 by @dependabot in #329
  • Add location helpers in JctFileManager by @ascopes in #338
  • Add additional API method helpers to access workspace locations by @ascopes in #339
  • Deprecate modules attribute in @JavacCompilerTest annotation

Full Changelog: v0.0.1...v0.1.0

v0.0.1

08 Feb 08:47
Compare
Choose a tag to compare

First stable release

v0.0.1-M9

06 Feb 08:06
Compare
Choose a tag to compare
v0.0.1-M9 Pre-release
Pre-release

What's Changed

Full Changelog: v0.0.1-M8...v0.0.1-M9

v0.0.1-M8

29 Jan 15:53
Compare
Choose a tag to compare
v0.0.1-M8 Pre-release
Pre-release

What's Changed

Bugfixes

  • Mark methods in PathFileObject as raising NoSuchFileException rather than FileNotFoundException
    which was previously incorrect information.
  • Fix bug where the 'name' of a PathFileObject could previously have been an absolute path
    if the PathFileObject was initialised with an absolute file path. Now it will match the
    string representation of the relative path on the object.
  • Update IllegalArgumentException that is thrown if a root path is not absolute
    so that it conveys the value of the erroneous parameter in the error message
    within PathFileObject.

Prerelease API changes

  • Rename getRoot to the clearer 'getRootPath' which is consistent with other
    method naming in this class within PathFileObject.
  • io.github.ascopes.jct.junit is no longer opened to all modules. It is now fully closed access.
  • io.github.ascopes.jct.filemanager.config classes are now marked as part of the
    stable API rather than the internal API (@JoePorterDev).

New Contributors

Full Changelog: v0.0.1-M7...v0.0.1-M8

v0.0.1-M7

25 Jan 13:48
Compare
Choose a tag to compare
v0.0.1-M7 Pre-release
Pre-release

What's Changed

  • Add ability to customise the names of compiler objects by @ascopes in #273
  • Versioning strategies in Junit support. by @ascopes in #274
  • Enrich the Junit API by @ascopes in #275
  • Use factory pattern to initialise flag and JavaCompiler objects by @ascopes in #278
  • Bump dependency-check-maven from 8.0.0 to 8.0.1 by @dependabot in #280
  • Bump groovy from 4.0.7 to 4.0.8 by @dependabot in #283
  • Bump spring-boot-dependencies from 3.0.1 to 3.0.2 by @dependabot in #281
  • Bump assertj-core from 3.24.1 to 3.24.2 by @dependabot in #282
  • Bump micronaut-bom from 3.8.1 to 3.8.2 by @dependabot in #284
  • Remove JSR-199 Interop class and reimplement object model. by @ascopes in #279
  • Make container groups list collections rather than iterables. by @ascopes in #286
  • Simplify the JctFileManagerImpl class into a separate repository by @ascopes in #287

Full Changelog: v0.0.1-M6...v0.0.1-M7