diffplug / spotless

Keep your code spotless
Apache License 2.0
4.51k stars 455 forks source link

Shebang Removal While Adding Copyright Header in Shell Scripts #2270

Open usoni2210 opened 3 weeks ago

usoni2210 commented 3 weeks ago

The issue I’m facing is that the shebang (#!/bin/bash, etc.) is getting removed from the script files in the process. It seems there's something wrong with the code flow

image

Thanks in advance

nedtwigg commented 3 days ago

I suspect that maybe the shebang isn't being escaped into XML properly. I don't think you need the backslash, just #!/bin/sh should be fine.

usoni2210 commented 1 day ago

I suspect that maybe the shebang isn't being escaped into XML properly. I don't think you need the backslash, just #!/bin/sh should be fine.

I have tried that too but didn't work.

As I mentioned earlier, the issue lies within the code flow. when the setLicenseHeaderYearsFromGitHistory property is set, the code does not proceed to the step:format function to check for the shebang (in the else block of code screenshot). This results in the shebang being removed from the shell script files.

I’ve implemented a fix in my forked repository. You can view the changes here: https://github.com/usoni2210/spotless/compare/main...usoni2210:spotless:bugfix/2270