palantir-java-format icon indicating copy to clipboard operation
palantir-java-format copied to clipboard

fix issue #975: last character not a `\n` after format in Intellij

Open bodote opened this issue 1 year ago • 2 comments

Before this PR

WHEN creating a new java class using Intellij with palantir-java-format plugin enabled for formating all java files AND using maven-spotless with palantirJavaFormat AND the last line in a java file is not an empty line but just } with no \n appended THEN the mvn spotless:checkusing palantirJavaFormat fails BECAUSE the Intellij with palantir-java-format plugin enabled does NOT add this required \n

After this PR

fixes : https://github.com/palantir/palantir-java-format/issues/975

change PalantirJavaFormatFormattingService.java from request.onTextReady(formattedText); to request.onTextReady(formattedText.trim() + "\n"); so that the required \n is added when Intellij formats a source file

Possible downsides?

  • none known

bodote avatar Aug 11 '24 13:08 bodote

Thanks for your interest in palantir/palantir-java-format, @bodote! Before we can accept your pull request, you need to sign our contributor license agreement - just visit https://cla.palantir.com/ and follow the instructions. Once you sign, I'll automatically update this pull request.

palantirtech avatar Aug 11 '24 13:08 palantirtech

Generate changelog in changelog/@unreleased

What do the change types mean?
  • feature: A new feature of the service.
  • improvement: An incremental improvement in the functionality or operation of the service.
  • fix: Remedies the incorrect behaviour of a component of the service in a backwards-compatible way.
  • break: Has the potential to break consumers of this service's API, inclusive of both Palantir services and external consumers of the service's API (e.g. customer-written software or integrations).
  • deprecation: Advertises the intention to remove service functionality without any change to the operation of the service itself.
  • manualTask: Requires the possibility of manual intervention (running a script, eyeballing configuration, performing database surgery, ...) at the time of upgrade for it to succeed.
  • migration: A fully automatic upgrade migration task with no engineer input required.

Note: only one type should be chosen.

How are new versions calculated?
  • ❗The break and manual task changelog types will result in a major release!
  • 🐛 The fix changelog type will result in a minor release in most cases, and a patch release version for patch branches. This behaviour is configurable in autorelease.
  • ✨ All others will result in a minor version release.

Type

  • [ ] Feature
  • [ ] Improvement
  • [ ] Fix
  • [ ] Break
  • [ ] Deprecation
  • [ ] Manual task
  • [ ] Migration

Description fix https://github.com/palantir/palantir-java-format/issues/975

Check the box to generate changelog(s)

  • [ ] Generate changelog entry

changelog-app[bot] avatar Aug 11 '24 13:08 changelog-app[bot]