Open sdavids opened 3 months ago
/* File header */ package ...
⇓
Source file structure A source file consists of, in order: License or copyright information, if present Package statement Import statements Exactly one top-level class Exactly one blank line separates each section that is present.
Source file structure
A source file consists of, in order:
License or copyright information, if present Package statement Import statements Exactly one top-level class Exactly one blank line separates each section that is present.
https://google.github.io/styleguide/javaguide.html#s3-source-file-structure
/var/tmp $ curl -L -O -s https://github.com/google/google-java-format/releases/download/v1.21.0/google-java-format-1.21.0-all-deps.jar /var/tmp $ printf '/* File header */\npackage p; class PackageHeader{}\n' > PackageHeader.java /var/tmp $ java -jar google-java-format-1.21.0-all-deps.jar --replace PackageHeader.java /var/tmp $ cat PackageHeader.java /* File header */ package p; class PackageHeader {} /var/tmp $ printf '/* File header */\n\npackage p; class PackageHeader{}\n' > PackageHeader.java /var/tmp $ java -jar google-java-format-1.21.0-all-deps.jar --replace PackageHeader.java /var/tmp $ cat PackageHeader.java /* File header */ package p; class PackageHeader {} /var/tmp $ printf '/* File header */\n\n\npackage p; class PackageHeader{}\n' > PackageHeader.java /var/tmp $ java -jar google-java-format-1.21.0-all-deps.jar --replace PackageHeader.java /var/tmp $ cat PackageHeader.java /* File header */ package p; class PackageHeader {} /var/tmp $ printf '/* File header */\n@NonNullApi package com.baeldung.nullibility; import org.springframework.lang.NonNullApi;\n' > package-info.java /var/tmp $ java -jar google-java-format-1.21.0-all-deps.jar --replace package-info.java /var/tmp $ cat package-info.java /* File header */ @NonNullApi package com.baeldung.nullibility; import org.springframework.lang.NonNullApi; /var/tmp $ printf '/* File header */\n\n@NonNullApi package com.baeldung.nullibility; import org.springframework.lang.NonNullApi;\n' > package-info.java /var/tmp $ java -jar google-java-format-1.21.0-all-deps.jar --replace package-info.java /var/tmp $ cat package-info.java /* File header */ @NonNullApi package com.baeldung.nullibility; import org.springframework.lang.NonNullApi; /var/tmp $ printf '/* File header */\n\n\n@NonNullApi package com.baeldung.nullibility; import org.springframework.lang.NonNullApi;\n' > package-info.java /var/tmp $ java -jar google-java-format-1.21.0-all-deps.jar --replace package-info.java /var/tmp $ cat package-info.java /* File header */ @NonNullApi package com.baeldung.nullibility; import org.springframework.lang.NonNullApi;
Maybe related: https://github.com/google/google-java-format/issues/235
Expected Behavior
⇓
Current Behavior
⇓
Corresponding Section in Java Style Guide
https://google.github.io/styleguide/javaguide.html#s3-source-file-structure
Test Cases