License complexity issues
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- git, java
- Área
- build-system, tooling
Línea de trabajo
Empieza reproduciendo el comportamiento informado en torno a ratcheting, remotes, spotless check y spotlessApply, incluidos los archivos copiados y los cambios de licencia. Compara la separación solicitada entre copyright y licencia, el comportamiento de addenda o ignore, y .spotlessignore con la configuración y las pruebas actuales; se considera terminado cuando el texto de la licencia se conserva o se actualiza intencionadamente sin romper las comprobaciones de formato.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
This is kind of hard to describe... licensing is broken (or at least hard) as soon as you need to mix licenses or attribution
ratcheting doesn't work will on CI, remotes aren't usually set up properly, not enough information pulled down, running on the same branch that you're comparing to (like main/master). spotless check will fail then when a license doesn't match what you've put in.
So, if you have a file that you've copied (following the rules) from another repo, spotless check will fail, and/or try to overwrite.
If you're changing your license it's "impossible" to retain the header until such time that the file has changed.
If you need to concatenate your license with another (clone and own), that's also difficult.
The rest of spotless check is probably fine, I mean, I want to ensure formatting always. Licensing is where the problem comes in, because it's not the same as a formatting issue. I definitely want it to update, but I need it to not change the terms, or remove other notices.
I suppose for clone/own I can use spotless off:on? but if I've only cloned (say an upcoming patch that I need today, or because guava is bloated...), then I'm going to assume it would still inject my own header.
I feel like what I need is a way to specify copyright, and license separately, as well as a better way to ignore/addendum. Also a way to tell spotless check to ignore licensing (text, not matching) altogether (I still want spotlessApply to update in most cases, but even that I feel like I need something simple).
a .spotlessignore file would help for clone only, espcially since you would want to ignore formatting too.
Thoughts?
- Lenguaje dominante
- Java
- Estrellas
- 5.7k
- Forks
- 560
- Merge medio
- 1 d 13 h
- PR fusionados (30 d)
- 43
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de diffplug/spotless
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 66/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
Todos los issues de diffplug/spotless
Issues similares
-
executions.Query — startDate and timeRange filters are sent with inverted comparison operators Abiertoarea/plugin
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
kestra-io/plugin-kestra#190 ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Add canonical URLs and a sitemap Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
integra-team-red/meet-map#249 ·
-
[Studio][Bug] Cancelled create-user dialog keeps the password and admin switch for the next attempt Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
apache/rocketmq-dashboard#5064 ·